Expand description
A navigable orthogonal node-graph component for ratatui terminal UIs.
The host builds a Model (from CI, DOT, mermaid, LSP, …), pushes it into a
GraphView, renders the view into any area, and reacts to the
GraphActions it emits. The component is IO-free: no terminal setup, no
event loop, no network — sources and side effects belong to the host.
Structs§
- Edge
- Graph
Theme - Graph
View - Layered
- GitHub-style layered renderer: longest-path layering ranks the nodes; we draw rounded outlined boxes left-to-right and route orthogonal rails between columns.
- Model
- Node
- NodeId
- Stable node key from the source (a CI job name, a DOT id, a symbol path).
Enums§
- Graph
Action - What the component asks the host to do. The host owns the side effects.
- Node
Status - Status of a node, driving its color and glyph. Maps from CI job conclusions now; generic enough for other producers later.
- RankDir
- Zoom
- Level-of-detail. Terminal cells can’t sub-cell scale, so “zoom” trades box size + label detail for how much graph fits: out = compact overview, in = roomy boxes with a status line.