Full game
Goal
Combine all chapters into one shippable demo at /canvas.
Checklist
- Auto guest auth on load
- App-scoped token minted after auth, refreshed before expiry
- UDP connected and subscribed
- Mouse moves local dot; remote dots visible
- Click paints with color palette
- Paint hydrates on join and persists on reload
- Viewport scrolls at edges
- Collaborative push from multiple players
- Status panel: user, peers, net push, event log
Stack summary
| Layer | Technology |
|---|---|
| Tutorial shell | Vite + React + React Router |
| Rendering | Raw canvas 2D |
| Backend I/O | CrowdyJS → dev-tier APIs |
| Persistence | Game API voxels via UDP proxy |
Next steps
- Deploy the demo as a static site (see simple-web-demo README)
- Embed or link from this docs section
- Extend with chat (
sendTextPacket), larger palette, or zoom
Try it: Open full canvas demo · Run npm run demo:verify to validate all chapters