name: aflr-broadcast-controller
description: Operate and validate the aFLR 1280x720 broadcast viewbox using the manual WebSocket Control Board. Use when building/testing show flows, verifying docs/protocol.md message shapes, running studio/viewbox/controller UI modes, or preparing reproducible manual broadcast sequences before agent automation.
aFLR Broadcast Controller
Runbook
- Read
references/operations.mdfor startup, mode selection, and verification flow. - Read
references/protocol-message-cheatsheet.mdbefore sending custom envelopes. - Use
?ui=studiofor combined monitor + control,?ui=viewboxfor clean capture, and?ui=controllerfor a dedicated operator panel. - Prefer Control Board actions and presets over ad-hoc raw JSON.
- Use raw JSON only for contract edge cases and always keep envelope shape:
type: stringtimestamp: number(ms since epoch)data: object
- Keep file paths protocol-safe by sending filenames only (no
/, no..).
Required Checks
- Start relay and app per
references/operations.md. - Confirm connection state is
connectedon the Control Board. - Run one complete sequence:
- Open preset
- Full story update + audio
- Marquee update
- Emergency alert + hide
- Verify visual constraints:
- Stage remains exactly 1280x720
- Layer4 containers stay in spec coordinates
- Layer5 overlay appears/disappears predictably
- Run
npm run verifybefore considering the workflow complete.
Failure Handling
- If disconnected, continue issuing commands only if queueing is intended; monitor outbound queue depth.
- If queue grows unexpectedly, request state after reconnect and re-issue only the latest intended scene.
- If media is missing, place assets under
public/media/**using the documented layer mapping. - If protocol behavior is unclear, check
docs/protocol.mdand mirror exact payload names/casing.