Go to file
jing 05c2765bd8 SOCIAL_RESET: avatars, emotes, the reset ritual, who's-here roster
Built by the Opus session per docs/briefs/SOCIAL_RESET.md; integrated and
verified by Fable (typecheck clean, relay validation reviewed, 3D avatar
gear/face pixel-confirmed live — the one item the build session couldn't
capture in its frozen preview pane).

- Avatars: hue/gear/face enums in src/net/avatarLook.ts shared by the 3D
  build and the Menu AVATAR tab's 2D mirror; live sync with client-side
  coalescing (two-tab testing caught the relay rate limit permanently
  desyncing rapid editors - trailing send fixes convergence).
- Emotes Z/X/C/V: wave, beat-synced nod, point, rate-limited airhorn
  (detuned saws + confetti), server + client caps.
- Reset ritual: after a win the fuse takes a deliberate 5s hold (reuses
  the workshop radial meter as the warning dial) -> server-authoritative
  reset with 10-min cooldown; music brakes to silence, lights die over 3s,
  workshop resets to wires-off with a SERVER-generated random weight notch
  (both tabs land identical), player builds survive, quest replayable.
- Roster: hold Tab for who's-in-the-booth with hue swatches.
- interact/ addition (flagged friction): additive setBreakGuard hook so
  interaction.ts never learns what a fuse is.
- launch.json: main dev config uses autoPort (5173 collisions with
  parallel sessions).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-17 02:01:42 +10:00
.claude SOCIAL_RESET: avatars, emotes, the reset ritual, who's-here roster 2026-07-17 02:01:42 +10:00
deploy Deploy: record the real partly.party procedure (shipped 2026-07-13) 2026-07-13 23:30:54 +10:00
docs SOCIAL_RESET: avatars, emotes, the reset ritual, who's-here roster 2026-07-17 02:01:42 +10:00
server SOCIAL_RESET: avatars, emotes, the reset ritual, who's-here roster 2026-07-17 02:01:42 +10:00
src SOCIAL_RESET: avatars, emotes, the reset ritual, who's-here roster 2026-07-17 02:01:42 +10:00
.gitignore Multiplayer: shared-booth relay + client sync + avatars 2026-07-13 23:06:49 +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 Multiplayer: shared-booth relay + client sync + avatars 2026-07-13 23:06:49 +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