phase: 05_autohide_stage_controls
**Phase 05 final verification pass — all green.** - Verified implementation in tree: staged `.cap`/`.actions` hidden at rest with container+children `pointer-events: none` (`app.css`); `revealStageControls()` with 3 s idle timer, `pointermove`/`pointerdown` + wall-keypress wiring, `unstage()` timer/attribute cleanup (`watch.js`); `tests/e2e/test_stage_autofade.py` (5 tests) present; `test_keyboard_wall.py` rest-state assertion updated per task 01. - Gates: `uv run ruff check . && uv run ruff format --check .` — clean; `uv run pyright` — 0 errors; `uv run pytest` — **274 passed, 4 skipped** (realdisplay-gated), coverage **95%** (>90% ✓); `MIRROR_REALDISPLAY=1 uv run pytest -m realdisplay` — **3 passed, 1 skipped** (documented platform skip: no audio source on host). - Dedicated phase suite `uv run pytest tests/e2e/test_stage_autofade.py` — **5/5 in isolation**. - Criteria: idle opacity 0 + bottom-edge hit probe ✓; mouse reveal → 1 → idle fade → 0 ✓; keypress reveal + Exit visible/clickable/unstages ✓; grid rules byte-for-byte unchanged (CSS diff touches only the staged block; grid guard tests green) ✓; suite green, coverage >90% ✓; phases 01–04 suites all green (no regression) ✓. - Documentation: README.md reviewed in full — all commands, env vars (incl. `DEBUGPY_*`, 25 Mbit/s default), `--allow-cidr`, kiosk/share key tables, index-page and auto-hide descriptions match the code; the only stale "12 Mbit/s" default lives in locked PLAN.md §6, README is correct — no change made. AGENTS.md: all facts (gates, test names, starlette 1.10, e2e flags, ~95% coverage) current — verified, no changes needed. - Notable: no code changes were required this pass — the phase work was already complete and correct; nothing to fix. - Next pending phase: none — phase 05 is the last in `todo/`.
This commit is contained in:
@@ -169,6 +169,12 @@ in. On `/watch`:
|
||||
| `?` | Show / hide this list on screen. |
|
||||
| `Esc` | Close the key list, then leave the stage. |
|
||||
|
||||
A staged mirror's caption bar and control cluster are **hidden at rest**, so
|
||||
the shared video — a terminal's bottom line included — is never covered by
|
||||
them. A pointer move over the stage (a tap, for touch) or any key press
|
||||
while staged reveals them briefly; after ~3 s without activity they fade
|
||||
back, so a parked pointer or a one-time key press never pins them up.
|
||||
|
||||
A mirror's audio is only heard while it is on the stage: every mirror starts
|
||||
muted, unmuting one (the tile's audio button or `m`) mutes the others, and
|
||||
leaving the stage re-mutes it. Sound never starts without a click or a
|
||||
|
||||
Reference in New Issue
Block a user