Skip to content

Data Flow Visualization for InferenceModule #4

@eric-tramel

Description

@eric-tramel

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)

  • DOT export for InferenceGraph via visualize_graph.
  • Shapes differentiate inputs/outputs/intermediates.
  • Dependencies rendered as edges.
  • Branch condition labels included.
  • Example in examples/03_tracing.py with rendering guidance.
  • Optional: parameter/value previews in node labels.
  • Optional: CLI/helper to render DOT to PNG/SVG.
  • Optional: Mermaid/interactive visualization.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions