Minor.
Separate scores from StateSolving
Before scrambling, mark situation as 'not solved'
Make the records independent of arrangement of Objects and their sizes in RubikObjectList.
Major restructuring around making it possible to include different kinds of RubikObjects in the UI.
1. library: new API DistortedNode.setProjection()2. cube: adjustments for Pyraminx.
Movement finished!
Progress with object Movement - almost finished.
Progress with object Movement.
Progress with object Movement. Assigning new Rotations works now, independently of object type.
Progress with object Movement. Looks like detecting which face got touched and where (in 2D in-face surface coordinates) does work now.
Improve the way we handle the cube.Before if we touched the screen during any of the transitions, this touch and resulting draw would result in no action (confusing).Now it seamlessly becomes a drag (even if we, during a transition, touched inside the cube)
Big progress with generalizing the Movement classes.
Improve RubikCubeMovement
Fix the memory test - we need to run one thing on the Graphics thread!
Fixes for the Projection matrix, FOV.
There was a confusion between the Projection of the Node onto the Screen, and the Projection of the Cubits on the Node.
Some fixes for the Pyraminx.
The Pyraminx itself finished - now its movements!
Progress with Pyraminx.
Some progress with Pyraminx.
Icons, details.
Progress with MeshJoin app.Fix rotating in some apps.
Progress with the Pyraminx - computing all legal quaternions!
Progress with of Pyraminx.Bugfix for joining a single Mesh!
Beginnings of Pyraminx.
bugfix
Progress towards generalizing belongsToRotation()
Make RubikCube more abstract.
Correct the Rubik app for the recent changes to the library's Node.
Correct the RubikCube app for the last library changes in Node.
Convert RubikCube to the new V&F center schema!
Move the Effects.setStretch to Meshbase.setStretch
Move the 'pre-multiply mesh before applying any effects' thing from [(Xsize of texture, Ysize of texture) x Mesh's zFactor] to Effects.setStretch(sx,sy,sz)
More work on making new types of RubikObjects easily creatable.
More work on Cubit.
Separate RubikCubit inner class.
Rename MeshFlat MeshRectangles.
Small improvement.
Make RubikCube and RubikCubeMovement generic and not visible outside of their package.
Many small improvements.
Saving Cube state: done
Progress with saving Cube state
Progress with StateSolving
Improvement for Downloader. Remove as much knowledge from it as possible.
Minor improvement.
Improve the 'Scores' dialog: run less on the UI thread which makes this more responsive.
Beginnings of the 'Solving' state.
Separate the network package; rename RubikSize to RubikObject.
Separate the States (and also Dialogues) into their own package.
Corrections
Major rearrangement of the UI.
Making the Dialogs more consistent.
Adjustment to Static's API.
Movement.
Properly remember size of the Cube.
Further simplifications for object movement.
Further simplifications for object movement - remove from it a reference to the Object altogether.
Simplifications for object movement.
Major restructuring - separate the Manipulated Objects (i.e. at the time being - Cubes of various sizes) and the class holding knowledge how those Objects move ( RubikCubeMovement ) into a separate package; remove all knowledge of Objects and the way they move from the main package.
Various improvements.
Downloading High Scores: make the Scores Dialog always start from appropriate tab
Downloading High Scores: even better way of displaying scores
Downloading High Scores: more dynamic way of displaying scores
Downloading High Scores: actually downloading scores!
Downloading High Scores: optimizations
Downloading High Scores
Minor
Add forgotten file
Improvements
Skeleton of a new dialog: High Scores
Correct scramble speed.
Add a 5x5x5 cube.
RubikCube: further fixes for RubikSettings
RubikCube: further fixes
RubikCube: further fix for dragging.
RubikCube: fix dragging.
RubikCube: add new WinEffectGlow
RubikCube: add skeleton WinEffects (for now only one effect - 'Spin' copied from Solve)
RubikCube: detect if the cube is solved.
In order to do this correctly, we also needed to keep correcting each mQuatScramble quaternions after each quatMultiplication in order to avoid multiplication errors accumulating. This turns out to be easy, because each quaternion representing a legal combination of rotations of a RubikCube must have each of the 4 to its components be equal to one of only 7 possible floats.
RubikCube: small improvements.