Design Mandates

Four rules apply to every crate in this workspace, no exceptions:

Multiplayer-first

Network sync is baked into the ECS from day one, rather than being bolted on later. Multiplayer isn't a feature added after the fact — it shapes how state is structured from the start.

FFI-ready

Every crate exposes a strict #[repr(C)] FFI boundary to act as a cross-language "Middle Man." In practice: rlib + cdylib + staticlib crate types, and a real extern "C" surface with a C header, not just a Rust API that happens to be #[repr(C)]-annotated internally.

Zero hidden abstractions

If you need to understand the memory layout, you can read the code directly. No macro-generated indirection that obscures what's actually stored where.

Profile before optimize

Every performance claim cites a real, benchmarked [RELEASE] build number — not a theoretical estimate. See Benchmarks for the numbers behind any performance claim made elsewhere in this book.

Zero-to-minimal external dependencies

Every core crate, no exceptions. This project has turned down its own published dixscript crate as a core dependency over its transitive dependency count — the bar is real, not aspirational. When a crate needs a capability an external crate provides (a fast hash algorithm, a spin-based mutex for no_std), the default is to check whether it can be hand-rolled first, and to defer the decision with a named trigger condition when it can't be decided cleanly yet. mid-platform's own page is the clearest example of this in practice.