Expand description
zerodds-dashboard Bibliothek.
Crate zerodds-dashboard. Safety classification: COMFORT.
§Architektur
Die zerodds-dashboard-Binary startet einen Mini-HTTP-Server, der:
- Ein eingebettetes Single-Page-HTML-Dashboard ausliefert.
- JSON-Endpoints fuer Live-Daten anbietet (Topics, Participants, Histograms, Discovery-Graph).
- Steuer-Endpoints fuer Recording-Start/Stop hat.
Datenmodell (state::DashboardState) ist schreib-/lesbar von
externer App — Konsumenten füllen den State aus DcpsRuntime
(Built-in-Topics-Reader) und der Dashboard-Server serialisiert ihn
als JSON. Damit ist der Server testbar ohne DDS-Stack.
§Tauri 2.0 als Wrapper
Der ursprueliche Plan F.4 sieht eine Tauri-2.0-Native-App vor. Diese Phase-A-Implementierung liefert das Web-Backend in reinem Rust ohne externe Crate-Deps (kein hyper, kein axum, kein Node.js). Eine spaetere Phase-B kann das gleiche Backend in eine Tauri-2.0-App einbetten — der HTML-Frontend ist bereits Tauri-kompatibel (verwendet Standard-Web-APIs).
Re-exports§
pub use server::ServerError;pub use server::run_blocking;pub use state::DashboardState;pub use state::DiscoveryEdge;pub use state::DiscoveryNode;pub use state::HistogramSnapshot;pub use state::ParticipantInfo;pub use state::RecordingStatus;pub use state::TopicInfo;
Modules§
- server
- Mini-HTTP-Server fuer das Dashboard. Pure-Rust, keine externen Crates. Reicht fuer Localhost-Tools — kein production-grade HTTP/1.1, kein chunked, kein keep-alive.
- state
- Daten-Modell des Dashboards. Konsumenten fuellen es aus DcpsRuntime, der Server serialisiert es zu JSON.
- web
- Eingebettetes Single-Page-Dashboard (HTML + vanilla JS + d3).