feat(ground-suite): redesign observability console

This commit is contained in:
Onur Özkan committed 2026-08-10 16:46:36 +03:00
1 parent c67d553076
commit 153b0bf262
12 files changed
+1145 -507

No files matched your search

+28 -9
View File
@@ -6,9 +6,9 @@ identifier is `dev.kaptan.ground_suite`.
## Current scope
The first vertical slice is a **read-only observability console**. It uses a
deterministic replay fixture to present a vehicle identity, heartbeat state,
telemetry presence, ordinary logs, runtime errors, and orderly-shutdown
observations. It never sends bytes to a vehicle.
deterministic replay fixture to present a reported vehicle identity and
heartbeat, telemetry presence, ordinary logs, runtime errors, and
orderly-shutdown observations. It never sends bytes to a vehicle.
This is deliberate: the current F722 firmware rejects every inbound MAVLink
frame, and `kaptan-sitl serve` has no MAVLink endpoint. A connected-looking UI
@@ -20,7 +20,7 @@ must not suggest the vehicle is controllable, safe, armed, or writable.
VehicleDataPort (replay now; MAVLink adapter later)
-> typed observation-or-drop updates
-> Riverpod observability state
-> Overview / Diagnostics presentation
-> Vehicle observation / Event stream presentation
```
`MavlinkByteSource` and `MavlinkEventDecoder` are receive-only seams. The
@@ -48,12 +48,31 @@ will be added only with their respective CI coverage.
## Appearance
Ground Suite supplies light and dark themes and follows the operating system
by default. Its dark palette uses near-black, muted-silver, and restrained
green accents; translucent, locally blurred panels keep operational content
legible without turning diagnostics into decoration.
by default. Its dark palette pairs a near-black canvas with muted-silver text
and restrained green accents. The visual system is intentionally layered:
locally blurred glass is reserved for persistent navigation and session
chrome, while vehicle facts and the event stream use opaque instrument
surfaces for reliable scanning at volume.
Use the appearance button in the observation bar to select **System default**,
**Light**, or **Dark**. The choice applies for the current session only.
Use **Appearance** in the desktop rail or compact session strip to select
**System default**, **Light**, or **Dark**. The choice applies for the current
session only.
## Replay workspace
The shell keeps provenance and authority visible before any detail:
- **Vehicle observation** presents the replay source, last reported heartbeat,
observed data streams, and ingress accounting. Typed replay marks integrity
as not evaluated; reported state is not a current safety authority.
- **Event stream** is a dense, copyable diagnostic timeline. Logs, runtime
errors, and orderly shutdown reports remain distinct, and bounded delivery
flags such as truncation and coalescing remain visible. The app retains a
bounded local history, prioritising runtime errors and shutdown reports, and
discloses local UI evictions separately from vehicle-side delivery loss.
- **Vehicle setup · unavailable** is explanatory text, not a disabled control.
It accurately reflects that this firmware currently accepts no inbound
MAVLink authority.
## Deliberately deferred work