dorfteich/packages/shared/i18n/en/graph.json
Claude Fable 5 dbbe229cb9
Some checks failed
CD / Deploy to Test (push) Blocked by required conditions
CD / Smoke tests against Test (push) Blocked by required conditions
CD / Promote to Int (push) Blocked by required conditions
CI / Auth e2e pack (push) Blocked by required conditions
CI / Import/export fidelity gate (push) Blocked by required conditions
CI / Build container images (push) Blocked by required conditions
CD / Build and push images (push) Has been cancelled
CI / Lint, typecheck, test (push) Has been cancelled
Pond knowledge graph view (#112)
/p/:pondSlug/graph (static segment ranked above :pageSlug, same
documented reserved-slug gap as trash/settings) renders the pond's
readable wikilink graph from GET /ponds/:id/links: pages as nodes
colored by their first label (legend included, DEFAULT_LABEL_COLOR for
unlabeled), resolved links as edges, phantom targets as dashed nodes —
clicking one offers to create the page, which resolves its links.

Rendering is a self-contained SVG force graph: only d3-force is
bundled (no d3 DOM/zoom modules, zero external requests); the layout
runs synchronously to rest, zoom/pan/node-drag are plain pointer math.
SVG over canvas deliberately — every node carries a data-testid the
e2e packs can click. Ponds beyond 500 pages get a capped-view notice.

Sidebar footer links every member to the graph (trash stays
owner-only). New i18n namespace graph (de+en).

Verified live: nodes/edges/legend render, node click opens the page,
phantom click creates it and the node turns solid.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-14 10:59:07 +02:00

16 lines
642 B
JSON

{
"title": "Knowledge graph",
"link": "Graph",
"hint": "Click a page to open it, drag nodes to rearrange, scroll to zoom.",
"counts": "{{pages}} pages · {{links}} links",
"empty": "No pages yet — the graph appears once pages link to each other.",
"tooLarge": "This pond has more than {{max}} pages — the graph view is capped.",
"legend": "Labels",
"unlabeled": "No label",
"phantomLegend": "Missing page (wikilink target)",
"createPhantom": "Create the page “{{slug}}”? The wikilinks pointing at it will resolve.",
"localTitle": "Local graph",
"localDepth1": "Direct neighbors",
"localDepth2": "Two hops"
}