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 <[email protected] >
Claude-Session: https://claude.ai/code/session_01AS5Tn3xieewUSg3uxrMVdL
2026-10-07 22:49:49 +00:00
bherbruck and Claude Opus 5.5
79a4194f6e
Revolve angle rotator (drag the arc end, 5 degree steps), right-click menu in the viewport (Repeat last command, commands for the selection, fit/home/undo), larger inline sketch dimension boxes
...
Co-Authored-By: Claude Opus 5.5 <[email protected] >
Claude-Session: https://claude.ai/code/session_01AS5Tn3xieewUSg3uxrMVdL
2026-10-07 22:46:34 +00:00
bherbruck and Claude Opus 5.5
3229fd9740
Kernel: booleans with coincident planar faces push the faces apart exactly (perpendicular neighbours stretched or shrunk), union cuts the slab beyond the plane
...
Oracle: 29/29.
Co-Authored-By: Claude Opus 5.5 <[email protected] >
Claude-Session: https://claude.ai/code/session_01AS5Tn3xieewUSg3uxrMVdL
2026-10-07 22:41:29 +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 <[email protected] >
Claude-Session: https://claude.ai/code/session_01AS5Tn3xieewUSg3uxrMVdL
2026-10-07 22:35:04 +00:00
bherbruck and Claude Opus 5.5
956492c993
Dark theme (default): Fusion-like blue-grey viewport #2e3440, darker chrome, subtle grid, light text, blue accent; light theme kept as a second Tokens set; toggle on the application bar (sun/moon), ui.set {dark}, kept between runs (eframe storage; browser local storage on the web); viewport, sketch, glyph, view cube, timeline and overlay colours all come from the theme; preview spinner and state in ui.inspect
...
Co-Authored-By: Claude Opus 5.5 <[email protected] >
Claude-Session: https://claude.ai/code/session_01AS5Tn3xieewUSg3uxrMVdL
2026-10-07 22:30:36 +00:00
bherbruck and Claude Opus 5.5
71a1903122
Fix: sketch edit exit (double-click a sketch no longer traps you)
...
Edit Sketch rolls the timeline back to just after the sketch and faces it;
Finish Sketch, Esc (once nothing else is left to cancel) and editing another
feature all leave it, restoring the marker and the previous view. Editing the
open sketch again is a no-op and editing another sketch switches cleanly.
The control channel's ui.click takes double: true.
Co-Authored-By: Claude Opus 5.5 <[email protected] >
Claude-Session: https://claude.ai/code/session_01AS5Tn3xieewUSg3uxrMVdL
2026-10-07 22:25:45 +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 <[email protected] >
Claude-Session: https://claude.ai/code/session_01AS5Tn3xieewUSg3uxrMVdL
2026-10-07 22:20:17 +00:00
bherbruck and Claude Opus 5.5
51f5f8a0e5
Kernel tests: restore the mesh-body test after the merge
...
Co-Authored-By: Claude Opus 5.5 <[email protected] >
Claude-Session: https://claude.ai/code/session_01AS5Tn3xieewUSg3uxrMVdL
2026-10-07 22:16:52 +00:00
bherbruck and Claude Opus 5.5
a4a17331dc
Kernel: concave edge fillets; whole smooth-loop blends of planar faces (cylinders and tori: pocket floors, plate outlines); rounding every edge of a convex planar body (sphere corners); healing after booleans (exact lines/arcs for intersection curves, coplanar faces merged, collinear edges joined); faces rebuilt on their stored surfaces
...
Oracle: 28/29.
Co-Authored-By: Claude Opus 5.5 <[email protected] >
Claude-Session: https://claude.ai/code/session_01AS5Tn3xieewUSg3uxrMVdL
2026-10-07 22:08:27 +00:00
bherbruck and Claude Opus 5.5
b2b9331415
Drag manipulators and automatic operation: extrude (two arrows when symmetric), fillet/chamfer, shell and move arrows drag their value with round-step snapping (Alt/Ctrl: free) and the dialog follows; Extrude operation "auto" (engine) and the dialog follow the geometry: into a body cuts (red), out of one joins, free space makes a new body; a manual choice sticks
...
Co-Authored-By: Claude Opus 5.5 <[email protected] >
Claude-Session: https://claude.ai/code/session_01AS5Tn3xieewUSg3uxrMVdL
2026-10-07 21:58:43 +00:00
bherbruck and Claude Opus 5.5
f5c2c725c8
Extrude/revolve "all profiles" means the drawn ones: auto-projected face edges only count when the drawn curves make no profile
...
Co-Authored-By: Claude Opus 5.5 <[email protected] >
Claude-Session: https://claude.ai/code/session_01AS5Tn3xieewUSg3uxrMVdL
2026-10-07 21:58:18 +00:00
bherbruck and Claude Opus 5.5
9301bc4210
Sketch projection: Project (edges, face loops, body silhouettes, vertices, other sketches' curves and points, origin, axes, planes), Intersect (body/face/edge section with the sketch plane) and Include 3D Geometry as linked reference geometry: fixed, purple, re-resolved on every recompute (follows upstream edits, keeps ids when the shape is unchanged, flagged when the reference is lost), usable in profiles, constraints and dimensions; Break Link; sketching on a face auto-projects its edges (sketch.auto_project); drawing on a model vertex or edge projects it
...
Co-Authored-By: Claude Opus 5.5 <[email protected] >
Claude-Session: https://claude.ai/code/session_01AS5Tn3xieewUSg3uxrMVdL
2026-10-07 21:58:18 +00:00
bherbruck and Claude Opus 5.5
eb22a149b1
Sketch inline dimensions while drawing (line length/angle, rectangle width/height, circle diameter, arc radius/sweep, polygon radius/sides, slot length/width): boxes sit on what they measure, typing goes into the first box and locks it, Tab moves on, Enter places the shape, typed values become dimension constraints (expressions and units); Press Pull (Q: faces extrude/cut by sign, edges fillet), X toggles construction on selected curves, Move dialog (M) with preview
...
Co-Authored-By: Claude Opus 5.5 <[email protected] >
Claude-Session: https://claude.ai/code/session_01AS5Tn3xieewUSg3uxrMVdL
2026-10-07 21:40:14 +00:00
bherbruck and Claude Opus 5.5
ea3dd0ed6e
3MF: export, and 3MF/STL import as mesh bodies
...
Export: ExportCommand/CLI --out/MCP export with .3mf write a 3MF Core package
([Content_Types].xml, _rels/.rels, 3D/3dmodel.model; millimetres), one
mesh object and build item per body, named after it, vertices shared and
welded watertight (T-junctions between faces split), base-material colours
when bodies carry one (STEP colours now ride on bodies). Tessellation as
for STL. File > Export 3MF.
Import: doc.open/drag-drop/CLI/MCP open accept .3mf and .stl; Insert Mesh
(ParaMeshInsertAlignCommand) adds them to a design as a MeshImport feature.
Kernel mesh bodies render, measure exactly, move and export; solid
features refuse them with a clear error. 3MF reading flattens components
and build transforms, converts units, reads colours; sizes, entries,
nesting and element counts are capped.
Co-Authored-By: Claude Opus 5.5 <[email protected] >
Claude-Session: https://claude.ai/code/session_01AS5Tn3xieewUSg3uxrMVdL
2026-10-07 21:30:38 +00:00
bherbruck and Claude Opus 5.5
043a542e29
Kernel: pole-free six-patch spheres; vendored truck-shapeops with robust meshing and nearest-parameter loop projection (sphere and box booleans work); least-squares sphere classification
...
Oracle: 25/29 (14 and 15 now match Fusion).
Co-Authored-By: Claude Opus 5.5 <[email protected] >
Claude-Session: https://claude.ai/code/session_01AS5Tn3xieewUSg3uxrMVdL
2026-10-07 21:30:18 +00:00
bherbruck and Claude Opus 5.5
7ef3426cb3
Keyboard-first commands: E/F/H open with the on-canvas value box focused as soon as the geometry is picked (typing replaces the value, Enter applies, Tab moves on, Esc cancels), extrude direction arrow; Extrude takes planar body faces (face: [x,y,z] copies the face boundary into a sketch), so select-face-then-E press-pulls; join/cut previews show the tool body (cut see-through red)
...
Co-Authored-By: Claude Opus 5.5 <[email protected] >
Claude-Session: https://claude.ai/code/session_01AS5Tn3xieewUSg3uxrMVdL
2026-10-07 21:23:47 +00:00
bherbruck and Claude Opus 5.5
d44083d1cc
Live operation previews: open feature dialogs (new or Edit Feature) evaluate on a scratch session off the UI thread (Session::preview, no document or undo changes) and draw the result in place: new surface tinted, removed material as a translucent ghost; errors show in the dialog and keep the last good preview; a failing join/cut still shows its tool body
...
Co-Authored-By: Claude Opus 5.5 <[email protected] >
Claude-Session: https://claude.ai/code/session_01AS5Tn3xieewUSg3uxrMVdL
2026-10-07 21:09:16 +00:00
bherbruck and Claude Opus 5.5
b8d0fcc8e2
STEP: bound assembly traversal, name imports after a lone body
...
A visit budget stops shared sub-assemblies from growing exponentially (with
a test); the loose-solid pass gets its own budget. An Import feature is
named after the root product, else its only body, else the file. Restores
a test function closed off by the rebase.
Co-Authored-By: Claude Opus 5.5 <[email protected] >
Claude-Session: https://claude.ai/code/session_01AS5Tn3xieewUSg3uxrMVdL
2026-10-07 21:01:04 +00:00
bherbruck and Claude Opus 5.5
d224fde7d4
STEP: corpus check
...
solvecraft-cli step-corpus and cargo xtask step-corpus [DIR]: open every
Fusion oracle part.step and compare body count, volume and area (1e-3) and
face count with Fusion's measurements; docs/step-import.md (29/29 pass).
solvecraft-cli eval/run accept STEP files and --in FILE.
Co-Authored-By: Claude Opus 5.5 <[email protected] >
Claude-Session: https://claude.ai/code/session_01AS5Tn3xieewUSg3uxrMVdL
2026-10-07 21:01:04 +00:00
bherbruck and Claude Opus 5.5
f3dbb12b23
STEP: open/insert/drag-drop
...
Import base feature (FeatureKind::Import, timeline type BaseFeature) holding
the STEP text and the file's product tree; bodies named from the file.
doc.open accepts .step/.stp (any case) as a new design; Insert STEP
(FusionImportCommandFromToolbar) adds one to the current design; File menu,
SOLID > INSERT, drag-and-drop (insert into a non-empty design, else open),
'solvecraft part.step', MCP open. Features (fillet, hole, sketch-on-face
cut, shell) work on imported bodies. Imports are cached so a file is read
once per command. Measure tightens its chord tolerance for small radii.
Co-Authored-By: Claude Opus 5.5 <[email protected] >
Claude-Session: https://claude.ai/code/session_01AS5Tn3xieewUSg3uxrMVdL
2026-10-07 21:01:04 +00:00
bherbruck and Claude Opus 5.5
ed611ed7ba
STEP: reader
...
Own ISO 10303-21 parser and AP203/AP214/AP242 geometry reader in the kernel
(step_import): planes, cylinders, cones, spheres, tori, B-spline and rational
surfaces, surfaces of revolution/extrusion; lines, conics, B-spline curves;
breps with voids, faceted breps, shell models; units (SI prefixes, conversion
based), product names, colours, assemblies (NAUO + item-defined
transformations, mapped items). Hostile input is capped and guarded; faces
that cannot be read are left out and reported. Faces that wrap around a
closed non-periodic direction (pipe tori, revolved B-spline bands) are split
for truck's mesher. Bodies are meshed per shell so open imports never panic.
Co-Authored-By: Claude Opus 5.5 <[email protected] >
Claude-Session: https://claude.ai/code/session_01AS5Tn3xieewUSg3uxrMVdL
2026-10-07 21:01:04 +00:00
bherbruck and Claude Opus 5.5
6c819a7b06
UI: command dialogs dock flush to the right edge of the viewport below the view cube, shrink-wrapped (260-380 px), anchored on resize; Esc on an edit restores the timeline marker
...
Co-Authored-By: Claude Opus 5.5 <[email protected] >
Claude-Session: https://claude.ai/code/session_01AS5Tn3xieewUSg3uxrMVdL
2026-10-07 20:53:00 +00:00
bherbruck and Claude Opus 5.5
a737ddad3b
Web: apps/solvecraft-web (Trunk, eframe web runner, WebGPU or WebGL2), cargo xtask wasm in ci, web-time clocks
...
Co-Authored-By: Claude Opus 5.5 <[email protected] >
Claude-Session: https://claude.ai/code/session_01AS5Tn3xieewUSg3uxrMVdL
2026-10-07 20:35:55 +00:00
bherbruck and Claude Opus 5.5
9dfd7cad60
Timeline editing: double-click or Edit Feature reopens the feature's dialog filled in (model rolled back to it, references highlighted) and rebuilds it in place; history marker drag; drag to reorder with dependency checks; context menu (edit, edit profile sketch, rename, suppress, roll marker here, find in browser, delete with dependents); hover links timeline and geometry; fillet edges and hole positions re-resolve after upstream edits (warnings when moved)
...
Co-Authored-By: Claude Opus 5.5 <[email protected] >
Claude-Session: https://claude.ai/code/session_01AS5Tn3xieewUSg3uxrMVdL
2026-10-07 20:19:56 +00:00
bherbruck and Claude Opus 5.5
97e73b0935
Selection feedback and origin: hover and selected highlights (theme tokens), origin planes/axes/point at a fixed screen size with browser eye toggles, click-to-pick sketch planes and faces with camera animation (Finish Sketch returns), multi-select dialog inputs with pre-selection, tangent chains and face-to-edges, window/crossing box selection, shell/draft/mirror/hole dialogs
...
Co-Authored-By: Claude Opus 5.5 <[email protected] >
Claude-Session: https://claude.ai/code/session_01AS5Tn3xieewUSg3uxrMVdL
2026-10-07 20:00:17 +00:00
bherbruck and Claude Opus 5.5
059909fb05
Fix: File menu closed on the same click that opened it
...
Co-Authored-By: Claude Opus 5.5 <[email protected] >
Claude-Session: https://claude.ai/code/session_01AS5Tn3xieewUSg3uxrMVdL
2026-10-07 19:46:30 +00:00
bherbruck and Claude Opus 5.5
cd993e35a3
View changes animate: view cube faces, edges and corners, Home and Fit move the camera over 500 ms (quaternion slerp, ease in-out); mouse navigation cancels; control channel snaps unless animate
...
Co-Authored-By: Claude Opus 5.5 <[email protected] >
Claude-Session: https://claude.ai/code/session_01AS5Tn3xieewUSg3uxrMVdL
2026-10-07 19:33:19 +00:00
bherbruck and Claude Opus 5.5
3e9042b6de
MCP: docs/mcp.md, README section, attribution
...
Co-Authored-By: Claude Opus 5.5 <[email protected] >
Claude-Session: https://claude.ai/code/session_01AS5Tn3xieewUSg3uxrMVdL
2026-10-07 19:25:27 +00:00
bherbruck and Claude Opus 5.5
3e1c5e195a
MCP: solvecraft-cli mcp [--in FILE] [--connect HOST:PORT]
...
Co-Authored-By: Claude Opus 5.5 <[email protected] >
Claude-Session: https://claude.ai/code/session_01AS5Tn3xieewUSg3uxrMVdL
2026-10-07 19:25:27 +00:00
bherbruck and Claude Opus 5.5
d1ff23990e
MCP: server and tools
...
crates/mcp (L5, engine only): JSON-RPC 2.0 over stdio with protocol version negotiation, a
headless Session backend and a bridge to the app's control port, 14 tools (list_commands,
execute, batch with rollback, inspect_design, measure, body_topology, set_parameter,
screenshot as an image block, export, undo/redo, new_design/open/save) and tests.
Co-Authored-By: Claude Opus 5.5 <[email protected] >
Claude-Session: https://claude.ai/code/session_01AS5Tn3xieewUSg3uxrMVdL
2026-10-07 19:25:27 +00:00
bherbruck and Claude Opus 5.5
646b9a7226
Docs: publishing rules and the wasm non-negotiable
...
Co-Authored-By: Claude Opus 5.5 <[email protected] >
Claude-Session: https://claude.ai/code/session_01AS5Tn3xieewUSg3uxrMVdL
2026-10-07 19:25:09 +00:00
bherbruck and Claude Opus 5.5
d585afd006
M2: exact planar boolean fallback for coincident faces (BSP polygons rebuilt into B-rep)
...
Co-Authored-By: Claude Opus 5.5 <[email protected] >
Claude-Session: https://claude.ai/code/session_01AS5Tn3xieewUSg3uxrMVdL
2026-10-07 19:22:27 +00:00
bherbruck and Claude Opus 5.5
c555f6f693
M2: loft (arc-length ruled sections) and sweep along sketch paths; three-level measurement voting
...
Oracle: 23/29 parts match Fusion.
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-10-07 19:22:27 +00:00
bherbruck and Claude Opus 5.5
73a1ab40d0
M2: shell and draft (exact convex polyhedra from planes)
...
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-10-07 19:22:27 +00:00
bherbruck and Claude Opus 5.5
431b87c2b9
M1: hole feature (simple, drilled, counterbore, countersink), cone classification and apex counting
...
Oracle: 19/29 parts match Fusion.
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-10-07 19:22:27 +00:00
bherbruck and Claude Opus 5.5
42e0362f5b
Fix: horizontal orbit direction (model follows the cursor)
...
Co-Authored-By: Claude Opus 5.5 <[email protected] >
Claude-Session: https://claude.ai/code/session_01AS5Tn3xieewUSg3uxrMVdL
2026-10-07 19:20:39 +00:00
bherbruck and Claude Opus 5.5
ac43365416
M1: robust revolves touching the axis (cone shells), partial revolves toward the sketch normal, coplanar profile growth for joins/cuts, membership-checked booleans, per-face measurement fallback
...
Oracle: 18/29 parts match Fusion.
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-10-07 18:41:02 +00:00
bherbruck and Claude Opus 5.5
1467ad1d89
M1: rectangular/circular patterns and mirror of features, construction planes (offset, at angle), split body by plane, chamfers by mitred cutters
...
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-10-07 18:29:51 +00:00
bherbruck and Claude Opus 5.5
b85ccd62cf
M1: oracle recipe coverage (arcs, refs-based constraints/dimensions, extents), taper and through-all extrudes, curve splitting in profiles, region merging, angle dimensions by sector, smoother tangency solve, merged topology for revolves
...
Oracle: 13/29 parts match Fusion.
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-10-07 18:19:28 +00:00
bherbruck and Claude Opus 5.5
0f3e7701a7
M0: docs (README, CLAUDE/AGENTS, ROADMAP, control protocol, NOTICE, attribution), example, parity and oracle reports
...
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-10-07 17:58:32 +00:00
bherbruck and Claude Opus 5.5
8a811f8eff
M0: desktop app: toolbar, browser, timeline, GPU viewport, view cube, sketch tools, dialogs, control channel
...
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-10-07 17:54:58 +00:00
bherbruck and Claude Opus 5.5
3714342737
M0: xtask layers, parity, oracle, assets, ci; Fusion command catalog
...
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-10-07 17:34:53 +00:00
bherbruck and Claude Opus 5.5
0983f80f01
M0: solvecraft-cli (run, eval, snapshot, exec, commands, recipe, oracle)
...
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-10-07 17:32:44 +00:00
bherbruck and Claude Opus 5.5
cdca1e59f3
M0: engine command registry, file formats, view math and CPU renderer
...
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-10-07 17:30:37 +00:00
bherbruck and Claude Opus 5.5
a97af44979
M0: truck-based kernel with local fillets and chamfers, parametric document timeline
...
The kernel moved from monstertruck to truck: truck's booleans handle blind
holes, pockets and bosses that monstertruck's did not (see the ADR). Fillets
and chamfers on straight convex edges between planar faces are our own exact
local B-rep operation. The document holds parameters with unit-aware
expressions and a timeline that re-evaluates incrementally.
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-10-07 17:18:16 +00:00
bherbruck and Claude Opus 5.5
dafce1f4e2
M0: workspace, geometry foundation, sketch constraint solver, kernel boundary
...
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-10-07 17:01:29 +00:00