diff --git a/.gitignore b/.gitignore index 889577c..138ca78 100644 --- a/.gitignore +++ b/.gitignore @@ -17,3 +17,6 @@ simulator/sample_media/**/*.m4a # Local-only candidate review galleries (re-buildable; not shipped content). simulator/static/review.html simulator/static/review_audio.html + +# Editor annotation/comment-thread metadata (not project content) +.threads/ diff --git a/docs/superpowers/specs/2026-06-26-audio-video-separated-controls-design.md b/docs/superpowers/specs/2026-06-26-audio-video-separated-controls-design.md index 6c0a456..6de6952 100644 --- a/docs/superpowers/specs/2026-06-26-audio-video-separated-controls-design.md +++ b/docs/superpowers/specs/2026-06-26-audio-video-separated-controls-design.md @@ -1,8 +1,18 @@ # Audio + Video — separated Visual & Audio controls — design -**Status:** proposed → in implementation (plan `docs/superpowers/plans/2026-06-26-audio-video-separated-controls.md`, session 0020) +**Status:** proposed → built (sessions 0020 build + 0021 revision) **Date:** 2026-06-26 -**Session:** 0020 (audio) +**Session:** 0020 (audio) · 0021 (live-UI revision) + +> **v1 build revision (session 0021, operator-driven):** the live **Audio** control +> ships as a simple **off / soundtrack** toggle (styled like the Dev Mode switch), +> and **Video** is the matching on/off toggle. **White-noise is deferred** with music +> (the orthogonal Visual × Audio model and the synthesized-pink-noise machinery +> remain in the codebase for when it's wanted). Two real-browser bugs were fixed in +> this revision: video-off now blanks GPU-composited layers (z-index + explicit layer +> hide), and the soundtrack now plays on Safari/iOS (audio elements unlocked +> synchronously inside the start gesture). Sections below describe the fuller +> off/soundtrack/white-noise design; v1 live = off/soundtrack. **Extends / reframes:** [`2026-06-26-networked-control-surface-design.md`](./2026-06-26-networked-control-surface-design.md) §3 (control inventory) and §5 (server contract) — its bundled **Content** selector is split into two orthogonal controls. Everything else in that spec (server-of-truth diff --git a/docs/superpowers/specs/2026-06-26-networked-control-surface-design.md b/docs/superpowers/specs/2026-06-26-networked-control-surface-design.md index a3e2fea..be8568b 100644 --- a/docs/superpowers/specs/2026-06-26-networked-control-surface-design.md +++ b/docs/superpowers/specs/2026-06-26-networked-control-surface-design.md @@ -75,7 +75,7 @@ inventory is exactly what the sim exposes today: | Control | Sim today | Physical form (later) | |---|---|---| | **Visual** | toggle (show video on/off) | 2-position switch | -| **Audio** | 3-way ` show video - - -
- Audio - + Output + +
diff --git a/simulator/static/style.css b/simulator/static/style.css index e615760..9fd6f8a 100644 --- a/simulator/static/style.css +++ b/simulator/static/style.css @@ -40,8 +40,15 @@ main { display: flex; gap: 1rem; padding: 1rem; flex-wrap: wrap; align-items: fl .hud-chip-text.measure { fill: #ffd79a; } .hud-conf { fill: #6cf; opacity: 0.8; } .hud-status { fill: #8fdcff; font: 2.4px monospace; opacity: 0.9; letter-spacing: 0.15px; } -.black { position: absolute; inset: 0; background: #000; opacity: 1; transition: opacity 200ms ease; } +/* z-index + own compositing layer: the