Currently the move tool blocks the move if the location would overlap another element and stops at the adjacent element (which is great). However, there are a few minor things we should improve:
If I move beyond the adjacent element and underneath the mouse would again be enough room for the element to be moved, the moved element doesn't follow. So I have to drag it around the other elements so that the move succeeds. This is unexpected and a bit cumbersome, especially in crowded diagrams. I would prefer that the move is blocked if at the current mouse location there is not enough room for the moved element and that the element stops at the adjacent element. However, if I move beyond the next element, the moved element would snap from the adjacent element back to the mouse location as soon as there is enough room for it to drop without overlap.
If I move the element rather fast above another element, it doesn't perfectly attach to the adjacent element because it stopped moving. Please rather check if I'm above another element that the move doesn't stop where it is at entering the area of the other element, but then put it exactly attached to it.
Element jumps work for single-element selection. In case of multi-selection the elements will hang once a collision is detected.
Element snapping works as described in the second bullet-point.
Currently the move tool blocks the move if the location would overlap another element and stops at the adjacent element (which is great). However, there are a few minor things we should improve: