As far as the win condition goes, I tried to arrange the levels so you could find that out while you play. Even though the circles are in pairs, you also need to make sure that all colors of their color are next to each other. Level 3-6 are supposed to teach you this.
I wasn’t sure how to handle swapping for even numbered shapes like squares. I thought about putting another control for the user to allow them to swap either way, but the jam was almost up. Highlighting or flashing what squares will move sounds like a good idea though! Didn’t think about that.