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

Polish sparse graph navigation

This commit is contained in:
Andraxion 2026-07-24 22:54:19 -04:00
parent 5ccb336e84
commit 7834461eb9
8 changed files with 148 additions and 28 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.8.1.
- Core, CLI, and MCP server: version 0.8.2.
Schema files describe the generic interchange contract. Runtime validation remains responsible for
path confinement, source hashing, relationship resolution, dependency cycles, project limits, stale
@ -105,11 +105,14 @@ overview, bounded search, exact node content, bounded incoming-and-outgoing neig
lease heartbeat. The heartbeat changes no project or index state. There is no write endpoint,
arbitrary query endpoint, static filesystem handler, external asset, or project-selection control.
The `graph-browser@5` template provides mouse-wheel zoom centered on the pointer, left-button drag
The `graph-browser@6` 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 defers pointer capture and preserves node activation for ordinary clicks.
Loading another root node resets the viewport so the new neighborhood begins centered and fully
framed. Empty-canvas guidance is hidden whenever a neighborhood is rendered.
Loading another root node fits the viewport to the returned neighborhood, including a useful
minimum scale for a single-node result. The current root begins selected, and activating another
graph node moves the visible selection ring to it. Space centers the viewport on the selected node
without changing zoom. Reset restores the fitted neighborhood view. Empty-canvas guidance is hidden
whenever a neighborhood is rendered.
Activating a graph node opens a modal inspector containing that node's complete validated metadata
and content. Inspection does not replace the current neighborhood or reset the viewport. The modal

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@5` template against the currently
`docforge_visualize` starts the fixed built-in `graph-browser@6` 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.
@ -70,12 +70,13 @@ expression. Its HTTP surface is token-bound, read-only, same-origin, and limited
search/filter, node-neighborhood JSON, and a read-only browser-lease heartbeat. 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. Graph-node activation fetches exact node
data from the same bounded read endpoint and opens a client-side modal inspector. Replacing the
current root requires the modal's explicit Explore neighborhood action. The open browser renews a
bounded lease in a detached local worker, so standard-input transaction completion does not close
the listener. The worker tracks the longer-lived MCP client host and closes when that owner exits.
Viewport interaction is entirely client-side: fitted neighborhood framing, wheel zoom, left-button
drag pan, explicit zoom buttons, reset, and Space-to-center selection never request or mutate
project data. Graph-node activation visibly selects the node, fetches exact node data from the same
bounded read endpoint, and opens a client-side modal inspector. Replacing the current root requires
the modal's explicit Explore neighborhood action. The open browser renews a bounded lease in a
detached local worker, so standard-input transaction completion does not close the listener. The
worker tracks the longer-lived MCP client host and closes when that owner exits.
Explicit service shutdown closes its tracked worker, and abandoned pages expire.
## Excluded tools

View file

@ -16,10 +16,11 @@ The DocForge repository contains the complete generic CLI and stdio MCP server.
- Project identity, validation, exact-node retrieval, lexical search, and filtering.
- Backlinks, dependency traversal, impact traversal, and bounded context profiles.
- `docforge_visualize`, which starts the token-protected, loopback-only `graph-browser@5` viewer.
- `docforge_visualize`, which starts the token-protected, loopback-only `graph-browser@6` viewer.
The viewer supports search, family filtering, exact-node inspection, bounded neighborhoods,
modal inspection without losing the current neighborhood, explicit neighborhood exploration,
mouse-wheel zoom, left-button drag panning, zoom controls, and viewport reset.
fitted single- and multi-node framing, visible node selection, Space-to-center, mouse-wheel zoom,
left-button drag panning, zoom controls, and viewport reset.
- Isolated documentation changesets, proposal validation, diffs, and escaped HTML previews when a
proposal writer and render view are configured.