feat(graph): filter bar — path glob, tag include/exclude, depth (T-323)

Switches the controller from pql.outlinks to pql.meta (outlinks + tags in
one call per file) and strips #heading fragments from link targets, so a
heading link now connects the two notes. Adds a filter bar above the graph:
a path glob that re-queries pql on submit, a depth-from-active selector for
the local graph around the open note, and tri-state tag pills
(neutral / include / exclude). The pane draws the filtered visibleGraph.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-07-02 21:42:50 +02:00
co-authored by Claude Opus 4.8
parent f859173b98
commit aabec87d9a
7 changed files with 376 additions and 70 deletions
+6 -1
View File
@@ -1,4 +1,9 @@
{
"tab.graph.title": { "translation": "Graph" },
"graph.empty": { "translation": "No linked notes in this vault." }
"graph.empty": { "translation": "No linked notes in this vault." },
"graph.empty.filtered": { "translation": "No notes match the filter." },
"graph.empty.nolocal": { "translation": "Open a note to see its local graph." },
"graph.filter.glob": { "translation": "Path glob, e.g. notes/**" },
"graph.filter.depth": { "translation": "Local" },
"graph.filter.all": { "translation": "All" }
}
+6 -1
View File
@@ -1,4 +1,9 @@
{
"tab.graph.title": { "translation": "Grafiek" },
"graph.empty": { "translation": "Geen gekoppelde notities in deze vault." }
"graph.empty": { "translation": "Geen gekoppelde notities in deze vault." },
"graph.empty.filtered": { "translation": "Geen notities voldoen aan het filter." },
"graph.empty.nolocal": { "translation": "Open een notitie om de lokale grafiek te zien." },
"graph.filter.glob": { "translation": "Padpatroon, bijv. notes/**" },
"graph.filter.depth": { "translation": "Lokaal" },
"graph.filter.all": { "translation": "Alles" }
}