Commit Graph

599 Commits

Author SHA1 Message Date
jyviko ab4f92674b Wave 285/509: Continuity: one table of orders G0-G4, and one check of what each construction builds (and 1 more)
2 commits, squashed; the originals stay reachable from tag archive/merge-main-develop.

- f042d2073 jyviko: Isocurve test: the spline face's hole is an inner loop of one face (Refs #770)
- cb8712aa0 jyviko: Continuity: one table of orders G0-G4, and one check of what each construction builds

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DtL5M41G8Nua7HvuFPZkmJ
2026-10-27 19:51:28 -04:00
jyviko a48570cd40 Wave 284/509: Isocurve Analysis draws each face's exact iso curves, cut to its trims (Refs #770)
1 commits, squashed; the originals stay reachable from tag archive/merge-main-develop.

- be859aa0d jyviko: Isocurve Analysis draws each face's exact iso curves, cut to its trims (Refs #770)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DtL5M41G8Nua7HvuFPZkmJ
2026-10-27 20:14:24 -04:00
jyviko 01be42ef41 Wave 278/509: Tapped holes: the tap maker's drill for every form, and a drill of the user's within 5% (and 1 more)
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
2026-10-27 12:27:35 -04:00
jyviko e98cd0a0e2 Wave 277/509: Tapped holes: Rc and NPT take the tap maker's tabulated drill
1 commits, squashed; the originals stay reachable from tag archive/merge-main-develop.

- e7994d48c jyviko: Tapped holes: Rc and NPT take the tap maker's tabulated drill

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DtL5M41G8Nua7HvuFPZkmJ
2026-10-27 11:15:38 -04:00
jyviko cc2de29abb Wave 276/509: Tapped holes: Rc and NPT, and a modelled thread with the thread's End (and 3 more)
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
2026-10-27 10:56:34 -04:00
jyviko 4531ab6182 Wave 275/509: Thread: the pipe forms in the dialog, ISO 7-1's Rp, a chamfered tip on a taper thread (and 3 more)
4 commits, squashed; the originals stay reachable from tag archive/merge-main-develop.

- 361b35afe jyviko: Thread: a shoulder thinner than the overrun's reach is still a shoulder
- 5fe141c0f jyviko: Thread: the start never fades; ease_in is gone
- 386598282 jyviko: Thread dialog: the Ends section is Start (None, Chamfer) and End (Square, Fade)
- 80e47130b jyviko: Thread: the pipe forms in the dialog, ISO 7-1's Rp, a chamfered tip on a taper thread

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DtL5M41G8Nua7HvuFPZkmJ
2026-10-27 07:57:20 -04:00
jyviko 64dfa3ca11 Wave 274/509: Thread: ISO 228-1, ISO 7-1 and NPT pipe threads, taper threads by a radial law (and 1 more)
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
2026-10-27 03:07:57 -04:00
jyviko d1b64fb2ff Wave 273/509: Continuity in words: surface dialogs and Continuity Analysis show no G codes (and 3 more)
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
2026-10-27 01:58:51 -04:00
jyviko 34c5bc74a5 Wave 270/509: kernel-cases: a continuity check, and ladder 07/015 graded by it (and 3 more)
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
2026-10-26 13:37:34 -04:00
jyviko 335278e3c7 Wave 266/509: Profiler: commands, feature evaluation, io; diagnostics.profile; CLI --profile (and 3 more)
4 commits, squashed; the originals stay reachable from tag archive/merge-main-develop.

- 10ea00e74 jyviko: Profiler: every SMLib C API call is a span, timed by the C API itself
- 319c0bc9f jyviko: Profiler: kernel operations and STEP/IGES import stages are spans
- 9cd655259 jyviko: Profiler: commands, feature evaluation, io; diagnostics.profile; CLI --profile
- fafd977b0 jyviko: Profiler: the Profile operations preference switches recording at run time

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DtL5M41G8Nua7HvuFPZkmJ
2026-10-27 08:22:36 -04:00
jyviko e7aadf8f40 Wave 262/509: CI: develop runs like main; SMLib is fetched after the Rust cache is restored (and 3 more)
4 commits, squashed; the originals stay reachable from tag archive/merge-main-develop.

- d13300b0a jyviko: cargo fmt: the format-40 change and the rebase's export list
- 873124c49 jyviko: CI: develop runs like main; SMLib is fetched after the Rust cache is restored
- 6517d1ee6 jyviko: Arabic and Hebrew catalogs: #4414's thread direction labels out, as in every other catalog
- fddb57c0d jyviko: Thread dialog: its labels in the catalogs; Arabic and Hebrew pending messages compare in display order

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DtL5M41G8Nua7HvuFPZkmJ
2026-10-27 03:05:23 -04:00
jyviko 176202b238 Wave 261/509: Format 40: a thread's hand on tapped holes too; v0.24.0's handedness opens as hand (and 3 more)
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
2026-10-27 02:33:33 -04:00
jyviko 5a4e482e9c Wave 260/509: Formatting: rustfmt over the rebased branch (and 3 more)
4 commits, squashed; the originals stay reachable from tag archive/merge-main-develop.

- 562a5bd33 jyviko: Formatting: rustfmt over the rebased branch
- bc15221fa jyviko: The desktop app links SMLib by default
- e476aba94 jyviko: SMLib in the browser: built with wasi-sdk for wasm32-unknown-unknown
- e1ad6ec1a jyviko: SMLib links prebuilt: one build per commit, pinned by SHA-256

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DtL5M41G8Nua7HvuFPZkmJ
2026-10-26 22:57:25 -04:00
jyviko 88736dc9e4 Wave 259/509: thread: main's screw direction (#4414) out; the thread's hand is the one direction (and 2 more)
3 commits, squashed; the originals stay reachable from tag archive/merge-main-develop.

- a57ce13e7 jyviko: thread: a shaft thicker than a modelled thread is refused, never turned down
- 6b9f5e0e4 jyviko: thread: main's screw direction (#4414) out; the thread's hand is the one direction
- 5fc160732 jyviko: Main's new callers of the placing calls that now return their error

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DtL5M41G8Nua7HvuFPZkmJ
2026-10-26 19:21:58 -04:00
jyviko dc8b5489fc Wave 257/509: Main's new callers of the placing calls that now return their error (and 1 more)
2 commits, squashed; the originals stay reachable from tag archive/merge-main-develop.

- d63aa814f jyviko: threads: main's tapped-hole sizes and shaft turn-down on the reworked thread
- cfc393d68 jyviko: Main's new callers of the placing calls that now return their error

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DtL5M41G8Nua7HvuFPZkmJ
2026-10-26 13:18:38 -04:00
jyviko 27b8046c6f Wave 256/509: Rebase onto main: what the merged code needs to build together
1 commits, squashed; the originals stay reachable from tag archive/merge-main-develop.

- 9138e8704 jyviko: Rebase onto main: what the merged code needs to build together

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DtL5M41G8Nua7HvuFPZkmJ
2026-10-26 13:02:55 -04:00
jyviko 6fcd6713f5 Wave 251/509: kernel: fillet_setback, constant-radius rounds with corners set back (and 3 more)
4 commits, squashed; the originals stay reachable from tag archive/merge-main-develop.

- c2361c000 jyviko: smlib: Brep::blend_setback, blends with corner setbacks (smlib_blend_setback)
- f85343879 jyviko: kernel: fillet_setback, constant-radius rounds with corners set back
- c854239d1 jyviko: doc, engine: solid.fillet setbacks: [{vertex, distance}]
- 9ffd2f783 jyviko: kernel-cases: ladder 07/013 corner setback graded by invariants

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DtL5M41G8Nua7HvuFPZkmJ
2026-10-26 11:14:20 -04:00
jyviko cc425a6e5c Wave 248/509: Thread runouts: the groove fades out instead of stopping square (and 3 more)
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
2026-10-26 09:50:52 -04:00
jyviko 5047403bb1 Wave 247/509: Threads in the standard forms, right- or left-handed or both
1 commits, squashed; the originals stay reachable from tag archive/merge-main-develop.

