Summary
We already support basic DAG visualization for traced graphs. The Tracer produces an InferenceGraph, and plait.graph.visualize_graph(graph) renders it to Graphviz DOT for use with Graphviz or viz.js. See examples/03_tracing.py and docs/design/tracing.md.
Current behavior (implemented)
- DOT export via
visualize_graph in src/plait/graph.py.
- Node shapes: inputs = box, outputs = doubleoctagon, intermediates = ellipse.
- Node labels use
GraphNode.module_name (fallback to node ID when empty).
- Branching info is appended as
\n[True|False] when branch_condition is set.
- Edges are drawn from
GraphNode.dependencies.
- Example shows rendering via
dot -Tpng graph.dot -o graph.png or viz-js.
Not implemented / potential follow-ups
- Parameter/value previews in node labels.
- CLI/helper to render DOT to PNG/SVG.
- Mermaid output.
- Execution-state highlighting in the graph.
Acceptance Criteria (updated)
Summary
We already support basic DAG visualization for traced graphs. The
Tracerproduces anInferenceGraph, andplait.graph.visualize_graph(graph)renders it to Graphviz DOT for use with Graphviz or viz.js. Seeexamples/03_tracing.pyanddocs/design/tracing.md.Current behavior (implemented)
visualize_graphinsrc/plait/graph.py.GraphNode.module_name(fallback to node ID when empty).\n[True|False]whenbranch_conditionis set.GraphNode.dependencies.dot -Tpng graph.dot -o graph.pngor viz-js.Not implemented / potential follow-ups
Acceptance Criteria (updated)
InferenceGraphviavisualize_graph.examples/03_tracing.pywith rendering guidance.