Rust is the only programmable layer
No scripting language. Designers describe behaviour, the agent writes Rust, and tunable values live in text files.
Cost A designer cannot script alone, and every behaviour change pays a compile.
The editor is a client, never the authority
It uses the same protocol as the agent. The dispatcher is one exhaustive match, so a command without a handler does not compile.
Cost Editor features wait for the protocol. No shortcuts for the GUI.
One thread owns the world
Every read and write goes through one command queue and applies at a frame boundary. The world is never shared behind a lock.
Cost No client gets an instant answer. Every query is at least a frame away.
Hot reload is recompile and restart
The engine snapshots its state, the game rebuilds, and the new process restores the snapshot.
Cost Slower than patching code in place, and components must survive a snapshot migration.
Sim code gives up conveniences
No standard hash maps, no system clock, no ad-hoc threads. Parallel work goes through one job system whose results do not depend on thread count.
Cost Ordinary Rust habits are compile errors in game code.
Approved images belong to two machines
Byte-exact comparisons run only on the pinned GPUs. Anywhere else they are a printed skip, not a failure.
Cost A contributor without that hardware cannot approve a new image.
Flaky tests are top-priority bugs
An agent will chase a phantom failure for hours, so a test that fails one run in fifty is treated as an outage.
Cost Time goes into the test bench that could go into features.
A game before a system
Every renderer feature has to appear in a game someone is building before it gets built.
Cost Networking, most of audio and ray tracing are deliberately absent.