Architecture decision records
Every significant build-versus-reuse, layering and deviation decision, with context and consequences. Deviations from the original brief each point to one of these.
- ADR-0001: Build-versus-reuse decisions for the dependency stack: Status: Accepted, 2026-11-08
- ADR-0002: No MAX / max.gpu for rendering; GPU compute is WGSL: Status: Accepted, 2026-11-08
- ADR-0003: One C11 shim owning every callback; Mojo pulls events: Status: Accepted, 2026-11-08 (callback-in-Mojo question deferred to spike 4)
- ADR-0004: Building wgpu-native from source through CMake: Status: Accepted, 2026-11-08
- ADR-0005: Generating the Mojo bindings: Status: Accepted, 2026-11-08 (decided by spike 9; supersedes the "Proposed" version of the same day)
- ADR-0006: Start from scratch rather than fork stargine: Status: Accepted, 2026-11-08
- ADR-0007: Development host is a Linux container; Windows host is a file server: Status: Accepted, 2026-11-08
- ADR-0008: Job system scheduling in Mojo, threads and parking from the shim: Status: Accepted, 2026-11-08
- ADR-0009: Graphics layer shape (typed handles, error scopes for shader diagnostics): Status: accepted, 2026-11-08.
- ADR-0010: Renderer architecture (forward+, frame graph, shader assembly): Status: accepted, 2026-11-08.
- ADR-0011: Keep the Mojo archetype ECS (benchmarked against flecs): Status: accepted, 2026-11-08.
- ADR-0012: Phase 6 subsystems: physics, animation, audio and input: Status: accepted, 2026-11-09.
- ADR-0013: Tools and the application runtime (Phase 7): Status: accepted, 2026-11-09.
- ADR-0014: Sample game, benchmarks and the zero-allocation frame (Phase 8): Status: accepted, 2026-11-09.