Unfortunately, even with the current work on
FLUID-1148, this issue is still not resolved - it is more problematic than it appears, and some of the analysis above isn't quite right.
The issue arises because we are using "natural DOM flowing" for layout. Therefore elements (and indeed also the drop marker!) will naturally tend to appear "just where there is room for them". So the current behaviour is actually consistent, and undesirable - there is "almost always" room for a drop marker at the end of a row, but there is "never" room for a whole cell (since otherwise it would have appeared there). Therefore the drop marker always appears at the end of the "first row" (in Anastasia's walkthrough), but the actual item always appears at the start of the second row.
It's hard to see on the face of it how we could resolve this, except by some rather odd requirements on the way we create drop markers (or the way we conceive of cells). One way to do this would be to create the drop marker *inside* the cell which starts the 2nd row - however, this represents a form of "DOM fascism" and may well in some cases create invalid markup (imagine the case where a cell is a <tr>).
Well, actually, the above issue highlights some further problems - we could never actually have a drop marker within a table that was not itself a <tr> element. Therefore it seems the only way out of this is to add a parameterisation for the drop marker placement "strategy" as well as its creation.
1. Dragging on the first item in a row (Left half of thumbnail):
We should show the drop affordance directly to the left of the item.
2. Dragging on the last item in a row (Right half of thumbnail):
We should show the drop affordance to the left of the first item in the NEXT row.