Spatial feedback (direction #1): scene.spatial_summary() reports each board's world bounding box (Part.bbox) and flags interpenetrating pairs; the GUI feeds it into the interpreter prompt. The SYSTEM prompt now tells the AI to use the layout to position boards flush against each other (computed wood-move) and to fix overlaps — so relative commands like "position the left side flush against p2" work. Verified live: "stack p2 on top of p1" moved p2 onto p1's top face. Manual add: the Parts tab gained a stock dropdown + length + "Add board" button to place a board instantly without the AI (controller.place). 88 tests pass (bbox axis-aligned, spatial_summary flags/clears overlap). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| test_cutlist.py | ||
| test_driver.py | ||
| test_geometry.py | ||
| test_gui_controller.py | ||
| test_scene.py | ||