v0.1.0 · now on crates.io

The runtime that shows its work.

DINAH is a Rust-first, zero-dependency foundation for deterministic applications — runtime, memory, compute, ECS, simulation, networking and storage, built with contracts, tested boundaries and measured evidence.

0 dependencies 0 unsafe blocks 293 tests MIT / Apache-2.0
dinah — bash
0
passing tests, incl. doc-tests
0
runtime dependencies
0
unsafe blocks in the crate
0%
line coverage enforced in CI
0
platforms benchmarked in CI
0
checklist points, 279 closed

Explicit by construction.

No hidden scheduler

Runtime workers are scoped and joined before any call returns. Nothing runs in the background because you imported a module.

Parallelism is opt-in

Sequential is the default path. Parallel iteration exists, is measured, and is documented as slower for light kernels.

Safety without escape hatches

The whole crate forbids unsafe code. The C ABI exposes only fixed-width scalar queries — no pointers, no buffers, no callbacks.

application your deterministic domain — games, simulators, engines simulation fixed-step clock · replay networking TCP · prediction · simulator ecs world · entities · storage compute sequential · parallel · pipelines storage journal · CRC-32 replay runtime scheduler · shared state memory bounded buffers · soa · fallible reservations core shared types & errors — the contract vocabulary application your deterministic domain simulation fixed-step clock · replay networking TCP · prediction · simulator ecs world · entities · storage compute sequential · parallel · pipelines storage journal · CRC-32 replay runtime scheduler · shared state memory bounded buffers · soa core types & errors

Measured, not promised.

Real medians from the CI benchmark runs, archived per commit with environment metadata. Microbenchmarks on specific machines — never marketing numbers.

SoA batch extension

ns per inserted row — naive push loop vs. validated batch, Linux x86-64

64 rows · naive6,109
64 rows · batch2,031
1,024 rows · naive2,495
1,024 rows · batch0.548

Batch validation checks the whole batch once instead of per row. Raw data: artifacts/benchmarks/memory-soa-batch-2026-10-11.txt

Deterministic scheduler

scheduler vs. persistent worker pool, relative — parity is the design goal

no-op lifecycle0.92×–1.07×
CPU-heavy steady state0.90×–1.11×

Per-call dispatch costs more than a persistent pool for no-op tasks — measured and documented instead of hidden. Lightweight parallel kernels stay sequential on purpose: 2 workers measured 4–10× slower than the scalar loop at 262k elements.

Simulation step

median ns per clock advance, five CI platforms

macOS ARM642,395
Linux ARM645,855
Linux x86-647,801
Windows x86-647,836
macOS x86-6410,488

Construction included; not the isolated steady-state tick cost. Seven suites total: runtime, memory, compute, ECS, simulation, networking, storage.

What DINAH is not.

Most readmes list features. This one also lists the missing ones — the same honest limits you will find in the documentation and the security review.

01

Not a physics or CFD engine

The simulation models are bounded educational starting points — explicit limits, no general-purpose claims.

02

No SIMD

SIMD candidates were researched and measured; none justified the complexity for a production kernel yet. Scalar stays the reference implementation.

03

Networking without a wire codec

Blocking TCP exists; framing, the v1 encoder/decoder, auth and TLS are designed and scheduled for v0.2.

04

ECS queries still pending

Individual component access and storage are solid; combined queries and safe parallel systems are the top v0.2 priority.

05

No fuzzing yet

Corruption and robustness suites use a deterministic adversarial corpus — an explicit first barrier, not coverage-guided fuzzing.

06

Pre-alpha, semver 0.x

The v0.1 API surface is frozen, but 0.x permits breaking changes. Adopt with that in mind.

Where this goes.

The v0.2 design is approved and recorded in the repository — priorities come from measured gaps in the frozen v0.1 contract, not from feature envy.

2026-10-19 · RELEASED

v0.1.0 — the honest foundation

Frozen public API, 287-point checklist closed (279 complete, 8 deferred by design), five-platform CI benchmarks, 90.9% line coverage enforced, published on crates.io.

NEXT · DESIGN APPROVED

v0.2 — close the real gaps

  • Networking wire format: v1 framing, encoder/decoder, structured versioned events over TCP
  • ECS component queries and safe parallel system execution, driven by validated access declarations
  • Storage transactions and concurrency control for the journal
  • Full TOML manifest parser and optional caller-owned lifecycle helpers