Skip to content

refactor(graph): extract gesture sub-handlers from GraphInteractionHandler - #23

Merged
veillette merged 1 commit into
mainfrom
claude/refactor-gesture-handlers-Gl9ym
Feb 22, 2026
Merged

refactor(graph): extract gesture sub-handlers from GraphInteractionHandler#23
veillette merged 1 commit into
mainfrom
claude/refactor-gesture-handlers-Gl9ym

Conversation

@veillette

Copy link
Copy Markdown
Collaborator

The 930-line GraphInteractionHandler monolith is replaced by five focused
sub-handlers, each owning its own state and gesture logic:

  • ZoomGestureHandler — wheel zoom, pinch-to-zoom, double-click reset,
    zoomIn() / zoomOut() programmatic API
  • PanGestureHandler — drag-to-pan, pan() programmatic API
  • AxisGestureHandler — per-axis touch pan/pinch and mouse drag/wheel
  • HeaderDragHandler — header-bar drag to reposition the panel
  • ResizeGestureHandler — corner resize handles with min-size enforcement

GraphInteractionHandler is now a thin 176-line coordinator that constructs
the sub-handlers and delegates all public methods (zoomIn, zoomOut, pan,
createResizeHandles, updateDimensions, updateResizeHandlePositions) to them.
The public API and ConfigurableGraph call sites are unchanged.

https://claude.ai/code/session_013dWYKSZB811fgmpamGvtep

…ndler

The 930-line GraphInteractionHandler monolith is replaced by five focused
sub-handlers, each owning its own state and gesture logic:

- ZoomGestureHandler  — wheel zoom, pinch-to-zoom, double-click reset,
                        zoomIn() / zoomOut() programmatic API
- PanGestureHandler   — drag-to-pan, pan() programmatic API
- AxisGestureHandler  — per-axis touch pan/pinch and mouse drag/wheel
- HeaderDragHandler   — header-bar drag to reposition the panel
- ResizeGestureHandler — corner resize handles with min-size enforcement

GraphInteractionHandler is now a thin 176-line coordinator that constructs
the sub-handlers and delegates all public methods (zoomIn, zoomOut, pan,
createResizeHandles, updateDimensions, updateResizeHandlePositions) to them.
The public API and ConfigurableGraph call sites are unchanged.

https://claude.ai/code/session_013dWYKSZB811fgmpamGvtep
@veillette
veillette merged commit 96a72bc into main Feb 22, 2026
1 check failed
@veillette
veillette deleted the claude/refactor-gesture-handlers-Gl9ym branch February 22, 2026 19:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants