Karl Von Richter
9ca7d307a4
Offset of an irregular closed spline no longer fails its error certificate; offset fit nodes stay private ( #1009 )
...
Fixes #971 . At the node limit the offset certificate splits the fitted curve where it meets the exact offset midpoint, so curves with different parameter speeds certify within the same 0.002 mm tolerance. Associated offset fit nodes are hidden from display, picking, box selection and snapping until Break Association.
Thanks @Karl-VonRichter.
2026-10-14 05:27:39 -04:00
Karl Von Richter
47a7f29485
Guide sketch patterns with live previews and editable offsets ( #966 )
...
Sketch Mirror, rectangular and circular Pattern, and Offset now show a green live preview that follows the selection and settings; OK commits, Cancel leaves the sketch unchanged. The shared dialogs show the current selection step and source counts, sources can be toggled with Ctrl/Cmd-click, cleared and reselected.
Offsets keep editable driving distance dimensions (One Side, Two Sides, Symmetric) that update the derived curves without moving the source, with undo/redo and save/reopen. Format 19: older files keep their fixed offsets.
New dialog labels in en, zh, ja, de and ko.
Fixes #696 . Fixes #517 .
2026-10-14 01:58:01 -04:00
Nathan Dane
9f76cca8b4
Collect application resources for #433 ( #833 )
2026-10-14 00:49:32 -04:00
William Dunn
53238fba5f
Sketch Offset on two sides, or symmetric about the source ( #807 )
...
Sketch Offset can place the copy on both sides of the source, or symmetric about it.
2026-10-13 16:29:24 -04:00
NOWN-DEV and Claude Opus 5.5
a69c2928f0
feat: sketch text takes a font, an installed family or a font file ( #516 )
...
sketch.text and sketch.edit_text take an optional font: an installed family or a .ttf/.otf/.ttc file. Edit Text gets a Font field. The font is kept with the text under format 16; no fonts are bundled, and the font search is bounded.
Fixes #513
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-13 02:04:59 -04:00
NOWN-DEV and Claude Opus 5.5
c2a9c71436
fix: text extrudes as letters with their counters, alone or beside drawn curves ( #502 )
...
Text outlines count as drawn geometry when picking profiles, and "all profiles" leaves out the counters of letters (the holes of A, B, 8), so text extrudes as letters with their holes whether or not other curves are drawn next to it.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-13 00:25:39 -04:00
bherbruck and Claude Opus 5.5
296683229d
Rename SolveCraft to SolidCraft everywhere, with compatibility shims ( #389 )
...
* WIP deep rename (not for push)
* WIP2
* WIP3
* WIP4 wxs fix
* rustfmt
* Rename the remaining identifiers in merged crash-report code
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01RjGw4gA5ZvKrU8MQP6sBgT
---------
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-12 17:17:01 -04:00
bherbruck
4e595deff2
feat: preserve adaptive sketch profiles and curved modeling workflows
2026-10-11 09:06:25 -04:00
bherbruck
a6bb8fc924
feat: stabilize face attachments and closed spline workflows
2026-10-11 05:32:46 -04:00
bherbruck
0398a813c8
feat: strengthen sketches, feature editing, and independent assemblies
2026-10-11 02:44:31 -04:00
bherbruck
d71bdb78ec
feat: strengthen modeling, configuration, and assembly workflows
...
Preserve linked sketch identities through deterministic face projection and resizing. Fix origin-corner picking, persistent inline navigation, appearance editing, configuration styles, component properties, contact sweeps, sheet exports, analytic STEP offsets, and bounded rolling-ball fit accuracy.
Validated with full cargo xtask ci, native workflow screenshots, repeated enclosure replays, and analytic geometry regressions.
2026-10-11 00:37:26 -04:00
bherbruck and Claude Opus 5.5
9219eb5dc1
Rebase fixes: one helix re-export, a closing brace lost in tests.rs
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01AS5Tn3xieewUSg3uxrMVdL
2026-10-09 12:47:56 +00:00
bherbruck and Claude Opus 5.5
9ee8ba5dd7
Imported looks outlive later features: a body's imported colour, opacity and face colours (kernel paint, dropped by operations) are carried to the next version of the body, its faces by persistent name (split faces keep the colour, new faces take the body's); assigned face appearances already follow their faces by name
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01AS5Tn3xieewUSg3uxrMVdL
2026-10-09 12:47:56 +00:00
bherbruck and Claude Opus 5.5
d10312b7fd
Command ids are SolveCraft's own: 173 ids that were another product's internal command ids become dotted, lower-case ids (<area>.<thing>[.<variant>]: solid.extrude, sketch.rectangle.two_point, sheet.flange, joint.drive, ...), in the registry, toolbar, dialogs, shortcuts, palette, control channel, MCP, examples, scenarios and docs
...
The old ids live only in crates/engine/src/legacy_ids.rs (the legacy migration table): find_command maps them, so old scripts, recipes and control calls keep working, and saved shortcuts, recent and pinned commands are migrated on load (designs store no command ids). Parity maps the observed catalog ids to ours through xtask/data/fusion-ids.tsv. The agent rule now reads: our own dotted id, never another product's. Cargo.toml's repository points at github.com/bherbruck/solvecraft.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-09 12:17:23 +00:00
bherbruck and Claude Opus 5.5
b9bc75670c
Exact profiles for splines of any degree (a degree-4…7 Bézier segment kind, Seg2::Bezier, extruded as B-spline edges) and for free-form curves cut by crossings (exact sub-curves whose ends are moved to the true crossing, found by Newton; polylines only where that fails)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01AS5Tn3xieewUSg3uxrMVdL
2026-10-08 09:42:34 +00:00
bherbruck and Claude Opus 5.5
457ed7fed7
Offset works on splines, ellipses and conics (and chains through them): the offset curve becomes a fit spline within a few hundredths of a millimetre
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01AS5Tn3xieewUSg3uxrMVdL
2026-10-08 03:55:48 +00:00
bherbruck and Claude Opus 5.5
205ddfcf27
Sketch Fillet on corners of a line and an arc or two arcs (the tangent arc nearest the corner, curves cut back to it, radius dimension)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01AS5Tn3xieewUSg3uxrMVdL
2026-10-08 03:43:58 +00:00
bherbruck and Claude Opus 5.5
94a0cdef77
Ellipse dimensions: major radius (type major: centre to axis end) and minor radius (a radius dimension on the ellipse)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01AS5Tn3xieewUSg3uxrMVdL
2026-10-08 03:34:02 +00:00
bherbruck and Claude Opus 5.5
d285cedd73
Trim and Break on ellipses, splines and conics: cut at the exact crossings (alternating projection onto both curves), pieces stay exact (Bézier spans as single-span control splines, conic arcs as conics); geom Seg2::split_at and closest_param
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01AS5Tn3xieewUSg3uxrMVdL
2026-10-08 03:23:40 +00:00
bherbruck and Claude Opus 5.5
31030ed008
Exact free-form profiles: geom Seg2 gains cubic Béziers and conics (rational quadratics: exact length, area, split, tangents); sketch ellipses, conics, text, fit splines and control splines up to degree 3 enter profiles as exact segments wherever a loop uses a whole segment, and the kernel builds them as B-spline / NURBS edges (an extruded ellipse is three faces with the exact volume)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01AS5Tn3xieewUSg3uxrMVdL
2026-10-08 02:16:00 +00:00
bherbruck and Claude Opus 5.5
6e20038906
Sketch Blend Curve (tangent control-point spline between two curve ends) and the Centerline line type (sketch.centerline: left out of profiles, drawn as an axis)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01AS5Tn3xieewUSg3uxrMVdL
2026-10-07 22:55:34 +00:00
bherbruck and Claude Opus 5.5
2491c40fef
Sketch Text (MTextCmd, sketch.edit_text): glyph outlines of the embedded Liberation Sans (SIL OFL 1.1, attributed) as lines and conics that close into extrudable profiles; editable text, height, position and angle
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01AS5Tn3xieewUSg3uxrMVdL
2026-10-07 22:49:49 +00:00
bherbruck and Claude Opus 5.5
8d7a0cf3d0
Sketch free-form curves: Ellipse (centre, major axis end, minor radius), Fit Point and Control Point (degree 3 and 5) Splines, Conic Curve (rho); solved like other curves (points on them, tangency at shared ends, drag fit points), profiled as polylines; mirror/pattern/move/scale copy them; Tangent Arc continues splines and conics
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01AS5Tn3xieewUSg3uxrMVdL
2026-10-07 22:35:04 +00:00
bherbruck and Claude Opus 5.5
73f68f3f50
Sketch tools: Midpoint Line, Tangent Arc, 2-Tangent and 3-Tangent Circle, Center Point Slot, three-point and center-point Arc Slots; Trim, Extend, Break, sketch Fillet (radius dimension), equal/distance-angle/two-distance Chamfers, Offset (chains, side point), Mirror (symmetry constraints), Circular and Rectangular sketch patterns, Sketch Scale, sketch.move (move/rotate/copy)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01AS5Tn3xieewUSg3uxrMVdL
2026-10-07 22:20:17 +00:00