Fixes for scrambling locally-produced bandaged cuboid.Still does not work completely.
Introduce ObjectSignature that can incorporate 192-bit signatures (for 5x5x5 bandaged cubes).ObjectScrambler does not fully work yet.
Bandaged: progress with creating the object.
If we're updating an object, and it is the current object, reload it immediatelly so that the new version appears by itself.
Support reading num of scrambles from json version 2.
Preparation for Mixup Cube: take advantage of the recent bump in MAJOR_VERSION number and change the format of basicAngles to int[][] 'per-axis-per-layer' [ Mixup Cube has different basicAngle in its middle layers (8) - and different in its edge layers (4) ]
Turns out latest changes to the FactorySticker force us to increment the MAJOR_VERSION as now we produce incompatible stickers. We'll also use this occasion to support the Mixup Cube (change basic rotations to per-layer-per-axis)
Bandaged 3x3: progress with saving.
Preparation for local creation of puzzles: remove the 'ObjectType' enum from TwistyObject class.
New, generalized ScrambleState generator that should work for any bandaged 3x3.
Downloaded Objects: bugfixes
Downloaded Objects more or less work now.
Progress downloading objects and extras.
Re-organize tutorial list so that we can pull this one from JSON files.
Step towards tutorial JSON files.
Configurable internal colors. This somehow screwed up the Container!
Implement the Windmill Cube
unify every isSolved() routine except one: part II : new JSONs.
unify every isSolved() routine except one - the Dino4 is still special.
Preparation for further unification of the isSolved() routine.
Convert Ulti, Jing, Pyra, Diamond, Dinos, Redi, Skewbs, Ivy & Rex to the new scheme where the quaternion group is computed automatically.
Simplification.
Remove the need to provide the number of outer faces of a ObjectShape.
Remove the 'getNumCubitFaces()' object API: correction.
Remove the 'getNumCubitFaces()' object API (forgotten part)
Remove the 'getNumCubitFaces()' object API.
Progress towards removing the 'getNumCubitFaces()' object API.
Split ObjectShape into ObjectShape and ObjectFaceShape
Finally move the 'getVariantFaceColor()' method to the base class.
Progress
Initial commit
Include the info about 'numFaces' of a puzzle in the jsons.Based on this, and the recently introduced 'DEFAULT_ROTs' to the basic Shape classes, rotate each object in the Config so it looks attractive.
Progress with ConfigPane.
Progress with ConfigScreen.
Make the ShapeChanging the default TouchControl during MODE_REPLACE.
Float vertices - scratchbook
Abstract out the TouchControl stuff in preparation for its new type - TouchControlShapeChanging.
Move the Movement to its own package; abstract out some stuff.
Add 'shouldResetTextureMaps' to the JSON puzzle description.
Move the main app to the 'J1M1' object creation mode, i.e. create them from the Json files and using the Dmesh fiels as well.
Make it possible for any app descending from the 'objectlib' to use any of the J0M0, J0M1, J1M0, J1M1 modes.
Remove ObjectType and info it held (icons, mesh file, num of scrambles, shortname) from the JSON file.
Progress with PuzzleTester app.
Correect JSON reading and writing: shape corners and centers are optional!
JsonReader (?) finished: the creator app can now read objects from JSON files.
Do not pull the inventors and the names of objects from Resources.