Go-based FM stereo transmitter with RDS, Windows-first and cross-platform
Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

23KB

UI-Sollmodell – ferrite.fm Signal Flow View

Status: Entwurf / Arbeitsgrundlage
Zweck: Neuer zusätzlicher UI-View neben der bestehenden Control-Plane-Oberfläche
Arbeitsname: Flow View


1. Zielbild

Der neue View soll nicht die bestehende UI sofort ersetzen, sondern eine zweite, domänengerechtere Hauptansicht für professionelle Broadcast- und Signalpfad-Arbeit liefern.

Die Grundidee:

  • Statt primär Formulare, Panels und technische Gruppierungen zu zeigen, visualisiert der View den realen Signalfluss der Applikation.
  • Das UI wird damit näher an Broadcast-, Routing-, Audio- und DSP-Systemen.
  • Der Nutzer soll auf einen Blick sehen:
    • wo sich das Signal gerade befindet,
    • welche Stufe gesund / degradiert / fehlerhaft / inaktiv ist,
    • welches Modul welchen Einfluss auf das On-Air-Signal hat,
    • wo eine Störung tatsächlich sitzt,
    • und wo man für Eingriffe klicken muss.

Kurzform: Weniger Settings-App, mehr Signal- und Sendeweg-Konsole.


2. Produktprinzipien

2.1 Operator-first

Der View muss innerhalb von 1–2 Sekunden lesbar sein. Keine dekorative Technikgrafik, kein animiertes Spielzeug, kein “Dashboard um des Dashboards willen”.

2.2 Systemmodell statt Menüstruktur

Die Oberfläche bildet nicht zuerst Menüpunkte ab, sondern die tatsächliche Kette: Input → Buffer/Ingest → Audio → Processing → Stereo/RDS/MPX → TX

2.3 Status ist primär, Settings sekundär

Die erste Funktion des Views ist Verstehen und Überwachen. Die zweite Funktion ist Eingreifen. Darum gilt:

  • Farbe und Form zeigen Zustand.
  • Hover erklärt.
  • Click öffnet Steuerung.

2.4 Bestehende UI bleibt erhalten

Die aktuelle tab-basierte Oberfläche bleibt vorerst als:

  • Detailansicht
  • Fallback
  • Vollkonfigurationsraum
  • Diagnose-/Engineering-Oberfläche

Der neue Flow View ist also ein zusätzlicher View, kein sofortiger kompletter Ersatz.


3. Hauptnutzen des Views

Der View soll drei Dinge gleichzeitig leisten:

  1. Observability
    Wo steht das System? Welche Stufe ist gesund? Was ist degradet? Wo liegt der Fehler?

  2. Navigation
    Klick auf ein Modul führt direkt zur passenden Steuerung, statt Tabs/Panels suchen zu müssen.

  3. Control
    Häufige und domänennah passende Eingriffe können direkt am jeweiligen Modul stattfinden.


4. Platz im Produkt

Top-Level-Position

Empfohlene Tabs / Hauptviews:

  • Flow
  • Control
  • Diagnostics
  • Activity

Dabei gilt:

  • Flow = Hauptansicht für Operatoren und für systemisches Verständnis
  • Control = Form-/Panel-basierte Bearbeitung und Vollkonfiguration
  • Diagnostics = tiefe Runtime-/Health-/Audit-Ansicht
  • Activity = Logs / Historie

Der neue View soll also idealerweise als erster oder linker Haupttab erscheinen.


5. Grundlayout des Flow Views

5.1 Grundstruktur

Der View besteht aus vier Zonen:

A. Top Status Bar

Persistente Betriebsleiste mit:

  • Markenname ferrite.fm
  • TX-Status (ON AIR, OFF AIR, DEGRADED, FAULT)
  • Frequency (Applied / Target)
  • Connection / Control-Plane-Status
  • Last issue / active alarm
  • Emergency Actions (Stop TX, Reset Fault)

B. Horizontale Signalfluss-Zeile

