One simulation, everywhere
The rules live in plain GDScript classes with no rendering and no clock. The game, the tests and headless balance runs all drive the same sim through one command chain at a fixed 60 Hz. A seed plus the command log replays any run exactly, and every build checks that headless, recorded and exported runs end on the same hash.







