channels_ui library

A PanelDescriptor drawn — the widgets the cockpit and the in-app overlay both use.

Split from package:flutterware/channels.dart rather than exported beside it: the vocabulary is for anything that talks to a panel, and most of that is not a Flutter program. fw and the MCP server are pure Dart, and a single library would have made importing PanelDescriptor enough to pull material.dart into both.

Everything here is a View: it takes the descriptor, the events and the snapshots as plain data and hands every interaction back as a callback. It holds no channel and fetches nothing, which is what lets one widget serve a cockpit attached over a VM service and an overlay inside the app itself.

Classes

ActionControl
One action: a button, or a form and a button when it takes parameters.
ControlsView
FeedView
KnobControl
One knob, as the control its KnobKind calls for.
PanelGap
A square spacer, the published-package twin of the GUI's Gap.
PanelStyle
PanelSurface
A transparent Material under a rendered panel.
PanelView
StateView
A state snapshot as a field table.

Functions

formatBytes(num bytes) → String
formatDuration(num ms) → String
formatFieldValue(FieldDescriptor field, Object? value) → String
One payload value as text, according to its declared FieldKind.