Light supporting modules¶
The modules the light pipeline is assembled from, beside the effects, modifiers, layouts and drivers you pick. They are the containers you add them to, the Layer that composites effects, and the fixture profiles that say how a light's channels are wired. The classes underneath, which are no module, are in the MoonLight architecture.
Drivers

The container of driver modules, owning the shared buffer and the per-light output correction every driver applies before sending. Every driver under it reads its own slice of that buffer, as the drivers catalog shows.
on: Master power.relayPins: GPIOs switching the LED power supply, closed whileonand brightness is above 0.brightness: Global output brightness, multiplied with each driver'slocalBrightness.identify: Blink the lights for five seconds, so this device is found by looking.palette: What effects sample from: a built-in palette or a scripted.mlpone.paletteScript: The scripted palette's file, whichpalettepicks.motionHold: How long a powered-off rig keeps tracking before its heads go still, in seconds.multicore: Run the output stage on the second core.renderWait: How long core 0 waited for core 1 at the frame boundary.
Effects

The container holding every rendering layer, which Drivers composites into one output. Each layer renders independently into its own buffer, over the physical topology the shared Layouts describes.
FixtureProfiles

The named channel wirings drivers reference: which channel carries Red, Green, Blue, White, or a fixture role such as Pan and Tilt. Real fixtures ship read-only, the color orders, multi-channel pars and moving heads. Add your own alongside them. A driver saves its profile by name, so a rename sends it back to its default at the next boot.
profiles: The editable list of profile rows.
Layer

One rendering layer: a buffer, a mapping onto physical lights, and the effects that fill it. Effects write the buffer, modifiers reshape it, and Drivers composites the stack of layers into one output.
blendMode: How this layer combines with the layers below it.opacity: How strongly this layer shows, from invisible to full.
Layouts 💫

The container defining the installation's physical light topology. One Layouts describes the setup, and every layer in Effects renders into it. Children stitch into one flat physical address space, in registration order.
FixtureProfiles, details¶
16-bit channels¶
A fine role is the low byte of a 16-bit channel, the DMX convention. RGB 16-bit, GRB 16-bit and RGBW 16-bit ship built in. Effects stay 8-bit, and brightness and curve go to 16 bits on output. Pan and tilt widen by repeating their byte, and a master dimmer is held wide open.
Color balance¶
A batch whose white looks tinted gets a profile of its own with the strong die pulled down: green at 220 takes a green cast out. The gain applies after the curve, so 128 is half the light, and every driver on that profile follows.
Which profile a chip takes¶
| Chip | Profile |
|---|---|
| WS2812B, WS2813, WS2815 | GRB |
| SK6812 RGBW | GRBW |
| WS2814 | WRGB |
| WS2816 | GRB 16-bit |
| UCS8903 | RGB 16-bit |
| UCS8904 | RGBW 16-bit |
A WS2811 orders its colors as its maker wired it, so try RGB, then the other five orders. The TM1814 and TM1914 need a settings preamble that a profile cannot describe.
Layer, details¶
Trails and fades¶
Nothing clears the buffer between frames, so an effect that fades what is already there leaves a trail. A fade is a rate, so a trail is the same length at any frame rate. Several fading effects cost one pass.
The status line¶
The status shows the logical box the effects render into. A mirror modifier folds a 128 by 128 layout into a 64 by 64 box. A warning replaces it when the layer does not fit in memory.
Layouts, details¶
Order and universes¶
Disabling a layout removes its lights and the layouts after it shift down. Reordering by drag and drop shifts them too. Both move Art-Net universe assignments, so disable the driver to keep a mapping stable.
The status line¶
It reports the total light count and the physical bounding box. A dense grid's count equals its box volume, so a smaller count signals a sparse layout.