Minor.
Correct the edges of the cuboid mesh - part 2.
Correct the edges of the cuboid mesh - before we went too far and imperfections were visible.
Correct the next bug with settign the object size.Multiply the time limits in BlockController by 2 - this way we can see if the ratio of (UI+Touch)/Thread Firebase non-fatals will observably drop below the current value of 4.
Set the initial object size correctly.
Small things.
Make it possible to extract objects' sticker pngs.
Make the Master Kilominx' and Gigaminx' meshes much smaller.
Fix the solver (after rearranging the faces of the cuboids)
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.
Bugfix & debugging for a crash from Firebase.
Bugfixes for crashes from Firebase.
Add 'shouldResetTextureMaps' to the JSON puzzle description.
Add the 7x7 cube.
Simplification.
Introduce the third type of a cuboid's cubit: the edge.Makes the meshes much smaller!
Correct the way ObejctScale works in the TwistyObjectNode.
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.
Remove ObjectType from a few moree places.
Further simplify ObjectType
Make the meshAssociation of the Rotate effect independent of the global MAX_SIZE of any implemented object.Now only the NUM_OF_AXIS*MAX_NUM_OF_LAYERS of any individual object needs to be <=32 - before the second factor was global, which - because of the recent introduction of the Cube6 - screwed the Gigaminx (!) where NUM_OF_AXIS=6 and GLOBAL_MAX_NUM_LAYERS = 6 now, so 6*6>32 !
Add info about Cube6.
Rearrange object so that they look better in tthe popup.
Add Cube6.
Add testing of MeshPolygon to the MeshFile app.
Remove dependancies on Firebase from objectlib.Report such errors to the application via the Interface.
Bugfix.
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.
new API to make is possible to adjust default scale factor in each TwistyObjectNode.(and use it in Tutorials, where the object needs to be smaller)
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)
Standarize icon naming scheme.
Systematic names for the meshes.
Separate the notions of a sticker shape and a sticker color.
simplify sticker/color map.
Progress with serializing object to JSON: cubits.Only faceColorMap remains now.
Progress with serializing object to JSON: shapes.
Progress with serializing object to JSON: stickers, quats.
Progress with serializing object to JSON: rotations.
Progress with serializing object to JSON: scrambling.
Reorg for writing the JSON
Cuboids: fully implement the first 3 cuboids (2x3x2, 3x2x3, 3x4x3)
Cuboids: movement.
Cuboids
Rotations of a Cuboid - finished.
Improve rotations of a Cuboid.
- remove the retarded NODE_RATIO from TwistyObject- more correctly estimate Cuboid's 'realSize' as an average of their 3 sizes.
Progress with cuboids.
Improve cuboids: single-layer cuboids should work. 1x1x1 does!
First attempt at cuboids. 2x2x3 and 3x3x4 mostly working :)
make numLayers into an int[] (preparation for Cuboids)Caution: because of previous changes to cubit order in cube, the Solver is broken!
Make the cube meshes even a bit smaller
Make cube meshes much smaller (by initroducing two distinct types of cubits -
1) corners and edges2) face cubits (which now have simpler meshes)
Changes to the Cube cubits; new cube meshes.
Error in Cube's scramble states
New API to objectlib to recreate an already displayed object (because the settings, like 'IconMode' might have changed) and using the new API in puzzle-creator.
'IconMode' finished.
Progress with 'IconMode'
New API for the IconMode: set scale of the object.
Bugfix for Kilominx.
New 'IconMode' and some APIs to support it.
Improvements for the new Border effect. Now works, but covers the object - to be corrected.
Remove unneeded API.
Relax objectlib's requirements: it can be displayed not only on top of a DistortedScreen, but any DistortedFramebuffer.
Improve the Jing mesh.
Mesh creation: finished.
No, move the object afterall. Why? See in Tutorials - a moved node has the right side missing.
minor
Improve 'off-center' objects: move the node, not the object!This simplifies the Effects and makes them more correct (glow!)
Fix important bug in Minx'es detection of the solved state.
off-center objects: finished.
progress with off-center objects.
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.
Further simplifications.
Remove the concept of a 'TwistyActivity' altogether.
Hide most of the TwistyActivity methods inside objectlib.
Bugfix: we shouldn't be calling TwsityObject.solve() directly from the app, only through ObjectControl.solveOnly().
Simplifications
Move RubikControl to objectlib (as 'ObjectAutomator')Hide ObjectPreRender inside objectlib and move its APi to ObjectControl.
1. Remove 'db level' from objectlib (this belongs to the app!)2. change ScreenPlay's 'mObject' to be an ObjectType.
Remove from ObjectType info which row given object is supposed to be in. This belongs to the applcations.
Move ObjectControl, the next big chunk of code, to objectlib.
Move PreRender to objectlib.This code is now shared betweeen the Rubik and Tutorial activities.
Move yet more code to objectlib.It's almost possible to move the PreRender to objectlib now.
Move yet more code to objectlib.
Move more code to objectlib.
Simplify TwistyObject's API.
Correct a recently introduced bug with restoring records.Slightely simplify ObjectType.
Reename ObjectList to a more logical ObjectType.
Simplify ObjectList: now there's just one object per size.