3D Rubik’s Cube implemented using Three.Js.
Camera rotates to show cube from different angles:
Each cross-section rotates when you drag the mouse:
Cross-sections "snap" back into place:
Smaller cubes "detach" and "reattach" to different cross sections: