[ { "id": "seam-extractor", "name": "SEAM EXTRACTOR", "codex": "4:seam-extractor", "kind": "extractor", "footprint": { "x": 2, "y": 2 }, "recipes": ["extract-mdat", "extract-bayer-grit", "extract-field-splinters", "extract-silver-frames"], "powerDraw": 2, "asset": "seam-extractor", "color": "#8a7a32", "flavor": "The miner. Chews mdat seams and spits raw payload. The drill head is CRT-certified. Operators are not." }, { "id": "belt", "name": "STREAM BELT", "codex": "4:belts", "kind": "belt", "footprint": { "x": 1, "y": 1 }, "recipes": [], "powerDraw": 0, "beltSpeed": 2, "asset": "belt", "color": "#4a4e52", "accent": "#5ad0ff", "flavor": "Moves cargo. Back-pressure is a feature. Riding the belt is discouraged in writing and in no other way." }, { "id": "lane-splitter", "name": "LANE SPLITTER", "codex": "4:demuxer", "kind": "splitter", "footprint": { "x": 1, "y": 1 }, "recipes": [], "powerDraw": 1, "asset": "lane-splitter", "color": "#55595e", "accent": "#5ad0ff", "flavor": "One lane in, two lanes out, round-robin, no favourites. The only fair machine in the Bitstream." }, { "id": "buffer-tank", "name": "BUFFER TANK", "codex": "2:buffer-charge", "kind": "buffer", "footprint": { "x": 2, "y": 2 }, "recipes": [], "powerDraw": 0, "bufferCap": 300, "asset": "buffer-tank", "color": "#5a6068", "accent": "#7fe0ff", "flavor": "Smoothness in a tank. Drains at exactly one frame per 16.6ms. Keep it above the red line; below the red line the audio has opinions." }, { "id": "demuxer", "name": "DEMUXER", "codex": "4:demuxer", "kind": "crafter", "footprint": { "x": 2, "y": 2 }, "recipes": ["demux-ore", "demux-container"], "powerDraw": 3, "asset": "demuxer", "color": "#4e5a62", "flavor": "The first splitter. Cleaves raw ore into brightness, colour, and pure directional intent." }, { "id": "demosaicer", "name": "DEMOSAICER", "codex": "4:demosaicer", "kind": "crafter", "footprint": { "x": 3, "y": 2 }, "recipes": ["demosaic-rggb", "demosaic-vng4", "demosaic-stripes"], "powerDraw": 5, "asset": "demosaicer", "color": "#6a5f52", "flavor": "Weaves checkerboard grit into full colour. Feed it stripes and it will jam and extrude MOIRÉ — as designed, as warned, as invoiced." }, { "id": "dct-press", "name": "DCT PRESS", "codex": "4:dct-press", "kind": "crafter", "footprint": { "x": 3, "y": 3 }, "recipes": ["press-color-plate", "press-anchor-slab"], "powerDraw": 8, "asset": "dct-press", "color": "#3f4348", "flavor": "Spatial into frequency. Slams pixel blocks into coefficient decks; run it backwards and an entire picture falls out of the slot." }, { "id": "quantizer", "name": "QUANTIZER", "codex": "4:quantizer", "kind": "crafter", "footprint": { "x": 2, "y": 2 }, "recipes": ["quantize", "quantize-crime", "skim-ringing"], "powerDraw": 4, "asset": "quantizer", "color": "#5e5148", "flavor": "The crusher, the moneymaker, the sin. Every bit it destroys becomes room to move. The dial goes to CRIME." }, { "id": "subsampler", "name": "SUBSAMPLER", "codex": "4:subsampler", "kind": "crafter", "footprint": { "x": 2, "y": 3 }, "recipes": ["subsample-422", "subsample-420", "pan-speckle"], "powerDraw": 4, "asset": "subsampler", "color": "#4a5560", "flavor": "Spins colour down to grade and vents the difference as bandwidth. Leaks by design. Place downwind of anything you are fond of." }, { "id": "mv-extractor", "name": "MV EXTRACTOR", "codex": "4:mv-extractor-and-p-caster", "kind": "crafter", "footprint": { "x": 2, "y": 2 }, "recipes": ["extract-motion"], "powerDraw": 5, "asset": "mv-extractor", "color": "#454b52", "flavor": "Watches the footage until it knows where the picture wants to go, then pipes the wanting off as fluid." }, { "id": "p-caster", "name": "P-CASTER", "codex": "4:mv-extractor-and-p-caster", "kind": "crafter", "footprint": { "x": 2, "y": 2 }, "recipes": ["cast-delta-wafer", "cast-janus-wafer"], "powerDraw": 4, "asset": "p-caster", "color": "#4d545c", "flavor": "Prints instructions, not pictures. Each one is applied to whatever came before it — correct or otherwise." }, { "id": "gop-assembler", "name": "GOP ASSEMBLER", "codex": "4:gop-assembler", "kind": "crafter", "footprint": { "x": 3, "y": 2 }, "recipes": ["assemble-gop", "assemble-gop-ibbp", "assemble-gop-i-only", "spool-offset-ribbon", "tally-stsz-ledger"], "powerDraw": 6, "asset": "gop-assembler", "color": "#7a6a44", "flavor": "One anchor, N wafers, one crate, per the cadence punch-card. Opening a sealed crate is a production verb here, not a crime." }, { "id": "mosh-reactor", "name": "MOSH REACTOR", "codex": "4:mosh-reactor", "kind": "crafter", "footprint": { "x": 3, "y": 3 }, "recipes": ["mosh"], "powerDraw": 8, "asset": "mosh-reactor", "color": "#52333e", "flavor": "A decoder sealed in a vessel and starved of anchors. The I-frame leaves through the side airlock. The hallucination leaves through the front." }, { "id": "bloom-duplicator", "name": "P-FRAME DUPLICATOR", "codex": "4:bloom-loop", "kind": "crafter", "footprint": { "x": 1, "y": 1 }, "recipes": ["tap-bloom", "bloom-grade-1", "bloom-grade-2", "bloom-grade-3", "bloom-grade-4", "bloom-grade-5"], "powerDraw": 6, "asset": "bloom-duplicator", "color": "#5a5060", "flavor": "Stamps the same displacement onto the same cargo every lap. Grade 5 is visibly trying to leave its canister in one direction." }, { "id": "field-loom", "name": "FIELD LOOM", "codex": "4:field-loom", "kind": "crafter", "footprint": { "x": 3, "y": 2 }, "recipes": ["weave-fields", "loom-vhold-roll"], "powerDraw": 5, "asset": "field-loom", "color": "#3f5a44", "flavor": "Weaves and unweaves time. The two halves of a splinter were captured a moment apart and have never agreed since." }, { "id": "telecine-puller", "name": "TELECINE PULLER", "codex": "4:telecine-puller", "kind": "crafter", "footprint": { "x": 2, "y": 2 }, "recipes": ["mill-judder", "wind-stts-metronome"], "powerDraw": 4, "asset": "telecine-puller", "color": "#6e5a38", "flavor": "Cranks 24 into 30 on a deliberately lumpy cam. Runs backwards as a purifier, which we do not discuss on site." }, { "id": "hex-splicer", "name": "HEX SPLICER", "codex": "4:hex-splicer", "kind": "crafter", "footprint": { "x": 3, "y": 3 }, "recipes": ["splice-offsets", "chart-stco-map"], "powerDraw": 12, "coolPerTick": 0.001, "asset": "hex-splicer", "color": "#5a3a3a", "flavor": "Nudges the offsets a few bytes so the decoder fetches garbage. Keep its buffer fed, or it splices itself." }, { "id": "artifact-bottler", "name": "ARTIFACT BOTTLER", "codex": "2:science-packs", "kind": "crafter", "footprint": { "x": 2, "y": 2 }, "recipes": ["can-static", "mix-rec709", "mix-dci-p3", "mix-rec2020", "cut-sync-key", "bottle-container-pack", "forge-stss-keyring", "cut-ftyp-seal", "bottle-analog-pack", "bottle-spatial-pack", "bottle-temporal-pack"], "powerDraw": 4, "asset": "artifact-bottler", "color": "#566056", "flavor": "Bottles the triptych. Contents are shelf-stable in the legal sense, i.e. no law has been written that mentions them." }, { "id": "decode-asic", "name": "DECODE ASIC", "codex": "4:decode-asic", "kind": "power", "footprint": { "x": 2, "y": 2 }, "recipes": [], "powerDraw": 0, "powerGen": 20, "asset": "decode-asic", "color": "#b9bec4", "accent": "#6fe8c0", "flavor": "Cool, efficient, inflexible. Handles standard profiles and declines to imagine anything else. It will outlive you." }, { "id": "software-decoder", "name": "SOFTWARE DECODER", "codex": "4:software-decoder", "kind": "power", "footprint": { "x": 2, "y": 2 }, "recipes": [], "powerDraw": 0, "powerGen": 100, "heatPerTick": 0.0033, "coolPerTick": 0.001, "asset": "software-decoder", "color": "#6e3a34", "accent": "#ff4a2a", "flavor": "Decodes ANYTHING, at any temperature. Five ASICs at full song, one third of the time. Throttles at 0.7, scrams at 1.0, screams throughout. The lag is the damage model." }, { "id": "asic-cooler", "name": "ASIC COOLER", "codex": "2:heat", "kind": "power", "footprint": { "x": 2, "y": 2 }, "recipes": [], "powerDraw": 0, "powerGen": 5, "coolPerTick": 0.0018, "coolRadius": 2, "asset": "asic-cooler", "color": "#a8b4bc", "accent": "#9fe8ff", "flavor": "Decodes a little and vents a lot. Stand beside it in summer. Do not stand beside it in the dark, when you can see what it is venting." }, { "id": "matte-bath", "name": "MATTE BATH", "codex": "10:matte-bath", "kind": "crafter", "footprint": { "x": 3, "y": 2 }, "recipes": ["bathe-hard-matte", "bathe-feather"], "powerDraw": 5, "asset": "matte-bath", "color": "#5a4a4a", "flavor": "Footage in, hard mattes out, softness destroyed. A GHOST FEATHER fed in comes out a HARD MATTE and the machine does not apologize. One mistake ruins the reel." }, { "id": "optical-printer", "name": "OPTICAL PRINTER", "codex": "10:optical-printer", "kind": "crafter", "footprint": { "x": 5, "y": 4 }, "recipes": ["print-composite", "print-blue-screen"], "powerDraw": 18, "asset": "optical-printer", "color": "#6a5a3a", "flavor": "The iron lung. A cathedral of bellows and lenses that splits footage into three colours and recombines them slightly wrong. It fringes everything it touches, and it is beautiful, and it is slow." }, { "id": "chroma-keyer", "name": "CHROMA KEYER", "codex": "10:chroma-keyer", "kind": "crafter", "footprint": { "x": 2, "y": 2 }, "recipes": ["key-chroma", "key-hair", "key-semitransparent"], "powerDraw": 6, "asset": "chroma-keyer", "color": "#3a6a3a", "flavor": "Cheap, fast, and thirty-year-old maths. Weeps GREEN SPILL from its seams. Chokes on hair. Do not show it anything semi-transparent; it will decide the pixel belongs to neither of you." }, { "id": "roto-bench", "name": "ROTO BENCH", "codex": "10:roto-bench", "kind": "crafter", "footprint": { "x": 2, "y": 2 }, "recipes": ["roto-cutout", "roto-mixed"], "powerDraw": 2, "asset": "roto-bench", "color": "#6a5540", "flavor": "Converts anything to a cutout. Perfectly. Eventually. Twenty-four frames of pain per second of footage. When the automation fails the bench never does — it just costs your life instead." }, { "id": "neural-keyer", "name": "NEURAL KEYER", "codex": "10:neural-keyer", "kind": "crafter", "footprint": { "x": 4, "y": 4 }, "recipes": ["neural-key", "neural-unmix"], "powerDraw": 240, "asset": "neural-keyer", "color": "#2a2a32", "flavor": "Trained on ten thousand synthetic ghosts, because reality could not teach it — you cannot film the answer. Perfect alpha through glass, chainmail and moving hair. You do not unlock this machine. You unlock the power plant it demands." }, { "id": "archaeology-lab", "name": "ARCHAEOLOGY LAB", "codex": "6:tech-tree", "kind": "lab", "footprint": { "x": 3, "y": 3 }, "recipes": [], "powerDraw": 6, "asset": "archaeology-lab", "color": "#5a5548", "accent": "#ffc24a", "flavor": "Where the factory reads its own strata. Feed it bottled artifacts and it derives the codec that made them: downward for analog secrets, upward for newer sins. The coffee predates the Reel Beds." }, { "id": "muxer", "name": "THE MUXER", "codex": "7:the-muxer", "kind": "crafter", "footprint": { "x": 5, "y": 5 }, "recipes": ["assemble-moov-brain", "mux-container"], "powerDraw": 40, "asset": "muxer", "color": "#6a7078", "flavor": "The rocket. A launch gantry embracing a container built of nested boxes, innermost a brain of index tape-reels. It ships the whole file at once, and the file is your entire shipping history, and there is no second launch." }, { "id": "shipper", "name": "SCREEN UPLINK", "codex": "7:the-muxer", "kind": "shipper", "footprint": { "x": 2, "y": 2 }, "recipes": [], "powerDraw": 5, "asset": "shipper", "color": "#46525e", "accent": "#ff5ad0", "flavor": "Composites whatever you hand it onto THE SCREEN. There is no undo. The absence of undo is the product." } ]