mirror of
https://github.com/ajisaacs/OpenNest.git
synced 2026-10-14 21:51:56 -04:00
When part spacing exceeds a clamp's inflated span the per-axis block interval [zone - clearance + s, zone + clearance] inverts. The old collapse to the zone centerline was not conservative: a part could start exactly on the centerline with material inside the clamp (PM d86d22c9 - the probe rail Box(0,0,5,0.625) at part spacing 4 completed at y=0.3125). Per decision D11, an inverted span now blocks a zero-extent line at the clamp edge facing the sheet interior: zone max + clearance when the zone center is in the bin's lower half on that axis, else zone min - clearance + s, so interior-side parts keep the exact bottom-edge clearance and the unavoidable extra exclusion lands toward the nearer sheet edge. Failing-first: the PM probe fixture in quadrants 1-4 and two X-inverted fixtures (mid-rail and far-rail) were red on ab50900 against an independent material-vs-inflated-footprint oracle; all six now pass. Non-inverted spans stay bit-for-bit identical: four keep-row layout digests captured from the unfixed ab50900 packer are unchanged, the between-clamp rows still pack the gap, and the three zero-clamp C2 baseline hashes are untouched. Full Engine suite 929 passed/2 existing skips.