Some checks failed
repo hygiene / hygiene (push) Has been cancelled
PDF engine / engine (push) Has been cancelled
PDF engine / makepad-integration (push) Has been cancelled
PDF engine / fuzz (push) Has been cancelled
nigig-build (CAD) / supply-chain (push) Has been cancelled
nigig-build (CAD) / cad-module (push) Has been cancelled
nigig-build (CAD) / full-crate-check (push) Has been cancelled
nigig-build (CAD) / cad-engine-coverage (push) Has been cancelled
nigig-build (CAD) / doc-workspace-coverage (push) Has been cancelled
nigig-build (CAD) / cad-widget-coverage (push) Has been cancelled
traffic / gates (push) Has been cancelled
traffic / nigig-traffic (push) Has been cancelled
traffic / supply-chain (push) Has been cancelled
doc-engine / engine (push) Has been cancelled
doc-engine / coverage (push) Has been cancelled
doc-engine / consumer (push) Has been cancelled
email / gates (push) Has been cancelled
email / email-domain (push) Has been cancelled
email / nigig-email (push) Has been cancelled
email / supply-chain (push) Has been cancelled
nigig-map / test (push) Has been cancelled
sms / gates (push) Has been cancelled
sms / robius-sms (push) Has been cancelled
sms / android (push) Has been cancelled
sms / nigig-sms (push) Has been cancelled
sms / supply-chain (push) Has been cancelled
spreadsheet / engine-coverage (push) Has been cancelled
spreadsheet / ui-controller-coverage (push) Has been cancelled
p2p-intel / engine (push) Has been cancelled
p2p-intel / notifications (push) Has been cancelled
p2p-intel / coverage (push) Has been cancelled
p2p-intel / makepad-app (push) Has been cancelled
p2p-intel / exchange-tab (push) Has been cancelled
Payment domain, storage, platform and UI / isolated-payment-tests (push) Has been cancelled
Payment domain, storage, platform and UI / payment-ui-tests (push) Has been cancelled
Whole-tree sync: cad-core/cad-ui split sources, nigig-build construction_frame migration, pdf port progress, mpesa/pay/uikit/doc updates, workspace members/profiles/lock, CI workflows and reviews. See individual file history for details.
1 KiB
1 KiB
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/BayBoxstay 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.