feat(ground-suite): redesign observability console
This commit is contained in:
1 parent
c67d553076
commit
153b0bf262
12 files changed
+1145
-507
No files matched your search
+28
-9
@@ -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
|
||||
|
||||
|
||||
Reference in new issue
Block a user