Beginnings of Megaminx & Gigaminx
Fix a long standing bug in the way we detect if a Cube or Pyraminx is solved. The reason for all those 'impossible' records being submitted.
Preparation for the Object Info popup: add the name, inventor, complexity info to each object.
Make the texture multi-row: avoid the maximum texture size.
Progress with Skewb familty; separate StickerFactory class.
Spearate the concept of number of layers of an object and its size.In case of the Skewb family, this is no longer the same (Master Skewb has 3 layers but it's twice bigger than the 2-layered Skewb)
Objects must explicitly provide a list of offsets specifying where the cut planes are (rather than just a BASIC_STEP - the width of the layer - which is insufficient in case of objects which have layers of vastly different width, like the Master Skewb)
Move computation of the rotation rows to the Object from Cubits.
Beginnings of support for any-sized Skewb.
Simplify drawing textures.
Add a CubitFactory and convert all objects to use it. Biggest change is thr Pyramiinx which now uses a lattice of Octahedrons and Tetrahedrons, just like the Diamond.
Progress with the Diamond. Everything working except for the isSolved(): turns out the center cubits can end up rotated along the face by multitudes of 120 degrees.
Progress with the Diamond. Everything working, expect one thing: half of the faces are upside down, and computing offset doesn't work on those faces properly.
Rename some classes.