Remix.run Logo
concavebinator a day ago

Reminds me of a 2D puzzle I solved using Haskell https://github.com/concavegit/tile-placement-puzzle

IIRC it kept a list of board states, updated the list of board states by taking each one and applying possible moves, then removed congruencies or any state that did not have a valid next move.

The pattern seems similar to your approach that deals with rotations, though in 3D