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.
Make object scrambling abstract (well, almost - with exception of Square-1 - this theoretically could also be done the generic way, but this would require almost 20000 'ScrambleStates')
Remove statics from the Bandaged Cube classes.
Introduce pseudorandom balancing into scrambling in case of the two Dinos (from now on, the more times a particular (ax,layer) combination has been chosen already in the scrambling sequence, the less likely it is to be chosen next).Fix Dino6 - isSolved(). Sadly, it cannot be the geeneric function - it needs to be another special case.
Convert Skewb Ultimate, Jing Pyraminx & Ivy Cube to the new, unified scrambling method.
Unify scrambling across all 4 bandaged objects.
Preparation for 'smart scrambling' : introduce the total number of scrambles to the 'randomizeNewScramble' function.
New cubit engine: convert Kiliminx & some Megaminx.
Simplify.
Convert the first object, the Cube, to the new Cubit-creating engine.
Simplify the 'bandaged' class API.
1) in case of several obejct, we need return to the original max num of scrambles - otherwise the records in the DB do not show.2) implement proper automatic scrambling of the 2Bar and the 3Plate bandaged cubes.
Refactor the automatic scrambling. From now on, it is not needed to care about single and double turns when randomizing a new turn.
Change the automatic scramble API in the TwistyObject - in preparation for automatic scrambles in the Bandaged Objects.
Bandaged objects: first step making automatic scrambling work.
Progress with bandaged objects.
Progress with bandaged cubes.