Die zentrale Fläche des Views. Hier liegen die Module als horizontale Pipeline mit Verbindungsstrecken dazwischen.

C. Detail / Popover-Ebene

Nicht dauerhaft offen. Öffnet sich:

  • per Hover als kompakte Statusblase
  • per Klick als interaktiver Popover / Inspector

D. Optionaler Bottom Strip / Runtime Summary

Schmale sekundäre Leiste für:

  • aktive Warnings
  • Queue Health
  • Ingest state
  • last change
  • runtime age

6. Die Module im Signalfluss

Der Flow View soll echte, betrieblich relevante Knoten zeigen. Keine dekorativen Zwischenboxen.

Empfohlene Basiskette:

  1. Source
  2. Ingest / Buffer
  3. Audio
  4. Processing
  5. Stereo
  6. RDS
  7. Composite / MPX
  8. TX / RF

6.1 Source

Bedeutung: Ursprungsquelle des Programmsignals.

Mögliche Zustände:

  • no source / idle
  • connected
  • reconnecting
  • missing
  • blocked

Beispiele für Daten:

  • ingest.kind
  • active origin / URL / stream name
  • stream title (falls relevant)
  • transport / codec
  • connected / disconnected

Popover-Steuerung:

  • Source kind
  • Source URL / stream target
  • Decoder mode
  • grundlegende source-spezifische Optionen
  • Link zur vollen Ingest-Konfiguration

6.2 Ingest / Buffer

Bedeutung: Annahme, Vorpufferung, Runtime-Stabilisierung.

Mögliche Zustände:

  • healthy
  • low buffer
  • write blocked
  • reconnecting
  • stalled
  • critical

Beispiele für Daten:

  • prebuffer state
  • buffered seconds
  • reconnect count
  • source state
  • runtime state
  • last chunk time

Popover-Steuerung:

  • Prebuffer
  • reconnect settings
  • ggf. source-related runtime controls
  • Link zu tiefer Diagnose

6.3 Audio

Bedeutung: Programmaudio-Grundparameter vor Stereo-/MPX-Pfaden.

Mögliche Zustände:

  • active
  • tone mode active
  • muted / no input
  • warning if gain/levels suspicious

Beispiele für Daten:

  • input gain
  • tone left / right / amplitude
  • source activity summary

Popover-Steuerung:

  • input gain
  • tone controls
  • ggf. source audio mode

6.4 Processing

Bedeutung: Eingriffe in Klangbearbeitung und Compliance-nahe Audio-/Processing-Stufen.

Mögliche Zustände:

  • healthy
  • limiter active
  • compliance pending restart
  • clipper active
  • warning if inconsistent config/runtime impact exists

Beispiele für Daten:

  • limiter enabled / ceiling
  • pre-emphasis
  • BS.412 enabled
  • composite clipper enabled / iterations / knee / lookahead

Popover-Steuerung:

  • limiter
  • ceiling
  • pre-emphasis
  • compliance settings
  • composite clipper settings

6.5 Stereo

Bedeutung: Stereo-Multiplex-Aufbereitung.

Mögliche Zustände:

  • stereo on
  • mono / stereo disabled
  • pilot warning
  • degraded if stereo mode or pilot abnormal

Beispiele für Daten:

  • stereo enabled
  • stereo mode
  • pilot level

Popover-Steuerung:

  • stereo on/off
  • stereo mode
  • pilot level

6.6 RDS

Bedeutung: Metadaten- und RDS-Subsystem.

Mögliche Zustände:

  • active
  • disabled
  • active text relay
  • degraded if metadata mismatch / relay issue / config inconsistency

Beispiele für Daten:

  • RDS enabled
  • PI / PTY
  • PS / RadioText
  • TP / TA
  • active on-air text
  • RDS2 summary if enabled

Popover-Steuerung:

  • enable/disable
  • PI / PTY
  • PS / RT
  • TP / TA
  • RDS features shortcut

6.7 Composite / MPX

Bedeutung: Endstufe des zusammengesetzten Multiplexsignals vor TX.

