anchor.diff:                         x
   
    */
  +// Easing functions (aka inbetweening or tweening) map
  +// [0, 1] => [0, 1]
  +// You can visualize each function by googling the expression
  +// which will bring up google's graphing calculator, e.g.:
  +// 1 - cos(x * pi / 2)
  +// sin(x * pi / 2)
  +//
  +// References:
  +// http://gizma.com/easing/
   
   double EasingCosine(double t) => 1.0 - Math.cos(t * Math.PI / 2);
   
  
positive.code: 
  typedef double Easing(double t);
  
  
  final Map<String, Easing> MapStringToEasing = {
    "Cosine": EasingCosine,
    "Sine": EasingSine,
  
negative.code:   return out;
  }
  
  // Merges a two-dimensional contour (plus corresponding gradient) with
  // a two-dimension bevel support.
  // the contour remains in the x,y plane but is replicated at different
  // z-levels based on the y-coordinate of the bevel support.
  // At each level the contour is extended based on the gradient and the supports
  // x-coordinate.
  // Typically supports[0] == (0,0) which means thet contour will appear
  // a level z=0 unchanged.
  List<List<VM.Vector3>> BevelStrips(List<VM.Vector2> contour,
      List<VM.Vector2> gradient, List<VM.Vector2> supports, VM.Matrix3 m) {
    assert(contour.length == gradient.length);
  