Skip to main content

render_dot

Function render_dot 

Source
pub fn render_dot(
    graph: &AuthorityGraph,
    filter_job: Option<&str>,
    label_detail: DiagramLabelDetail,
    job_collapse: DotJobCollapse,
) -> String
Expand description

Render the authority graph as a Graphviz DOT digraph string.

When filter_job is Some(name), restricts the output to the subgraph reachable (in either edge direction) from any Step node whose META_JOB_NAME metadata equals name. When None, includes every node and edge.

Output is deterministic — nodes and edges are emitted in their stored (insertion) order, which makes the result diff-friendly and testable.

label_detail controls optional rich labels; DiagramLabelDetail::Compact preserves the historical default (node name only).

When job_collapse is DotJobCollapse::On, every step in the same META_JOB_NAME bucket is drawn as one ellipse inside a subgraph cluster_* (Graphviz cluster per job). Non-step nodes keep their canonical n<id> ids.