Decisions
The kit's architecture decision records. Each one says what was decided and why, so a later change knows what it is changing. The entries' pages link to the ones behind them.
| Record | Decision |
|---|---|
| ADR-0001 | Change the kit only where two genres or two apps show the need accepted |
| ADR-0002 | A genre's root entry has no DOM or Three.js accepted |
| ADR-0003 | Every genre runs on the runtime's fixed-step clock accepted |
| ADR-0004 | One press reaches one step accepted |
| ADR-0005 | A sample runs on a timer, a version, or both accepted |
| ADR-0006 | Identified pools give stable ids and reuse them accepted |
| ADR-0007 | The runtime keeps no snapshots of a run accepted |
| ADR-0008 | An event is a rare, meaningful fact accepted |
| ADR-0009 | Both apps show the same save, so a shared save package is earned accepted |
| ADR-0010 | A game is a DOM-free simulation and a browser presentation, stepped by one loop accepted |
| ADR-0011 | A step uses only exact arithmetic accepted |
| ADR-0012 | Co-op runs in delay-based lockstep over a host star accepted |
| ADR-0013 | Survivors co-op shares the run and gives each player a hero accepted |
| ADR-0014 | Sounds come from cue counters that the presentation reads accepted |
| ADR-0015 | Pixel-art sprites from sheets the app loads accepted |
| ADR-0016 | Publish the kit to npm as @arcadekit superseded by ADR-0018 |
| ADR-0017 | Effect at the edges, plain code inside accepted |
| ADR-0018 | The kit is one package with entries accepted |
| ADR-0019 | The kit owns co-op from the signalling worker to the client; the screens stay in the app accepted |
| ADR-0020 | A game is declared, one named block per part, and Layers host it accepted |