mirror of
https://github.com/ajisaacs/OpenNest.git
synced 2026-10-27 07:11:06 -04:00
Fill only tried 0 and 90 degrees for parts classified as rectangles, so a long part filling a 60 x 120 plate four high at 90 degrees left a 55 x 59 strip empty although two more fit tilted about 33 degrees (a reported nest: 4 placed, 6 fit). The second tilted part only fits with its corner tucked beside the grid, in the strip the grid's slack leaves, so a plain rectangular remnant fill finds one. TiltedRemnant runs after the other strategies. It moves the best layout flush to one end so leftover room becomes one remnant, and to either end of the other axis so its slack forms one strip; then tiles the part at the most upright angles that fit the remnant's height and keeps only copies at least the part spacing from the layout. It is skipped when the part fits the remnant upright, for circles, for an explicit rotation range and once the requested quantity is placed. Fill benchmark (--parallel 1): the synthetic set is unchanged (all valid, same cost and plates). The reported part needs 1 sheet instead of 2 for 6 parts and 2 instead of 3 for 12. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>