Live-lighting safety
What this package will not do for you on a live rig.
This software sends levels to equipment that can move, strobe, produce high intensity light, or drive relays. It is not a safety system. There is no emergency stop, interlock, redundancy, or functional-safety certification.
Before you connect fixtures
- Test on a closed network or with outputs physically inhibited.
- Confirm universe, priority, and one-based channel mapping against the patch.
- Set an explicit network
ifaceso traffic leaves the lighting NIC. - Keep venue e-stop and manufacturer interlocks independent of this process.
- Know the safe state for crash, host loss, network loss, and source loss.
Building a control path
- Authenticate and authorize every remote mutation.
- Bind HTTP to loopback or a trusted network; never expose it publicly without TLS, auth, and rate limits.
- Cap outputs, viewer listeners, and WebSocket clients for the installation.
- Watch send failures, timeouts, and dropped viewer updates. Repeated transport errors are a fault, not proof the last look reached the fixtures.
- Choose priorities so you do not unintentionally override a console.
Fades and shutdown
Software fades are linear interpolations on a host clock. Scheduler delay, transport failure, or process suspension can change timing. They are not a fixture safety feature.
close() stops this package's output and closes owned senders. Receivers decide
what happens next (hold last look, blackout, etc.). If you need a blackout or
stream-termination frame, send and confirm it before closing. Process exit
does not create a safe physical state by itself.
Await mutations and shutdown. An unawaited write may never leave the host.
Abort and timeouts
An AbortSignal cancels work still waiting in the source queue when possible.
It does not retract packets already transmitted. A transport timeout means
completion was not observed in time — some receivers may already have the
packet. The engine prevents overlapping sends per output; your app still has to
decide how to treat indeterminate outcomes.
If output is unsafe
- Use the venue emergency or inhibit procedure.
- Stop or isolate the transmitting source.
- Keep logs, telemetry, captures, package version, and the command sequence.
- Do not reconnect until cause and safe-state behavior are understood.
Report security issues privately through the core Security tab. Operational questions go to Support.