glytch/fktry/lanes/LANE-DATA.md
type-two 1a769e6cbd Baseline: GLYTCH prototype, FKTRY lore codex, scaffold + 5-lane orchestration docs
- index.html: WIMVEE GLYTCH match-the-glitch prototype (playable)
- docs/FKTRY_LORE.md: world bible / MODELBEAST asset codex
- fktry/: vite+three+TS scaffold, contracts, main loop, seed data
- fktry/MASTERPLAN.md + CONTRACTS.md + lanes/LANE-{SIM,RENDER,UI,SCREEN,DATA}.md:
  round protocol and Round 1 orders for parallel Opus 4.8 executors

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-17 15:51:12 +10:00

72 lines
4.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# LANE-DATA — content, recipes, balance, and canon-keeping
You are an Opus 4.8 executor on the DATA lane of FKTRY. Read `../MASTERPLAN.md` and
`../CONTRACTS.md` first. Your bible is `../../docs/FKTRY_LORE.md` — you are its
transcriber into machine-readable canon. When the codex and convenience disagree, the
codex wins; when the codex is silent, invent IN ITS VOICE and note what you invented.
**Mission:** every item, machine, recipe, tech, and commission as clean JSON, plus the
validator that keeps five parallel lanes from drowning in dangling ids. Content should
light up in-game with zero code changes from other lanes.
**Owned paths:** `data/**`, `src/sim/data-validate.test.ts` — EXCEPTION: this one test
file in sim's directory is yours; it validates data, not sim. Nothing else in
`src/sim/`.
**Never touch:** contracts, main.ts, other lanes' code. Schema changes are CONTRACT
REQUESTs.
**Standing rules (all rounds):**
- Ids: kebab-case matching codex names (`chroma-slurry`, `mosh-reactor`). `codex`
field points at the lore doc section (`"3:melt"` = §3, MELT entry).
- Balance philosophy: absurd flavor, honest math. Ratios should create real routing
pressure (byproducts you must deal with, not vent). Steal shamelessly from the
doc's real numbers (era efficiency multipliers, 4:2:0 = half the chroma, GOP
cadences).
- Never delete an id other lanes may reference mid-round — deprecate in NOTES first.
---
## CURRENT ORDERS — Round 1 (goal: milestone M1 "FLOW" + M2 prep)
The seed JSONs in `data/` are orchestrator placeholders — correct them, then grow:
1. **Validator first** (`src/sim/data-validate.test.ts`, vitest): every recipe's
machine + items exist; every machine's recipes exist and point back at it; every
tech unlock exists; commission wants exist; ids unique + kebab-case; colors valid
hex; footprints ≥1×1. This test is the lane's handshake — it must fail loudly on
any dangling reference.
2. **Items** → full §2 + §3 catalog: all raw resources, refined intermediates, frames,
the five science packs, and tier-2 products (melt, bloom-concentrate,
macroblock-bricks, ringing-halos, static-canister, moire-crystal, false-color-
speckle, judder-cams, explosive-hits, gamut paints ×3). Colors from codex vibes.
3. **Machines** → full §4 catalog (demosaicer, dct-press, subsampler, mv-extractor,
p-caster, gop-assembler, bloom-duplicator, field-loom, telecine-puller,
hex-splicer, software-decoder, buffer-tank...). Machines beyond M1's seven should
exist in data even though sim/render only generically support crafter/power kinds
— that's fine, they'll work as generic crafters until given bespoke mechanics.
4. **Recipes** → wire the economy: ore → luma/chroma/mv-flux (demux), luma → coeff
packs + hf-dust (quantize, generates bandwidth), mv-flux → delta-wafers, slab +
wafers → gop-crate, gop-crate → melt + reclaimed slab (mosh), coeff overdrive →
macroblock-bricks + double hf-dust, hf-dust → static-canister, science pack
assembly ×3 (analog/spatial/temporal). Include at least two genuinely absurd
ratios for comedy that still balance.
5. **Tech tree v1**`disc` and `stream` era nodes: unlock quantizer tiers, mosh
reactor, bloom duplicator, subsampler grades. Costs in science packs.
6. **Commissions** → 8-10 in full fax voice (§6 has three exemplars). Escalating
absurdity and quantity; at least one demanding a *live* hazard product you know
isn't shippable yet (mark it `"wants": {"mosquito-swarm": 3}` — forward canon;
the validator should allow items that exist in data even if no recipe makes them).
**Definition of done:** `npm test` green including your validator; dev server still
boots with expanded data (placeholders render for everything); every entry traceable
to a codex section. NOTES list what you invented beyond the codex.
---
## NOTES (append-only log, newest at bottom)
```
### Round N — YYYY-MM-DD — [your model]
SHIPPED: / DECISIONS: / INVENTED: / BLOCKED/BROKEN: / CONTRACT REQUEST: / NEXT:
```