Die Photon GUI ist die Kontrollzentrale für Lichtoperateure und Programmierer. Entwickelt in Rust auf Basis von egui und eframe, verbindet sie maximale Reaktionsgeschwindigkeit mit einem vollständig anpassbaren Fenster- und Tab-System.
egui_dock)Die Benutzeroberfläche ist nicht starr, sondern basiert auf flexiblen Panels / Tabs:
Aktuell sind in der Benutzeroberfläche folgende Kern-Panels implementiert:
| Panel | Name | Kurzbeschreibung | Dokumentation |
|---|---|---|---|
| 💻 | Terminal Panel | Interaktive Befehlszeile mit Syntax-Highlighting, Befehlshistorie (Pfeiltasten) und TCP-Befehlsversand. | 👉 Zum Terminal Panel |
| 🌐 | Universe Panel | Visueller DMX-Monitor für bis zu 16 Universen mit 512-Kanal-Raster, Fixture-Overlay und Live-Werten. | 👉 Zum Universe Panel |
(Hinweis: Ein dediziertes Patch Panel zur grafischen Patch-Verwaltung befindet sich aktuell in der Entwicklung.)
Die GUI arbeitet vollständig entkoppelt als TCP-Client:
DMXConfiguration), sodass Änderungen am Patch oder an den Universen ohne manuellen Reload in den Panels sichtbar werden.gui/
├── gui/
│ ├── src/
│ │ ├── panels/ # Alle Panel-Implementierungen (terminal.rs, universe.rs, patch.rs)
│ │ ├── network/ # TCP- und UDP-Kommunikation mit dem Kernel
│ │ ├── controller.rs # Zentraler GUI-Event-Controller
│ │ └── lib.rs # egui Render-Loop & Dock-State-Verwaltung
├── interface/ # Client-seitige Protokolldefinitionen der Kernel-Schnittstelle
├── common/ # Gemeinsame Datenstrukturen, Typen & help.txt
└── launcher/ # Anwendungsstarter und Setup-Logik