{- | Cubie representation. A Rubik's cube is the cartesian product of a permutation of cubies and an action on their orientations. -} module Rubik.Cube.Cubie ( -- * Complete cube CubeAction (..), FromCube (..), Cube (..), -- ** Solvability test solvable, -- * Corners numCorners, CornerPermu, CornerOrien, Corner (..), -- ** (De)construction cornerPermu, cornerOrien, fromCornerPermu, fromCornerOrien, -- * Edges numEdges, EdgePermu, EdgeOrien, Edge (..), -- ** (De)construction edgePermu, edgeOrien, fromEdgePermu, fromEdgeOrien, -- * Conversions stringOfCubeColors, toFacelet, colorFaceletsToCube, -- * UDSlice numUDSliceEdges, UDSlicePermu, UDSlice, UDSlicePermu2, UDEdgePermu2, FlipUDSlice, FlipUDSlicePermu, -- ** (De)construction uDSlicePermu, uDSlice, uDSlicePermu2, uDEdgePermu2, edgePermu2, fromUDSlicePermu, fromUDSlice, fromUDSlicePermu2, fromUDEdgePermu2, -- ** Symmetry conjugateUDSlicePermu, conjugateFlipUDSlice, conjugateFlipUDSlicePermu, conjugateCornerOrien ) where import Rubik.Cube.Cubie.Internal