Timers: present each timer and LTC in the Add-tile picker

Adopt main's new multi-tile contract: the module's server exports
tiles() (answered from the poller's held state, never a fresh upstream
request) listing All timers, one entry per discovered timer, and LTC
timecode. The client branches on moduleApi.variant — solo tiles render
exactly one card with no selection menu, and a solo timer that vanishes
from ProPresenter shows a labeled "Not in ProPresenter" card instead of
erroring (visible even in the compact layout). pp-timers-mock gains
--drop=<uuid,...> to simulate a timer deleted in ProPresenter.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Waters Church
2026-08-31 14:34:59 -04:00
co-authored by Claude Fable 5
parent a8a382c171
commit 12245cba93
5 changed files with 90 additions and 8 deletions
+5 -3
View File
@@ -88,9 +88,11 @@ are written by the app itself.
driven by the shared `propresenter-core` client (ProPresenter 7/20).
Admin config: host, port, password.
- **Timers** — live ProPresenter timers (countdown, countdown-to-time,
elapsed) and LTC timecode as auto-sized cards; each tile picks which to
show via its "Timers ▾" menu, overruns are unmistakably red. Read-only —
no start/stop controls. Admin config: host, port, password.
elapsed) and LTC timecode as auto-sized cards. The + picker lists every
discovered timer (and the LTC card) as its own tile, or add "All timers"
and pick a selection via the tile's "Timers ▾" menu; overruns are
unmistakably red. Read-only — no start/stop controls. Admin config: host,
port, password.
- **Clock** — a big booth clock; also the smallest possible module and the
reference for module authors.