mirror of
https://github.com/ajisaacs/OpenNest.git
synced 2026-11-04 16:01:35 -05:00
Collision.HasOverlap (and Part.Intersects, which shares the same underlying algorithm) was observed to return false negatives on real, complex production geometry: a layout with a combined placed area over 7x the plate's work area passed the polygon-based spacing/overlap check with zero flagged pairs. This is a pre-existing gap in OpenNest.Core's Collision detection, not something introduced here, but it let an obviously-invalid layout score as "valid". ValidateAreaBudget adds a hard mathematical backstop that does not depend on Collision at all: non-overlapping parts confined to the work area can never have a combined area greater than the work area itself. Also switch WorldPolygon from Shape.ToPolygon() (default up to 1000 segments per arc) to ToPolygonWithTolerance(0.01), matching the convention already used elsewhere in the codebase (e.g. BestFit.PolygonHelper) - arc-heavy real parts were producing thousands-of-vertex polygons for a simple spacing check.