Overview
The open toolkit for modern lighting control.
The open toolkit for modern lighting control.
@helioslx/core is a TypeScript toolkit for sending and observing sACN
(E1.31) DMX over the network. It gives you validated 512-slot frames, sparse
channel writes, fades, optional persistence, and packet viewing.
It does not model fixtures, personalities, scenes, cues, or show control. Those belong in a higher layer that produces frames and channel maps.
Live lighting
Incorrect values, universes, priorities, or interface selection can move fixtures, trigger strobes, or black out a venue. Test on a closed network or with outputs inhibited first. Read Safety before connecting to a live rig.
Package layout
| Import | What it provides |
|---|---|
@helioslx/core | Sources, universes, viewers, memory stores, errors |
@helioslx/core/node | UDP send/receive, process shutdown handlers |
@helioslx/core/redis | Redis-backed output and viewer stores |
@helioslx/core/http | Unbound Elysia REST + viewer WebSocket routes |
@helioslx/core/testing | Fake clock, recording transport, fake receiver |
The root module is runtime-neutral. Install peer dependencies only for the subpaths you use. Node.js 22+ is the supported production network runtime.
Limits that matter
- Channels are one-based (
1..512); values are integers0..255 - Universes are
1..63999; priorities are0..200(default100) - A full frame is exactly 512 slots
- Awaiting a mutation means the write is scheduled and persisted — not that a fade has finished