test: enforce simulation and render budgets
This commit is contained in:
+13
-2
@@ -47,8 +47,8 @@ art; every shipped dependency, route, font, and asset has recorded provenance.
|
||||
|
||||
## M1 — California roads and passive Model X traffic
|
||||
|
||||
Status: **implemented and rendered on desktop and mobile; performance-budget
|
||||
instrumentation remains**.
|
||||
Status: **implemented and rendered on desktop and mobile; repeatable California
|
||||
and office browser performance-budget instrumentation is implemented**.
|
||||
|
||||
- Coarse California board plus detailed Bay Area and SoCal boards.
|
||||
- Serializable US-101 and I-5/I-580/I-80 route graphs.
|
||||
@@ -137,6 +137,17 @@ validation, and no regression to ambient live ADS-B rendering.
|
||||
|
||||
## Performance gates
|
||||
|
||||
Run `npm run build && npm run performance`. The harness serves the production
|
||||
bundle locally, uses system Chrome (real GPU when available, SwiftShader as the
|
||||
headless fallback), warms each scene, and writes `/tmp/tera-performance-budget.json`.
|
||||
Budgets live in `scripts/performance-budgets.json`; a threshold, console error,
|
||||
insufficient sample, or anonymous private endpoint request makes the command
|
||||
non-zero. Use `--output`, `--budgets`, `--warmup-ms`, `--sample-ms`, or
|
||||
`--software` for explicit CI/diagnostic runs. The named matrix is California and
|
||||
Office at 1440×900 desktop and 390×844 mobile viewports. Frame comparisons allow
|
||||
only 0.1 ms for Chrome's rAF timestamp quantization; the declared and reported
|
||||
budgets are not raised.
|
||||
|
||||
- Named benchmark scenes: p95 frame at or below 16.7 ms desktop and 33.3 ms on
|
||||
the selected supported mobile tier.
|
||||
- Hard budgets per scale for resident cells, triangles, draw calls, dynamic
|
||||
|
||||
Reference in New Issue
Block a user