[][src]Module rusty_rubik::cube

A module providing functions to interact with the structure and state of the Rubik's Cube.

The state of the Rubik's Cube is internally represented by four properties of the cube: corner permutation, corner orientation, edge permutation, and edge orientation. A tuple of these four properties (with correct parity relations) uniquely determines the state of the cube.

Structs

Commutator

A struct representing a commutator, taking the form of a tuple.

Conjugate

A struct representing a conjugate, taking the form of a tuple.

CubeState

The underlying struct for representing a configuration of the Rubik's Cube.

MoveInstance

An instantiation of a certain face equipped with a direction.

MoveSequence

A struct representing sequences of moves, used for representing scramble sequences and solution sequences.

Enums

BaseMoveToken

An enum for the faces of the Rubik's Cube.

Direction

Represents the direction which to turn a face. Prime represents a counter-clockwise rotation of a face, and Double represents a 180 degree rotation of a face.

Constants

ALL_MOVES

A vector of all allowed moves on a Rubik's Cube.

Functions

allowed_moves_after_seq

Determines which moves are allowed after the given move sequence, to speed up solver methods.

get_index_of_state

Returns a triple representing a compressed representation of a Rubik's Cube configuration.