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>
57 lines
3.6 KiB
Markdown
57 lines
3.6 KiB
Markdown
# PROCESS — lanes, rounds, and how not to step on each other
|
|
|
|
This repo is built by parallel Claude sessions ("lanes"), each with a fixed territory,
|
|
coordinated in numbered rounds by an integrator (Fable, = Lane F). The workflow is inherited
|
|
from PROCITY, where it shipped a whole town in 12 rounds — follow it exactly.
|
|
|
|
## The cast
|
|
|
|
| lane | territory | charter |
|
|
|---|---|---|
|
|
| **A — World** | canal geometry, biome shaders, arenas | [LANE_A_WORLD.md](LANES/LANE_A_WORLD.md) |
|
|
| **B — Flight & Combat** | controls, collision response, weapons, enemies | [LANE_B_FLIGHT.md](LANES/LANE_B_FLIGHT.md) |
|
|
| **C — Levels & Encounters** | level data, encounter design, bosses, pacing | [LANE_C_LEVELS.md](LANES/LANE_C_LEVELS.md) |
|
|
| **D — Assets** | FLUX textures, GLB meshes, audio pack, manifest | [LANE_D_ASSETS.md](LANES/LANE_D_ASSETS.md) |
|
|
| **E — UI/HUD/Audio-engine** | HUD, menus, gut-map, WebAudio engine | [LANE_E_UIHUD.md](LANES/LANE_E_UIHUD.md) |
|
|
| **F — Integration** (Fable) | shell (`index.html`, `boot.js`), core/, contracts, QA, round instructions | [LANE_F_INTEGRATION.md](LANES/LANE_F_INTEGRATION.md) |
|
|
|
|
## A lane session, step by step
|
|
|
|
1. Read, in order: `README.md` → `docs/TECH.md` → your lane charter → the **current**
|
|
`docs/LANES/ROUND<N>_INSTRUCTIONS.md` (highest N not marked SUPERSEDED) → your own
|
|
`docs/LANES/LANE_<X>_NOTES.md` and any "→ Lane <X>" sections in the other lanes' NOTES.
|
|
2. `git pull` first. Check `git status`; if another lane's uncommitted work is present, touch
|
|
nothing of theirs.
|
|
3. Do the round's work **inside your territory only** (ownership map in TECH.md §Ownership).
|
|
If you need a change in someone else's file, write the request in your NOTES under a
|
|
`### → Lane <X>` heading (include exact code if you can — see PROCITY LANE_B_NOTES for the
|
|
house style: offer the wiring, let the owner paste it).
|
|
4. Evidence: screenshots into `docs/shots/lane<x>/` (use `?shots=1` for clean frames). For
|
|
audio: spectrogram sheet + numeric loop-seam check. Numbers you claim (draw calls, fps,
|
|
gen-times) must be **measured**, and say how you measured them.
|
|
5. Update `docs/LANES/LANE_<X>_NOTES.md` (what landed, measured results, contract offers,
|
|
open questions) and append a dated entry to `docs/progress/<x>-progress.md`.
|
|
6. `bash tools/qa.sh` — leave it green.
|
|
7. Commit **only your exact paths** (`git add <file> <file>` — never `git add .` / `-a`),
|
|
message `[lane X] <what>`, and **push**.
|
|
|
|
## Rounds
|
|
|
|
- F writes `ROUND<N>_INSTRUCTIONS.md` after reviewing all lanes' NOTES + progress + shots.
|
|
Old round files get a `⚠ SUPERSEDED` banner — never action a superseded round.
|
|
- Rounds are sized so a lane session finishes comfortably in one context window. If you're
|
|
running long: land what's solid, document the rest as "next round" in NOTES, push.
|
|
- Blocked on another lane? Build against the **stub** (`?stub=1`, `js/stub/world_stub.js`)
|
|
or the contract in TECH.md; never idle-wait, never implement the other lane's side.
|
|
- Integrator decisions in round instructions are **settled** — don't relitigate in-lane;
|
|
argue in NOTES for next round if you must.
|
|
|
|
## Git specifics
|
|
|
|
- Remote: `ssh://git@100.71.119.27:222/monster/guts.git`, single branch `main`.
|
|
- Lanes may share one working tree (PROCITY style) or run from separate clones — either way
|
|
the exact-path staging rule and pull-before-work rule are what keep it safe.
|
|
- Generated artifacts that are re-derivable (raw gen output, staging GLBs, WAV scratch) are
|
|
git-ignored; shipped assets (`web/assets/**` webp/ogg/m4a/glb) are committed. See
|
|
`.gitignore` + PIPELINE.md §Artifacts.
|