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] )
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)
Make it possible to color internal walls as well.
Implement the Windmill Cube
Convert Squares.
Convert Ulti, Jing, Pyra, Diamond, Dinos, Redi, Skewbs, Ivy & Rex to the new scheme where the quaternion group is computed automatically.
Add the getFaceAxis() API and fill up the getDist3D() API.
Remove the 'getNumCubitFaces()' object API.
Introduce 'Simple' and 'Nice' meshes.
FIx some issues with ShapeChanging; implement per-object TouchControlSquare and TouchControlMirror.
Make the ShapeChanging the default TouchControl during MODE_REPLACE.
Abstract out the TouchControl stuff in preparation for its new type - TouchControlShapeChanging.
Move the Movement to its own package; abstract out some stuff.
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.
JsonReader (?) finished: the creator app can now read objects from JSON files.
Major change: separate the notion of a TwistyObject and its Node. Now,
1) the Node stays when we change objects (this makes transitions faster)2) it's possible to just create an Object without adding it to the Screen (now app needs to explicitly create the Node and add it to its Screen itself)
Separate the notions of a sticker shape and a sticker color.
Progress with serializing object to JSON: stickers, quats.
Progress with serializing object to JSON: rotations.
Reorg for writing the JSON
- remove the retarded NODE_RATIO from TwistyObject- more correctly estimate Cuboid's 'realSize' as an average of their 3 sizes.
make numLayers into an int[] (preparation for Cuboids)Caution: because of previous changes to cubit order in cube, the Solver is broken!
1) introduce possibility to move objects, i.e. display them not in the middle of the screen (not fully functional yet)2) do away with unneeded any more interface 'EffectController' - since ObjectPreRender is the only implementation now.
Remove the 'setupObject()' redundant API.
Reename ObjectList to a more logical ObjectType.
Simplify ObjectList: now there's just one object per size.
Initial commit