Merge p10-w1-resolution-slider into dev (P10 W1: fix zoom slider stacking-context occlusion)

This commit is contained in:
daniel-c-harvey
2026-06-15 21:54:43 -04:00
4 changed files with 37 additions and 21 deletions
@@ -795,7 +795,12 @@ export function create(canvas: HTMLCanvasElement): MixVisualizerHandle {
setZoom(seconds: number): void {
// Clamp into the supported span so a stray value can't break the math.
visibleSeconds = Math.min(MAX_VISIBLE_SECONDS, Math.max(MIN_VISIBLE_SECONDS, seconds));
if (!playback.isPlaying) redrawOnce();
// While playing, the running rAF loop uploads uVisibleSeconds next frame; while idle the
// loop is stopped (spec §E), so a zoom change must force one still frame here or the new
// span is uploaded only on the next unrelated redraw (theme/datum/resize) — i.e. never.
const idleRedraw = !playback.isPlaying;
debugLog(`setZoom — requested ${seconds.toFixed(3)}s, clamped ${visibleSeconds.toFixed(3)}s; idleRedraw=${idleRedraw} (isPlaying=${playback.isPlaying}).`);
if (idleRedraw) redrawOnce();
},
refreshTheme(): void {