Mögliche Zustände:

  • healthy
  • high injection
  • compliance risk
  • degraded if MPX gain / injection values suspicious

Beispiele für Daten:

  • pilot level
  • RDS injection
  • MPX gain
  • clipper state
  • BS.412 state

Popover-Steuerung:

  • pilot
  • RDS injection
  • MPX gain
  • clipper toggle shortcut

6.8 TX / RF

Bedeutung: Ausgang / SDR / Sendezustand.

Mögliche Zustände:

  • on air
  • idle
  • arming n- degraded
  • muted
  • faulted
  • stopping

Beispiele für Daten:

  • applied frequency
  • desired frequency
  • runtime state
  • queue health
  • underruns
  • last fault
  • backend / driver

Popover-Steuerung:

  • start / stop TX
  • reset fault
  • frequency
  • quick runtime summary

7. Statusmodell

Farben und Zustände müssen über alle Module konsistent sein.

7.1 Primäre Modulzustände

  • Green → active / healthy / normal
  • Amber → degraded / warning / pending / attention needed
  • Red → fault / error / blocked / disconnected in fault-relevant stage
  • Gray → disabled / bypassed / inactive / not configured
  • Blue outline → selected / focused in UI

7.2 Zustandslogik

Nicht jedes Modul nutzt dieselben Regeln, aber dieselbe Farbe bedeutet denselben operativen Charakter.

Beispiele:

  • Source disconnected = rot, wenn ingest erwartet wird
  • RDS disabled = grau, nicht rot
  • TX idle = grau oder neutral, nicht rot
  • queue critical = rot
  • restart required = amber indicator, aber nicht automatisch roter Modulstatus

7.3 Zusätzliche Marker

Neben der Grundfarbe kann ein Modul kleine sekundäre Marker tragen:

  • pending indicator
  • restart required
  • reload required
  • draft exists

Diese Marker sollen aber klein und sekundär bleiben.


8. Hover-Verhalten

Hover soll eine kompakte Statusblase öffnen.

Prinzipien

  • Schnell erfassbar
  • Kein Formular
  • Kein Scrollmonster
  • Max. 5–7 Zeilen
  • Klare Typografie

Inhalt pro Hover-Blase

  1. Modulname
  2. Zustand in Klartext
  3. 2–5 wichtigste Metriken / Werte
  4. optional letzter Hinweis / letzter Fehler
  5. evtl. Zeitbezug (updated 4s ago)

Beispiel RDS Hover

  • RDS
  • Status: Active
  • PI: BEEF
  • PS: FERRITE
  • RT: Now playing ...
  • TP/TA: off / off
  • updated 2s ago

Beispiel TX Hover

  • TX / RF
  • State: Running
  • Applied: 99.5 MHz
  • Target: 99.5 MHz
  • Queue: normal (67%)
  • Underruns: 0
  • Runtime age: 18m

9. Click-Verhalten / Popover

Ein Klick auf ein Modul öffnet einen Popover / Inspector, nicht sofort ein Fullscreen-Modal.

9.1 Ziel

  • Schnell editierbare Kernparameter
  • Kontext bleibt sichtbar
  • Fokus bleibt auf dem Signalfluss

9.2 Struktur des Popovers

  • Modulname + Statuskopf
  • kleine Summary
  • relevante Einstellfelder
  • Apply-/Action-Bereich
  • Link / Button zu “Open full controls”

9.3 Regeln

  • Nur die wichtigsten Bedienelemente inline
  • Tiefe Spezialkonfiguration weiter in der bestehenden Control-View
  • Kritische Aktionen klar trennen

Beispiele

TX Popover

  • Start TX / Stop TX
  • Reset Fault
  • Frequency field
  • Applied / target summary

RDS Popover

  • Enable RDS
  • PI
  • PTY
  • PS
  • RT
  • TP/TA

Processing Popover

  • Limiter on/off
  • Ceiling
  • Pre-emphasis
  • BS.412 on/off
  • Composite clipper toggle

10. Navigations- und Wechselmodell

