How This Works
This sequencer runs on Forerunner Protocol — decentralized real-time infrastructure. There's no server syncing your clicks. Instead:
- The
BeatModel holds the grid state and playback position — shared and deterministic across all clients
- When you click a cell, your
BeatView publishes a "toggle" event
- Every connected client's Model processes the same events in the same order
- The View reads from the Model each frame and updates the UI + triggers audio
The audio is synthesized locally via the Web Audio API — no samples loaded. The Model only syncs which cells are active and where the playhead is.