DOKUMENTATION · VERSION 0.1.0

Vom Eingang zum
Program-Output.

Installation, Performance-Workflow und technische Referenz für die erste Public Alpha. Alle hier beschriebenen Funktionen sind im aktuellen Build implementiert.

Stand 16. August 2026Public AlphaDeutsch
01 SCHNELLSTART

In drei Schritten
zum ersten Bild.

Voraussetzungen: macOS-Intel für das beiliegende Binary, eine Metal-fähige GPU sowie FFmpeg und FFprobe 9 oder neuer im PATH. ARM, Windows und Linux lassen sich aktuell aus dem Quellcode bauen beziehungsweise über die Release-CI erzeugen.
1

Archiv entpacken

Das Binary lumen-engine und der Ordner ui müssen nebeneinander bleiben.

2

Engine starten

lumen-engine ausführen. Das native Program-Fenster ist der eigentliche Videoausgang.

3

Steuerung öffnen

Im Browser http://127.0.0.1:3030 öffnen, einen Generator wählen und Audio freigeben.

tar -xzf lumen-0.1.0-macos-x64.tar.gz
cd lumen-0.1.0-macos-x64
./lumen-engine

# Steueroberfläche:
# http://127.0.0.1:3030

Beim ersten Start erzeugt Lumen ein versioniertes Projekt im lokalen Anwendungsdaten-Ordner. Änderungen werden debounced und atomar gespeichert; nach einem Neustart werden Layer, Media Pool und manuelle Show wiederhergestellt.

02 GRUNDIDEE

Die Show läuft
nicht im Browser.

Lumen teilt das System bewusst in zwei Fehlerdomänen. Die native Rust-Engine besitzt GPU, Decoder, Transport, Audioanalyse, Projektzustand und Program-Output. Die Svelte-Oberfläche sendet Steuerdaten über ein versioniertes WebSocket-Protokoll und zeigt eine Vorschau derselben Offscreen-GPU-Textur.

Ein Browser-Reload, ein getrenntes WebSocket oder eine geschlossene Steueroberfläche stoppt deshalb nicht den Renderer. Das HTTP-/WebSocket-Interface bindet standardmäßig ausschließlich an Loopback.

Lumen Steueroberfläche mit acht Layern und Performance-Matrix
Performance-Steuerfläche aus der Alpha-Entwicklung. Die Steuerung ist austauschbar; die Engine bleibt autoritativ.
03 PERFORM

Die Oberfläche
für den Live-Moment.

Layer Stack

Acht Layer werden von unten nach oben zusammengesetzt. Pro Layer stehen die folgenden Live-Kontrollen bereit:

  • Quelle: einer der 16 Generatoren, ein importierter Clip oder leer.
  • Opacity: Deckkraft von 0 bis 100 Prozent.
  • Blend: Normal, Add, Multiply, Screen, Overlay, Difference, Lighten, Darken, Soft Light, Hard Light, Exclusion oder Color Dodge.
  • Routing: Bus A, Bus B oder Off; der Crossfader mischt A und B.
  • Solo / Mute: isoliert oder unterdrückt einen Layer ohne die Quelle zu entfernen.
  • Transform: Position X/Y, Skalierung und Rotation.
  • Farbe: Layer-Farbbehandlung vor dem Compositing.

Transport und Master

Play/Pause, Tap Tempo, BPM, Animationsgeschwindigkeit, Generator-Intensität und Master Blackout gelten für die laufende Komposition. Der Blackout setzt den Program-Ausgang exakt auf Schwarz, lässt den Zustand aber intakt.

Live-Tipp: Lege ruhige, flächige Quellen auf A und akzentreiche Geometrie auf B. So wird der Crossfader zum dramaturgischen Regler statt nur zu einem Bildwechsel.
04 VISUAL ENGINE

Generatoren,
Effekte, Modulation.

16 Generatoren

