Fix rotations of the Helicopter.
Beginnings of support for the Helicopter.
Progress with the Skewb.
New meshes.
Improve Pyraminx Mesh
Tweaks for the new RubikPyraminx mesh so it looks better.
Convert RubikPyraminx to the new MeshPolygon - better quality of the mesh and less vertices!
Rename Meshes.
Finally fix the Dino's 'isSolved()' - Dino can be mirrored and then it is also solved!
Fix detecting if an Object is solved. Before, the generic Cubit.thereIsNoVisibleDifference(0 would not work correctly in case of the Dino.
Adjust randomizing new rotations so that:
1) it works for basicAngle=5 (Megaminx) (so now basicAngle=2,3,4,5 supported)2) it leaves the decision as to what can be the next rotation to the Object class, as in case of certain Objects (the Dino, or the Helicopter, the Megaminx) the next rotation doesn't have to 'intersect' the old rotation always when oldRotAxis != newRotAxis (that's so simple only in case of the Cube and - only partly - the Pyraminx!)
Major progress with Dino; rotations (almost?) work now.
Introduce separate ROT_AXIS and FACE_AXIS ( step 1 )
Move the knowledge about colors of individual cubit faces down to each Object subclass.
Progress with the Dino.
Beginnings of support for a new Object: the Dino.
Re-introduce possibility to dynamically create object mesh: part 2.
Object node: size of screenWidth.
Improve rotations of the Pyraminx; synchronize begin/add/finish Rotation in the RubikObject (now it is possible to begin new rotation when an old one didn't finish yet!)
Simplify dragging. Now there's only 1 Quat, rather than the old way with two (Accumulated, Current).
Read the meshes from .dmesh files (rather than compute them dynamically).This (along with single-mesh mode) hopefully makes the rendering much faster, while keeping the time needed for Object Change low.
The only downside: this increases the size of the release APK from 6 MB to 9.6 MB.
More progreess porting RubikCube.
Begin porting RubikCube to the new SingleMesh library. This will make rendering much faster - e.g. in case of Cube 5, instead of 98 renders of individual Cubits, there will be one render of the whole Mesh.
Port RubikCube to the new library.
Progress making it possible to apply Vertex Effects only to some Components of a Mesh.
1) Cube: convert it to the latest library. Main difference: objects are rendered better, individual cubits have rounded corners.2) Examples: some adjustments to MeshJoin & Predeform3) Library: fix a bug in main_vertex_shader's 'degree' function, which didn't work proprely in case of a vertex which was exactly at the center (i.e. vector PS was zero)
In library: allow a mixture of a deep and shallow copy of a Mesh ( mVertAttribs1 might be copied deeply or shallowly, mVertAttribs2 are always copied deeeply).Port RubikCube to the new library.
Change the format of moves in Pretty Patterns to more terse, so that patterns of objects with 4 axis of rotation ( Pyraminx!) fit into 3 digits.
PYRAMINX: swap the red and blue face colors so that the whole thing matches randelshofer.ch
Make chances to randimoze a given row when scrambling dependant on the type of Object.
The point: in case of the Cube, all rows should have equal chances. In case of the Pyraminx, the smaller the row, the smaller the chance should be. In particular the trivial 4 corners of the tetraherdon should have a very small chance to be selected.
Progress making the Solver state more abstract.
Make the Solver state more abstract.
Progress with the 3x3x3 Solver.
More support for the 3x3x3 Solver: more of the actual 3x3x3 solver mechanism.