Skip to main content

Module tree

Module tree 

Source
Expand description

Parent-edge tree rendering for bl dep tree.

bl dep tree is a misnomer kept for back-compat — the tree is the parent/child hierarchy. Dep edges and gates render as inline annotations on each row, never as nesting. Cycles in parent edges shouldn’t happen in healthy data; we still defend against them so a corrupt repo doesn’t loop the renderer.

Structs§

JsonNode
Stable JSON shape: nested children rather than the flat task list so a consumer can walk the tree without re-indexing.
Node
One node in the parent-hierarchy tree.

Functions§

forest
Build the forest: every parentless task becomes a root, sorted by id for deterministic output.
render_forest
Render a forest to a string. Roots print sequentially with a blank line between them so the eye separates independent trees. Caller decides where to send the result (stdout, test buffer).
rooted
Build a single subtree rooted at root_id. Returns None if the id isn’t in the task set.