Files
Infinity_Vis_Rust/docs/pattern_matrix_v1.md

62 lines
3.2 KiB
Markdown

# Show-Control Pattern Matrix v1
Die Web-UI orientiert sich wieder an der alten Python-Bedienung, ohne die neue Host-/API-Architektur zu verlassen.
## Kanonische Modi
| Python-Referenz | Host-v1 `pattern_id` | Status | Bemerkung |
| --- | --- | --- | --- |
| Arrow | `arrow` | implementiert | diskrete Chevron-Belegung |
| Breathing | `breathing` | implementiert | globale Atemkurve |
| Center Pulse | `center_pulse` | implementiert | Center-/Outline-Modi ueber `center_pulse_mode` |
| Checkerd | `checker` | implementiert | `classic`, `diagonal`, `checkerd` ueber `checker_mode` |
| Column Gradient | `column_gradient` | implementiert | horizontale Verlaufslogik |
| Row Gradient | `row_gradient` | implementiert | vertikale Verlaufslogik |
| Saw | `saw` | implementiert | quantisierte Sweep-Logik |
| Scan | `scan` | implementiert | Winkel-/Line-/Bands-Scan |
| Scan Dual | `scan_dual` | implementiert | gespiegelt laufende Scanner |
| Snake | `snake` | implementiert | deterministische software-only Snake-Approximation |
| Solid | `solid` | implementiert | statischer Vollfarben-Look |
| Sparkle | `sparkle` | implementiert | randomisierte LED-Aktivierung |
| Stopwatch | `stopwatch` | implementiert | LED-Fuell-/Leerlauf ueber Tile-Perimeter |
| Strobe | `strobe` | implementiert | `global`, `random_pixels`, `random_leds` |
| Sweep | `sweep` | implementiert | gerichteter Color-Wipe |
| Two Dots | `two_dots` | implementiert | zwei gespiegelt laufende Highlights |
| Wave Line | `wave_line` | implementiert | diskrete Wellenlinie ueber das 3x6-Raster |
## Gemeinsame Parameterbasis
Die v1-Host-Semantik lehnt sich fuer die Pattern jetzt wieder an die alte Python-Parameterbasis an:
- gemeinsam: `speed` (Default `0.45`), `brightness` (`1.0`), `fade` (`0.35`), `tempo_multiplier` (`1.0`)
- Farben: `color_mode`, `primary_color`, `secondary_color`, `palette`
- modusspezifisch nach alter Logik: z. B. `direction`, `symmetry`, `checker_mode`, `center_pulse_mode`, `scan_style`, `angle`, `on_width`, `off_width`, `band_thickness`, `flip_horizontal`, `flip_vertical`, `strobe_mode`, `pixel_group_size`, `strobe_duty_cycle`, `randomness`
## Kompatibilitaets-IDs
Diese IDs bleiben fuer bestehende Presets, Tests und API-v1-Replays erhalten:
| Bestehende ID | Laufzeit-Ziel |
| --- | --- |
| `solid_color` | `solid` |
| `gradient` | `column_gradient` |
| `chase` | `sweep` |
| `pulse` | `breathing` |
| `noise` | `sparkle` |
| `walking_pixel` | `scan` |
Die Kompatibilitaets-IDs behalten ihre bisherigen Parametervertraege, damit bestehende Replays und Presets nicht brechen.
## Arbeitsmodi in der Web-UI
- `Test/Edit`: Pattern- und Parameter-Aenderungen wirken sofort direkt gegen den Host.
- `Show/Event`: Pattern- und Parameter-Aenderungen werden lokal gestaged und erst ueber `Go` oder `Fade Go` committed.
- Preview-Modus in der Creative Surface bleibt bewusst nur `LEDs Only`.
- Pattern-Wechsel uebernimmt die bestehende Parameterbasis wie im alten Python-Tool; es werden keine versteckten UI-Defaults pro Modus injiziert.
## Offline-/Preview-only-Semantik
- Ohne echte Clients/Nodetelemetrie zeigt der Simulation-Host die Topologie als `preview-only`.
- Node-/Panel-Verbindungen bleiben ehrlich `offline`.
- Es werden keine simulierten Online-/Offline-Events fuer Operatoren erzeugt.