Write the v2 production tree into the config files
recipes.toml: full v2 rewrite - iron/copper/quartz mining, smelting incl. the value-losing scrap sink, reprocessing (4 scrap / 4 s, voidsteel at 20% of the full pool), tiered intermediates, hulls, module prefabs, and the three drop-only shortcut recipes. modules.toml: lasers renamed to railguns (implementation unchanged), prefab materials and numbers-pass production times; combat stats stay placeholders for the arena pass. ships.toml: hull-item materials, numbers-pass base production times, and geometry-validated default_modules loadouts for every ship (waves now spawn armed). visuals.toml: item entries for the new palette (quartz, silicon, copper_coil, control_chip, capacitor_bank, hardened_steel, ceramic_plate, voidsteel, voidsteel_plate, railgun modules); retired titanium/alloy/laser items removed. world.toml: scrap_per_threat = 0.25 per the numbers pass. threat_report.py: commit an item's threat only once every eligible recipe is computable - the previous first-resolved-wins behavior let shortcut recipes underprice items (same flaw exists in ThreatCostCalculator, recorded as action item 9). Verified: all default_modules placements valid, verify_recipes and verify_layouts pass, and the report reproduces the numbers-pass tables exactly (fitted: 10.5/47/99/233.5/354.5/722.5/1491.5/1436.5). Doc tables updated for the three geometry-corrected loadouts. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DyCu8vwChKMbLJQ3xosYEN
This commit is contained in:
@@ -392,3 +392,12 @@ in `requirements.md` and the git history). Still open:
|
||||
pass instead of iterating; their consumers silently drop the missing
|
||||
materials, so capital hull threat is currently underestimated (found
|
||||
by `tools/threat_report.py`, which implements the correct fixpoint).
|
||||
9. **Max rule across staggered recipes in ThreatCostCalculator.** An
|
||||
item is committed at the first iteration where *any* of its recipes
|
||||
resolves, taking the max only over the recipes resolvable at that
|
||||
point. A shallow shortcut recipe (e.g. steel plate from raw ore)
|
||||
resolves one iteration earlier than the base path and wins, silently
|
||||
underpricing the item and everything downstream — violating the
|
||||
"shortcuts are pure rewards" rule. Fix: commit an item's threat only
|
||||
once every eligible recipe for it is computable (as
|
||||
`tools/threat_report.py` does), with a fallback for recipe cycles.
|
||||
|
||||
Reference in New Issue
Block a user