An alg is a collection of moves and other algs.
Can be either a straight move sequence, or a group/communtator/conjugate.
Alg.addMoves(?)
Alg.timestampToToken(ms) @returns AlgToken
Alg.tokenToTimestamp(AlgToken) @returns ms
Alg.reparse("<original alg> R U R'")
Alg3x3x3 (prototype: Alg)
AlgToken
DOMAlg ?
// Something for highlighting
TwistyView
new TwistyView(rendererType, div);
(rendererType == canvas, CSS div, etc.)
// support shadow DOM where possible?
TwistyView.addPuzzle(puzzle);
TwistyView.setCameraLocation(coords)
TwistyView.fullscreen();
// Perhaps the client can just use the normal HTML5 API on the div?
// 2-axis View rotation support support
Working Draft:
Classes
Classes implemented using prototypes. All setters should also have a getter.
Twisty
Twisty3x3x3
(prototype:Twisty
)TwistyState
A
TwistyState
is a ksolve-like extension of the idea of a permutation.AnimatingTwistyState
Alg
An alg is a collection of moves and other algs. Can be either a straight move sequence, or a group/communtator/conjugate.
Alg3x3x3
(prototype:Alg
)AlgToken
DOMAlg
?TwistyView
Convenience
TwistySolver
TODO