Move source to just above or below target — or, target null, to the end of the page's
layers — as one undo step, and select it.
⚠️ Done here, not through Spread.reoder_page_elements(): its reoder_element() put a layer
dragged DOWN one row too far (it inserts at to + 2), so dragging the top layer onto the
third landed it last. A move stays within its own level — the page, or the group it sits in —
as it always has; a drop on another level changes nothing.
Show where a drop will land: a line above or below target, or — target null — below the
last row, for the empty space under the list. One line at a time.
The row being dragged, set on dragstart.