anchor.diff:        _dragUnderway = false;
         double distance = 1.0 - _performance.progress;
         if (distance > 0.0) {
  -        double duration = _kCardDismissFadeoutMS * 1000.0 * distance / event.velocityX.abs();
  +        double duration = _kCardDismissFadeout.inSeconds * distance / event.velocityX.abs();
           _dragX = event.velocityX.sign;
           _performance.timeline.animateTo(1.0, duration: duration);
         }
  
positive.code:     setState(() {
        if (!_performance.isAnimating) {
          if (oldDragX.sign != _dragX.sign)
            _transform.position.end = _activeCardDragEndPoint;
          _performance.progress = _dragX.abs() / (_width * _kDismissCardThreshold);
        }
      });
  
negative.code:   }
  
    Widget build() {
      Matrix4 transform = new Matrix4.identity();
      transform.translate(_position.value.x, _position.value.y);
      return new Listener(
        onPointerDown: _handlePointerDown,
        onPointerMove: _handlePointerMove,
  