Add semantic flow and convergence web views
This commit is contained in:
parent
f9f7105983
commit
6609edc804
14 changed files with 616 additions and 128 deletions
|
|
@ -1,4 +1,4 @@
|
|||
# DocForge 0.13 contract
|
||||
# DocForge 0.14 contract
|
||||
|
||||
## Authority boundary
|
||||
|
||||
|
|
@ -19,7 +19,7 @@ commit when Git is available; it cannot change repository state.
|
|||
- 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.13.1.
|
||||
- Core, CLI, and MCP server: version 0.14.0.
|
||||
|
||||
Schema files describe the generic interchange contract. Runtime validation remains responsible for
|
||||
path confinement, source hashing, relationship resolution, dependency cycles, project limits, stale
|
||||
|
|
@ -99,12 +99,13 @@ random token is part of every accepted URL path. Only `GET` and `HEAD` are suppo
|
|||
no-store caching, a restrictive content-security policy, frame denial, MIME sniffing protection,
|
||||
and no-referrer policy. The built-in template uses only same-origin JSON endpoints for graph
|
||||
overview, bounded search, exact descriptor-category filtering, exact node content, bounded
|
||||
incoming-and-outgoing neighborhoods, and one node's bounded project-confined source file.
|
||||
incoming-and-outgoing neighborhoods, semantic Flow ancestry, convergence Web context, and one
|
||||
node's bounded project-confined source file.
|
||||
Descriptor filtering accepts only
|
||||
family, authority, status, or tag plus one exact value. There is no write endpoint, arbitrary query
|
||||
endpoint, static filesystem handler, external asset, or project-selection control.
|
||||
|
||||
The `graph-browser@12` template provides mouse-wheel zoom centered on the pointer, left-button drag
|
||||
The `graph-browser@14` 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 fits the viewport to the returned neighborhood, including a useful
|
||||
|
|
@ -122,31 +123,35 @@ Right-clicking or pressing Shift+Enter opens the complete inspector. Inspection
|
|||
the current neighborhood or reset the viewport. Both dialogs support Escape, explicit close
|
||||
controls, and backdrop dismissal. Loading the inspected node as the new root requires the separate
|
||||
Explore neighborhood action. Non-focus nodes may be hidden from the presentation and restored
|
||||
without mutating graph state. Source actions open the project-confined source and navigate to
|
||||
without mutating graph state. Flow and Web recompute focus reachability after each hide so
|
||||
disconnected upstream-only branches are pruned while downstream convergence remains visible.
|
||||
Source actions open the project-confined source and navigate to
|
||||
supported line, TOML, heading, or text anchors. Both side panels support pointer and keyboard
|
||||
resizing. The unblurred full inspector supports native resizing, constrained title-bar dragging,
|
||||
and a fixed header/footer surrounding a scrollable body.
|
||||
|
||||
The header exposes a Nodes/Flow segmented selector. Nodes displays the complete bounded
|
||||
neighborhood. Flow displays an upstream lineage ending at the current root. Calls, dispatches,
|
||||
launches, activations, and writes retain their declared source-to-target direction. Reads, imports,
|
||||
and dependencies reverse for lineage presentation because the declared target feeds the source.
|
||||
Structural, evidence, and context relations remain available in Nodes but are excluded from Flow.
|
||||
This is a presentation transform over the validated bounded snapshot; it does not add or change
|
||||
project relationships.
|
||||
The header exposes a Nodes/Flow/Web segmented selector. Nodes displays the complete bounded
|
||||
neighborhood. Flow displays semantic ancestry ending at the current root. Structural and execution
|
||||
edges retain their declared source-to-target direction. Reads, imports, dependencies, inheritance,
|
||||
and `tested_by` reverse because their declared target feeds or qualifies the source. Documentation
|
||||
and context relations remain available in Nodes and Web but are excluded from Flow. Web follows
|
||||
all relationship types as bounded semantic contributors into the current root. It also reverses
|
||||
direct root-owned members and execution dependencies into adjacent contributor branches. Traversal
|
||||
does not fan back out through unrelated siblings. These are presentation transforms over the
|
||||
validated snapshot; they do not add or change project relationships.
|
||||
|
||||
Both views color edges by relationship semantics and retain direction with visible SVG endpoint
|
||||
All three views color edges by relationship semantics and retain direction with visible SVG endpoint
|
||||
symbols. Line patterns provide a non-color cue. A static canvas key shows the exact symbol, color,
|
||||
label, and visible count for each displayed relation, including a deterministic fallback for
|
||||
project-defined relations. Nodes and Flow use the same map.
|
||||
project-defined relations. Nodes, Flow, and Web use the same map.
|
||||
|
||||
The browser derives node presentation roles only from the returned bounded graph. The current root
|
||||
is the focus. In Nodes, nodes reachable through outgoing edges are shown as outgoing paths; the
|
||||
remaining visible nodes are incoming or lateral context. In Flow, lineage predecessors are shown as
|
||||
upstream nodes. These roles receive distinct palettes and navigation sections. An undirected
|
||||
shortest-hop calculation places Nodes on distance rings; Flow uses left-to-right distance layers
|
||||
with the destination on the right. Each role palette darkens progressively by distance, capped at
|
||||
fifty percent.
|
||||
upstream nodes. In Web, all retained contributors share the convergence role. These roles receive
|
||||
distinct palettes and navigation sections. An undirected shortest-hop calculation places Nodes on
|
||||
distance rings; Flow and Web use left-to-right distance layers with the destination on the right.
|
||||
Each role palette darkens progressively by distance, capped at fifty percent.
|
||||
|
||||
Each invocation creates or reuses one worker through the separately supervised, per-user viewer
|
||||
manager. The manager is outside the short-lived MCP transport and owns all child workers as one OS
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue