From 539618b1b82980aa99b12f48b4c132cbd35cbc89 Mon Sep 17 00:00:00 2001 From: BenStullsBets Date: Tue, 30 Jun 2026 11:03:33 -0700 Subject: [PATCH] docs(spec): Playback Speed slider replaces Reduce motion toggle Continuous -2x..2x speed control for the resting altitude loop video (#vid-loop); manual rAF reverse loop below 0x; reduced-motion a11y behavior preserved invisibly via OS prefers-reduced-motion. Co-Authored-By: Claude Opus 4.8 (1M context) --- ...2026-06-30-playback-speed-slider-design.md | 133 ++++++++++++++++++ 1 file changed, 133 insertions(+) create mode 100644 docs/superpowers/specs/2026-06-30-playback-speed-slider-design.md 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 `