mirror of
https://github.com/ajisaacs/OpenNest.git
synced 2026-10-30 18:51:26 -04:00
Add PackBoundary: a closed outline with obstacles, bound to one NoFitCache, whose per-orientation inner-fit polygon (the clearance footprint inside the outline eroded by the other half clearance) is computed once and shared. FrontierPacker takes an optional boundary and seeds each region from that inner fit, drops orientations with no fit and subtracts obstacle no-fit polygons like clamp ones; without a boundary it is unchanged, so rectangular stock layouts are identical. CutoutLatticeFill.InnerFit now calls the shared kernel with the same Clipper operations, so lattice results are unchanged. The engine's strategy variants are internal so a cutout proposal can reuse them. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>