Files
fusion/plugins/fusion-plugin-dependency-graph/README.md
Fusion 6ff73cf92a feat(FN-3307): add pinch-to-zoom, auto-fit, mobile layout, and empty state
Merges five branches: adds pinch-to-zoom, mobile layout, auto-fit, and empty state to the dependency graph plugin with full test coverage; implements API key fallback resolution for models.json; restores Claude usage tracking with Fusion Anthropic auth storage; and boosts dashboard test performance

Fusion-Task-Id: FN-3307
2026-05-03 11:33:58 -07:00

1.7 KiB
Raw Blame History

fusion-plugin-dependency-graph

Plugin-provided top-level Graph dashboard view for Fusion.

  • Registers dashboardViews: [{ viewId: "graph", placement: "more" }]
  • Renders active task dependency graph for triage, todo, in-progress, in-review
  • Excludes done and archived
  • Persists drag positions in browser localStorage at:
    • kb:${projectId}:dependency-graph-positions

The first version uses a lightweight custom SVG/HTML renderer (no React Flow dependency).

Mobile Support

The dependency graph view is fully usable on mobile devices:

  • Pinch-to-zoom — Two-finger pinch gestures scale the graph proportionally, clamped to [0.4×, 2×]
  • Mouse wheel zoom — Desktop users can scroll-wheel to zoom toward the pointer position
  • Auto-fit on mobile — On initial mobile load, the graph automatically fits all nodes into the viewport
  • Touch-friendly controls — Zoom In, Zoom Out, and Fit buttons have 44px minimum touch targets on mobile
  • Sticky control bar — Controls remain accessible at the top of the viewport while panning the graph on mobile
  • Touch-action isolationtouch-action: none on the canvas prevents browser gesture interference with custom pan/zoom
  • Empty state — When no active tasks exist, a centered message guides the user instead of showing an empty canvas

Supported Interactions

Input Action
Single pointer drag on canvas Pan the graph
Single pointer drag on node Move the node
Single pointer click on node Open task detail
Two-finger pinch Zoom in/out
Mouse wheel Zoom toward pointer
Zoom In / Zoom Out buttons Step zoom ±0.1×
Fit button Auto-fit all nodes to viewport