Too bad that can't be done in an Interactive Diagram. :~(
Well, Interactive Diagrams also allow scripting, through supplying a JavaScript xxxTinker routine that would post-process all generated moves. You could also use that to add dragging along dummy neighbors, which would have no moves of their own, or reject moves where this dragged neighbor would collide with something. (Or you might alter the XBetza of the moving partner to make lame detours for guaranteeing the involved squares are empty. E.g. a forward Rook move that should be able to drag along a dummy on the square on the right of it without collisions could be fr(ablabr)ablF.)
Well, Interactive Diagrams also allow scripting, through supplying a JavaScript xxxTinker routine that would post-process all generated moves. You could also use that to add dragging along dummy neighbors, which would have no moves of their own, or reject moves where this dragged neighbor would collide with something. (Or you might alter the XBetza of the moving partner to make lame detours for guaranteeing the involved squares are empty. E.g. a forward Rook move that should be able to drag along a dummy on the square on the right of it without collisions could be fr(ablabr)ablF.)