Wires the ledger into the BOM window via three workflows (Codex's workflow-first UX), plus an offcut-consuming planner. - StockPiece gains owned/source; build_cut_plan(available=) seeds the packer from owned offcuts (reusing the seeded-packing) so they're consumed before buying. Score reports stock_count = pieces to BUY (offcuts free) + owned_count; prices.estimate and the Buy list exclude owned pieces. - BOM header: "Build units", an opt-in "Use shop offcuts" toggle, and "Mark purchased…" / "Record build…" buttons. - PurchaseDialog: confirm qty + price each, opt-in "save prices to price book". - RecordBuildDialog: shows consumed stock + each offcut with Keep/Burn/Trash/ Ignore before committing (the moment to correct reality). - Ledger.record_build takes per-offcut dispositions; used offcuts are consumed from the bin; build cost snapshot logged. - tests: offcut toggle drops buy-count to 0, record-build writes the ledger. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| test_bom_window.py | ||
| test_cutlist.py | ||
| test_cutplan.py | ||
| test_driver.py | ||
| test_estimate.py | ||
| test_geometry.py | ||
| test_gui_controller.py | ||
| test_instructions.py | ||
| test_inventory.py | ||
| test_jigs.py | ||
| test_layout.py | ||
| test_materials.py | ||
| test_prices.py | ||
| test_scene.py | ||