What approach to do intelligent drag drop like this in react? (canvas or non-canvas based approach?). That is to use React (with a library such as React DND) without using cavas, OR move to rendering/drawing this within React using HTML 5 "canvas" (with potentially a library such as "react-konva".
Requirements:
when dragging the item, the other items behind "move" to calculate and show what the final re-arrangement will look like (if the drag is allowable)
may be drop points for which move is not allowed so would highlight this as well (e.g. if some other items in the timeline were "locked")