Der Flow View soll sich nicht isoliert anfühlen. Jedes Modul kann zusätzlich einen Übergang in die bestehende UI bieten:

  • Open full controls
  • Open diagnostics
  • Open ingest panel
  • direkter Link zum entsprechenden Tab bzw. Panel der bestehenden Detail-UI

So wird der Flow View zur Primärnavigation, ohne alles selbst lösen zu müssen.

Festlegung

Popover bleiben Quick Control und sollen bewusst flach bleiben. Für tiefere Arbeit gibt es immer einen direkten Sprung in die bestehende Detail-UI an die passende Stelle.


11. Visual Language

11.1 Stilprinzipien

  • nüchtern
  • präzise
  • professionell
  • ruhig
  • hohe Informationsdichte ohne Chaos

11.2 Look & Feel

  • heller bis neutraler Hintergrund bleibt möglich
  • weniger Card-Sammlung, mehr zusammenhängende technische Arbeitsfläche
  • Module als klar definierte Knoten mit Verbindungslinien
  • Verbindungslinien dezent, aber lesbar
  • Symbole sachlich und funktional, nicht verspielt

11.3 Symbolik

Jedes Modul erhält ein einfaches, wiedererkennbares Icon, z. B.:

  • Source → Stecker / Input / Antenne / Link
  • Buffer → Stack / Queue / Reservoir
  • Audio → Waveform / Fader
  • Processing → Filter / dynamics / knob cluster
  • Stereo → linked channels / L-R icon
  • RDS → text / metadata / broadcast tag
  • Composite → multiplex / spectrum-like icon
  • TX → antenna / RF output

Wichtig: Icons unterstützen, ersetzen aber nie die Lesbarkeit.


12. Responsive Verhalten

Der View ist primär Desktop-/Operator-first. Mobile ist sekundär, aber nicht ignoriert.

Desktop

  • horizontale Kette in einer Zeile
  • Popover seitlich / unterhalb des aktiven Moduls

Tablet / kleinere Fenster

  • Kette darf umbrechen in 2 Zeilen, aber logisch lesbar bleiben
  • Verbindungslogik optisch erhalten

Mobile

  • keine ambitionierte Vollsimulation der Horizontalkonsole
  • stattdessen vereinfachte vertikale Step-Ansicht
  • Hover-Konzept wird zu Tap-Details

13. Technische Datenquellen

Der View soll möglichst aus bereits vorhandenen Daten gespeist werden.

Bereits vorhanden / nutzbar

  • /status
  • /runtime
  • /config
  • bestehende Draft-/Apply-Logik in ui.html

Erwartete Zuordnung

  • Source / Ingest / Buffer ← runtime.ingest, config.ingest
  • Audio / Processing / Stereo / RDS / MPX ← config, runtime.engine, teilweise status
  • TX / RF ← runtime.engine, runtime.driver, status

Wichtige Designregel

Der View darf zunächst read-mostly + selectively writable sein. Nicht alles muss in Version 1 voll editierbar sein.


14. MVP-Scope

Für eine erste brauchbare Version reichen:

Muss enthalten

  • neuer Flow-Tab
  • horizontale Modulkette
  • Statusfarben pro Modul
  • Hover-Details pro Modul
  • Click öffnet kompakten Popover
  • pro Modul 1–3 relevante Kernaktionen
  • klare Verbindung zur bestehenden Control-Ansicht

Darf zunächst fehlen

  • hochkomplexe Inline-Editoren
  • Drag & Drop
  • Mini-Sparklines in jedem Modul
  • Animationen entlang des Flows
  • komplette Mobile-Perfektion

15. Anti-Ziele

Der Flow View soll nicht werden:

  • eine dekorative Netzwerkgraph-Spielerei
  • eine überanimierte “wow”-Fläche
  • ein unlesbares Technikposter
  • ein Vollersatz für jede Detailkonfiguration in Version 1
  • eine Oberfläche, bei der Farbe das einzige Statussignal ist

16. Nächste Umsetzungsstufe

