nigig-org/crates/apps/nigig-traffic/docs/ADR/003-no-ecs-no-simd.md
andodeki ac8f8aa002
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
chore: sync full working tree to gitdab
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.
2026-09-12 07:15:24 +03:00

25 lines
1 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# ADR 003: No ECS, no SoA, no hand-written SIMD at this scale
Status: accepted (Phases 68, grounded in docs/PERF_BASELINE.md).
## Context
Measured tick cost is ~1525µ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.