- b4549d270 jyviko: Threads in the standard forms, right- or left-handed or both

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DtL5M41G8Nua7HvuFPZkmJ
2026-10-26 09:19:00 -04:00
jyviko 71a81514ee Wave 246/509: Threads start at the end meant and stop clear of a shoulder
1 commits, squashed; the originals stay reachable from tag archive/merge-main-develop.

- 366b90597 jyviko: Threads start at the end meant and stop clear of a shoulder

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DtL5M41G8Nua7HvuFPZkmJ
2026-10-26 08:57:30 -04:00
jyviko fb292f17b4 Wave 244/509: doc: threads in their own module
1 commits, squashed; the originals stay reachable from tag archive/merge-main-develop.

- 350d2884a jyviko: doc: threads in their own module

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DtL5M41G8Nua7HvuFPZkmJ
2026-10-26 08:31:30 -04:00
jyviko 8f28952005 Wave 241/509: An edge flange picked inside a notch is built on the notch's edge (#5306)
1 commits, squashed; the originals stay reachable from tag archive/merge-main-develop.

- 9a93f9d21 jyviko: An edge flange picked inside a notch is built on the notch's edge (#5306)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DtL5M41G8Nua7HvuFPZkmJ
2026-10-26 05:55:43 -04:00
jyviko cbd7b07767 Wave 240/509: A converted sheet takes its rule's values at its own thickness (#4328) (and 3 more)
4 commits, squashed; the originals stay reachable from tag archive/merge-main-develop.

