anchor.diff:      return _timeline.animateWith(force.release(progress, velocity));
     }
   
  +  Future repeat({ double min: 0.0, double max: 1.0, Duration period }) {
  +    if (period == null)
  +      period = duration;
  +    return _timeline.animateWith(new _RepeatingSimulation(min, max, period));
  +  }
  +
     final List<VoidCallback> _listeners = new List<VoidCallback>();
   
     /// Calls the listener every time the progress of this performance changes
  
positive.code:   }
  }
  
  
  /// A timeline that can be reversed and used to update [Animatable]s.
  ///
  
negative.code: // found in the LICENSE file.
  
  import 'dart:async';
  import 'dart:ui' show VoidCallback, lerpDouble;
  
  import 'package:newton/newton.dart';
  
  import 'animated_value.dart';
  import 'forces.dart';
  