Files
solvecraft/apps/solidcraft-cli
jyviko 172c64cef8 Tests: the naming corpus checks that references resolve and builds agree
corpus_designs_rebuild_with_the_same_names_and_references compared every
corpus design with a text record of each body's face and edge counts and its
full name list, last written from truck's output (a55196e7a); 110 designs
differed only because SMLib keeps whole faces truck split in pieces. Those
counts and names are the kernel's, not an outcome.

The test, renamed corpus_designs_keep_their_references_and_name_alike_every_build,
now asserts invariants only, with no record:
- every design loads; one that does not is a failure naming the design and
  the step (oracle/83-boundary-loop-thicken: surface.thicken, SMLib status
  1001), not a record line;
- every name a design stores (fillet and chamfer edges, faces a feature
  picks, a sketch's face, sheet metal edges) finds a face or edge: none
  `gone`, no sketch face `lost`;
- two builds give the same name -> face map: each named face's area and
  centre and each named edge's length and middle (to 1e-6 of their size), and
  the same face or edge found for every stored name.
The design already exempt for unstable piece order
(regressions/closed_sweep_torus_cut) is still only printed for the second.

On develop it fails on two designs: oracle/83 above, and
regressions/cut_up_to_face_leaves_skin, whose Extrude13 face
`F47:top#[...]` finds nothing (the truck-era record had it `gone` too). All
159 designs name alike in both builds. The records in tests/naming/ are no
longer read; CONTRIBUTING no longer asks to re-record them.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-30 07:12:24 -04:00
..