58 lines
2.7 KiB
Markdown
58 lines
2.7 KiB
Markdown
# 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
|
|
- web UI as the primary creative surface
|
|
- engineering GUI for technical operation
|
|
- 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](docs/validation_open_points.md).
|
|
3. Start from [config/project.example.toml](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 versioned host API plus creative web UI with `cargo run -p infinity_host_api -- --config config/project.example.toml --bind 127.0.0.1:9001 --runtime-state data/runtime_state.json`.
|
|
6. Open `http://127.0.0.1:9001/` for the creative surface.
|
|
7. Start the engineering GUI with `cargo run -p infinity_host_ui`.
|
|
8. Use the host CLI to validate the project config before attempting activation.
|
|
|
|
## Docs
|
|
|
|
- [Architecture](docs/architecture.md)
|
|
- [Host API](docs/host_api.md)
|
|
- [Local Software-Only Runbook](docs/local_software_only_runbook.md)
|
|
- [Qwen 14B Handoff](docs/qwen14b_handoff.md)
|
|
- [Show-Control Primitives](docs/show_control_primitives.md)
|
|
- [Pattern Matrix v1](docs/pattern_matrix_v1.md)
|
|
- [External Control Bridge](docs/external_control_bridge.md)
|
|
- [Control Ownership](docs/control_ownership.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)
|