Polish sparse graph navigation
This commit is contained in:
parent
5ccb336e84
commit
7834461eb9
8 changed files with 148 additions and 28 deletions
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue