Initial spike on the project (via Claude)

Add TODO.md and bring README up to date master

TODO.md captures the current state after the first playable browser match, grouped by playability issues, product/infra next steps, engineering debt, and still-open decisions. Each entry records what was already tried and ruled out so the next attempt does not repeat it - notably that trusting MegaMek's font directory did NOT fix the box glyphs, so that theory is dead. README changes: - The "zero patches" constraint was stale; there are now two, so it is reframed as minimal and upstreamable. Both are latent MegaMek bugs, not adaptations. - Documents patch 0002 (heavyweight java.awt.Label breaking PHASE_CHANGE) alongside 0001, with the reason each exists. - Adds a Findings section with the measured numbers the architecture rests on: ~730MB per match flat across heap cap and match size, one game per JVM and why, CPU not being the constraint, the 17.3s units.cache saving, and the 59MB jlink runtime. - Documents the harness/spike layout including the spike package, which was missing entirely. - Notes that harness/run.sh defaults to the stock jar. Also drops a stale comment in run.sh referring to the removed multi-tenancy patch, and untracks spike-webswing/fontconfig.properties - it is generated per-machine with absolute font paths and start.sh recreates it when absent. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>


+230 -72
5 changed files