The main features of the Unravel program are:
The program was developed with the main purpose of facilitating the unscrambling of Rubik-style cubes of large size.
For cubes of large size the option to have part of the cube scrolled out of view is provided. This enables the usable upper cube size limit to be increased, particularly for screens having a large aspect ratio (width/height).
Cube size is selectable at run-time in increments of 1 from cube size 2 to an upper adjustable limit. The program limit for standard cubes with unmarked centres is size 99 and is reachable for most monitors. The actual limit for an individual user may be less, being a function the user's visual acuity (acuteness of vision).
The two-dimensional unfolded cube display enables the state of every cube element (referred to as a cubie) to be observed at all times.
Automatic resizing of the cube display to make best use of available screen area occurs.
Cube state is changed using keyboard character commands.
A more complex option that has marked centre cubies is available for cubes in the size 3 to about size 32 range when convenient numerical marking is used and up to about size 99 (the unmarked cube size limit) when the less convenient corner marking extension applies.
Default or user-defined macros can be used to provide shorthand means of implementing a sequence of rotations. Macros can call other macros and can be nested to any depth.
A grid can be optionally displayed on cubes of large size to simplify location of cube elements distant from cube edges.
State of cube can be saved at any time and later recovered.
Elapsed time from scrambled start is tracked, optionally displayed, and saved whenever cube state is saved. The time to solve the cube is automatically logged for future reference (not available in Java applet mode).
The cube can be initialised to the set state, scrambled state, or previously saved state.
The colour set used for the application can be changed at run-time and is then automatically saved for later use (not available in Java applet mode which always uses the default colour set).
General help and default macro help are available, the latter being generated at run time according to the selected cube size. Help can be accessed by pressing the F1 key at just about any time.
Error messages are displayed if the user enters a command sequence (also referred to as a move or a permutation) that is invalid when solving the cube or when creating a new macro.