# ADR 003: No ECS, no SoA, no hand-written SIMD at this scale Status: accepted (Phases 6–8, grounded in docs/PERF_BASELINE.md). ## Context Measured tick cost is ~15–25µs median (debug) over ~40 entities against a 16,600µs frame budget. The costs are latency-shaped (lookups, one small allocation, branches over dozens of items), never compute-shaped. ## Decision - No ECS/archetype storage, no SoA migration, no SIMD intrinsics. - Optimizations stay at the lookup/allocation/branch level (index caches, squared compares, buffer discipline). - Reopen thresholds (any one reopens the question, with a fresh profile): simultaneous movers > 16 (spatial index first, SoA with it), tick p50 > 1,000µs sustained on target hardware, or entity counts > 1,000. ## Consequences - `LaneBox`/`BayBox` stay AoS; `nearest_hazard_*` stays a linear scan; each carries a comment naming the threshold that would change it. - Contributors proposing intrinsics or an ECS must attach a profile showing the current shape is insufficient.