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.
Minor
- 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.
App: minor.
New module: Rubik App. Initial commit.