Atlas · C++23 engine, compiled to WebAssembly
Atlas, in your browser
The engine's deterministic simulation kernel, the lab's million-cell world and the chess rules, compiled from the two repositories with em++. Start runs the three golden scenarios here and compares their hashes with the values recorded natively.
recorded: 0xAA82430DE2321AFF · 0x1514CC4B3F41D18E · 0xBAEC29542FFBAA76
about 420 KB of WebAssembly and an 8 KB mod · single-threaded
- Tick
- 0
- Cells
- –
- State hash
- –
- Step, this browser
- –
- Recorded native
- –
Paint colour_index (one command per cell)
Hover or tap the map to read a cell from the tables.
Benchmark repeats bench_simulation.cpp’s tick scenario (a fresh world, seed 11, two warm-up ticks), timing ticks in batches.
Two 320×320 lab worlds in this page, each with its own kernel, fed the same two synthetic set_color_index commands every tick. Their state hashes are compared after every tick, the check lockstep peers make. Inject gives peer B one extra command.
Not started
| Tick | Peer A | Peer B | Same |
|---|
- Tick
- 0
- Mod
- –
- World hash
- –
Perft: count every legal line to a depth
Positions and expected counts from sim/tests/test_perft.cpp. Shallow counts are timed over many runs, since this browser’s clock is coarse. Native reference: depth 3 from the start, 172 µs (macOS release, docs/PERFORMANCE.md, M22).