Lanes A (engine), B (player), C (worldgen), D (machines/quest), E (audio/fx/ui) as landed, each with HANDOFF.md + update docs. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
42 lines
1.9 KiB
Markdown
42 lines
1.9 KiB
Markdown
# TURNCRAFT
|
|
|
|
*Honey I Shrunk the DJ.* A Minecraft-style voxel game where the entire world
|
|
is a vinyl DJ booth — two Technics-style 1200s, a 4-channel mixer, cable
|
|
canyons, a patch-bay dungeon, and circuit-board caves — and you're 7 mm tall,
|
|
riding the records.
|
|
|
|
- **Design**: [docs/DESIGN.md](docs/DESIGN.md)
|
|
- **Rules for parallel build lanes**: [docs/CONTRACTS.md](docs/CONTRACTS.md)
|
|
- **Integration (after lanes land)**: [docs/INTEGRATION.md](docs/INTEGRATION.md)
|
|
|
|
## Building it with parallel agent lanes
|
|
|
|
Five independent lanes, disjoint file ownership, shared contracts already
|
|
written in `src/core/` (read-only for all lanes).
|
|
|
|
| lane | brief | delivers |
|
|
|---|---|---|
|
|
| A | [docs/briefs/LANE_A_ENGINE.md](docs/briefs/LANE_A_ENGINE.md) | voxel storage, greedy mesher, procedural texture atlas, renderer |
|
|
| B | [docs/briefs/LANE_B_PLAYER.md](docs/briefs/LANE_B_PLAYER.md) | FPS controller, voxel collision, ride-the-record platform physics |
|
|
| C | [docs/briefs/LANE_C_WORLDGEN.md](docs/briefs/LANE_C_WORLDGEN.md) | the whole booth, built parametrically in voxels |
|
|
| D | [docs/briefs/LANE_D_MACHINES.md](docs/briefs/LANE_D_MACHINES.md) | spinning platters, tonearm, faders, break/place, the quest |
|
|
| E | [docs/briefs/LANE_E_AUDIO_FX.md](docs/briefs/LANE_E_AUDIO_FX.md) | synthesized house groove in stems, beat-reactive lights, HUD |
|
|
|
|
**Launch prompt for each lane** (separate session/agent each, all five at once):
|
|
|
|
> Read docs/CONTRACTS.md, docs/DESIGN.md, and docs/briefs/LANE_X_….md, then
|
|
> implement the lane exactly as briefed. Work only inside your owned paths.
|
|
> Verify with your demo page and the acceptance checklist, write your
|
|
> HANDOFF.md, and ensure `npm run typecheck` passes.
|
|
|
|
Recommended: `git init` first and give each lane its own branch or worktree;
|
|
ownership is disjoint so merges are trivial.
|
|
|
|
## Run
|
|
|
|
```bash
|
|
npm i
|
|
npm run dev # game shell at /, lane demos at /demo-<lane>.html
|
|
npm run build # static bundle
|
|
```
|