Stufe 1 — UX-Skelett

  • neuen Tab Flow anlegen
  • statische Modulkette rendern
  • Icons + Titel + Statusfarben
  • ausgewählte Runtime-/Config-Werte anbinden

Stufe 2 — Interaktion

  • Hover-Bubbles
  • Click-Popover
  • Quick actions für TX / RDS / Frequency / Source

Stufe 3 — Integration

  • Draft-/Apply-Mechanik für Kernmodule
  • Übergänge zu bestehender Detail-UI
  • sauberer Pending-/Restart-/Reload-Status

Stufe 4 — Broadcast-Polish

  • strengere visuelle Hierarchie
  • Alarm-Layer
  • optional Operator-/Engineering-Abstufung

17. Getroffene Designentscheidungen

17.1 Stereo und RDS

Entscheidung: Stereo und RDS werden als getrennte Knoten dargestellt.

Begründung:

  • fachlich klarer
  • RDS bleibt als eigenes Broadcast-Subsystem sichtbar
  • Fehlerursachen werden präziser lesbar
  • passt besser zu einer professionellen Broadcast-/Signalpfad-Sicht

17.2 Composite / MPX

Entscheidung: Composite / MPX wird als eigener Knoten dargestellt.

Begründung:

  • Broadcast-technisch zentrale Stufe
  • trennt Audio-/Processing-Welt sauber von der Multiplex-/Deviation-Ebene
  • macht Pilot, RDS-Injection, MPX Gain und Composite-Verhalten sichtbar an der richtigen Stelle

17.3 Popover-Tiefe

Entscheidung: Popover bleiben Quick Control.

Regel:

  • wenige Kernaktionen / Kernfelder direkt im Popover
  • keine Vollkonfiguration im Flow View
  • tiefe Bearbeitung erfolgt über direkten Link in den passenden Tab bzw. das passende Panel der bestehenden Detail-UI

17.4 Globaler Alarm-Banner

Entscheidung: Ein globaler Alarm-Banner oberhalb des Flows ist sinnvoll, aber nur kontextuell sichtbar.

Regel:

  • sichtbar bei aktiven Faults / relevanten Degraded-Zuständen / betrieblich relevanten Warnings
  • nicht als permanentes Alarmband
  • kompakt, klar, operator-first

17.5 Stil

Entscheidung: Der View wird technisch-klar mit leichter visueller Abstraktion umgesetzt.

Regel:

  • echte Modulnamen
  • echte Signalpfad-Logik
  • präzise Zustände
  • nüchterne, moderne technische Konsole statt Spielerei oder retro-technischer Härte

18. Festgelegte Architektur für die erste Realisierung

Empfehlung für die erste Realisierung:

  • eigener Flow-Tab
  • acht klare Knoten
  • strikte Statusfarben
  • Hover für Status
  • Click für kleine Popover
  • Popover als Quick Control
  • direkter Link in passende Detail-Tabs/Panels
  • globaler Alarm-Banner nur bei Relevanz
  • bestehende UI bleibt Vollkonfigurations-/Fallback-Ebene

Festgelegte Modulkette

  • Source
  • Ingest / Buffer
  • Audio
  • Processing
  • Stereo
  • RDS
  • Composite / MPX
  • TX / RF

Das ist der pragmatischste Weg zu einer professionelleren Broadcast-Oberfläche, ohne die vorhandene UI sofort wegzuwerfen.


19. Konkretes Modul- und Wireframe-Schema

Dieser Abschnitt definiert den ersten baubaren MVP des Flow Views.

19.1 Gesamt-Wireframe

Obere Leiste

Von links nach rechts:

  1. ferrite.fm Wortmarke / Produktname
  2. globaler TX-Zustand
  3. Applied / Target Frequency
  4. Source Summary
  5. Active Alarm / Warning Banner (nur wenn relevant)
  6. Emergency Actions (Stop TX, Reset Fault)

Flow-Zeile

Eine horizontale Kette mit 8 Modulknoten. Jeder Knoten besitzt:

  • Icon
  • Namen
  • Statusfarbe
  • 1 kurze Sekundärzeile
  • Hover-Bubble
  • Click-Popover

