Each region is half a tile offset from its neighbors AND the voids between them. You can't move a tile into a void, but you can move a tile to half-on a void.
If you need more my solution is in a different comment on this page.