Dino6 solver: skeleton tablebase class.
Dino6 solver: error detection should work fine now.
Dino6 solver: errors
Dino6 solver: skeleton.
Skeletons of new solvers: Dino6 & Pyraminx Diamond.
Skewb solver: corrections for error detection.
Skewb solver: full TB version works now.
Progess with Skewb solver.
Jing Solver: correct detection of missing edge colors.
Pyraminx Solver: correct detection of missing edge colors.
Beginnings of the Skewb solver.
Jing: a TablebaseAbstract-based solver finished and working.
Jing tablebase. New, less pillowed Jing mesh.
List of implemented solvers.
Minor.
PruningTables now being correctly created in CreatorActivity and read in by the main app.
progress with PruningTable.
Cube2 tablebases solver finished.
Skeleton Cube2 tablebases class.
Bugfix.
2x2 solver class finished.
Beginnings of the 2x2 solver.
first attempt at Icosamatenew PL tutorial for the Crazy Planets
Move corner orientation from SolverPyraminx to TablebasesPyraminx (we'll need it for better-looking tablebases scrambling)
Tablebase-based scrambling.
Add skeletons of the Cube2 & Skewb solvers.
Diamond Skewb solver: add Tablebase.
Diamond Skewb solver should be fully working now.
Progress with the Diamond Skewb solver.
Progress with Skewb Diamond solver.
Solver: new error strings.
Beginnings of Skewb Diamond solver.
Pyraminx solver: bugfix.
Pyraminx solver: add tips.
Pyraminx solver: tablebase working now (tipless, tips to be added in the SolverPyraminx class)
Pyraminx solver: progress
Pyraminx solver: error messages
CU_232 solver: filtering the position should work now
More translations for the CU_232 solver
Beginnings of the 2x2x3 solver.
Ivy solver finished
Small corrections
Correct Ivy's order of cubits.
Ivy Solver: implementations of getIndex() and getQuats() remain.
Introduce ImplementedTablebasesList
Fx the solver to be able to handle the case when someone repainted the faces in a different order
Read TB from file.
Pyraminx Duo solver: solutions (coming from unpacked DB recreated each time) seem to be working.
Pyraminx Duo solver: initial code which creates the unpacked DB (does not work still)
Pyraminx Duo solver: initial error cases should be finished.
Progress with the Pyraminx Duo solver
Minor
Progress with PDuo solver
- add the Pyraminx Duo solver to the list- make the signature of an object independent of its location in the ObjectType enum
Beginnings of the Pyraminx Duo solver.
Remove the 'switchTouchControl' optimization which, with many different objects in the solver screen now, does not work any more.
Progress with solvers dialog.
Introduce RubikDialogSolvers.
Make error reporting in the Solver a bit better.
Make ObjectSignature ready for any size bandaged cube.
license
solvers,tutorials: license.
Add Firebase Cloud Messaging and Firebase In-App Messaging
Rename solver files.
Optimize the solver.
Introduce ObjectSignature that can incorporate 192-bit signatures (for 5x5x5 bandaged cubes).ObjectScrambler does not fully work yet.
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.