GDD v1 (flow-locked hybrid movement, 5 biomes + secret, boss roster), TECH contracts (world API, level schema v0, bus events, manifest law), ART_BIBLE (synthetic scanner look), PIPELINE (MODELBEAST-first, fal gated), PROCESS (PROCITY lane/round law), charters A-F + ROUND1 instructions. Seed code: shell + boot + core (rng/bus/flags) + stub world (peristalsis shader tube, 1 draw / 102k tris, contract-complete) + qa.sh (GREEN). Verified in-browser; evidence docs/shots/laneF/round0_stub_tube.png. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
5.8 KiB
GUTS — Round 1 lane instructions (from Fable, integrator)
Date: 2026-07-16 · Repo state: F's round-0 scaffold is committed on main — docs complete
(README/PROCESS/GDD/TECH/ART_BIBLE/PIPELINE + charters), shell boots the stub world
(straight pulsing tube, flat shading) with a fly camera, tools/qa.sh GREEN. Everything
below builds against that scaffold. Read PROCESS.md §A-lane-session before starting.
Integrator decisions (settled — don't relitigate in-round)
- Movement is the flow-locked hybrid (GDD). Look is synthetic scanner (ART_BIBLE). Wireframe-only and full-flesh-realism are both rejected.
- The world contract in TECH.md is v1. Round 1 is its shakedown: A implements it, B consumes it (via stub first). Friction → NOTES immediately; F freezes it at round end.
- Level schema v0 in TECH.md is C's to ratify — C may amend it this round (it's young), but must update the stub's sample level + notify A/B via NOTES in the same session.
- No mesh generation this round (D). Textures + audio proof first; hero meshes need C's boss specs and concept sign-off (round 2). Exception: sf3d drafts to test the concept loop are fine (free, seconds).
- Vertical slice target = level 2 (esophagus), not level 1: the tube is the core tech risk and the esophagus is the purest tube. Mouth/arena tutorial comes after the spine works. Round 2 goal: fly the esophagus with 2 enemy types, HUD live, textured walls.
- Dev port 8140; evidence law and exact-path git staging are in force everywhere.
Lane A — the canal, v0
Build js/world/ per your charter, priority order:
- Spline + parallel-transport frames + arclength LUT from level JSON (consume
js/levels/L2_esophagus.json; the stub's inline level shows the shape). Seeded, andworld.hash()+ selfcheck wired for qa. - Chunked tube geometry with (s,θ) UVs, streaming window, dispose-clean (cite renderer.info deltas in NOTES).
- Wall ShaderMaterial: biome tint + fresnel rim + fog (flat-tint fallback path — D's
textures may land mid-round; integrate via
assets.getif present). - Peristalsis vertex displacement +
world.flowPulse(s,t)JS mirror. ?fly=1noclip camera. Screenshot set: esophagus straights, curves, a wave crest. Stretch: stomach arena icosphere v0. Don't touch: player, HUD, levels' content values.
Lane B — flight + first blood, on the stub
Work entirely against ?stub=1 (contract-identical); swap to A's world late in the round
if it's landed, but don't block on A.
createPlayer: tube-mode controller (s,x,y), mouse+WASD+gamepad, banking chase cam, boost + i-frames, wall-graze damage + shove. Feel numbers documented in NOTES.- Weapons: lysozyme cannon (pooled, instanced, heat) + hit tests vs sphere targets.
- Enemy framework + 3 archetypes (floater/seeker/turret) as emissive primitives, spawned
from
level:event(the stub level includes sample spawns; C's L2 JSON is your real feed). - Damage/coat model + all bus emissions per TECH §Bus (E builds against these — emit faithfully even with no listener). Evidence: capture or screenshot sequence + DBG numbers. Arena-mode controller = round 2.
Lane C — GDD ownership + the data spine
- Ratify/amend level schema v0 (TECH.md) — you own it from now; sync stub sample + NOTES.
js/levels/index.jsregistry + headless selfcheck (qa.sh already callsnode js/levels/index.js --selfcheck— make it real).L2_esophagus.jsoncomplete (the vertical-slice level): segments, flow, encounter curve with B's three archetypes, reflux-surge finale as ahazardevent, checkpoints, par time. Fly it on the stub; pacing notes in NOTES.- Draft
L1_mouth.json+L3_stomach.jsonskeletons (biomes/lengths/arenas only). - Boss specs (Pyloric Guardian, Tapeworm, Blockage) as one-pagers in your NOTES — phases/telegraphs/windows — so A can shape lairs and D can concept in round 2.
Lane D — pipeline online + first texture pack + audio proof
On the m3ultra box (clone the repo there; PIPELINE.md has the verified operator map):
- Port PROCITY's script shapes:
gen_textures.py(--dry-run/--local/--harvest),derive_maps.py,build_manifest.py,validate_manifest.py. - First pack: esophagus ×2, stomach ×2, small-intestine ×2 walls (grayscale, tiling,
ART_BIBLE prompts) + 1 wet-tissue matcap → normals → WebP → manifest. Contact sheet +
in-engine stub screenshots to
docs/shots/laneD/. js/core/assets.jsper the manifest contract (null-on-miss,?localassets=0).- Audio proof (small): port
gen_audio.pyshape; synthesize 1 esophagus bed (loop- clean) + 4 sfx (pellet, hit-squelch, boost, pickup). Spectrogram evidence. Full pack = round 2.
Lane E — instrument panel v0
- HUD overlay (DOM/canvas): coat/hull bars, heat, speed/flow, score — bus-driven only,
against B's emissions (they land this round; stub-emit fake events for dev via a
?fakebus=1helper you own). - Gut-map v1: draw the alimentary silhouette once (SVG path), show it as progress bar with player blip. This is the game's signature UI — spend the taste budget here.
- Title screen (over the stub drift) + pause + respect
?shots=1/?mute=1. js/audio/engine.js: bed crossfade + sfx pool + autoplay unlock + procedural fallback beeps (D's pack may land mid-round; handle both paths). Screenshots of every state todocs/shots/laneE/.
Lane F (Fable) — done in round 0, then on-call
Scaffold committed. During the round: answer contract questions in NOTES daily-ish; end of round: boot matrix, verify evidence, freeze world contract, write ROUND2.
Round-2 preview (so you can aim): textured esophagus slice playable start-to-finish —
A's world + B's flight/enemies + C's L2 + D's pack + E's HUD, integrated by F, tagged v0.2.