VaultGraph.fromOutlinks builds the graph from pql's per-file outlinks: every file a node (labelled by basename), each outlink to a known file an edge; self/dangling links dropped, parallels de-duped. neighborhood() drives the hover-highlight; edgePairs feeds the ForceLayout solver. Pure Dart, dart-tested (6 cases). The graph pane's data layer, on top of the solver. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>