View / surface
Timeline (priority / trackers)
Kind
Interaction / drag-drop
Theme
Multiple
HPPM version
0.26
Steps to reproduce
- Drag a bar edge to extend/shrink start or due — note ghost/duplicate preview.
- Drag a bar body across dates/lanes near dense bars — note jumps / unclear packing with neighbors.
- Observe cursors during drag vs resize (often default arrow).
Expected vs actual
Expected:
- Resize feels direct on the real bar (no confusing ghost), or a single intentional preview that is obviously “the resize.”
- Move shows clear snap + collision/packing feedback before mouse-up (siblings react while hovering a snap target — Kanban-like gap feel, or another readable pattern if layout is packing-driven).
- Cursors match mode: grab/grabbing on body,
ew-resize on edges.
Actual: Ghost on resize; move can feel like it messes up neighboring issues without a clear live preview.
Implementer notes: Spike packing vs visual-only preview first; live-update dragged bar; animate others with transforms; commit on drop; keep theme-aware motion; PR with gif/screenshots. Sticky labels are a separate issue. Call shared start≤due helpers if needed. Out of scope: sticky titles (separate issue).
Active when it happens
Visual notes (optional)
Compare to Kanban card gap animation while dragging; Timeline should communicate snap/collision at least as clearly.
View / surface
Timeline (priority / trackers)
Kind
Interaction / drag-drop
Theme
Multiple
HPPM version
0.26
Steps to reproduce
Expected vs actual
Expected:
ew-resizeon edges.Actual: Ghost on resize; move can feel like it messes up neighboring issues without a clear live preview.
Implementer notes: Spike packing vs visual-only preview first; live-update dragged bar; animate others with transforms; commit on drop; keep theme-aware motion; PR with gif/screenshots. Sticky labels are a separate issue. Call shared start≤due helpers if needed. Out of scope: sticky titles (separate issue).
Active when it happens
Visual notes (optional)
Compare to Kanban card gap animation while dragging; Timeline should communicate snap/collision at least as clearly.