2 commits, squashed; the originals stay reachable from tag archive/merge-main-develop.
- 05f1c6b9a jyviko: Tapped holes: the tap maker's drill for every form, and a drill of the user's within 5%
- 87e7fe472 jyviko: Tapped holes: a preference keeps metric's major-less-pitch drill
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DtL5M41G8Nua7HvuFPZkmJ
4 commits, squashed; the originals stay reachable from tag archive/merge-main-develop.
- 9717fab2f jyviko: Tapped holes: Rc and NPT, and a modelled thread with the thread's End
- 72e0e0094 jyviko: Ladder 06/017: the golden entry from a run of the case
- 376a91ad7 jyviko: Hole presets: a modelled tapped thread and its End, and every catalogued size
- b6c3b32a9 jyviko: Tapped holes: an Rc or NPT hole takes the stocked drill under its standard minor
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DtL5M41G8Nua7HvuFPZkmJ
2 commits, squashed; the originals stay reachable from tag archive/merge-main-develop.
- 2c4212c04 jyviko: Thread: the chamfered tip at the start or at both ends
- 75deb73aa jyviko: Thread: ISO 228-1, ISO 7-1 and NPT pipe threads, taper threads by a radial law
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DtL5M41G8Nua7HvuFPZkmJ
4 commits, squashed; the originals stay reachable from tag archive/merge-main-develop.
- 28e3b8a19 jyviko: Continuity in words: surface dialogs and Continuity Analysis show no G codes
- 81ecc872f jyviko: Guide: the Fillet dialog's Type and Corners in their new words
- d1a8f0417 jyviko: Thread: a boss thread keeps clear of the plate below
- a30a85698 jyviko: Thread: the chamfered tip reaches ISO 724's external minor diameter
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DtL5M41G8Nua7HvuFPZkmJ
4 commits, squashed; the originals stay reachable from tag archive/merge-main-develop.
- d8282b336 jyviko: doc, engine: corner: g2 sets each corner back for its G2 patch
- 8fbb575a5 jyviko: kernel-cases: a continuity check, and ladder 07/015 graded by it
- 808913777 jyviko: kernel: G2 corners at concave corners, mixed ones refused
- ba38fbd2a jyviko: kernel-cases: ladder 07/019, a concave corner's G2 patch
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DtL5M41G8Nua7HvuFPZkmJ
4 commits, squashed; the originals stay reachable from tag archive/merge-main-develop.
- 4e26dc640 jyviko: The command line and the web app link SMLib by default too
- 826f36a79 jyviko: CI and releases fetch SMLib before building
- 8aea8e5a8 jyviko: Format 40: a thread's hand on tapped holes too; v0.24.0's handedness opens as hand
- 652d3a2cb jyviko: ui: main's browser picks (#4774) read the placed model through session_world
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DtL5M41G8Nua7HvuFPZkmJ
4 commits, squashed; the originals stay reachable from tag archive/merge-main-develop.
- 3e9c70e26 jyviko: Cargo.lock: resolved for the merged manifests
- 6e15b9676 jyviko: engine, kernel-cases: tangent joins out of the corner-pick count; 3383 and 5024 recipes to main's rules
- 46294c7c2 jyviko: kernel: STEP placements by a transformation operator keep its axes and scales
- 3d0f6aa3f jyviko: kernel: IGES trim pieces closed onto their meeting points in main's assembly reader
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DtL5M41G8Nua7HvuFPZkmJ
3 commits, squashed; the originals stay reachable from tag archive/merge-main-develop.
- b310512e9 jyviko: kernel-ladder: tier 11 threaded parts grade their geometry
- f6b42d416 jyviko: kernel-ladder: 07/016 is a refusal; 07/018 the same corner with r2; cases.py makes 013
- fb384be9c jyviko: smlib: build against SMLib a15b5a2 (replay of usd-brep 1.0.1 with the fork's fixes)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DtL5M41G8Nua7HvuFPZkmJ
4 commits, squashed; the originals stay reachable from tag archive/merge-main-develop.
- d3f771998 jyviko: kernel-ladder: tier 07 corner cases grade their geometry
- 0d7acb0ce jyviko: kernel-ladder: 08/007 grades the rounds run into the chamfer
- c9dcc42a1 jyviko: kernel-ladder: tier 09 shells grade their geometry
- 05e0dc17b jyviko: kernel-ladder: 10/008 grades the vents as four times one
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DtL5M41G8Nua7HvuFPZkmJ
3 commits, squashed; the originals stay reachable from tag archive/merge-main-develop.
- 191b2f4c4 jyviko: kernel-ladder: cases.py makes every committed case again
- 977230b7c jyviko: kernel-ladder: tier 04 cases grade their geometry
- 84473f61f jyviko: kernel-ladder: tier 06 grades the threaded boss; both hands and Tr40x14(P7) added
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DtL5M41G8Nua7HvuFPZkmJ
2 commits, squashed; the originals stay reachable from tag archive/merge-main-develop.
- 8edf5b873 jyviko: kernel-cases: the ladder's golden recorded after the thread rework
- 2e1c1097a jyviko: geom: a degenerate point's normal steps into the parameter interval
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DtL5M41G8Nua7HvuFPZkmJ
4 commits, squashed; the originals stay reachable from tag archive/merge-main-develop.
- 3287bcba9 jyviko: Threads with several starts
- 7bfc184e8 jyviko: A modelled thread's chamfered tip (ISO 4753)
- d433ce2c9 jyviko: Thread runouts: the groove fades out instead of stopping square
- fdede5a0a jyviko: Thread work in rustfmt's layout
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DtL5M41G8Nua7HvuFPZkmJ
4 commits, squashed; the originals stay reachable from tag archive/merge-main-develop.
- 48abbbcc1 jyviko: kernel: a vertex a face's loops pass twice is one point of its (u, v)
- 1df330c79 jyviko: engine: a shell that opens no face makes a closed hollow body
- 5aeff43f8 jyviko: smlib: a horn or spindle torus face comes out as its NURBS form
- bd4e1926a jyviko: kernel-cases: 2928's base extrudes the ring it describes
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DtL5M41G8Nua7HvuFPZkmJ
4 commits, squashed; the originals stay reachable from tag archive/merge-main-develop.
- 237f0ae74 jyviko: kernel, kernel-cases: a convex blend overflowing a cliff is built, with its analytic answer
- 7d300984b jyviko: kernel, kernel-cases: a shell whose walls would meet is refused, saying so
- 3be6ad433 jyviko: kernel: a tangent chain stops where the edges' convexity flips
- 098fac037 jyviko: geom: a face's loops lie in one turn of its periodic surface
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DtL5M41G8Nua7HvuFPZkmJ
2 commits, squashed; the originals stay reachable from tag archive/merge-main-develop.
- 810f0d66d jyviko: doc: a join groups pieces that touch nothing; only edge and point contacts are kept apart
- 1d98d5111 jyviko: smlib: solids touching round a pocket each export as one closed shell
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DtL5M41G8Nua7HvuFPZkmJ
4 commits, squashed; the originals stay reachable from tag archive/merge-main-develop.
- 94ee28d5c jyviko: doc: a join keeps solids that only touch as separate bodies
- 3e2b109cc jyviko: engine: feature commands take touching; a join's result notice
- ec6fa9706 jyviko: kernel: a seam with one face on both of its sides is a seam, and no pick takes it
- 19cf11ef3 jyviko: kernel-cases: ladder 07-fillets/016's second fillet rounds only its picked edge
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DtL5M41G8Nua7HvuFPZkmJ
4 commits, squashed; the originals stay reachable from tag archive/merge-main-develop.
- e6f993fff jyviko: Revert "kernel: merged topology counts no seam edge (a face on both sides of it)"
- 4ea29e307 jyviko: kernel-cases: 818 counts its two cylinders' seams, as every case counts edges
- de0e5bf52 jyviko: kernel: a tangent chain stops at a smooth edge
- 369c897d8 jyviko: kernel, cli: clippy and the cli tests build again
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DtL5M41G8Nua7HvuFPZkmJ
4 commits, squashed; the originals stay reachable from tag archive/merge-main-develop.
- beebf2203 jyviko: kernel-cases: --dumps=DIR leaves each failing SMLib call's inputs for replay
- 83c0f4e2c jyviko: AGENTS.md: SMLib is the kernel; no switch, no other kernel
- 1b27c134d jyviko: kernel: an intersection curve is where SMLib's imprint cuts, exactly
- 9398b2586 jyviko: kernel: intersection edges exported from the crate root
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DtL5M41G8Nua7HvuFPZkmJ
4 commits, squashed; the originals stay reachable from tag archive/merge-main-develop.
- ba99405e2 jyviko: doc: a pattern or mirror of a pattern or mirror copies what that one made
- 386b1d123 jyviko: doc: a sweep round a closed path starts where the profile is (#3345)
- 5df8a5565 jyviko: engine: an extrude Join, Cut or Intersect leaves hidden bodies alone (#2464)
- f10dfd8d0 jyviko: kernel-cases: crossing equal holes leave each wall in two faces
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DtL5M41G8Nua7HvuFPZkmJ
2 commits, squashed; the originals stay reachable from tag archive/merge-main-develop.
- cac7d6eff jyviko: kernel-cases: the hollow ball of case 450 has two shells
- faae48d6e jyviko: solidcraft-smlib: Brep::loft_to_point, and the fork pinned at 0294982
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DtL5M41G8Nua7HvuFPZkmJ
3 commits, squashed; the originals stay reachable from tag archive/merge-main-develop.
- 29d307bdc jyviko: doc: a modelled thread through SMLib cuts the exact groove
- 5dd3acdec Brennen Herbruck: kernel-cases: on the kernel branch a thread off its hole or shaft size is refused
- b900d6d46 jyviko: kernel: solids an SMLib boolean leaves touching come back as separate solids
Co-authored-by: Brennen Herbruck <brennen.herbruck@gmail.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DtL5M41G8Nua7HvuFPZkmJ
4 commits, squashed; the originals stay reachable from tag archive/merge-main-develop.
- d672cfa01 jyviko: kernel: one switch, SOLIDCRAFT_KERNEL, picks the kernel for every operation
- f35f06d98 jyviko: kernel: a revolution that is no analytic surface goes into SMLib as its B-spline
- a6ca4e0dd jyviko: AGENTS.md: one switch, SOLIDCRAFT_KERNEL, in place of the booleans-only note
- 51211ad1f jyviko: solidcraft-smlib: offset faces, thicken, and NoRoom for walls with no room
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DtL5M41G8Nua7HvuFPZkmJ
4 commits, squashed; the originals stay reachable from tag archive/merge-main-develop.
- 58ce14f45 bherbruck: kernel-cases: count ranges, a watertight mesh check, and per-case timeouts
- e809edd33 Brennen Herbruck: kernel-cases: thread cases that are slow by nature get 600 s
- 8cb976b9b bherbruck: kernel-cases: watertight checks the display mesh, welding vertices by distance
- 3feb9ba2c Brennen Herbruck: kernel-cases: tessellation cases from mesh-hole reports grade watertightness
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DtL5M41G8Nua7HvuFPZkmJ
4 commits, squashed; the originals stay reachable from tag archive/merge-main-develop.
- 35ebc816b jyviko: kernel-cases: a missing capability's message is the case's own text
- 248fee75b jyviko: ladder: every ladder run measures one case at a time
- e1575385b Brennen Herbruck: kernel-cases: a thread off its hole or shaft size is refused
- d7381a1fa bherbruck: kernel-cases: threads fit a hole or shaft off the thread's size again
Co-authored-by: Brennen Herbruck <brennen.herbruck@gmail.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DtL5M41G8Nua7HvuFPZkmJ
4 commits, squashed; the originals stay reachable from tag archive/merge-main-develop.
- 75aa8acb6 Brennen Herbruck: kernel-cases: sweeps skipped sources (72)
- 678a70da2 bherbruck: kernel-cases: shells as a graded count, no SMLib verdict where it can't take the record, $OUT
- c24b066d2 bherbruck: kernel-cases: an outcome for geometry with no single manifold answer
- 8764a76ff Brennen Herbruck: kernel-cases: threads cases from #1995 and #3368 (finely faceted booleans), skipped #987#3130#3824
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DtL5M41G8Nua7HvuFPZkmJ
1 commits, squashed; the originals stay reachable from tag archive/merge-main-develop.
- a9002968f Brennen Herbruck: kernel-cases: sweeps sweep and pipe cases from #96-#3505 (end scale, rails, corners, closed paths)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DtL5M41G8Nua7HvuFPZkmJ
1 commits, squashed; the originals stay reachable from tag archive/merge-main-develop.
- 5e71db662 Brennen Herbruck: kernel-cases: sweeps revolve cases from #2183-#4008 (refusals, flush ends, dome seam, primitives)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DtL5M41G8Nua7HvuFPZkmJ
1 commits, squashed; the originals stay reachable from tag archive/merge-main-develop.
- 739524a17 Brennen Herbruck: kernel-cases: sweeps lofts from #271-#3412 (zig-zag pairing, ring sections, flush joins and cuts)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DtL5M41G8Nua7HvuFPZkmJ