Before anything playable, the ground had to be fast: chunks, meshing, light and a valley that grows from a seed.

Wave 0 built the voxel core: 32-block chunks, meshing and lighting on worker threads, streaming with far terrain, and a deterministic river-valley generator, so the same seed gives the same world everywhere. Every gate passed on the build machine in the browser.

The gates were set before any code was written: 60 frames a second at a 12-chunk view in Edge on the build machine, any chunk meshed in under 4 ms on a worker thread, and a new area playable within 2 seconds. The valley ran at 240 frames a second, the display's cap, and the slowest frames of a fly-through (the 99th percentile) took 4.3 ms. Meshing a chunk on a worker took a median of 1.6 ms, 2.7 ms at the 95th percentile and 4.0 ms at worst, and 1.7, 2.9 and 4.0 ms with the detail layer on. A teleport was playable in 111 to 130 ms with the full view in 1.8 seconds, and an edit was remeshed in 2 to 5 ms. Edits survived a chunk being unloaded and loaded again. The voxel world runs as its own world kind beside our city engine, whose 16 golden images all still matched, and 312 unit tests passed.
Nothing was playable yet; this wave was the ground only. The renderer used 0.24 to 0.51 GB and the chunk store 41 to 48 MB, nearly twice the 25 MB the next wave set as its target.
This work is in every build since, including the one live on our demo host today (live rebuild 26, 17 October 2026).
Every wave closes with a play test on the build machine in the browser, at a 12-chunk view: frame rate, faults, world memory, and a scripted story test that plays the new loop end to end and reloads the world to check it came back exactly. What did not pass is written down and carried into the next wave.