BLOBBO/src
type-two 37a363cf13 feat(machine): domino chain — knock it here, it fires over there
createDominoChain: a run of real dynamic slabs standing in a row. Roll into
the first and physics topples the rest; when the LAST tile (red-striped so the
payoff end reads) tips past 45 degrees the chain emits its `emits` signal
exactly once. A domino run is a Rube-Goldberg wire: knock it here, something
fires over there. Passive physics like the see-saw, so no telegraph — the
visible topple IS the telegraph. race:respawn stands every tile back up.

Placed in Toaster Alley on the right shoulder: detour into the row and the
completed chain triggers a signal-only GREEN cannon volley (interval 0 = never
auto-fires) that paints you from across the course — a third, silliest way to
earn the gate's green (~10%, a top-up; mine and bubbles stay the main routes).

Verified deterministically with world.tick() (no more wall-clock waits in the
throttled tab): blob knocks tile 1 -> all 8 topple -> signal emitted once ->
both cannons hit (2 green splats, 9.9%) -> respawn re-arms all 8 upright.
tsc + build green.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-20 17:31:45 +10:00
..
assets harden asset runtime: guard the swap path, bound the boot, reconcile slots 2026-07-19 12:12:07 +10:00
audio feat(race): checkpoints — a fall costs time, not the run 2026-07-20 16:55:00 +10:00
blob feat(blob): honour surface tags — oil luge, water rinse, drag 2026-07-19 14:59:20 +10:00
course feat(machine): domino chain — knock it here, it fires over there 2026-07-20 17:31:45 +10:00
demo Merge fix-editor: demo DB isolation, mesh-less rejection, per-instance clones, storage-failure handling, private-browsing degrade, canonical slot import 2026-07-19 12:26:44 +10:00
editor Wire the Workshop: registry boot, course.tramp slot, editor in the production build 2026-07-19 12:32:23 +10:00
ghost feat(ui): course select on the title + per-course ghosts 2026-07-20 17:22:48 +10:00
machine feat(machine): domino chain — knock it here, it fires over there 2026-07-20 17:31:45 +10:00
paint harden asset runtime: guard the swap path, bound the boot, reconcile slots 2026-07-19 12:12:07 +10:00
ui feat(ui): course select on the title + per-course ghosts 2026-07-20 17:22:48 +10:00
contracts.ts M0 playable slice: lanes integrated, machine chain staged, hidden-tab hardening 2026-07-17 20:50:16 +10:00
game.ts feat(ui): course select on the title + per-course ghosts 2026-07-20 17:22:48 +10:00
main.ts Wire the Workshop: registry boot, course.tramp slot, editor in the production build 2026-07-19 12:32:23 +10:00
world.ts M0 playable slice: lanes integrated, machine chain staged, hidden-tab hardening 2026-07-17 20:50:16 +10:00