Skip to content

Lane F — Control plane + SPA (SW-F1..F7): config blocks, switcher domain + verbs, realtime topic, shared WS service, operator panel, shortcuts, macros/memories #119

Description

@aperim-agent

Parallel lane in multiview-config/control/events + web/.

  • SW-F1 M — Config blocks: switcher/media_library/media_players/macros (desired-state only; tagged unions; cycle checks) — ADR-M012
  • SW-F2 L — Control domain: CRUD + bare-verb actions (cut/auto/ftb/preview/program, tbar, DSK on-air/off-air/auto/tie, player transport, macro run) + plan/take classification + CorrKey outcomes — ADR-W021
  • SW-F3 M — Realtime: switcher topic; conflated transition.progress + audio.meter at publisher-side ~30 Hz; tally stays on the lossless tally.state lane; snapshot frames; both spec generators updated — ADR-RT008
  • SW-F4 M — SPA shared realtime connection service + operation-correlation + Idempotency-Key — ADR-W021
  • SW-F5 L — SPA switcher panel: /switcher lazy route, no-colour-alone bus rows, JPEG monitors first (WHEP upgrade lane), layout-editor model reuse, fast-check property tests — ADR-W021
  • SW-F6 M — Global keyboard-shortcut subsystem (number=PVW, Shift+number=PGM, CUT/AUTO; a11y-paired) — ADR-W021
  • SW-F7 M — Memories (salvo recall-scope masks, RT-16 shape) + macros (control-plane sequencer with wait steps; frame-boundary batch) + in-app docs — ADR-M012/W021

Design docs: production-switcher brief · media-playout brief · SW backlog · work-schedule SW stream — all delivered in PR #112. Implementation starts only after the design PR is reviewed/merged and the operator green-lights coding.

🤖 Generated with Claude Code

Metadata

Metadata

Assignees

No one assigned

    Labels

    claimed:claudeActively being worked by the Claude devices/display program — do not pick upenhancementNew feature or requestswitcherProduction switcher program — briefs + ADR-0054..0059 + SW backlog (PR #112)

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions