Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
5 tasks: move PushDirection to Core, add GetPartLines helpers, add DirectionalDistance algorithm, rewrite PushSelected, clean up. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replace bounding-box push with analytical polygon directional-distance so parts nestle together based on actual cut geometry. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>