archview

UI guide

Getting around the graph.

The graph is laid out as a swimlane per module, with columns per layer (endpoint → controller → service → repository). It's a dependency-free SVG renderer embedded in the library.

Interactions

ActionWhat it does
Drag a nodeNudge a single box; its edges follow.
Drag a laneMove a whole module (band + all its nodes) together.
Click a lane headerCollapse the module into one box; click again (or the box) to expand.
Click a nodeOpen its definition in your editor (vscode / cursor).
Hover a nodeHighlight its neighbors; dim everything else.
ScrollZoom toward the cursor.
Drag the backgroundPan.

Toolbar

Top-right: Fit (frame the whole graph), Expand all / Collapse all modules, and zoom + / −.

Edges

  • Solid grey arrows are call edges (function → function).
  • Dashed amber arrows are route edges (endpoint → handler).

Data endpoint

The UI fetches its graph from {BasePath}/data as JSON — handy if you want to build your own visualization or assert on the structure in a test (av.Graph() returns the same data in Go).

On this page