perf(web): reuse temporal labels and layout formatting

Format bucket labels once per bucket, cache repeated x-axis layout formatting within a definition, scan alpha bounds only for spectrum charts, and measure legend bounds once per publication.

Checkpoint after dense renderer: file readiness 448.8 -> 429.8 ms and heap 19.0 -> 18.8 MiB. Dashboard all-chart timing varied 2817.0 -> 2860.7 ms, so this checkpoint does not establish a dashboard latency improvement. Exact labels and series values are preserved.

Checkpoint measurements above predate the final QA lifecycle/coverage fixes and are not isolated shipping effects. Combined shipping benchmark: 477.2/2934.3 ms default visible/all charts, 114 ms observed initial TBT, 18.2 MiB retained heap and 191.1 KiB gzip JS. Original baseline: 509.1/3258.9 ms, 130 ms, 18.3 MiB, 228.1 KiB. Layer 3: 569.3/4271.3 ms, 159 ms, 29.9 MiB, 202.4 KiB. Baseline dates, five API runs, three fresh contexts per page and one warmup; no concurrent QA/build/dev work. Shipping artifacts: /tmp/atlantis-frontend-overhaul/perf/layer4-shipping/results.json. Full gates pass with 220 web and 70 e2e tests.
45c3708200flamboh committed on 10/6/2026, 7:02:36 PMparentcc6b52f
3 files changedLine totals unavailable