multi-view: drag-to-dock (pane↔pane + sidebar→canvas) #32

Closed
opened 2026-06-21 21:41:51 +01:00 by naps62-yolo · 0 comments
Collaborator

Part of the multi-view web epic #37.

Description

Drag a pane title onto another pane for a VS Code-style 5-zone dock (edges split, centre swaps); and drag a session from the sidebar into the canvas to choose where it lands (spawn, or move if already open).

Acceptance criteria

  • Dragging a pane title shows a 5-zone overlay on the hovered pane; drop re-docks (edge = split, centre = swap).
  • Dragging a sidebar row past a threshold drags (tap still opens); drop spawns there, or moves if already in the tab.
  • No duplicate panes after a move; focus follows the dropped pane.

Technical notes

  • Generalise the drag engine from prototype/variant-tree.ts (runDrag, updateDock, finishDrag, DragSource = leaf | session).
  • Sidebar leaf forwards pointerdown to a host beginSessionDrag hook; disabled on mobile.
  • Decide centre-drop asymmetry (sidebar replace vs pane↔pane swap) — PRD open Q3.
Part of the multi-view web epic #37. ### Description Drag a pane title onto another pane for a VS Code-style 5-zone dock (edges split, centre swaps); and drag a session from the sidebar into the canvas to choose where it lands (spawn, or move if already open). ### Acceptance criteria - [ ] Dragging a pane title shows a 5-zone overlay on the hovered pane; drop re-docks (edge = split, centre = swap). - [ ] Dragging a sidebar row past a threshold drags (tap still opens); drop spawns there, or **moves** if already in the tab. - [ ] No duplicate panes after a move; focus follows the dropped pane. ### Technical notes - Generalise the drag engine from `prototype/variant-tree.ts` (`runDrag`, `updateDock`, `finishDrag`, `DragSource = leaf | session`). - Sidebar leaf forwards pointerdown to a host `beginSessionDrag` hook; disabled on mobile. - Decide centre-drop asymmetry (sidebar replace vs pane↔pane swap) — PRD open Q3.
naps62-yolo added a new dependency 2026-06-21 21:42:56 +01:00
naps62-yolo added a new dependency 2026-06-21 21:42:56 +01:00
This repo is archived. You cannot comment on issues.
1 Participants
Due Date
No due date set.
Reference: naps62/maestro#32