Liquid Chrome, Solar Veil, Infinity Cathedral, Aurora Field, Laser Architecture, Particle Bloom, Organic Cells, Audio Sculpture, Celestial Drift, Moiré Temple, Silk Ribbons, Laser Lattice, Crystal Reactor, Sacred Bloom, Deep Nebula und Light Sweep sind direkt als WGSL-Quellen in der Engine implementiert.

Sacred Bloom GPU-Generator
Sacred Bloom — unverändertes JPEG-Readback aus dem nativen Program-Renderziel.

24 Effekte

Brightness, Contrast, Saturation, Hue Shift, Invert, Solarize, Threshold, Posterize, Pixelate, Noise, Scanlines, Vignette, Mirror, Flip, Rotate, Wave, Twist, Zoom Pulse, Chromatic, RGB Split, Edge Glow, Kaleidoscope, Luma Key und Strobe werden als echte GPU-Passes ausgeführt.

Jeder Layer besitzt vier geordnete Slots. Ändert sich die Reihenfolge, ändert sich auch der sichtbare Renderpfad. Bypass überspringt den betreffenden Pass.

Edge Glow Effekt
Edge Glow
RGB Split Effekt
RGB Split

Modulationsquellen

Effektparameter lassen sich aus Beat, RMS, Low, Mid, High, Sine, Triangle, Saw und Beat Random treiben. Die Alpha bietet dafür eine lineare Texture-Kette; ein frei verzweigbares, typisiertes Graphsystem gehört zur Roadmap.

05 AUDIO & BPM

Erst einpegeln,
dann reagieren.

  1. Audioeingang auswählen beziehungsweise im Browser freigeben.
  2. Input Gain so erhöhen, dass normale musikalische Passagen klar ausschlagen, aber Peaks nicht dauerhaft anschlagen.
  3. Noise Floor knapp oberhalb des leisen Raum- oder Leitungsrauschens setzen.
  4. Audio Sync aktivieren, sobald BPM-Confidence stabil ist; andernfalls beim internen BPM bleiben.

Die Analyse berechnet RMS, Peak und die Bänder Low, Mid und High. Adaptive Hüllkurven geben den Bändern unterschiedliche visuelle Rollen. Onset-Erkennung liefert Impulse für Tempo-Schätzung und Phasenkorrektur. Der Audio-Clock wird nur bei ausreichender Confidence übernommen.

Audio Sculpture mit aktivem Eingangssignal
Audio Sculpture bei starkem Signal. Der Release-Audit vergleicht diesen Zustand automatisiert mit dem leisen Referenzzustand.
Wichtig: Der Noise Floor ist kein kreativer Grain-Regler. Er definiert den unteren nutzbaren Signalbereich für Visuals und Beat-Erkennung. Ein zu niedriger Wert macht Grundrauschen sichtbar; ein zu hoher Wert verschluckt leise musikalische Details.
06 AUTO-MODUS

Szenenwechsel
durch musikalische Ereignisse.

Auto arbeitet nicht mit einem starren Intervall. Ein Wechsel kann durch einen deutlichen Peak oder Drop, einen Break oder eine Stillephase ausgelöst werden. Das Ereignis wählt eine passende Szenenfamilie; die Transition skaliert mit dem Beat.

  • Ein Retrigger-Guard von zehn Sekunden verhindert hektische Mehrfachwechsel.
  • Der Auto-Modus arbeitet auf einem transienten Show-Zustand.
  • Beim Ausschalten kehrt Lumen zur vorherigen manuellen Komposition zurück.
  • Live-Änderungen an Gain, Noise Floor und Transport bleiben dennoch erhalten.

Für ein musikalisch brauchbares Ergebnis zuerst Gain und Noise Floor sauber setzen. Auto kann nur so gut entscheiden wie das Eingangssignal getrennt ist.

07 MEDIEN

Clips im
nativen Decoderpfad.

Importierte Dateien werden in den Lumen-Datenordner übernommen, mit FFprobe analysiert und mit einem Thumbnail versehen. Bis zu acht getrennte FFmpeg-Worker dekodieren aktive Videoquellen außerhalb des Renderthreads.

  • Import über die Schaltfläche Import Media im Perform Workspace.
  • Clip im Media Pool wählen und auf den gewünschten Layer starten.
  • Metadaten und Thumbnail bleiben nach einem Neustart erhalten.
  • Ein fehlgeschlagener Probe-Vorgang hinterlässt keine halbe Mediendatei.

