Transcribe the §2-§6 codex into machine-readable canon and add the validator that keeps five parallel lanes from drowning in dangling ids. - validator (28 tests): recipes point back at their machine, every item/tech/ commission reference resolves, ids unique + kebab-case, colors hex, footprints >=1x1, plus a reachability pass proving MELT is craftable from raw ore. - items 9->36, machines 7->21, recipes 4->35, tech 0->17, commissions 1->10. - mosh rewired to canon (gop-crate -> melt + reclaimed anchor slab); all seed recipe ids preserved so nothing dangles mid-round. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
38 lines
2.4 KiB
JSON
38 lines
2.4 KiB
JSON
[
|
|
{ "id": "disc-artifact-bottling", "era": "disc", "cost": { "analog-pack": 10 },
|
|
"unlocks": ["artifact-bottler", "can-static"] },
|
|
{ "id": "disc-chroma-subsampling", "era": "disc", "cost": { "analog-pack": 10 },
|
|
"unlocks": ["subsampler", "subsample-422"] },
|
|
{ "id": "disc-macroblock-quarrying", "era": "disc", "cost": { "analog-pack": 15 },
|
|
"unlocks": ["quantize-crime"] },
|
|
{ "id": "disc-ringing-skim", "era": "disc", "cost": { "analog-pack": 10, "spatial-pack": 15 },
|
|
"unlocks": ["skim-ringing"] },
|
|
{ "id": "disc-subsampling-420", "era": "disc", "cost": { "analog-pack": 20, "spatial-pack": 15 },
|
|
"unlocks": ["subsample-420", "press-anchor-slab"] },
|
|
{ "id": "disc-mosh-reactor", "era": "disc", "cost": { "analog-pack": 20, "spatial-pack": 10 },
|
|
"unlocks": ["mosh-reactor", "mosh"] },
|
|
{ "id": "disc-gamut-paints", "era": "disc", "cost": { "spatial-pack": 20 },
|
|
"unlocks": ["mix-rec709", "mix-dci-p3"] },
|
|
{ "id": "disc-gop-cadence-ibbp", "era": "disc", "cost": { "spatial-pack": 25, "temporal-pack": 10 },
|
|
"unlocks": ["cast-janus-wafer", "assemble-gop-ibbp"] },
|
|
{ "id": "disc-i-only-cadence", "era": "disc", "cost": { "spatial-pack": 30, "temporal-pack": 20 },
|
|
"unlocks": ["assemble-gop-i-only"] },
|
|
|
|
{ "id": "stream-field-loom", "era": "stream", "cost": { "analog-pack": 20 },
|
|
"unlocks": ["field-loom", "weave-fields", "loom-vhold-roll"] },
|
|
{ "id": "stream-telecine", "era": "stream", "cost": { "analog-pack": 25, "temporal-pack": 15 },
|
|
"unlocks": ["telecine-puller", "mill-judder"] },
|
|
{ "id": "stream-software-decoding", "era": "stream", "cost": { "analog-pack": 20, "temporal-pack": 20 },
|
|
"unlocks": ["software-decoder"] },
|
|
{ "id": "stream-demosaic-vng4", "era": "stream", "cost": { "spatial-pack": 30 },
|
|
"unlocks": ["demosaic-vng4", "pan-speckle"] },
|
|
{ "id": "stream-bloom-loops", "era": "stream", "cost": { "spatial-pack": 20, "temporal-pack": 30 },
|
|
"unlocks": ["bloom-duplicator", "bloom-grade-3"] },
|
|
{ "id": "stream-optical-flow", "era": "stream", "cost": { "temporal-pack": 25 },
|
|
"unlocks": ["mv-extractor", "extract-motion"] },
|
|
{ "id": "stream-laser-primaries", "era": "stream", "cost": { "spatial-pack": 40, "temporal-pack": 20 },
|
|
"unlocks": ["mix-rec2020"] },
|
|
{ "id": "stream-hex-splicing", "era": "stream", "cost": { "container-pack": 25, "temporal-pack": 25 },
|
|
"unlocks": ["hex-splicer", "splice-offsets"] }
|
|
]
|