Expand description
facett-syschart — a system-map chart: a handful of free-positioned
peer nodes (not a layered DAG) joined by edges, each carrying a badge
(a count / status number) and, when selected, an inline expandable detail
panel. Click a node to select it; its detail renders in a panel under the
canvas. The host owns what a node’s detail is (a string here; richer hosts
draw their own widgets after ui() keyed off SystemChart::selected).
This is the piece facett_core::draw/[facett_graph::GraphView] don’t
cover — those paint a non-interactive Scene; DepGraphView is a
layered DAG with a fixed deps/dependents drill-down. A “monitoring map” of
a few peer systems (a PKI/OIDC/Nexus triangle, a service mesh) wants
deterministic positions, a per-node badge, click-select, and a free-form
detail panel — that’s SystemChart.
Like every facett component it implements Facet: title / ui /
state_json (every node, badge, edge + the selection), so it drops into a
FacetDeck and is robot-testable through facett_core::harness — drive
SystemChart::select headlessly and assert state_json.
Structs§
- SysEdge
- An undirected link between two node ids.
- SysNode
- One system in the map. Positions are normalized (
0.0..=1.0of the canvas), so the layout is resolution-independent and deterministic — ideal for headless rendering and screenshots. - System
Chart - The system-map chart: nodes + edges + the current selection.