Skip to main content

Crate facett_syschart

Crate facett_syschart 

Source
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.0 of the canvas), so the layout is resolution-independent and deterministic — ideal for headless rendering and screenshots.
SystemChart
The system-map chart: nodes + edges + the current selection.