New, generic bandaged 3x3 class 'TwistyBandagedAbstract'.
Now, (almost!) any bandaged 3x3 can be created by extending this class and implementing one abstract method 'getPositions()'. Almost, because there's still one restriction: currently all cubits need to be one of the 5 allowed types: 1x1x1, 2x1x1, 3x1x1, 2x2x1, 2x2x2....
Preparation for local creation of puzzles: remove the 'ObjectType' enum from TwistyObject class.
Download the icons only once and save to local storage.
Fix the solver.
In the 'magic' app, ObjectType is now only used in RubikObject and RubikObjectList classes and nowhere else.This is a major step towards being able to download objects from an online repository.
Fix the solver (after rearranging the faces of the cuboids)
Progress with PuzzleTester app.
Bump versionCode to 42 (forgotten before)
Fix the Solver
make numLayers into an int[] (preparation for Cuboids)Caution: because of previous changes to cubit order in cube, the Solver is broken!
Simplify TwistyObject's API.
Reename ObjectList to a more logical ObjectType.
Simplify ObjectList: now there's just one object per size.
Remove all files that have been separated into a new library 'objectlib'
Prepare the 'objectlib' package to be separated into a library module
Refactoring: split the 'objects' package into two, 'objects' and 'objectlib'.The point: we're going to need to move the 'objectlib' stuff into its own library module, and that's because we're going to create a new app module which needs access to it.
Move the TwistyObject.retCubePosition() to the solver.
Convert the move format to one which can hold moves of the Megaminx and Gigaminx (in preparation for introduction of the Mega& Gigaminx Pretty Patterns)Now we use 2 bits for the angle, 3 bits for the axis and 5 bits for the bitmap of layers. This totals 10 bits so 1024, but the whole thing will not spill over 3 digits, because in the Minxes we have total of 6 axis, not 8.
Make it possible to have some objects created from dmesh, and others - bootstrapped programmatically.
Cube Control: step 2.
Rename 'state' to 'screen'
Rename some classes.
Fix the Solver broken by the change of move notation when importing Pyraminx Patterns :(
The 3x3x3 Solver finished - here the last piece of work, locking the centers of the 3x3x3 cube in place so that RubikStateSolver's color picker cannot change them ( the CUBE3 solver assumes this )
Progress implementing RubikCube.retObjectString()
Progress making the Solver state more abstract.
Make the Solver state more abstract.
Progress with the 3x3x3 Solver.
Hopefully the only thing that remains to be done is to implement the RubikStateSolver.retCubeString().
More support for the 3x3x3 Solver: more of the actual 3x3x3 solver mechanism.
More support for the 3x3x3 Solver: add the actual 3x3x3 solver mechanism.