Classes implemented using prototypes.
All setters should also have a getter.
Twisty.animation.setSpeed(ratio);
Twisty.animation.playForwards();
Twisty.animation.playBackwards();
Twisty.animation.pause();
Twisty.animation.playSingleMoveForwards();
Twisty.animation.playSingleMoveBackwards();
Twisty.animation.skipToStart();
Twisty.animation.skipToEnd();
Twisty.animation.setPosition(ms, "animateQuickly" | "immediate")
Twisty.setup.setSolvedState(TwistyState)
Twisty.setAlg(TwistyAlg)
TwistyState.fromAlg()
TwistyState.invert() @returns TwistyState
TwistyState.compose(TwistyState) @returns TWistyState
TwistyState.fromAlg()
TwistyState.invert() ?
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'")
// Something for highlighting
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
Twisty.emulateAnimCubeApplet()
Twisty.emulateRandelshoferApplet()
Twisty.emulateRoofpig
TwistySolver.solveState(); @returns Alg