More debugs to the EffectMessageSender.
Firebase shows that we have a problem when an app is rapidly restarted, i.e. when is it paused and resumes within tens of milliseconds. Then sometimes the EffectMessageSender thread dies.
Attempt to limit this by synchronizing the whole 'start' and 'stop' methods, although I suspect this will still happen because the very methods are probably in such case called in the wrong order.
Some more debugs for the case when the UI is blocked.
Minor.
Convert the Ivy corner cubit to the new, 'universal' cubit creation method.
This forces deep changes to 'createRoundSolid' and the underlying 'MeshPolygon' class to make them support arbitrary Polygon 'centers of face convexity'.
Reason: the faces of this cubit are concave and such default 'center of face convexity' (which by default used to be (0,0)) turned to lie outside the face - which produces strange visual artifacts.
Copy constructors for the Statics.
Dynamics: minor.
Dynamics: consolidation of code.
Dynamics: introduce two speed modes - smooth and segment_constant.Prepare the third mode - globally_constant.
Bump version to 1.8.0
2 Skewb Ultimate cubits.
RubikControl: fixes; progress.
Make Dynamic's resetToBegin() done on the next frame.This is necessary if we want to reset many Dynamics at one go and have all of them start synchronized.Otherwise it can happen that when we reset, we do it when some objects which the Dynamics belong to are already rendered and others are not, and then some of the Dynamics will be delayed by one frame which is visible already.
Progress with RubikControl - sub-stages 1 and 2 of the 'whole' stage finished.
Actually reset Node's mLastTime back to 0 each time we attach it somewhere.
Move the information when was a EffectQueue last time evaluated from the EffectQueues all the way up to the Node which contains them.The point: we need to reset this time back to 0 every time we attach the Node (and thus start evaluating the Queues inside)
Only switch on 'BuggyUBOs' on Adreno 308 driver versions 331 and 415.
Calibration of the previous workaround.
Workaround for the fact that one some devices (for example the LG K30's V@415 driver on the Adreno 308) the Glow halo wasn't visible.
MeshBase's 'MAX_NUM_COMPONENTS' is not a constant - rename!
Correct an crash when trying to run a program with no vertex effects.
Do not switch BuggyUBOs on Adreno 306, as I just saw a device - ZTE ZMax2 - which uses a 306 and driver V@100, which does not like packed UBOs...
Improve the 'buggy UBOs' detection.
- report the Graphics driver's Renderer and Version.- new Diamond, Skewb2 and Skewb3 meshes.
Always reset static variables in DistortedLibrary to default values.
Also available in: Atom