mirror of
https://github.com/bherbruck/solidcraft.git
synced 2026-11-08 13:01:52 +00:00
ef995afa13
The maintainer asked for the build-script and Cargo changes to go to a separate PR: the per-case offset-reference worker (build.rs link step, GNU ld --wrap, offset_reference.rs, offset_worker.cpp) and cc's parallel feature. build.rs, the solidcore-ffi Cargo.toml, Cargo.lock, lib.rs and the difftest README are back to main's. The shim now runs in the difftest process: - CreateExtendedSurface is refused (FFI and shim): UB-107 and the HANG-6/HANG-22 searches inside it cannot be detected outside NLib, as the worker already did where it had no --wrap. The upstream-derived fixture api_offset_m12_copy_split_extend loses its two extension steps (ours; TestSmCreateOffsetSurface never extends) and is renamed. - A surface of revolution base keeps surf_of_revolution_p1's in-process 1e-6 minimum sizes (the worker's deadline had made them unnecessary). - IsPlanar gets the shim's box-chain check over its natural domain, and the generator preflights it: after an outer offset's STEPInversion made an inner offset store an extension, IsPlanar's virtual box reached the inner's SmSurface body (UB-173) and overflowed the stack in a 100,000-seed run. - BaseOffset distances are generated relative to the base's size (as in surf_of_revolution_p2): a 1e149 offset of a unit revolution makes a degenerate generator offset, and CreateSimpleOffset then copies an uninitialised dMaxGap3d. - gen5909 (HANG-22) stays an FFI regression: it stops at its extension. Also: rustfmt on the #[path] unit files, and issue IDs renumbered past main and every open PR (UB-171..174, HANG-21/22, WR-160..166). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>