Verbindungssegmente

Zwischen den Knoten liegen simple horizontale Linien / Segmente. Optional können Segmente dieselbe Statusfarbe wie der nachfolgende Knoten aufnehmen oder neutral bleiben. Für MVP besser neutral und ruhig halten.

Untere Sekundärzone

Schmale Zeile für:

  • queue health
  • ingest state
  • runtime age
  • last update

Keine große zweite Dashboard-Wand. Nur kompakte Betriebszusammenfassung.


19.2 Knoten-Spezifikation

A. Source

Icon

  • Input / link / connector symbol

Primärlabel

  • Source

Sekundärzeile

  • aktiver Typ, z. B. icecast, srt, aes67, stdin, http-raw, none

Primärstatuslogik

  • green → connected / active source
  • amber → reconnecting / degraded
  • red → source expected but disconnected / failed
  • gray → no source / none configured

Hover-Inhalt

  • Source kind
  • Origin / endpoint / stream name
  • Transport / codec (falls verfügbar)
  • Connection state
  • Reconnect count / last error (falls vorhanden)

Quick-Control-Popover

  • source kind (read-only oder einfacher selector nur wenn sinnvoll)
  • URL / endpoint (wenn einfache Bearbeitung vertretbar)
  • decoder mode (bei icecast)
  • reconnect enabled
  • Button: Open Input details

Linkziel im Detail-UI

  • Tab: Ingest
  • Fokus: Ingest Config

B. Ingest / Buffer

Icon

  • queue / buffer / stacked blocks

Primärlabel

  • Ingest / Buffer

Sekundärzeile

  • z. B. 1.5s buffered, prebuffering, write blocked, healthy

Primärstatuslogik

  • green → healthy ingest runtime
  • amber → low buffer / reconnecting / prebuffering / delayed
  • red → critical / stalled / write blocked with active fault relevance
  • gray → ingest inactive

Hover-Inhalt

  • Runtime state
  • Buffered seconds
  • Prebuffer state
  • Last chunk age
  • Reconnect count
  • Write blocked yes/no

Quick-Control-Popover

  • prebuffer ms
  • reconnect enabled
  • initial/max backoff
  • Button: Open Ingest config
  • Button: Open Diagnostics

Linkziel im Detail-UI

  • Tab: Ingest
  • Fokus: Ingest Config

C. Audio

Icon

  • waveform / fader

Primärlabel

  • Audio

Sekundärzeile

  • z. B. gain 1.00, tones off, tones active

Primärstatuslogik

  • green → active / healthy
  • amber → unusual tone mode / suspicious gain / weak signal condition
  • red → no usable audio in relevant runtime state
  • gray → inactive / no source

Hover-Inhalt

  • input gain
  • tone left/right
  • tone amplitude
  • audio activity summary

Quick-Control-Popover

  • input gain
  • tone left
  • tone right
  • tone amplitude
  • Button: Open Audio controls

Linkziel im Detail-UI

  • Tab: TX Control
  • Fokus: Audio & Drive

D. Processing

Icon

  • filter / dynamics / processor block

Primärlabel

  • Processing

Sekundärzeile

  • z. B. limiter on, pre-emphasis 50µs, BS.412 off

Primärstatuslogik

  • green → healthy / nominal
  • amber → restart required / compliance attention / unusual setting combination
  • red → critical processing/compliance state (nur falls wirklich fault-relevant)
  • gray → inactive / bypassed if such mode exists

Hover-Inhalt

  • limiter on/off + ceiling
  • pre-emphasis
  • BS.412 enabled + threshold
  • clipper enabled summary

Quick-Control-Popover

  • limiter enabled
  • limiter ceiling
  • pre-emphasis
  • BS.412 enabled
  • Button: Open Processing controls

Linkziel im Detail-UI

  • Tab: TX Control
  • Fokus: Audio & Drive oder MPX Compliance

E. Stereo

Icon

  • linked L/R or stereo channels icon

Primärlabel

  • Stereo

