Per-LED wave physics · festival scale

Light that moves through real space, not across a screen.

Propagate simulates genuine wave propagation for every LED from its true 3D position — no textures, no sampling. Built for installations from a hundred thousand to a million points of light.

1M
LEDs targeted
100k+
Per single node
4
Wave types
3
Output protocols

The approach

Everyone else paints a picture, then reads colors off it.

Texture-first platforms — MADRIX, grandMA3, Depence, QLC+, Resolume — render a 2D or 3D frame and sample a color for each LED coordinate. Propagate never draws a frame. It expands a wave from an activator through physical space and asks each LED what it should be, based on how far the wavefront has travelled and where that LED sits in its envelope.

Render → sample

sample →

Pixels first, position second

A texture is generated, then LED positions look up whatever color happens to land under them. Spatial motion is an illusion of the source image — the fixtures never actually know where they are.

Propagate

Position first, color derived

A wave propagates from an activator at a real speed. Each LED resolves its own color from its 3D distance to the wavefront and its point in an ADSR envelope. The motion is physical, not painted.

How a wave becomes light

One activator event, resolved everywhere in parallel.

The engine is server-authoritative and distributed. A single trigger fans out to every worker node, and each node solves only the LEDs it owns — the workload is embarrassingly parallel by design.

01

Activator fires

A trigger point emits a wave with a type and an ADSR envelope shaping its rise and fall over time.

Sphere · Plane · Bidirectional · Instant
02

Event fans out

The Manager broadcasts the activator event to every worker node at once — no per-node render state to sync.

Manager → nodes
03

Each node solves its LEDs

A node computes wave influence only for its assigned subset, from real 3D distances via a spatial index.

Parallel.For · SoA
04

Frames stream out

Resolved per-LED color is pushed to fixtures over the wire, serpentine-mapped and universe-addressed.

Art-Net · sACN · DMX

Two parts, one system

A headless engine, and a 3D room to build in.

Engine

PropagateCore

The authoritative C# engine. It runs the wave simulation, owns every ID, and pushes lighting data to the physical rig. Nothing is applied client-side first — results always come back through the stream.

  • .NET 9 · ASP.NET Core orchestrator
  • Spatial indexing & wave simulation
  • Art-Net / sACN / DMX output
  • Worker nodes for horizontal scale

Editor

Propagate VE

A Unity / URP front-end where you place fixtures in 3D, manage sessions, and watch the simulation live. It draws the room — the engine decides the truth.

  • Spatial fixture placement
  • Strips & panels with snap gizmos
  • GPU-instanced live visualization
  • Session & universe management

The building blocks

A domain model built around space, waves, and time.

Dimensions

The 3D venues waves live and travel inside.

Sessions

Independent shows — several can run per cluster at once.

Controllers

The hardware endpoints that drive real fixtures.

Universes

Globally-unique DMX universes, allocated by the engine.

Strips & Panels

Addressable LED runs and matrices with serpentine mapping.

Activators

Trigger points that launch waves into the space.

ADSR Envelopes

Attack, decay, sustain, release — how each hit lives and dies.

Spatial Index

Range queries that make per-LED distance solving fast.

Serpentine Map

Physical wiring order, resolved server-side for consistency.

Speaks your rig's language

Standard protocols out. Standard hardware in.

Universe IDs are globally unique across the venue for correct multicast addressing, and every ID is assigned by the engine — never the client.

Art-Net unicast
sACN / E1.31 multicast
DMX512
ESP32 + WLED
WS2812B
HUB75 soon

See it in motion

Watch a wave cross ten thousand LEDs.

Walkthroughs and captured installs are on the way. This is where they'll live.

Get in touch

Planning something at festival scale?

Tell us about the rig — the fixture count, the protocols, the room. We'll show you what per-LED physics looks like on it.