Go to file
type-two ae8a93c417 Lane H: ghost replay + title screen
Ghost (src/ghost/):
- format.ts: pure, headless-testable core — int16 (cm position / milli scale)
  quantization, base64 localStorage envelope (blobbo:ghost), linear sampling.
- recorder.ts: 15Hz fixed-step recorder, ~5min cap, saves quantized track on a
  new best (time <= best, matching game.ts's pre-emit best update).
- player.ts: translucent (~0.35) desaturated ghost + eyes, slight bob, replays
  in race time with interpolation; spawns on race:started, despawns on finish.
- install.ts: installGhost(world, blob) wiring both to the frozen race events.

Title (src/ui/title.ts): installTitle(world, {ready}) — CSS bubble-letter
BLOBBO wordmark with paint-drip accents, pitch, controls card, PLAY. Loading
blob-dot while a boot promise is pending. Emits ui:play exactly once inside the
user gesture (audio-unlock friendly), then fades and never returns. Shows saved
best time + "ghost ready".

Demo (demos/lane-h.html + src/demo/lane-h.ts): scripted 20s circle run — title
gates start, run 1 records, later runs replay the ghost on the same path.
Keys: G wipe ghost, R restart, P snapshot.

verify-drift.ts: numeric acceptance (esbuild+node) — max drift 0.0058m vs 0.5m
blob radius. Emits ui:play only; no edits outside owned paths.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-18 11:47:34 +10:00
.claude Foundation: vite+ts+three+rapier scaffold, frozen contracts, lane docs A-E 2026-07-17 19:55:43 +10:00
assets M0 playable slice: lanes integrated, machine chain staged, hidden-tab hardening 2026-07-17 20:50:16 +10:00
demos Lane H: ghost replay + title screen 2026-07-18 11:47:34 +10:00
docs GDD v0.1: full design doc, idea capture, MODELBEAST farm client + concept wave 1 2026-07-17 18:15:56 +10:00
lanes Lane docs F (audio), G (colour zones/puddles/MEGA-MINI), H (ghost/title) 2026-07-18 11:31:41 +10:00
src Lane H: ghost replay + title screen 2026-07-18 11:47:34 +10:00
tools M0 playable slice: lanes integrated, machine chain staged, hidden-tab hardening 2026-07-17 20:50:16 +10:00
.gitignore Untrack node_modules and dist (foundation commit slip) 2026-07-17 20:14:45 +10:00
deploy.sh Deploy to partly.party/blobbo: vite base + deploy.sh (games-doctrine pattern) 2026-07-17 21:32:00 +10:00
GDD.md GDD v0.1: full design doc, idea capture, MODELBEAST farm client + concept wave 1 2026-07-17 18:15:56 +10:00
index.html Foundation: vite+ts+three+rapier scaffold, frozen contracts, lane docs A-E 2026-07-17 19:55:43 +10:00
package-lock.json Foundation: vite+ts+three+rapier scaffold, frozen contracts, lane docs A-E 2026-07-17 19:55:43 +10:00
package.json Foundation: vite+ts+three+rapier scaffold, frozen contracts, lane docs A-E 2026-07-17 19:55:43 +10:00
README.md GDD v0.1: full design doc, idea capture, MODELBEAST farm client + concept wave 1 2026-07-17 18:15:56 +10:00
tsconfig.json Foundation: vite+ts+three+rapier scaffold, frozen contracts, lane docs A-E 2026-07-17 19:55:43 +10:00
vite.config.ts Deploy to partly.party/blobbo: vite base + deploy.sh (games-doctrine pattern) 2026-07-17 21:32:00 +10:00

BLOBBO

Fall Guys × Splatoon × Micro Machines: wobbly blob racers on giant Rube-Goldberg courses where the paint that lands on you is your loadout — relative % coverage per colour = your buffs, weight, and size.

  • GDD.md — the design document (v0.1, in review). Start here.
  • docs/IDEA.md — the original raw idea capture (2026-07-17).
  • tools/mb.py — MODELBEAST farm client (concept art / mesh gen on the local render farm). tools/concept-wave-1.json = first asset wave.
  • assets/concepts/ — generated concept art (review gate for the mesh wave).

Status: pre-production. GDD under review; next step is per-lane execution instructions (see GDD §11) once features are signed off.