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].
FC-2 / FC-9 contract
Built on [facett_core::Elm]: the complete observable state lives in one
serializable [SysChartModel] (state); every
input is a [Msg] applied through the single mutation path
update (FC-2); and view is a
pure function of &self that paints and returns the [Msg]s the frame
produced (FC-9). impl_facet_via_elm!
writes the impl Facet bridge (for m in view(ui) { update(m) }). A headless
driver ([facett_core::harness]) feeds a Vec<Msg> and snapshots
state with no egui / no GPU.