simpleVIS
See your lighting programming, before the room

What it does
simpleVIS imports an MVR and renders the rig it describes, driven by whatever DMX you point at it. The import is the part that matters: an MVR carries fixture placement and patch, and the GDTF files inside carry the geometry tree, the DMX modes and the beam data. Reading both is what lets an unfamiliar fixture articulate correctly without anyone teaching the software what it is — pan turns whatever the file says pans.
Beams are raymarched through a haze volume rather than drawn as cones, so they read as light in air: they stop where they land, they stack where they cross, and a narrow spot looks different from a wash because the beam and field angles come from the fixture's own published photometry.
The desktop build owns the network and serial ports; the hosted build is the same application without them. That split is forced rather than chosen — Art-Net and sACN are UDP, and a browser has no way to receive UDP at all.
- MVR import with embedded GDTF: geometry tree, DMX modes, beam angles, colour mixing
- GeometryReference expansion, so pixel-mapped walls address one DMX slot per pixel
- Volumetric haze beams, instanced — the whole rig in one draw call
- sACN with priority arbitration, CID source identity and per-universe multicast joins
- Art-Net 4 with ArtPoll replies, so consoles list simpleVIS as a node
- CITP: peer discovery, levels over SDMX, and fixture patch from the desk over FPTC
- USB DMX input via an Enttec DMX USB Pro
- Two-source HTP/LTP merge with a 4-second timeout; a third source is refused and reported
- Built-in demo look, so the rig can be seen with nothing plugged in
Where it stands
Runs the full 119-fixture MA Demostage at 60–70 fps, and the Art-Net, sACN and CITP receive paths are all verified over real sockets. v0.2.0 adds CITP — peer discovery over PINF, levels over SDMX, and fixture patch from the desk over FPTC — and it has talked to a real peer, Capture 2026, which parses and connects correctly. But Capture identifies as a visualiser, so it is a DMX consumer like simpleVIS and sends neither levels nor patch: SDMX levels and FPTC patch from a real console remain unverified. No lighting console, and no DMX interface, has ever driven any of this — every packet so far came from a test that wrote it. MSEX and CAEX — thumbnails, and streaming the viewport back to the desk — are not implemented.
Watch it running
Nothing loads from YouTube until you press play.Watch it there instead