Make RubikCube and RubikCubeMovement generic and not visible outside of their package.
Many small improvements.
Saving Cube state: done
Progress with saving Cube state
Progress with StateSolving
Improvement for Downloader. Remove as much knowledge from it as possible.
Minor improvement.
Improve the 'Scores' dialog: run less on the UI thread which makes this more responsive.
Beginnings of the 'Solving' state.
Separate the network package; rename RubikSize to RubikObject.
Separate the States (and also Dialogues) into their own package.
Corrections
Major rearrangement of the UI.
Making the Dialogs more consistent.
Adjustment to Static's API.
Movement.
Properly remember size of the Cube.
Further simplifications for object movement.
Further simplifications for object movement - remove from it a reference to the Object altogether.
Simplifications for object movement.
Major restructuring - separate the Manipulated Objects (i.e. at the time being - Cubes of various sizes) and the class holding knowledge how those Objects move ( RubikCubeMovement ) into a separate package; remove all knowledge of Objects and the way they move from the main package.
Various improvements.
Downloading High Scores: make the Scores Dialog always start from appropriate tab
Downloading High Scores: even better way of displaying scores
Downloading High Scores: more dynamic way of displaying scores
Downloading High Scores: actually downloading scores!
Downloading High Scores: optimizations
Downloading High Scores
Minor
Add forgotten file
Improvements
Skeleton of a new dialog: High Scores
Correct scramble speed.
Add a 5x5x5 cube.
RubikCube: further fixes for RubikSettings
RubikCube: further fixes
RubikCube: further fix for dragging.
RubikCube: fix dragging.
RubikCube: add new WinEffectGlow
RubikCube: add skeleton WinEffects (for now only one effect - 'Spin' copied from Solve)
RubikCube: detect if the cube is solved.
In order to do this correctly, we also needed to keep correcting each mQuatScramble quaternions after each quatMultiplication in order to avoid multiplication errors accumulating. This turns out to be easy, because each quaternion representing a legal combination of rotations of a RubikCube must have each of the 4 to its components be equal to one of only 7 possible floats.
RubikCube: small improvements.
RubikCube: remove all awareness of rotations from RubikRenderer.
RubikCube: renamed RubikSettingsEnum to BaseEffect and moved it to the 'effect' package.
RubikCube: major progress with a separate RubikSettingsEnum enum - almost finished.
RubikCube: major progress with a separate RubikSettingsEnum enum - has been introduced into RubikActivity & RubikRenderer.
RubikCube: major progress with a separate RubikSettingsEnum enum - has been introduced into RubikSettings.
RubikCube: progress with scrambling
RubikCube: make finishingRotation more flexible (can now finish any rotation which did finish interpolating (nearly) to the end - and not only the single-static 'manual' rotation)
library: Fix DynamicQuatcube app: progress with ScrambleEffects
Progress with ScrambleEffects
Add a skeleton of ScrambleEffects
fix a bug: in certain places when we use reflection, it needs to be getDeclaredMethod and not getMethod because the methods are not public!
Modify the 'convexity' param in Dynamics.
This finally satisfies the requirements of the 'Spin' effect in MagicCube: achieving constant speed ( by setting a 1D Dynamic's convexity to 0)
Add the 'convexity' param to Dynamics and the Dynamic app.
Adjust UnscrambleEffectSpin.
- simplify the Effects
- adjust SizeChangeEffects- implement first two UnscrambleEffects
Add Unscramble Effects to the UI.
Enhance the TRANSPARENCY effect with a Wave.
Add support for separate Cube and Node effects.
1. Change the API of Dynamic: split makeNowRunFor into two separate 'setDuration' and 'resetToBeginning'2. Major changes to the 'Dynamic' app so that we can check more about the Dynamics.
Correct the Appear/disappear effects.
Invert the order of Matrix Effects. Now, just as in the other queues, the first matrix effect is actually the first to act on the object - not the other way around!
Simplify the way applications can get notifications when an effect finishes.
Now, instead of the 'DistortedEffects.(de)registerForNotifications()' 2 APIs, we call a single 'Effect.notifyWhenFinished()'.
Progress with scrambling and solving cube.
Progress with UI.
Progress with Credits and Settings.
Remember settings across app restarts.
Save the Settings across screen rotations.
Connect the dialog values to RubikRenderer.
New RubikSettings dialog.
Remember the quaternion.
Simplify.
Progress.
rename 'credits' to 'settings'
Major progress with DistortedCube:
- split transition effect into separate 'appear' and 'disappear' effects- apply the 'appear' effects to a new cube being displayed at the start of the app- remember cube size across activity restarts
2 new effects; bugfix.
Progress with DistortedCube.
DistortedCube: progress with abstract Transition Effects.
Correct the Legal notice.
Rename all the classes that are not exported to application to 'Internal'
Cut one interdependency between the EffectQueuePreprocess and DistortedNode
Split the DistortedNode class into two - DistortedNode and DistortedNodeData
Another bugfix: if we keep changing the cube size and rotating sides at the same time, then it could happen that ability to rotate was permanently withdrawn.
Port fixes for the memory leak problems from distorted-examples.
Port changes from the 'distorted-cube' target.
Correct a bug in DistortedBuffer: we only mark it for creation when we actually have all the data ready, otherwise it can happen that create(0 is called before setData() !
App: some progress changing to cube size.