Things seem to be working - switch off all debugs.
Bugfix in EffectQueues: if we interpolate something, then stop and again start interpolating, it used to use the old position (position from the moment when we stopped interpolating!) during the first run after the resume. Fix that.
Minor
A Lot of fixes for the issues uncovered by Olimpic.
Still at least 1 known issue: sometimes, when we re-add a Surface, some garbage pops up on the screen for a brief split second. Visible in Olimpic.
Introduce 3 types of Surfaces: System, Tree, User
Do not add Screen to the Surface lists.
Fix OutputSurface.resize(): before it couldn't be called mid-render.
Fix issue with Blur / Multiblur apps
A lot of different fixes.
A lot of issues still there:
1) if we only render part of the tree, tree isomorphism will sometimes not work correctly2) when we change Effects that are inside Trees mid-render, even if we detach() the affected parts of the Tree first, for the last frame the new Effects will be used...
New, cleaner way to create/destroy DistortedSurfaces.
Serious regression in StarWars (crashes!). Looks like the Node's internal FBO is being deleted and not re-created in time.
Simplify yesterday's refactoring.
Major: change of API.
Split DFramebuffer into Framebuffer and Screen; introduce the 'DistortedInputSurface' and 'DistortedOutputSurface' interfaces.