Fix the detection of the solved state.
progress with configurable stickers
progress with new sorting methods.
change complexity from int to float.
Support for shape-shifting cuboids. (except for the flat ones like the Super Floppy)
remove 'MESH_NICE'
separate ObjectSiguature into its own package and separate the BandagedSignatures out of it.
Support drawing stickers with multiple holes in them.
remember the rotation factors in the JSONs.
Introduce InitAssets. We'll use this later to pass on references to the tablebase file to the TwistyObject (so that it can use this for perfect scrambling)
Move scrambling to a new model where there are spearete scrambling 'algorithms' and 'edges' of the scrambling graph.Now each edge can contain a whole algorithm, i.e. a sequence of moves leading from state to state, which permits construction of scrambling for more complicated bandaged objects such as the AI cube....
Fix touch-replacing colors of the stickers. Now correctly takes into account the shape of the sticker.
Major change in JSOn file format:
replace the old (corners,centers) system with a list of VertexEffects which are applied to each cubit variant.
Make it possible to create Diamond and Icosahedron-shaped objects to be read from json.
Progress with Masterball TouchControl.
More support for pillowing; pillow Morphix and Jing by default.
main: license.
Beginnings of support for 'sticker overrides' - possibility to override the color of an individual face of an individual cubit. Ultimately this will enable overriding with any bitmap; so far only a solid color.
Also, fixes for two crashers.
Crazy Planets: now can be created in J1 M0 mode. J1 M1 still doesn't work.
Crazy Planets: introduce cubit type and offset to the JSON; create (shared) mesh and all the JSONs.
Introduce ObjectSignature that can incorporate 192-bit signatures (for 5x5x5 bandaged cubes).ObjectScrambler does not fully work yet.
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) ]
Mode the 'iconMode' from static variable in ObjectControl to member varaible in TwistyObject (safer)
Preparation for local creation of puzzles: remove the 'ObjectType' enum from TwistyObject class.
New, generalized ScrambleState generator that should work for any bandaged 3x3.
Step towards tutorial JSON files.
Configurable internal colors. This somehow screwed up the Container!
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.
Add the getFaceAxis() API and fill up the getDist3D() API.
Remove the 'getNumCubitFaces()' object API: correction.
Remove the 'getNumCubitFaces()' object API (forgotten part)
Split ObjectShape into ObjectShape and ObjectFaceShape
Finally move the 'getVariantFaceColor()' method to the base class.
Progress standarising stickering.
Introduce 'Simple' and 'Nice' meshes.
Make the ShapeChanging the default TouchControl during MODE_REPLACE.
Minor.
Fix problems with TwistyObjectNode 'object scale' property.Now this property is not part of the Node at all, but its initial value passed to the object in its constructor.
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.
JsonReader (?) finished: the creator app can now read objects from JSON files.