# Active slice ```text Slice: DFG-11 graph viewport navigation (complete) Goal: Make dense DocForge node neighborhoods navigable without changing their graph data or authority boundary. In scope: Pointer-centered mouse-wheel zoom; left-button drag pan; explicit zoom-in, zoom-out, and reset controls; a live zoom percentage; a drag threshold that preserves node clicks; viewport reset when a new root loads; responsive styling; focused HTML interaction-contract checks; JavaScript syntax validation; and complete regression verification. Out of scope: Graph mutation; node reposition persistence; alternate layouts; minimaps; touch gestures beyond pointer-event compatibility; arbitrary templates; external hosting; canonical writes; or any new HTTP endpoint. Done when: Users can zoom and pan the SVG canvas, ordinary node clicks still navigate, controls remain discoverable and keyboard-operable, the HTTP surface is unchanged, and the complete DocForge gate passes. Owners: DocForge owns the viewport state and controls. The configured project continues to own graph facts. The MCP process continues to own the snapshot and listener lifetime. ``` **Next gate:** None planned. Measure actual graph-browser use before extending layout, export, minimap, or remote-access policy. Canonical application remains permanently out of scope under `docs/APPLICATION_DECISION.md`.