Files
Brennan BensonandClaude Opus 5.5 956af75404 perf: window agent dashboard cards (#41372)
* perf(dashboard): window agent board lanes instead of mounting every card

Each dashboard lane now renders its cards through a measured per-lane
virtualizer in the existing scroller, so opening a board with thousands of
cards mounts only the viewport, overscan and a constant set of pinned cards
(lane first/last, last focused, dialog opener, pending Tab target).

Search, filters, grouping, counts, dialog routing and acknowledgments still
run on the full card arrays. Subagent disclosure moves to lane-owned state so
it survives scrolling away and resets when the card leaves the lane, as the
old unmount did. Tab and Shift+Tab bridge to the logical neighbour card when
native order would skip to a distant pinned card.

The workspace board's single-index range extractor is generalized into a
shared pinned-index extractor with the same behavior for its caller.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* perf(dashboard): keep the lane card list compiler-compatible

Move the lane virtualizer into its own hook so the card list compiles, and
prune lane disclosure/focus keys during render instead of in an effect.
Give the dashboard destination integration test a lane viewport, since
cards now mount only inside the measured window.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* chore(dashboard): record isolated virtualizer compiler diagnostic

* perf(dashboard): preserve layout identity and retire departed measurements

* fix(dashboard): reveal the focused edge of tall cards

---------

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-11-13 19:33:03 -08:00
..