Go to file
jing d2ff670848 Add Help & Settings menu (H), default view-bob off
- src/ui/Menu.ts: overlay with HOW TO PLAY (controls, the five repairs,
  tips) and SETTINGS (master volume, mouse sensitivity, view bob, render
  quality); persists to localStorage, auto-opens on first visit, corner
  badge + H toggles it.
- View bob now defaults OFF (playtest: reads as screen rumble to
  non-Minecraft players); re-enable in settings.
- New hooks: PlayerController.setSensitivity, InputController.setSensitivity,
  AudioEngine.setMasterVolume (safe pre-init), quality -> pixelRatio in main.
- Pause overlay suppressed while the menu is open; closing re-locks pointer.

Verified: menu renders over splash, both tabs, quality rescales the
framebuffer 2->1, settings persist, zero console errors.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-13 22:08:01 +10:00
.claude TURNCRAFT: contracts, docs, and all five lane deliverables (pre-integration) 2026-07-13 20:50:56 +10:00
docs Concept-art pass: terraced records, spindle towers, warm lit room 2026-07-13 21:48:00 +10:00
src Add Help & Settings menu (H), default view-bob off 2026-07-13 22:08:01 +10:00
.gitignore TURNCRAFT: contracts, docs, and all five lane deliverables (pre-integration) 2026-07-13 20:50:56 +10:00
demo-audio.html TURNCRAFT: contracts, docs, and all five lane deliverables (pre-integration) 2026-07-13 20:50:56 +10:00
demo-engine.html TURNCRAFT: contracts, docs, and all five lane deliverables (pre-integration) 2026-07-13 20:50:56 +10:00
demo-machines.html TURNCRAFT: contracts, docs, and all five lane deliverables (pre-integration) 2026-07-13 20:50:56 +10:00
demo-player.html TURNCRAFT: contracts, docs, and all five lane deliverables (pre-integration) 2026-07-13 20:50:56 +10:00
demo-worldgen.html TURNCRAFT: contracts, docs, and all five lane deliverables (pre-integration) 2026-07-13 20:50:56 +10:00
index.html TURNCRAFT: contracts, docs, and all five lane deliverables (pre-integration) 2026-07-13 20:50:56 +10:00
package-lock.json TURNCRAFT: contracts, docs, and all five lane deliverables (pre-integration) 2026-07-13 20:50:56 +10:00
package.json TURNCRAFT: contracts, docs, and all five lane deliverables (pre-integration) 2026-07-13 20:50:56 +10:00
README.md TURNCRAFT: contracts, docs, and all five lane deliverables (pre-integration) 2026-07-13 20:50:56 +10:00
tsconfig.json TURNCRAFT: contracts, docs, and all five lane deliverables (pre-integration) 2026-07-13 20:50:56 +10:00

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.

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 voxel storage, greedy mesher, procedural texture atlas, renderer
B docs/briefs/LANE_B_PLAYER.md FPS controller, voxel collision, ride-the-record platform physics
C docs/briefs/LANE_C_WORLDGEN.md the whole booth, built parametrically in voxels
D docs/briefs/LANE_D_MACHINES.md spinning platters, tonearm, faders, break/place, the quest
E 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

npm i
npm run dev        # game shell at /, lane demos at /demo-<lane>.html
npm run build      # static bundle