anchor.diff:    }
   }
   
  +/// An action that doesn't have a duration. If this class is overridden to
  +/// create custom instant actions, only the [fire] method should be overriden.
   abstract class ActionInstant extends Action {
   
     void step(double dt) {
  
positive.code:     }
    }
  
    void stopAll() {
      for (int i = _actions.length - 1; i >= 0; i--) {
        _stopAtIndex(i);
  
negative.code:   }
  }
  
  /// An action that tweens a property between two values, optionally using an
  /// animation curve. This is one of the most common building blocks when
  /// creating actions. The tween class can be used to animate properties of the
  /// type [Point], [Size], [Rect], [double], or [Color].
  class ActionTween extends ActionInterval {
  
    /// The setter method used to set the property being animated.
    final Function setter;
  
    /// The start value of the animation.
    final startVal;
  
    /// The end value of the animation.
    final endVal;
  
    var _delta;
  
    /// Creates a new tween action. The [setter] will be called to update the
    /// animated property from [startVal] to [endVal] over the [duration] time in
    /// seconds. Optionally an animation [curve] can be passed in for easing the
    /// animation.
    ///
    ///     // Animate myNode from its current position to 100.0, 100.0 during
    ///     // 1.0 second and a bounceOut easing
    ///     var myTween = new ActionTween(
    ///       (a) => myNode.position = a,
    ///       myNode.position,
    ///       new Point(100.0, 100.0,
    ///       1.0,
    ///       bounceOut
    ///     );
    ///     myNode.actions.run(myTween);
    ActionTween(this.setter, this.startVal, this.endVal, double duration, [Curve curve]) : super(duration, curve) {
      _computeDelta();
    }
  