Frame-genaue Suche, Clip-Audio, Cue Points, Proxies, Quantisierung und ein portables Show-Bundle sind noch nicht Bestandteil von 0.1.0.

08 OSC

Offene Kontrolle
für externe Tools.

Standardmäßig lauscht Lumen auf 127.0.0.1:9000. Eine andere Bind-Adresse sollte nur in einem vertrauenswürdigen Show-Netz verwendet werden.

AdresseArgumentFunktion
/lumen/playbool oder 0/1Transport Play/Pause
/lumen/bpmfloatBPM, auf 20–300 begrenzt
/lumen/audio/gainfloatInput Gain, auf 0–8× begrenzt
/lumen/audio/gatefloatNoise Floor, auf 0–1 begrenzt
/lumen/sync/audiobool oder 0/1Audio-Clock ein/aus
/lumen/demobool oder 0/1Audio-event-getriebener Auto-Modus
/lumen/crossfaderfloatA/B-Mix, 0–1
/lumen/intensityfloatGenerator-Intensität, 0–1
/lumen/speedfloatAnimationsgeschwindigkeit, 0–4
/lumen/color/a3 floatsGenerator-Palette A
/lumen/color/b3 floatsGenerator-Palette B
/lumen/resetkeinsStandardwerte laden
# Beispiel mit oscsend:
oscsend 127.0.0.1 9000 /lumen/bpm f 128
oscsend 127.0.0.1 9000 /lumen/audio/gain f 2.4
oscsend 127.0.0.1 9000 /lumen/demo i 1
09 DATEN & KONFIGURATION

Lokale Daten,
klare Pfade.

SystemStandardordner
macOS~/Library/Application Support/Lumen
Windows%APPDATA%\Lumen
Linux$XDG_STATE_HOME/Lumen oder ~/.local/state/Lumen

Umgebungsvariablen

  • LUMEN_DATA_DIR — eigener Daten- und Projektordner.
  • LUMEN_PORT — lokaler HTTP-Port, Standard 3030.
  • LUMEN_UI_DIR — Pfad zur kompilierten Steueroberfläche.
  • LUMEN_OSC_BIND — OSC-Bind-Adresse, Standard 127.0.0.1:9000.
10 ENTWICKLUNG

Aus dem
Quellcode starten.

Benötigt werden Rust 1.97+, Node.js 24+, FFmpeg/FFprobe 9+ und eine Metal-, DirectX-12- oder Vulkan-fähige GPU.

cd ui
npm ci
npm run build
cd ..
cargo run -p lumen-engine

Lokale Qualitätschecks

cargo fmt --all --check
cargo clippy --workspace --all-targets -- -D warnings
cargo test --workspace
cargo audit
cd ui && npm run check && npm run build

Renderer-Änderungen sollten zusätzlich mit den enthaltenen Visual-, Effect-, Blend-, Control- und Motion-Audit-Skripten auf echter Hardware geprüft werden. Details stehen im Quellarchiv in README.md und CONTRIBUTING.md.

11 ALPHA-GRENZEN

Ehrlich ist
Teil der Qualität.

0.1.0 ist eine lokal qualifizierte Public Alpha, noch keine produktionsfertige Show-Plattform. Diese Funktionen sind ausdrücklich Roadmap und nicht im aktuellen Build enthalten:

  • MIDI Learn, Ableton Link, MIDI Clock und Pioneer Pro DJ Link.
  • Freier, verzweigbarer Patch-Graph und nutzerdefinierte Shader-Pakete.
  • Projection Mapping, Multi-Output, Warp, Edge Blend und Pixel Mapping.
  • Recording, Syphon, Spout, NDI, DMX, Art-Net und Plugin-Isolation.
  • Signierte/notarisierte Builds und ausgedehnte DirectX-/Vulkan-Show-Soaks.
Release-Status und Roadmap