⚙️ Mid Engine — CI Dashboard

The Middle Man · Modular Anti-Engine · All crate test results in one place

Technical Mandates
🚫
No Exceptions
Everything fast and memory-safe. Panic = fatal, not recoverable.
📋
Zero-Copy
Minimize RAM-to-RAM movement. Ring buffer, SoA layout throughout.
🌐
Multiplayer-First
Net sync baked into ECS from day one, not bolted on later.
🔗
FFI-Ready
Every crate exposes a C API. rlib + cdylib + staticlib always.
Performance Targets
SystemFrequencyBudgetStatus
Network tick (mid-net) 128 Hz 7.8 ms / tick ⚠ Not started
Physics (mid-ecs) 60 Hz 16.6 ms / tick ⚠ Not started
Max entities (mid-ecs) 100k+ per core ⚠ Not started
Log hot path (mid-log) 0 µs zero frame impact ✓ Implemented
Math primitives (mid-math) SSE2 16-byte aligned Vec3/4/Quat ⚙ In progress
Crate Test Results
🪵
mid-log
Non-blocking tiered logger · SPSC ring buffer · zero frame impact
Loading…
Rust · Priority 1
📐
mid-math
Vec2/3/4 · Quat · Mat3/Mat4 · Lerp/Slerp · 16-byte SSE2 alignment · FFI-ready
Loading…
Rust · Priority 4
📡
mid-net
Reliable UDP · hand-rolled wire codec · 128 Hz tick
Loading…
Rust · In progress
🧩
mid-ecs
Hybrid ECS · Archetype Core + Sparse Shell · mid-collections::SparseSet built & tested
Loading…
Rust · In progress
🔗
mid-common
Shared types and traits · EntityId · TickId · NetworkSync
Not started
Priority 0
FFI Cross-Platform Coverage
🐧
Linux
libmid_*.so
cdylib — automatic
🍎
macOS
libmid_*.dylib
cdylib — automatic
🪟
Windows
mid_*.dll
cdylib — automatic
🤖
Android
libmid_*.so
cdylib + NDK
📱
iOS
libmid_*.a
staticlib only
How to Trigger Tests
Include one of these tokens in your commit message or PR title. workflow_dispatch from the Actions tab always works.
--mid-log --mid-math --mid-net --mid-ecs --mid-common --mid-all