Lux is a real-time, node-based visual programming environment for creative coding, installations, live performance, and generative art.
Vision
We’re building the tool we always wanted — a visual programming environment that combines the creative power of TouchDesigner and vvvv with modern technology: Rust for predictable performance, wgpu for cross-platform GPU rendering, and a Spread-first architecture that makes working with collections of data natural and fast.
Technology
Lux is built on a modern stack designed for real-time performance:
- Rust — No garbage collector, no runtime pauses. Predictable frame times, every frame.
- wgpu — GPU rendering via Vulkan, Metal, and DirectX 12. The same API everywhere.
- Vello — GPU-accelerated 2D vector graphics for crisp, resolution-independent output.
- WASM Plugins — Extend Lux with custom nodes written in Rust, C, Zig, or any language that compiles to WebAssembly.
Core Concepts
- Nodes — Everything is a node. Generators create data, filters transform it, outputs render it.
- Spreads — First-class collections that flow through every node. Feed 1000 positions to a Circle node and get 1000 circles. No loops required.
- Real-time evaluation — The node graph evaluates every frame. Change a parameter and see the result immediately.
- GPU pipeline — Rendering stays on the GPU. Textures, shaders, and compositing run at native speed.
Status
Lux is in active development. Follow along on the blog for updates.