User Story: Interactive Dependency Graph Visualization
Estado de fase (MASTER-00): POST_MVP — documento de catálogo de producto sujeto a validación; no es alcance aprobado de Gate 0 / PoC / MVP. Gobernanza: MASTER-00.
User Story: Interactive Dependency Graph Visualization
Sección titulada «User Story: Interactive Dependency Graph Visualization»User Story Statement
Sección titulada «User Story Statement»As a software developer, architect, or engineering manager,
I want an interactive visual graph canvas displaying all atomic documentation nodes and directed edges with real-time filtering, search, zoom/pan, and node detail inspection,
So that I can intuitively comprehend system architecture dependencies, navigate documentation visually, and identify structural relationships across the project.
Business Rationale & User Impact
Sección titulada «Business Rationale & User Impact»The interactive dependency graph is the signature visual feature of DocuGraph. Traditional documentation systems present specifications as flat lists of files, obscuring parent-child relationships and making dependency analysis tedious. As defined in VISION-00, transforming static Markdown headers into an interactive DAG canvas enables software architects to instantly evaluate system complexity and identify architectural bottlenecks.
User Flow & Interaction Overview
Sección titulada «User Flow & Interaction Overview»- User selects an indexed project (US-02) from the Project Dashboard (
FE-02). - Client sends request to backend endpoint
operationId: buildGraphto retrieve project node and edge lists. - Graph Engine parses node frontmatters (
:docugraph-core) and constructs DAG adjacency matrices. - Compose Graph Canvas (
FE-03) renders visual nodes (color-coded bytype:user_story,root_doc,backend_spec,frontend_spec,database_schema) and directed edges (depends_on). - User navigates canvas via pinch-to-zoom, pan, or click-and-drag node positioning.
- User applies dynamic tag/type filters or enters text search queries to highlight relevant subgraphs.
- Clicking any node slides open the Node Inspector drawer (
FE-04), displaying YAML metadata, rendered Markdown content, and direct navigation links to dependent files.
Acceptance Criteria (Gherkin Format)
Sección titulada «Acceptance Criteria (Gherkin Format)»Scenario 1: DAG Canvas Rendering
Sección titulada «Scenario 1: DAG Canvas Rendering»Given an indexed documentation project with valid atomic nodes and explicit dependency linksWhen the user opens the Graph View screenThen the client dispatches a request to build the dependency graph (operationId: buildGraph)And upon receiving node records (table: nodes) and edge records (table: node_edges)Then the GraphCanvas component (FE-03) visually renders all atomic nodes with color coding matching their document typeAnd directed arrows connect parent nodes to child nodes strictly adhering to "depends_on" metadataScenario 2: Interactive Canvas Navigation (Pan & Zoom)
Sección titulada «Scenario 2: Interactive Canvas Navigation (Pan & Zoom)»Given a rendered dependency graph canvas containing 50+ documentation nodesWhen the user performs touch pinch-to-zoom or mouse scroll wheel zoomingThen the canvas smoothly scales node dimensions and font sizes between 0.25x and 3.0x magnificationAnd when the user performs click-and-drag panningThen the canvas viewport shifts seamlessly across the 2D coordinate space at 60 FPSScenario 3: Multi-Criteria Dynamic Filtering & Search
Sección titulada «Scenario 3: Multi-Criteria Dynamic Filtering & Search»Given a displayed graph canvas with diverse document types and tagsWhen the user selects filter criteria "type: user_story" and "tag: auth"Then non-matching nodes are instantly hidden with smooth fade animationsAnd non-relevant directed edges are hiddenAnd the canvas dynamically auto-centers on the active matching subgraphScenario 4: Node Inspector Slide-out Panel Inspection
Sección titulada «Scenario 4: Node Inspector Slide-out Panel Inspection»Given a displayed node representing "US-01" on the graph canvasWhen the user clicks or taps on the nodeThen the selected node receives a visual highlight focus borderAnd the Node Inspector drawer (FE-04) slides out from the right marginAnd displays the full YAML frontmatter, rendered Markdown body text, upstream dependencies, and downstream linkage buttonsFunctional Requirements & Constraints
Sección titulada «Functional Requirements & Constraints»- Rendering Performance: The Compose Graph Canvas (
FE-03) must render up to 1,000 nodes and 2,500 edges at a minimum of 60 frames per second on desktop and tablet devices. - Layout Engine: Nodes must be positioned using a force-directed layout algorithm with hierarchical fallback for structured DAG layers.
- Multiplatform Parity: Gesture interactions (pinch-to-zoom on touchscreens, trackpad pan gestures, mouse wheel drag) must feel native across Android, iOS, and Desktop (JVM) targets.
Downstream Atomic Mapping
Sección titulada «Downstream Atomic Mapping»This User Story serves as the direct upstream source of truth for the following downstream specifications:
- Interaction Specification: IX-03_graph-inspection-flow.md (
IX-03) — Graph canvas gesture interactions, node selection logic, and drawer animations. - Backend Specification: BE-03_graph-build.md (
BE-03) — Ktor route handler forGET /api/v1/projects/{id}/graph. - API Contract: openapi.yaml — Single source of truth for REST endpoint with
operationId: buildGraph. - Frontend Specifications:
- FE-03_graph-canvas.md (
FE-03) — Interactive Compose Graph Canvas component. - FE-04_node-inspector.md (
FE-04) — Slide-out Node Inspector panel component.
- FE-03_graph-canvas.md (
- Database Schema: 01_DATABASE_SCHEMA.md (
table: nodes,table: node_edges) — Relational nodes and edge graph storage.
Traceability Index
Sección titulada «Traceability Index»- Upstream Dependencies:
- docs/00_BUSINESS_VISION.md (
VISION-00) — Core Visual Product Intent. - US-02_create_project.md (
US-02) — Indexed Project Workspace requirement.
- docs/00_BUSINESS_VISION.md (
- Downstream Direct Linkages (Planned M2/M3):
IX-03_graph-inspection-flow.md(IX-03)BE-03_graph-build.md(BE-03)FE-03_graph-canvas.md(FE-03)FE-04_node-inspector.md(FE-04)
- Related Stories:
- US-04_get_task_context.md (
US-04) — Node selection powering MCP context bundle extraction. - US-05_validate_traceability.md (
US-05) — Visual rendering of graph validation errors.
- US-04_get_task_context.md (