c6a3cf7751
- ADR-0006: React 18/19 mit Vite im statischen SPA-Modus - Workspace §17.2: Statusleiste 32px, einklappbare Werkzeugleiste, Layer-Tabelle, Inspector ~30% mit Divider-Resize, umschaltbare rechte Seitenleiste, Fußleiste mit Setup/Live-Lock - Layer-Tabelle §17.3: alle 10 Pflichtspalten, Zeilen 30px, 7 unterscheidbare Zustände (Glyph+Farbe+Text, nie nur Farbe), Pfeiltasten-Navigation, Opacity-Fader mit echtem parameter.set - Inspector §17.4: 7 Tabs, Zahlenfelder mit Tippen/Ziehen/Pfeiltasten, Release-Befehl, Live-Lock sperrt Struktur - Design-Tokens §17.6: alle als CSS-Variablen (Flächen, Text, Akzent-Blau, Zustandsfarben, 4px-Raster, 2-4px Radien, Monospace tabular-nums, 100-180ms) - WebSocket: Snapshot bei Connect, Deltas danach, Reconnect 1s/2s/4s max 30s; Browser-Neustart stoppt Output nicht (§3.2) - REST: health/identity/cluster-nodes/parameters/diagnostics, Commands mit expected_revision + Revert bei 409 - Kein GO-Button, keine Standby-Anzeige, keine Cue-Carts (§17.1) - Build: tsc strict + vite, 27 Module, 262KB JS gzip 80KB - Python-Suite 549 grün unberührt
Architecture Decision Records
Vorlage: _template.md. Nummerierung fortlaufend. Abweichungen vom Bauplan nur
mit ADR und Freigabe (PLAN.md §1).
Angenommen
- ADR-0001: Python-Version-Pin 3.13
- ADR-0002: GStreamer-Pin 1.28.6 (Windows)
- ADR-0003: IPC – lokales TCP + length-prefixed MessagePack v1
- ADR-0008: Build-first-Strategie – verzögerte Hardware-Validierung (Auftraggeber-Freigabe 2026-09-11)
- ADR-0009: Node-Discovery – mDNS/DNS-SD mit manueller Fallback-Liste
- ADR-0010: Node-Paarung – PIN/Fingerprint, Token-Scopes, Widerruf
Vorläufig angenommen (Bestätigung im Windows-Durchlauf, ADR-0008)
- ADR-0004: Nativer Renderkern – Rust auf dem GStreamer-D3D11-Elementpfad
- ADR-0005: Packaging – Nuitka Onefolder (Fallback PyInstaller)
Offen
- ADR-0006: Frontend – React vs. Svelte (Entscheidung zu Beginn Phase 5)
- ADR-0007: Typprüfung – mypy vs. pyright
- weitere gemäß Bauplan §32 (Persistenz → erledigt in Phase 1 ohne eigene ADR-Nummer, da §24-Vorgaben 1:1 umgesetzt; Preview, Show-Codec, Ownership, Display-Abstraktion, Adaptive-Quality-Policy, Clusterprotokoll-Transport, TLS-Details, Clock-Sync, UI-Design-Tokens)