feat(performance): add live monitoring layout presets (#1802)
* feat(nav): add grouped navigation with classic fallback Persist the navigation layout through typed settings, normalize the shared screen selection, and show a versioned migration notice. Preserve the existing Classic user-visible screens while the grouped redesign is delivered incrementally. * fix(settings): version navigation announcement state Use a monotonic numeric acknowledgement version across Rust settings, generated bindings, frontend state, and E2E fixtures so future announcements do not overwrite newer acknowledgement state. * feat(performance): add live monitoring layout presets Share the Usage chart panel between Classic Usage and the grouped Performance Screen. Add Compact, Monitor, Detailed, and Custom UI-local layouts with normalized panel visibility/order and active-panel unmounting.\n\nCover live-update fan-out, responsive rendering, persistence, and repeated-tick performance against the Classic Dashboard and Usage baselines. * fix(nav): preserve display selection during startup Gate layout-specific display normalization until settings have loaded so Classic selections are never overwritten by the grouped default. Serialize announcement metadata from Rust, prevent overlapping navigation mutations, and make Settings focus deterministic. * test(e2e): wait for loaded navigation state Expose the completed settings bootstrap state on the sidebar and wait for it before choosing a Classic or grouped fallback. This prevents E2E helpers from acting on the initial layout default. * fix(performance): preserve live layout signal integrity Keep sparkline gaps and GPU history/temperature aligned, serialize overlapping Custom layout writes, include detailed panels in readiness timing, and localize metric labels. * fix(performance): keep queued layout state across renders Do not resync the latest Custom layout ref from stale Store state while mutations are queued. The regression test now forces a rerender between overlapping writes.
S
shm committed
2be8186a546d6fec664b218c55defc45e1fa2367
Parent: 0464324
Committed by GitHub <noreply@github.com>
on 7/13/2026, 4:34:08 PM