Volumetric LED Controller
Standalone 3D animation controller for Raspberry Pi 5. Renders white-light intensities at mapped XYZ coordinates and outputs DMX over Art-Net.
Status
| Phase | Title | Status |
|---|---|---|
| 1 | Core + simulation | ✅ Complete |
| 2 | Importers + Art-Net | ✅ Complete |
| 3–6 | Remaining phases | Pending |
Stack
- Node.js 20+ (plain JavaScript)
- Express + ws (HTTP + WebSocket API)
- node-evdev (global keyboard/Teensy input on Pi only)
- Jest (testing)
node:vmsandbox (generative script presets — opt-in, disabled by default)
Features
- Stateless volumetric effects: wave, gradient, noise, plasma, fire, particles
- Generative scripting: user-written JavaScript presets running in a sandboxed VM (e.g. Game of Life, cellular automata, particle swarm). Opt-in — disabled by default. Requires authentication to edit scripts.
- Flexible DMX channel mapping per emitter (R/G flip = swap slot numbers)
- Art-Net output (unicast/broadcast, multi-universe, brightness limits)
- Global keyboard/Teensy input via Linux
evdev - Browser UI with WebGL preview (Phase 3+)
Development
npm install
npm test # 69 tests, all passing
npm run simulate # Phase 1: renderer running, no Art-Net output
Requirements
See volumetric_led_controller_spec_v6.md and PLAN.md.
Description
Languages
JavaScript
100%