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 <[email protected]>
This commit is contained in:
1 parent
740360d7c3
commit
d10312b7fd
158 files changed
+3611
-3205
No files matched your search
+4
-4
@@ -2,7 +2,7 @@
|
||||
|
||||
Generated by `cargo xtask oracle`. Each case is a part built in Fusion (recipe and measurements kept locally in `plan/fusion/oracle/`, not committed). SolveCraft replays the recipe through its command engine and compares body count, volume and area (relative tolerance 1e-3) and face/edge/vertex counts (exact). SolveCraft counts each closed-surface patch once and ignores seam edges and vertices; when body count, volume and area pass but the raw counts differ, Fusion's counts are normalised the same way from its face, edge and vertex lists (faces cut from one cylinder, cone, sphere or torus and separated only by seams count once; an edge on that surface and no other is a seam and is dropped; a vertex left with two edges joins them) and compared exactly; the note gives both sides' raw counts.
|
||||
|
||||
**73 / 76 cases pass** (0 need features not implemented yet).
|
||||
**76 / 76 cases pass** (0 need features not implemented yet).
|
||||
|
||||
| Case | Result | Notes |
|
||||
|---|---|---|
|
||||
@@ -40,14 +40,14 @@ Generated by `cargo xtask oracle`. Each case is a part built in Fusion (recipe a
|
||||
| 32-boss-plate-fillets | pass | |
|
||||
| 33-fillet-tangent-chain | pass | |
|
||||
| 34-chamfer-then-fillet | pass | |
|
||||
| 35-fillet-curved-curved | FAIL | step_export: got "faces inside out: Tee: face 7 runs clockwise around its normal; Tee: face 8 runs clockwise around its normal" want "valid, re-imports cleanly"; topology compared seam-normalised: Fusion's 6/6/5 faces/edges/vertices become 6/5/5 with closed-surface patches counted once and seam edges and vertices dropped (raw SolveCraft/Fusion: faces 9/6, edges 17/6, vertices 10/5) |
|
||||
| 35-fillet-curved-curved | pass | topology compared seam-normalised: Fusion's 6/6/5 faces/edges/vertices become 6/5/5 with closed-surface patches counted once and seam edges and vertices dropped (raw SolveCraft/Fusion: faces 9/6, edges 17/6, vertices 10/5) |
|
||||
| 36-corner-blend-two-radii | pass | |
|
||||
| 37-pyramid-apex-blend | pass | |
|
||||
| 38-coincident-cylinders | pass | |
|
||||
| 39-tee-pipe | pass | |
|
||||
| 40-box-sphere-torus | pass | |
|
||||
| 41-tube-radial-holes | pass | |
|
||||
| 42-overlapping-patterns | FAIL | faces (seam-normalised): got 41.0 want 43.0; edges (seam-normalised): got 102.0 want 106.0; vertices (seam-normalised): got 78.0 want 74.0; topology compared seam-normalised: Fusion's 43/106/74 faces/edges/vertices become 43/106/74 with closed-surface patches counted once and seam edges and vertices dropped (raw SolveCraft/Fusion: faces 76/43, edges 222/106, vertices 148/74) |
|
||||
| 42-overlapping-patterns | pass | |
|
||||
| 43-cut-splits-body | pass | |
|
||||
| 44-shell-l-bracket | pass | |
|
||||
| 45-shell-boss-plate | pass | |
|
||||
@@ -55,7 +55,7 @@ Generated by `cargo xtask oracle`. Each case is a part built in Fusion (recipe a
|
||||
| 47-draft-curved-pocket | pass | |
|
||||
| 48-pulley | pass | |
|
||||
| 49-helical-sweep | pass | Fusion sweeps along a spline fitted through helix points; SolveCraft builds the true helix (a coil), so the size is compared within 0.5% and the topology not at all |
|
||||
| 50-sweep-tight-bend | FAIL | faces (seam-normalised): got 6.0 want 5.0; edges (seam-normalised): got 5.0 want 6.0; vertices (seam-normalised): got 5.0 want 4.0; area not compared: Fusion reports this tight sweep's horn torus face at three times its area (π²·R·r quarter-turn value; 740 mm² against 246.7 by Pappus); volume and topology are compared |
|
||||
| 50-sweep-tight-bend | pass | area not compared: Fusion reports this tight sweep's horn torus face at three times its area (π²·R·r quarter-turn value; 740 mm² against 246.7 by Pappus); volume and topology are compared |
|
||||
| 51-loft-rect-circle-offset | pass | |
|
||||
| 52-circular-pattern-fillet | pass | |
|
||||
| 53-path-pattern | pass | |
|
||||
|
||||
Reference in new issue
Block a user