Problem
deckgl-layer-toggles > .toggle-header is the single worst desktop INP target by p75: 11,744ms (n=7) in the 2026-07-09 Sentry device split — two orders of magnitude past the next offender. Small n, but 7 near-12s interactions is a real defect, not noise. Surfaced during the #4537 refresh; currently unowned.
Where
The layer-toggles panel collapse/expand header — src/components/DeckGLMap.ts (and GlobeMap.ts mirror). Hypothesis to test FIRST: the expand/collapse triggers a synchronous deck.gl layer rebuild or a full updateLayers() commit in the click frame (cf. closed #4558 which chunked updateLayers with yieldToMain — this path may bypass that).
Diagnose first
node scripts/measure-dashboard-render-axis.mjs "https://www.worldmonitor.app/dashboard" --interact "selector:.deckgl-layer-toggles .toggle-header" --cpu-throttle 4 --json at DESKTOP viewport (--width 1365 --height 768) — worst-event-scoped phases + symbolicated top events name the culprit (prod keeps function names).
Acceptance
Sentry desktop webvital:inp bad-event rate for this selector → ~0; DebugBear desktop inpSelector row p75 < 500ms. Part of #4537 Track D.
Problem
deckgl-layer-toggles > .toggle-headeris the single worst desktop INP target by p75: 11,744ms (n=7) in the 2026-07-09 Sentry device split — two orders of magnitude past the next offender. Small n, but 7 near-12s interactions is a real defect, not noise. Surfaced during the #4537 refresh; currently unowned.Where
The layer-toggles panel collapse/expand header —
src/components/DeckGLMap.ts(andGlobeMap.tsmirror). Hypothesis to test FIRST: the expand/collapse triggers a synchronous deck.gl layer rebuild or a fullupdateLayers()commit in the click frame (cf. closed #4558 which chunkedupdateLayerswith yieldToMain — this path may bypass that).Diagnose first
node scripts/measure-dashboard-render-axis.mjs "https://www.worldmonitor.app/dashboard" --interact "selector:.deckgl-layer-toggles .toggle-header" --cpu-throttle 4 --jsonat DESKTOP viewport (--width 1365 --height 768) — worst-event-scoped phases + symbolicated top events name the culprit (prod keeps function names).Acceptance
Sentry desktop
webvital:inpbad-event rate for this selector → ~0; DebugBear desktopinpSelectorrow p75 < 500ms. Part of #4537 Track D.