One HTML file that makes .dot graphs navigable
Amplifier agents describe the systems they build as static Graphviz .dot files. Render one and you get a flat image: something to look at, not something you can use.
And it's not one stray file — this is everywhere.
This isn't a corner case. Across the ANext workspace the raw material is real and at scale, so the poster problem is worth solving.
And when a graph gets this big, the flat image starts to hurt.
A flat image of a graph this size gives you no way to interrogate it. Five things you'd want to do — and can't — right where the graphs are largest.
Therefore: make the poster something you can actually use.
dotviewer is a single .dot viewer — 1,679 lines, 71,177 bytes — that renders Graphviz in-browser and layers interactivity on top. Its only dependencies are two CDN scripts.
So how do you get a graph in? You just drop it.
The viewer accepts .dot, .gv, and .graphviz via a file picker or a "Drop a .dot file here" overlay. A 47-line dotview bash shim embeds any file into a temp copy and opens it (WSL2-aware).
Once it's on screen, you can start tracing the wiring.
This is the single most map-like thing a poster can't do: trace connections. Hover previews a node's info and highlights its neighbors; clicking an edge follows the arrow and pans straight to its target.
And that's just the start of what the live map lets you do.
The static image is now a living map. Click to focus a node and dim the rest, double-click a cluster to collapse a whole subsystem, search with a live match count, and flip layout direction — all in the one file you just opened.
And the whole thing fits in a single portable file.
From first commit to final polish, dotviewer went from a 447-line pan/zoom viewer to a 1,679-line navigable map. Any .dot graph, anywhere, becomes explorable with one portable HTML file you can just open.
The poster you used to squint at is now a map you explore.
STATUS: COMMITTED & CLEAN ON MAIN
Data as of: fact-check re-run against ramparte/amplifier-toolkit (remote git@github.com:ramparte/amplifier-toolkit.git, branch main). 7 commits, all dated 2026-03-31 to 2026-04-01.
Research performed:
wc -l dotviewer.html; wc -c dotviewer.html → 1679 lines / 71177 bytes; wc -l dotview; wc -c dotview → 47 content lines / 1091 bytesgrep -nE 'https?://' dotviewer.html | grep -v 'w3.org' → @viz-js/viz@3.11.0, svg-pan-zoom@3.6.1; grep -c '<style' = 1, grep -c '<script src' = 2sed -n '210,236p' dotviewer.html + grep -nE 'isDragging|panToNode|spotlight|collapseCluster|expandCluster|searchCount'grep -n "label: '" dotviewer.html → 6 (Dark, Light, Midnight, Solarized Dark, Blueprint, High Contrast)find . -name '*.dot' -type f | grep -v node_modules | grep -v '/.git/' | wc -l → 363; largest via xargs wc -l | sort -rn | head → 736 (03-graph-model.dot)git log --format='%h %an %ad %s' --date=iso -- dotviewer.html; git log --format='%an' -- dotviewer.html | sort | uniq -cGaps: The .dot file count (363) drifts as the workspace changes — presented as "hundreds of." No per-graph node count is asserted; the scale claim is line- and file-count based. No test suite, benchmark, or adoption telemetry exists, so no performance or usage claims are made.
Primary contributors: Sam Schillace (4 commits on dotviewer.html), Amplifier Dev (3 commits).