mirror of
https://github.com/bherbruck/solidcraft.git
synced 2026-11-15 13:10:45 +00:00
54ce32cddf
solidcore-step, SolidCraft's STEP reader (moved in by #13979), joins CRATES in check_panic_sites.py. (The scan's clippy run already copes with solidcore-record, a dependency of step's outside CRATES, through main's `--cap-lints warn` from #14194.) solidcore-step's 75 sites are listed in plan/panic-sites.tsv, all proven, each with its reason. Fixed first: - eval.rs `expanded`: the knots are built only for more control points than the degree, with multiplicities adding up to points + degree + 1, checked before anything is built. A file can no longer have the knot vector grow to a size it declares: the knots are at most twice the points, which are already in memory. - read.rs `implied_knots`: a degree of 0 is refused before the Bezier segments divide by it. - topology.rs `face_domain`: a natural range that leaves no room for the box (crossed, or not a number) is refused, naming it, before the clamp. A range narrower than the box's span takes its own start exactly, where `n1 - span` could round below `n0` and panic the clamp. - write/topology.rs `outer_loop`: the ring grows as it is filled, rather than reserving edges x samples. Main's other rows are left as they are. The scan notices 13 that no longer match a site (main's own drift), and that doesn't fail the check. Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>