# 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, CLI, mock UI service, and runtime skeleton - `crates/infinity_host_ui`: native Rust desktop GUI vertical slice - `firmware/esp32_node`: ESP-IDF firmware skeleton with explicit driver abstraction - `docs/`: architecture, protocol, validation, deployment, testing, and acceptance artifacts - `config/`: example configuration files 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](docs/validation_open_points.md). 3. Start from [config/project.example.toml](config/project.example.toml). 4. Start the desktop GUI with `cargo run -p infinity_host_ui`. 5. Use the host CLI to validate the project config before attempting activation. ## Docs - [Architecture](docs/architecture.md) - [Protocol](docs/protocol.md) - [Config Schema](docs/config_schema.md) - [Build and Deploy](docs/build_and_deploy.md) - [Testing](docs/testing.md) - [Acceptance Template](docs/acceptance_template.md) - [Legacy XML Reference](docs/legacy_xml_reference.md)