1
0
Fork 0
Code Issues Pull requests Projects Releases 2 Packages Wiki Activity Actions Pages

Add graph viewport controls

This commit is contained in:
Andraxion 2026-07-24 16:09:56 -04:00
parent 195a57210a
commit 5a17830b9a
13 changed files with 204 additions and 20 deletions

View file

@ -23,7 +23,7 @@ approved contract and measured cross-project evidence; it is not an unimplemente
- Result envelope: `schemas/result.schema.json`, version 1.
- Changeset schema: `schemas/changeset.schema.json`, version 1.
- Index schema: version 1, disposable and reproducible.
- Core, CLI, and MCP server: version 0.7.0.
- Core, CLI, and MCP server: version 0.7.1.
Schema files describe the generic interchange contract. Runtime validation remains responsible for
path confinement, source hashing, relationship resolution, dependency cycles, project limits, stale
@ -105,6 +105,11 @@ overview, bounded search, exact node content, and bounded incoming-and-outgoing
There is no write endpoint, arbitrary query endpoint, static filesystem handler, external asset,
or project-selection control.
The `graph-browser@2` template provides mouse-wheel zoom centered on the pointer, left-button drag
pan, explicit zoom-in and zoom-out buttons, a reset-view button, and a live zoom percentage. A
four-pixel drag threshold preserves node activation for ordinary clicks. Loading another root node
resets the viewport so the new neighborhood begins centered and fully framed.
One MCP process owns at most one listener. Repeated invocations reuse it and may replace its
validated snapshot only after a fresh index check. The listener stops with the MCP process.
Project-specific integrations receive the same tool because it operates on the supplied

View file

@ -61,7 +61,7 @@ only through the explicit local CLI integration command.
## Visualization boundary
`docforge_visualize` starts the fixed built-in `graph-browser@1` template against the currently
`docforge_visualize` starts the fixed built-in `graph-browser@2` template against the currently
validated derived index. It may focus one stable node, run one bounded lexical query, or open the
project overview. The tool returns a loopback URL and exact snapshot identity.
@ -69,6 +69,8 @@ The tool cannot select a project, database, template, host, port, filesystem pat
expression. Its HTTP surface is token-bound, read-only, same-origin, and limited to overview,
search/filter, and node-neighborhood JSON. The browser exposes an exact validated index snapshot.
It rejects index replacement or alteration and requires another MCP invocation to refresh.
Viewport interaction is entirely client-side: wheel zoom, left-button drag pan, explicit zoom
buttons, and reset never request or mutate project data.
## Excluded tools