aboutsummaryrefslogtreecommitdiffstats
path: root/docs/superpowers/specs/2026-10-17-obs-pill-design.md
diff options
context:
space:
mode:
Diffstat (limited to 'docs/superpowers/specs/2026-10-17-obs-pill-design.md')
-rw-r--r--docs/superpowers/specs/2026-10-17-obs-pill-design.md26
1 files changed, 14 insertions, 12 deletions
diff --git a/docs/superpowers/specs/2026-10-17-obs-pill-design.md b/docs/superpowers/specs/2026-10-17-obs-pill-design.md
index 3331bba..9a3e3f3 100644
--- a/docs/superpowers/specs/2026-10-17-obs-pill-design.md
+++ b/docs/superpowers/specs/2026-10-17-obs-pill-design.md
@@ -88,19 +88,22 @@ password change in OBS fixes it without a restart.
Right of the status pill, slides with the others, exists only while
`Obs.connected`.
-Left to right:
+**At rest**: a record dot, grey when idle, red while recording, dimmed while
+paused, followed by `mm:ss` (`h:mm:ss` past an hour) while recording. A
+click opens the panel.
-- **Record**: idle icon, or a red dot and `mm:ss` (`h:mm:ss` past an hour)
- while recording. Click toggles recording.
-- **Pause**: only while recording. Click toggles pause; the dot dims while
- paused.
-- **Scene**: current scene name. Click steps to the next, wheel steps
- previous (up) and next (down), wrapping. Hidden with fewer than two scenes.
-- **Webcam**: camera icon, struck while hidden. Click toggles. Absent when
- `camId` is -1.
+**Panel** (`win.panel === "obs"`), morphing the capsule as the status pill
+does for sound; Escape and an outside click close it like the others:
-The pill names its own panels (AGENTS.md): it opens none, so it never
-expands.
+- A status line: `Not recording`, `Recording 03:21` or `Paused 03:21`.
+- Buttons (`desktop/Button.qml`): Record/Stop, Pause/Resume (while
+ recording), Show/Hide webcam (absent when `camId` is -1).
+- The scene list in OBS's order, current one highlighted, click to switch.
+ A plain column; about ten scenes fit the island's 480px window.
+
+The pill names its own panel, `obs` (AGENTS.md). OBS quitting with the panel
+open clears `win.panel`, or the island would stay held open by a pill that
+no longer exists.
## Sliver
@@ -115,7 +118,6 @@ colour, is what says "recording". Not recording: the sliver is unchanged.
In `Logic.js`, covered by `test_logic.js`:
- `obsElapsed(ms)`: `0` -> `00:00`, `61000` -> `01:01`, `3661000` -> `1:01:01`
-- `obsStep(list, cur, d)`: next/previous scene with wrap, `cur` missing -> first
## Errors