32 lines
1.2 KiB
Markdown
32 lines
1.2 KiB
Markdown
# Infinity Mirror Control
|
|
|
|
V1 desktop control app for a 3x6 Infinity Mirror tile grid with a strong preview, XML mapping editing, presets, and an extensible output layer.
|
|
|
|
## Launch
|
|
|
|
```powershell
|
|
python -m app.main
|
|
```
|
|
|
|
The app will try to open the bundled sample mapping from `sample_data/infinity_mirror_mapping_clean.xml` on first launch.
|
|
|
|
## Architecture
|
|
|
|
- `app/config`: XML parsing, validation, and config models
|
|
- `app/core`: shared types, colors, presets, and the render controller
|
|
- `app/patterns`: pattern definitions and registry
|
|
- `app/output`: preview and hardware output backends
|
|
- `app/ui`: Qt widgets, settings editor, preview, and main window
|
|
|
|
## Notes
|
|
|
|
- Live output is disabled by default for a safe startup state.
|
|
- The Art-Net backend is prepared as an extension seam and can be expanded later without refactoring the UI or pattern engine.
|
|
- Unit tests cover config parsing, round-tripping, and core pattern rendering without requiring Qt.
|
|
- The app prefers `PySide6`, but falls back to `PyQt5` automatically when the local Qt6 runtime is broken or unavailable.
|
|
|
|
## WLED MM
|
|
|
|
Flashing:
|
|
- powershell -ExecutionPolicy Bypass -File .\flash_rfp_s3.ps1 -ComPort COM5
|