- 610173e1f jyviko: combine: move each tool into its target's frame
- 3fb263d00 jyviko: hole: keep a countersink's tool within its rim above the face
- 1171c4c2a jyviko: A sheet metal body mirrored or patterned into new bodies is sheet metal (#3353)
- 5a9bf4742 jyviko: A converted sheet takes its rule's values at its own thickness (#4328)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DtL5M41G8Nua7HvuFPZkmJ
2026-10-26 05:55:36 -04:00
jyviko 7c481d281f Wave 239/509: engine: a shell that opens no face makes a closed hollow body (and 3 more)
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
2026-10-26 05:04:57 -04:00
jyviko 2425f8b453 Wave 238/509: geom: a face's box reaches its boundary's extremes, not its samples' (and 3 more)
4 commits, squashed; the originals stay reachable from tag archive/merge-main-develop.

- 903e371fa jyviko: geom: a face's box reaches its boundary's extremes, not its samples'
- cfe1b8b92 jyviko: step: a loop through its surface's pole has its seam
- 0bea4631b jyviko: kernel: IGES trim pieces that miss their meeting point are closed onto it
- 0e6681a2d jyviko: kernel: the largest fitting fillet shrinks only on a refusal as too large

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DtL5M41G8Nua7HvuFPZkmJ
2026-10-25 21:27:27 -04:00
jyviko a68a6ca981 Wave 231/509: doc: a join groups pieces that touch nothing; only edge and point contacts are kept apart (and 1 more)
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
2026-10-25 08:48:02 -04:00
jyviko 8554b2a0e4 Wave 229/509: doc: a join keeps solids that only touch as separate bodies (and 3 more)
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
2026-10-24 22:49:17 -04:00
jyviko 7b19f68368 Wave 216/509: brep, kernel: code that reads an edge's angles takes them from the circle, code that evaluates takes the NURBS form
1 commits, squashed; the originals stay reachable from tag archive/merge-main-develop.

- 6892ceac7 jyviko: brep, kernel: code that reads an edge's angles takes them from the circle, code that evaluates takes the NURBS form

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DtL5M41G8Nua7HvuFPZkmJ
2026-10-22 17:55:46 -04:00
jyviko 9a508571fd Wave 215/509: brep: an edge on a line, circle or ellipse carries the NURBS form SMLib holds it as (and 1 more)
2 commits, squashed; the originals stay reachable from tag archive/merge-main-develop.

- b1326e48d jyviko: brep: an edge on a line, circle or ellipse carries the NURBS form SMLib holds it as
- 6adba90e2 jyviko: solidcraft-smlib: circle edges on their NURBS form, SMLib's trims kept on them (fork deec9cb)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DtL5M41G8Nua7HvuFPZkmJ
2026-10-22 17:35:54 -04:00
jyviko 8b3eedd0aa Wave 211/509: doc, engine, ui: placing the model returns its error; placements are checked where they are set
1 commits, squashed; the originals stay reachable from tag archive/merge-main-develop.

- 9a7958857 jyviko: doc, engine, ui: placing the model returns its error; placements are checked where they are set

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DtL5M41G8Nua7HvuFPZkmJ
2026-10-22 13:38:41 -04:00
jyviko 9aedc5faed Wave 210/509: doc, engine, kernel: solid.fillet and solid.chamfer round each picked edge's tangent chain by default (and 3 more)
4 commits, squashed; the originals stay reachable from tag archive/merge-main-develop.

- 84bd2daad jyviko: doc, engine, kernel: solid.fillet and solid.chamfer round each picked edge's tangent chain by default
- d0ff1dcfa jyviko: doc: an extrude's taper without a corner rule picks one per profile
- 5e7aba8df jyviko: loft sections matched to their neighbours
- 2752eee61 jyviko: kernel: merged topology counts no seam edge (a face on both sides of it)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DtL5M41G8Nua7HvuFPZkmJ
2026-10-22 14:24:15 -04:00
jyviko bfae336ce1 Wave 207/509: brep: a face on a cylinder, cone, sphere or torus carries the NURBS form SMLib holds it as (and 2 more)
3 commits, squashed; the originals stay reachable from tag archive/merge-main-develop.

- b6a3b31ff jyviko: brep: a face on a cylinder, cone, sphere or torus carries the NURBS form SMLib holds it as
- 2e26e0567 jyviko: solidcraft-smlib: the export reads FACE_NURBS_FORM
- 03db54a23 jyviko: solidcraft-smlib: SMLib at the merged fixes: slice, seam check, analytic revolve, draft corners, blend refusal, union of many, NURBS forms (fork 03c14ca)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DtL5M41G8Nua7HvuFPZkmJ
2026-10-22 13:34:10 -04:00
jyviko 3557e3c563 Wave 205/509: kernel: union_all, one SMLib union of many bodies checked once, history over every operand (and 3 more)
4 commits, squashed; the originals stay reachable from tag archive/merge-main-develop.

- 2ffbbc74d jyviko: step: a cone within the file's uncertainty of its limit plane over the face is read as that plane
- 0185ccc1e jyviko: solidcraft-smlib: Brep::union_all, the union of many bodies in one SMLib call
- 0213c3dfa jyviko: kernel: union_all, one SMLib union of many bodies checked once, history over every operand
- 83d965f30 jyviko: doc: a join into one target and an intersection's tools are one union_all call

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DtL5M41G8Nua7HvuFPZkmJ
2026-10-22 08:46:55 -04:00
jyviko 0a014857ab Wave 204/509: doc: an extrude's taper saves how it closes the profile's corners (and 1 more)
2 commits, squashed; the originals stay reachable from tag archive/merge-main-develop.

- 045961445 jyviko: doc: an extrude's taper saves how it closes the profile's corners
- 1b5ca02b8 jyviko: solidcraft-smlib: SMLib's tangent draft corner meets lines at an edge (fork ccc56fd and docs)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DtL5M41G8Nua7HvuFPZkmJ
2026-10-22 13:14:40 -04:00
jyviko 542715de62 Wave 203/509: kernel: a tapered extrusion closes its corners by a rule, preserving curvature by default
1 commits, squashed; the originals stay reachable from tag archive/merge-main-develop.

- 384c5866f jyviko: kernel: a tapered extrusion closes its corners by a rule, preserving curvature by default

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DtL5M41G8Nua7HvuFPZkmJ
2026-10-22 09:11:24 -04:00
jyviko 95a242cb67 Wave 197/509: kernel: a free ruled strip is the exact ruled surface to a far curve of its own (and 1 more)
2 commits, squashed; the originals stay reachable from tag archive/merge-main-develop.

- 81cef1c60 jyviko: kernel: a free ruled strip is the exact ruled surface to a far curve of its own
- 9e2c1c57c jyviko: kernel: ruled surface docs and test for the free strip's far curve

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DtL5M41G8Nua7HvuFPZkmJ
2026-10-22 08:12:08 -04:00
jyviko 50ca3c5a61 Wave 192/509: kernel: corner rules for direction, rails and closed paths; no feature gate on SMLib sweeps (and 3 more)
4 commits, squashed; the originals stay reachable from tag archive/merge-main-develop.

- af4e97b64 jyviko: cli: the rig and the oracle reach MeshTolerance through the engine
- f7daf6124 jyviko: doc, engine: the unused revolve targets and the formatting of the exact tools
- caa5ed0e6 jyviko: kernel: twisted and scaled sweeps round corners by the plain sweep's corner model
- dead22ba7 jyviko: kernel: corner rules for direction, rails and closed paths; no feature gate on SMLib sweeps

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DtL5M41G8Nua7HvuFPZkmJ
2026-10-22 07:49:18 -04:00
jyviko 816e43c5d0 Wave 191/509: engine: no boolean retries to report; overlaps are SMLib's exact intersection (and 3 more)
4 commits, squashed; the originals stay reachable from tag archive/merge-main-develop.

- 712caf8bf jyviko: engine: no boolean retries to report; overlaps are SMLib's exact intersection
- 431c3f6d0 jyviko: doc: plastic features' tools stand on the face as drawn
- 4ca7793a3 jyviko: doc: a hole in sheet metal is a cut-out or a bore by its drill's direction
- 8d91c19f1 jyviko: brep: an intersection curve's point is a function of t alone

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DtL5M41G8Nua7HvuFPZkmJ
2026-10-22 07:48:53 -04:00
jyviko 540aa0da1b Wave 185/509: engine: feature replies carry no boolean diagnostics (and 1 more)
2 commits, squashed; the originals stay reachable from tag archive/merge-main-develop.

- 88b1ba507 jyviko: doc: a feature result has no boolean diagnostics any more
- 1ecf00b5a jyviko: engine: feature replies carry no boolean diagnostics

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DtL5M41G8Nua7HvuFPZkmJ
2026-10-22 07:36:40 -04:00
jyviko 00659d4d12 Wave 183/509: kernel: face sections along a direction as SMLib's exact curves (and 3 more)
4 commits, squashed; the originals stay reachable from tag archive/merge-main-develop.

- 849bb1f24 jyviko: kernel: face sections along a direction as SMLib's exact curves
- 876333480 jyviko: doc: an iso link along a direction on a solid is SMLib's exact section
- d9274aaf1 jyviko: kernel: the point-path sweep test expects the polyline's walls
- 13e9aca7e jyviko: kernel: exact projection, section and iso curves exported; SMLib at the fork's integration head

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DtL5M41G8Nua7HvuFPZkmJ
2026-10-22 07:35:57 -04:00
jyviko e45d7a3873 Wave 181/509: kernel: iso_curves, a face's isoparametric curve exactly, trimmed by its loops (and 3 more)
4 commits, squashed; the originals stay reachable from tag archive/merge-main-develop.

- 7b5d732e3 jyviko: kernel: project_onto_face, sketch curves projected onto a face as SMLib's curves
- 0ef5b910f jyviko: doc: a curve projected onto a solid's face is SMLib's projection of the curve
- 95e9a80fa jyviko: kernel: iso_curves, a face's isoparametric curve exactly, trimmed by its loops
- 814475f4f jyviko: doc: an iso curve of a solid's face along u or v is the surface's own curve

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DtL5M41G8Nua7HvuFPZkmJ
2026-10-22 07:22:43 -04:00
jyviko 6d9703c97c Wave 173/509: kernel: the touching-face checks, extrusion batching and clearance probe are gone (and 2 more)
3 commits, squashed; the originals stay reachable from tag archive/merge-main-develop.

- c7afe5eb4 jyviko: doc: a lip is SMLib's raised band and a groove its exact rim band, nothing else
- 89423b88e jyviko: doc: a sheet bore is cut once, with the drill clipped to its panel
- f4fa8a407 jyviko: kernel: the touching-face checks, extrusion batching and clearance probe are gone

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DtL5M41G8Nua7HvuFPZkmJ
2026-10-22 07:30:36 -04:00
jyviko 18618bb72c Wave 172/509: doc: extrude and revolve tools go into the boolean as drawn
1 commits, squashed; the originals stay reachable from tag archive/merge-main-develop.

- b90cdc521 jyviko: doc: extrude and revolve tools go into the boolean as drawn

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DtL5M41G8Nua7HvuFPZkmJ
2026-10-22 07:29:39 -04:00
jyviko 13df957b01 Wave 171/509: kernel: surface match on the record, through bridge's record API (and 3 more)
4 commits, squashed; the originals stay reachable from tag archive/merge-main-develop.

- 7c0d9b5e8 jyviko: kernel: the general fill on loops of five or more edges, its patches about a centre
- 87907628e jyviko: kernel: surface match on the record, through bridge's record API
- 22fde06a3 jyviko: kernel: loft blend on the record, through bridge's record API
- 7e7193b33 jyviko: doc: the faceted thread groove is gone; the groove is SMLib's exact screw sweep

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DtL5M41G8Nua7HvuFPZkmJ
2026-10-22 07:25:17 -04:00
jyviko ab9c676627 Wave 169/509: kernel: an intersection curve is where SMLib's imprint cuts, exactly (and 3 more)
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
2026-10-22 07:27:07 -04:00
jyviko 966af74030 Wave 168/509: The truck crates leave the workspace; the rig and threads run on SMLib alone
1 commits, squashed; the originals stay reachable from tag archive/merge-main-develop.

- 166ebe2ee jyviko: The truck crates leave the workspace; the rig and threads run on SMLib alone

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DtL5M41G8Nua7HvuFPZkmJ
2026-10-22 07:23:52 -04:00
jyviko 4a589aca8c Wave 147/509: doc: sweeps along linked and planar curves follow the exact curves (and 1 more)
2 commits, squashed; the originals stay reachable from tag archive/merge-main-develop.

- 7952516eb jyviko: doc: sweeps along linked and planar curves follow the exact curves
- 43e8b0349 jyviko: kernel: a point path's polyline is swept as the lines it is, however smooth

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DtL5M41G8Nua7HvuFPZkmJ
2026-10-22 01:01:49 -04:00
jyviko ec7077e326 Wave 116/509: doc: a sweep round a closed path starts where the profile is (#3345) (and 3 more)
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
2026-10-21 23:55:26 -04:00
jyviko ce8c6063bd Wave 113/509: kernel: SMLib sweeps along drawn 3D sketch splines, exactly (and 1 more)
2 commits, squashed; the originals stay reachable from tag archive/merge-main-develop.

- d1eb8b20a jyviko: kernel: SMLib sweeps along drawn 3D sketch splines, exactly
- f73b3be1a jyviko: kernel: a 3D sketch spline path takes the SMLib sweep only

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DtL5M41G8Nua7HvuFPZkmJ
2026-10-22 00:22:49 -04:00
jyviko 4eff79e57e Wave 112/509: solidcraft-smlib: pcurves on B-spline faces are SMLib's own UV trims (and 2 more)
3 commits, squashed; the originals stay reachable from tag archive/merge-main-develop.

- 667cd3356 jyviko: solidcraft-smlib: pcurves on B-spline faces are SMLib's own UV trims
- e57f2f2a5 jyviko: brep: a face's points search one grid of its surface, made once
- 1bc0df6d0 jyviko: doc: a join of many tools into one target unions them in a balanced tree

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DtL5M41G8Nua7HvuFPZkmJ
2026-10-21 23:39:37 -04:00