9b9f18d312ed9fcc5dcd4f73146b4083db42d1e0
Decided with Oliver 2026-08-12. Records why tennis is the friendly case (the sync unit is the shot, alternation already enforced by ball.lastHit, each client authoritative for its own contacts), what the codebase already brings (deterministic sim, fixed dt, beats.js ownership contract), the zero-dep WebSocket path (~120 lines of stdlib RFC6455 in server.py, friend-code rooms), the honest cost (reconnect-and-resume is the real work), and that step one is the GHOST MATCH over plain HTTP — half the netcode falls out of it as a byproduct. Plus the hook: score-is-the-body on both players, losing is zombification. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Languages
JavaScript
75.2%
Python
15.8%
HTML
7.3%
Shell
1.4%
Swift
0.2%