- EstimateRates.finish_cost_per_sqft and min_per_finish are now dicts keyed by finish kind (sanded/clear/stain/paint) — paint costs more and takes longer than a clear coat; all editable. - project_estimate prices the finish line per part by its finish kind × surface area; finishing labor sums per-part by kind; raw parts cost nothing. - load_rates generically merges any dict-valued rate field; RatesEditDialog rewritten to render scalars + dict sub-sections automatically. - tests: finish cost varies by kind, raw = no finish line, dict roundtrip. 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_jigs.py | ||
| test_layout.py | ||
| test_materials.py | ||
| test_prices.py | ||
| test_scene.py | ||