feat: parking-lot note + wake-lock tray tools

Add the last two design-§5 tray tools:
- <parking-lot>: one-tap capture of a thread to return to, stamped with
  the session time, persisted per-scenario (parkingLot store key), 📝 chip.
- src/core/wake-lock.js: injectable Screen Wake Lock controller (keeps the
  tablet awake, re-acquires on foreground, graceful no-op where the API is
  absent). Toggled by a 💡 rail chip that lights when active.

Tests: parking-lot.test.js, wake-lock.test.js, gm-shell-parking.test.js,
gm-shell-wake.test.js. 179 tests pass; build clean.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
slaguru666
2026-07-20 23:15:14 +01:00
co-authored by Claude Opus 4.8
parent 73a7ea72ad
commit 6d529c9799
11 changed files with 398 additions and 5 deletions
@@ -79,6 +79,12 @@ jsdom. No new dependencies. Fully offline.
persistence (`break` store key); the rail shows a ☕ on-break badge; `fmtCountdown` (M:SS) added to
`format.js`. Tests: `break-timer.test.js`, `gm-shell-break.test.js` (incl. the drift-honesty case).
- **Parking-lot note + wake-lock built.** `<parking-lot>` captures timestamped threads (session-time
stamp, persisted under `parkingLot`, 📝 chip). `src/core/wake-lock.js` is an injectable Screen Wake
Lock controller (re-acquires on foreground, graceful no-op where unsupported), toggled by a 💡 rail
chip that lights when active. Tests: `parking-lot.test.js`, `wake-lock.test.js`, `gm-shell-parking.test.js`,
`gm-shell-wake.test.js`. This completes every design §5 tray tool.
## Still deferred (backlog)
- Parking-lot note + wake-lock tray tools; online art "Generate".
- Online art "Generate"; markdown → scenario-data generator; native iPad wrapper.