JFly02 9457666fd6 **Core**
Die Host-Seite ist jetzt auf eine gemeinsame software-first API ausgerichtet. In [control.rs](</c:/Users/janni/Documents/RFP/Infinity_Vis _Rust/crates/infinity_host/src/control.rs>) steckt jetzt das stabile gemeinsame Modell für Snapshots, Commands, Pattern-Katalog, Presets, Gruppen, Parameter, Preview und Übergänge. Darauf sitzen die neue Szenen-/Pattern-Schicht in [scene.rs](</c:/Users/janni/Documents/RFP/Infinity_Vis _Rust/crates/infinity_host/src/scene.rs>) und der simulationsbasierte Host-Service in [simulation.rs](</c:/Users/janni/Documents/RFP/Infinity_Vis _Rust/crates/infinity_host/src/simulation.rs>).

Der neue Core kann jetzt softwareseitig schon:
- Pattern-Katalog mit `solid_color`, `gradient`, `chase`, `pulse`, `noise`, `walking_pixel`
- Preset-Recall, Gruppen-Targeting, Parameteränderungen und Übergänge
- simulierte Preview-Daten für alle 18 Outputs
- denselben API-Zugriff für CLI, Engineering-GUI und später Web-UI / grandMA-Adapter

Zusätzlich gibt es im Host-CLI jetzt `snapshot`, also eine direkte JSON-Sicht auf den gemeinsamen Host-State über [main.rs](</c:/Users/janni/Documents/RFP/Infinity_Vis _Rust/crates/infinity_host/src/main.rs>).

**Oberflächen**
Die technische lokale GUI bleibt bestehen und hängt jetzt auf der neuen gemeinsamen API. In [app.rs](</c:/Users/janni/Documents/RFP/Infinity_Vis _Rust/crates/infinity_host_ui/src/app.rs>) zeigt sie weiter Mapping/Status/Testmuster, ergänzt um Engine-/Szene-/Übergangsstatus. Sie bleibt bewusst Engineering-orientiert und ist nicht zur kreativen Hauptoberfläche aufgeblasen worden.

Die Beispielkonfiguration in [project.example.toml](</c:/Users/janni/Documents/RFP/Infinity_Vis _Rust/config/project.example.toml>) ist jetzt auch als Software-Spielwiese brauchbarer: mehr Gruppen, mehr kreative Presets und bessere Basis für Look-Entwicklung ohne echte Node-Aktivierung. Die neue API-Ausrichtung ist in [host_api.md](</c:/Users/janni/Documents/RFP/Infinity_Vis _Rust/docs/host_api.md>) und [architecture.md](</c:/Users/janni/Documents/RFP/Infinity_Vis _Rust/docs/architecture.md>) dokumentiert.

**Verifikation**
`cargo check` und `cargo test -q` laufen erfolgreich. Zusätzlich läuft `cargo run -p infinity_host -- snapshot --config config/project.example.toml` und liefert den gemeinsamen Host-Snapshot mit Katalog, aktiver Szene, Preview, Node- und Panelstatus.

Der nächste sinnvolle Schritt ist jetzt ein echter API-Adapter fuer die kommende Web-UI, also HTTP/WebSocket auf genau diesem Host-Core statt einer frontend-spezifischen Parallelarchitektur.
2026-04-17 11:39:56 +02:00
2026-04-17 11:39:56 +02:00
2026-04-17 11:39:56 +02:00
2026-04-17 11:39:56 +02:00
2026-04-17 01:33:23 +02:00
2026-04-17 01:33:23 +02:00
2026-04-17 11:39:56 +02:00
2026-04-17 11:39:56 +02:00
2026-04-17 01:33:23 +02:00

Infinity Vis Rust

Production-oriented greenfield architecture for a low-latency LED control system that targets:

  • 6 ESP32-N16R8 nodes
  • 3 physical LED outputs per node
  • 106 LEDs per output
  • 18 logical panels and 1908 LEDs total

The repository is intentionally structured around hard separation of concerns:

  • crates/infinity_config: versioned project configuration and validation
  • crates/infinity_protocol: shared control and realtime protocol model
  • crates/infinity_host: host-side core library, simulation engine, scene/preset API, and CLI
  • crates/infinity_host_ui: native Rust desktop engineering GUI for mapping, diagnostics, and admin
  • firmware/esp32_node: ESP-IDF firmware skeleton with explicit driver abstraction
  • docs/: architecture, protocol, validation, deployment, testing, and acceptance artifacts
  • config/: example configuration files

Current software priority:

  • stable host-core first
  • shared host API for every surface
  • simulation and mock-first creative workflow
  • engineering GUI for technical operation
  • web UI to follow as the primary creative surface
  • grandMA planned later as an external show-control adapter, not as the system core

The current baseline is intentionally strict about unresolved hardware facts. UART 6, UART 5, and UART 4 are treated as unvalidated labels until the real electrical meaning is confirmed.

Quick Start

  1. Install a current Rust toolchain.
  2. Review the open validation checklist in docs/validation_open_points.md.
  3. Start from config/project.example.toml.
  4. Inspect the software-first host snapshot with cargo run -p infinity_host -- snapshot --config config/project.example.toml.
  5. Start the engineering GUI with cargo run -p infinity_host_ui.
  6. Use the host CLI to validate the project config before attempting activation.

Docs

Description
No description provided
Readme 583 KiB
Languages
Rust 82%
JavaScript 8.9%
CSS 3.7%
C 2.7%
HTML 2.6%