             shader.data.from.input = bitmapFrom;
             shader.data.to.input = bitmapTo;
             
-            animationProperties = [
-                new AnimationProperty("progress", 0, 1, duration)
+            motionPaths = [
+                new SimpleMotionPath("progress", 0, 1, duration)
             ];
             // auto-set width/height if exposed in shader
             if ("width" in shader.data)

import mx.containers.Panel;
import mx.core.Application;
import mx.core.UIComponent;
import spark.effects.AnimationProperty;
import spark.effects.AnimateShaderTransition;
import spark.events.AnimationEvent;
    
public class AnimateShaderTransitionInstance extends AnimateInstance
{

     */
    override protected function setValue(property:String, value:Object):void
    {
        shader.data.progress.value = [value];
        target.filters = [shaderFilter];
    }

    override public function animationStart(animation:Animation):void
    {
        super.animationStart(animation);
        // Note that we don't want the old filters active on the target
        // during the animation; these filters will already be accounted
        // for when we take a bitmap snapshot of the object. Applying
