← Back to the workbench

CubeLab

I learned to solve a Rubik's Cube at thirteen. This is how I'm passing it on.

Builder

≤23
Moves to solve
one day
Built in
age 13
Solving since
Where it started

Kids used to crowd around the pinball machines at the arcade to watch me solve a cube. Forty-odd years later, I wanted to share that puzzle with my son.

A cube you can practice with

CubeLab supports standard notation and mouse, trackpad, and keyboard controls. You can paste a scramble and repeat it while working on your time, or generate a fresh one.

If you get stuck, the Kociemba solver produces a move list and plays it out on the cube. The camera turns to show the face being moved.

Keeping the pieces in agreement

A single logical model tracks the 26 cubies and their stickers. It supplies both the rendered meshes and the 54-character facelet string sent to the solver. The move engine was checked against all eighteen moves and five hundred random sequences.

The solver builds its pruning tables in a Web Worker, so it doesn't interrupt the rendering. The source is on GitHub if you'd like to try it or change it.

A closer look

On the parts list

ReactTypeScriptthree.jsWeb WorkersKociemba
More from the collection