Sekundärzeile

  • z. B. DSB, stereo on, mono

Primärstatuslogik

  • green → stereo enabled and healthy
  • amber → non-default mode / pilot attention / pending state
  • gray → stereo disabled / mono
  • red → only if runtime actually indicates a fault-worthy stereo stage problem

Hover-Inhalt

  • stereo enabled
  • stereo mode
  • pilot level

Quick-Control-Popover

  • stereo enabled
  • stereo mode
  • pilot level
  • Button: Open Stereo controls

Linkziel im Detail-UI

  • Tab: TX Control
  • Fokus: Switches

F. RDS

Icon

  • metadata / text / radio-data symbol

Primärlabel

  • RDS

Sekundärzeile

  • z. B. PS FERRITE, RT active, disabled

Primärstatuslogik

  • green → enabled and active
  • amber → enabled but metadata stale / pending / mixed runtime impact / relay mismatch
  • gray → disabled
  • red → only if a real operational RDS fault state is surfaced

Hover-Inhalt

  • enabled / disabled
  • PI
  • PTY
  • PS
  • active RT
  • TP / TA
  • RDS2 summary if applicable

Quick-Control-Popover

  • enable RDS
  • PI
  • PTY
  • PS
  • RT
  • TP / TA
  • Button: Open RDS details

Linkziel im Detail-UI

  • Tab: RDS
  • Fokus: Station Identity or On-Air Text

G. Composite / MPX

Icon

  • multiplex / layered-spectrum symbol

Primärlabel

  • Composite / MPX

Sekundärzeile

  • z. B. pilot 9%, RDS 4%, mpx 1.00

Primärstatuslogik

  • green → nominal multiplex state
  • amber → high injection / compliance attention / restart pending / unusual MPX values
  • red → critical compliance or composite issue if surfaced
  • gray → inactive when TX chain inactive

Hover-Inhalt

  • pilot level
  • RDS injection
  • MPX gain
  • composite clipper state
  • BS.412 state

Quick-Control-Popover

  • pilot level
  • RDS injection
  • MPX gain
  • clipper enabled shortcut
  • Button: Open MPX controls

Linkziel im Detail-UI

  • Tab: TX Control or RDS
  • Fokus: MPX Compliance or Injection Levels

H. TX / RF

Icon

  • antenna / RF output / transmitter symbol

Primärlabel

  • TX / RF

Sekundärzeile

  • z. B. 99.5 MHz, ON AIR, idle, faulted

Primärstatuslogik

  • green → running / on air
  • amber → arming / degraded / muted / stopping
  • red → faulted
  • gray → idle / off air

Hover-Inhalt

  • runtime state
  • applied frequency
  • target frequency
  • queue health
  • underruns
  • backend / driver
  • last fault summary

Quick-Control-Popover

  • start TX / stop TX
  • reset fault
  • frequency
  • refresh runtime
  • Button: Open TX control

Linkziel im Detail-UI

  • Tab: Overview or TX Control
  • Fokus: Frequency / Hero area

19.3 Globale Interaktion

Hover

  • Öffnet kompakte Bubble
  • bubble schließt automatisch beim Verlassen
  • kein interaktives Formular im Hover

Click

  • öffnet Popover am Knoten
  • nur ein Popover gleichzeitig offen
  • Klick außerhalb schließt Popover
  • ESC schließt Popover

Statusbanner

  • erscheint oberhalb des Flows nur bei Relevanz
  • enthält Severity + Kurztext + optionalen Deep-Link

19.4 MVP-Bauplan

Phase MVP-1

  • statischer Flow-Tab
  • acht Knoten
  • Statusfarben
  • Sekundärzeilen
  • read-only Hover-Bubbles

Phase MVP-2

  • interaktive Popover
  • erste Quick Controls für TX, RDS, Source, Processing
  • Deep-Links in bestehende Tabs/Panels

Phase MVP-3

  • Draft-/Apply-Anbindung
  • konsistente Pending-/Restart-/Reload-Marker
  • Alarm-Banner