Summary
A lot of the first-round DebugPanel work is already in place on master:
- LayeredBufferVisualizer.tsx caches canvas dimensions via ResizeObserver.
- DPR changes are handled outside the hot draw path.
- Spectrogram rendering reuses cached ImageData and lookup buffers.
- Hidden / idle draw and fetch cadences are already lower than the foreground path.
This issue should now focus on the measured remaining paint cost, not the older pre-hardening implementation.
Goal
Profile the current DebugPanel path and trim the remaining spectrogram / waveform paint overhead that still shows up with the panel open.
Actions
- Measure the current panel-open delta against panel-closed behavior.
- Skip spectrogram uploads when nothing new needs to be painted.
- Only redraw waveform / timeline layers when their inputs changed enough to matter.
- If profiling still justifies it, evaluate lower-resolution or off-main-thread rendering for the spectrogram.
Acceptance
- With DebugPanel open, the remaining paint cost is measurably lower than today.
- No new long-task or frame-jank regressions are introduced while reducing panel work.
- Any further optimization is driven by current profiling, not the older trace assumptions.
Summary
A lot of the first-round DebugPanel work is already in place on master:
This issue should now focus on the measured remaining paint cost, not the older pre-hardening implementation.
Goal
Profile the current DebugPanel path and trim the remaining spectrogram / waveform paint overhead that still shows up with the panel open.
Actions
Acceptance