diff --git a/docs/superpowers/specs/2026-06-30-playback-speed-slider-design.md b/docs/superpowers/specs/2026-06-30-playback-speed-slider-design.md new file mode 100644 index 0000000..5b87d50 --- /dev/null +++ b/docs/superpowers/specs/2026-06-30-playback-speed-slider-design.md @@ -0,0 +1,133 @@ +# Playback Speed slider (replaces "Reduce motion") — design + +**Date:** 2026-06-30 +**Status:** Approved (pending written-spec review) +**Scope:** Frontend only (`simulator/static/`). No engine, pipeline, or media changes. + +## Summary + +Add a continuous **Playback Speed** slider (−2× … 2×) that controls the resting +**altitude loop video** (`#vid-loop`) in real time as the user drags it. Below +`0×` the loop plays **in reverse**. The slider **replaces** the "Reduce motion" +toggle in the Output panel — but the reduced-motion *accessibility behavior* is +preserved, now derived silently from the OS `prefers-reduced-motion` setting +rather than a visible toggle. + +## What it affects (and what it does not) + +- **Affects:** the resting **altitude loop video** `#vid-loop` — the clip that + loops while parked at an altitude. The slider sets its play speed/direction. +- **Does NOT affect:** the **morph / transition video** `#vid`. That element is + scrub-driven — the altitude dial sets its `currentTime` directly — so a + playback rate has no meaning there. Speed control never touches it. + +## UI + +Replace the `reduce-motion` checkbox `