Files
Henry 7887cb59dd solidcore: two boxes within tolerance across a thin strip union into one solid by default (retire WR-614/WR-619 flags) (#16028)
boolean_coincident_strip_drops_crossing (WR-614) and
imprint_skips_collapsed_definition (WR-619) become the only path: the
crossing of two planes within tolerance across a strip bounded by their
edges is dropped before resolve, and a collapsed speck definition beside a
sibling makes no closed edge. They go together: the strip rule alone turns
the default d = 1e-5 union from 1001 into a body with no solid region.
SolidCraft's preset and the rig's fixes.json had both on, so the app's
results don't change. The off path made the proto-vertex capture distance
decide contact across the strip, which blocks a sound capture bound.

goldens: boolean.api_brep wr614_strip_* rows at d = 1e-5 and 5e-6 (plain
and measured) are blessed. Exact (rational polygon clipping): overlap
20.2 d^2, union 128 - 20.2 d^2, difference 64 - 20.2 d^2.
- union 1e-5: 1001 -> one solid, V 128.00007163867772 (exact 127.99999999798)
- union 5e-6: no solid, V 0 -> one solid, V 128.00003582033884 (127.999999999495)
- difference 1e-5, 5e-6: V 0 -> box A, V 63.999999999999986
- intersection 1e-5, 5e-6: two sheets -> empty (overlap below tolerance)
No other row of any unit moves. The d = 1.5e-5 rows (past the tolerance,
neither rule applies) are wrong before and after (union and difference
V 0, intersection two sheets) and move to known_failing.json.

Tests: the off-path halves of wr_614/wr_619 tests go, off/on comparisons
are graded against exact volumes, and wr_619_union_solid_leak moves to
d = 1.5e-5, which still leaks.

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-13 12:16:38 +00:00
..