This epic tracks the advanced refinement and functional expansion of the Cross-Window Drag & Drop system ("Infinite Canvas").
Scope:
-
Theming Strategy:
- Implement configurable behavior for dragged items:
themeMode: 'adapt' | 'retain'.
- Ensure items dropped into a different app/window correctly adopt (or resist) the target's theme.
-
Topology & Validation (Sender/Receiver Rules):
- Enhance
SortZone validation to support asymmetric flows (e.g., Inner Dashboard -> Main Dashboard allowed, but Main -> Inner blocked).
- Implement
allowDrop(draggedItem, sourceZone) hooks.
-
"Return Trip" Robustness (A -> B -> A):
- Verify and harden the logic for dragging an item out of Window A, hovering Window B, and returning to Window A.
- Ensure state tracking (
detachedItems) remains consistent and the original dashboard correctly reclaims its item without duplication or state loss.
-
Architecture & Documentation:
- Review
DragCoordinator responsibility (is it doing too much visual calculation?).
- Comprehensive JSDoc cleanup across
SortZone, DashboardSortZone, and DragCoordinator.
This epic tracks the advanced refinement and functional expansion of the Cross-Window Drag & Drop system ("Infinite Canvas").
Scope:
Theming Strategy:
themeMode: 'adapt' | 'retain'.Topology & Validation (Sender/Receiver Rules):
SortZonevalidation to support asymmetric flows (e.g., Inner Dashboard -> Main Dashboard allowed, but Main -> Inner blocked).allowDrop(draggedItem, sourceZone)hooks."Return Trip" Robustness (A -> B -> A):
detachedItems) remains consistent and the original dashboard correctly reclaims its item without duplication or state loss.Architecture & Documentation:
DragCoordinatorresponsibility (is it doing too much visual calculation?).SortZone,DashboardSortZone, andDragCoordinator.