2.1 KiB
UX and Performance Budgets
These budgets apply to the release-candidate map-first flow for Belgium and the Belgian North Sea. They are regression limits, not claims about external provider availability.
Interactive budgets
| Interaction | Budget | Enforcement |
|---|---|---|
| persisted coverage resolution | 4 seconds | hook timing, visible warning and RC browser evidence |
| cached/persisted map selection analysis | 15 seconds | map timing and visible warning |
| initial map workspace readiness | 10 seconds on the release LAN | RC viewport evidence |
| local Ollama answer with persisted context | 90 seconds | RC-8 live journey timeout/evidence |
| bounded configured-YOLO fixture run | 120 seconds | RC-8 live journey timeout/evidence |
An on-demand official-source acquisition is intentionally excluded from the 15-second cached-selection budget. Its source-specific timeout, transfer and feature limits remain authoritative. The UI must keep showing a running state and a source-specific failure instead of presenting an acquisition as missing or complete.
Required states
The frontend distinguishes:
loading: project, Area and Dataset state is still being resolved;empty: loading completed and no matching persisted data exists;partial: the persisted coverage matrix contains incomplete regional data;error: the API or provider contract failed;ready: persisted data and metrics are available.
Definitive Ontbreekt/Niet beschikbaar wording is forbidden while the
workspace is loading. A completed coverage or selection request that exceeds
its budget must display the measured duration and budget warning.
Reproduction
npm --prefix frontend run test:unit
bash scripts/run_rc9_ux_audit.sh \
http://192.168.10.150:1202 \
artifacts/rc9-ux-audit
The browser audit runs at 390x844, 1366x768 and 2560x1080. It checks body
overflow, map width, keyboard tab behavior, skip-link focus, visible control
names, delayed bootstrap truthfulness and coverage-budget feedback. Its
screenshots and manifest.json are runtime evidence and remain outside Git.