some more corrections for the adjustable stickers.
Support for the new default detection of solved state done. Something seems to be working.
Move signatures and ObjectConstants to Metadata.
Next step toward separating TwistyObject metadata.
Big step toward separating TwistyObject metadata.
change complexity from int to float.
remove 'MESH_NICE'
separate ObjectSiguature into its own package and separate the BandagedSignatures out of it.
Support drawing stickers with multiple holes in them.
correct face shapes (post-new MeshPolygon normal computation)
Actually use the 'overridable rotation factors' feature and tweat the factors of many objects.
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)
- add the Pyraminx Duo solver to the list- make the signature of an object independent of its location in the ObjectType enum
- fix for the newly introduced TwistyObjectSolved- fix for the solvedQuats of the Trajber 4x4
Produce new JSONs files (version 7, with new scrambling method)
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....
New Pyraminx Diamond.
Major change in JSOn file format:
replace the old (corners,centers) system with a list of VertexEffects which are applied to each cubit variant.
Progress with Masterball TouchControl.
objects: license.
Introduce InitData, a data structure used to initialize a TwistyObject.Current (optional) members: int[] numLayers, int param [intended: type of the Crazy 3x3 planet], float[][] pos [position of a bandaged cube] )
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) ]
Progress with cubit quaternions.
Correct a crasher in BandagedCreator.Correct maesh of Trajber 4x4.
Mode the 'iconMode' from static variable in ObjectControl to member varaible in TwistyObject (safer)
Trajber's 4x4 : JSONs, mesh.
Special isSolved() function for the case where a puzzle has no corner or edge cubits (Trajber 4x4!)
Trajber's 4x4 : almost finished, what remains is the 'solved' function.
Beginnings of support for Trajber's 4x4.
Preparation for local creation of puzzles: remove the 'ObjectType' enum from TwistyObject class.
New, generalized ScrambleState generator that should work for any bandaged 3x3.
Preparation for drawing only the FRONT side of the cubit walls.
Step towards tutorial JSON files.
Standarize two next functions - getSolvedQuats and getSolvedFunctionIndex.Now all objects except Dino6, Dino4 and Square-2 have them the same.
Minor
Convert Trajber.
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.
Fix (and simplify!) Diamiond's, Trajber's and Minx'es Solved Quats.
Finally remove the 'getCubitFaceColor()' API
Add the getFaceAxis() API and fill up the getDist3D() API.
cleaning up.
Remove the 'getNumCubitFaces()' object API.
Progress towards removing the 'getNumCubitFaces()' object API.
Simplify.
Split ObjectShape into ObjectShape and ObjectFaceShape
Finally move the 'getVariantFaceColor()' method to the base class.
Progress standarising stickering.
Progress
Initial commit
Correct the shape of Trajber's Octahedron.
Trajber's Octahedron: correct the mesh.
Trajber's Octahedron: progress.
Trajber's Octahedron: first try.