toolpath-dot
Generate Graphviz DOT visualizations from Toolpath documents.
Overview
This crate renders any Toolpath Document (Step, Path, or Graph) as a Graphviz DOT string. Steps are colored by actor type, dead ends are highlighted, and the DAG structure is preserved visually.
Depends only on toolpath -- no external rendering libraries.
Usage
use Document;
use ;
let doc = from_json?;
let dot = render;
println!;
Pipe through Graphviz to produce images:
| |
Render options
use RenderOptions;
let options = RenderOptions ;
API
| Function | Description |
|---|---|
render(doc, options) |
Render any Document variant |
render_step(step, options) |
Render a single Step |
render_path(path, options) |
Render a Path with its step DAG |
render_graph(graph, options) |
Render a Graph with subgraph clusters per path |
actor_color(actor) |
Get the fill color for an actor type |
escape_dot(s) |
Escape a string for DOT labels |
escape_html(s) |
Escape a string for HTML-like labels |
Visual conventions
| Actor type | Color |
|---|---|
human:* |
Blue (#cce5ff) |
agent:* |
Green (#d4edda) |
tool:* |
Yellow (#fff3cd) |
ci:* |
Purple (#e2d5f1) |
| Dead ends | Red dashed border (#ffcccc) |
| BASE node | Gray ellipse |