Rube Goldberg Machine 8-STAGE CAUSAL CHAIN

One continuous cause-and-effect run: trapdoor → zigzag ramps → dominoes → seesaw catapult → aerial catch → pulley gate → plinko board → finale button. Nothing advances on a timer — every stage is triggered by contact / position / momentum of the previous stage inside the physics loop. Drag the speed down to 0.1× or use Step while paused to inspect the handoffs frame by frame.

Ready — press Start  ·  t=0.00s
Keys: Space start/pause · R reset · . step frame · 1–5 speeds Chain: 0 / 8 complete

Chain — live status

    Causal event log (triggered by physics, not timers)

      How causality is enforced

      Each handoff is a checkTriggers() test on live bodies: ball→ramp contact, ball→domino impulse, domino-top→next-domino angle, domino→seesaw overlap, seesaw ω→ball release, ball→bucket containment, bucket y→gate opening, ball→peg bounce, ball→button pressure. No setTimeout / setInterval drives the chain — timers only render frames.