Rearrange the Tutorial list.
Do not show FPS in the Config screen.
Crash fix. Also a fix for the fact that if we started solving, went out of the app, and resumed solving - the record wasn't remembered.
Crash fix.
Minor.
Up version to 1.9.3
Important bugfix
Fix setDefaultRotation() when changing an object; do it at exactly the right time when the 'old' object has already disappeared, but the new hasn't been attached to the Nodee yet.
Include the info about 'numFaces' of a puzzle in the jsons.Based on this, and the recently introduced 'DEFAULT_ROTs' to the basic Shape classes, rotate each object in the Config so it looks attractive.
Add info about FPS.
Introduce 'Simple' and 'Nice' meshes.
Progress with Config UI.
Progress with Object Config UI.
Move the 'currObject' from RubikScreenPlay (WTF?) to RubikObjectList.
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.
Progress replacing the enum ObjetType with the class RubikObjectList.
Progress with ConfigPane.
Progress with ConfigScreen.
Improve initial detection of screenHeight.
Beginnings of the ConfigActivity.
Simplify and spped up the tutorials dialog
progress with UI.
Add info pane: some progress2.
Add info pane: some progress.
Add info pane: part 1.
Better error reporting.
Make the ShapeChanging the default TouchControl during MODE_REPLACE.
Convert TransparentButton to Material Design.
Correct order of the tutorials.
Correct the style.
Convert the theme to be a MaterialTheme and the TransparentImageButton to be a MaterialButton - the first forced by the second, and the second because a MaterialButton gives us control over the location of the icon in top of it. We need that because of the new 'solve/scramble' split-button in the lower right of the Play screen.
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.
Bugfixes for crashes from Firebase.
Bugfix.
Add 7x7 tutorials.
Tutorials for the 6x6
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 from a few moree places.
Remove dependancies on Firebase from objectlib.Report such errors to the application via the Interface.
Progress with PuzzleTester app.
Fix for a rare crash.
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.
Minor
Use the latest objectlib
Correct the 'solved' icons in the Play popup.
Correction
Bump versionCode to 42 (forgotten before)
1. Do not restore object scrambling if we freshly upgraded from some version older than 1.9.02. Bugfix for a recently introduced crasher in the Play screen.
Tutorials
Create the 3 Popups only on first button click - this time we can have the final screen dimensions (and also it starts faster ) Before we weree getting the screen size from before hiding navigation bars, which made the height smaller, which made the number of obejcts and levels in the popups sometimes too small!
Progress with cuboids.
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!
'IconMode' finished.
Remove unneeded API.
Relax objectlib's requirements: it can be displayed not only on top of a DistortedScreen, but any DistortedFramebuffer.
Simplification
Use the off-center objects to display the object in Tutorial mode properly.Now it is not covered by the right bar!
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.
Simplify objectlib's API.Correct a recently introduced bug with resetting texture maps.
Move QuatHelpeer to distorted-library
Remove all files that have been separated into a new library 'objectlib'
Prepare the 'objectlib' package to be separated into a library module
Rename some assets for consistency
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.