# 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.