anchor.diff:  Keyframes transformFadeKeyframes(String transformStart, double opacityStart,
                                    {String transformEnd: 'none',
                                     double opacityEnd: 1.0,
  -                                  bool disableEvents: false}) {
  +                                  bool disableEvents: false,
  +                                  bool hideOnZero: true}) {
     String content = """
   from {
     -webkit-transform: $transformStart;
  
positive.code:       doneForward: (Element e) {
          e.style.transform = transformEnd;
          e.style.opacity = '$opacityEnd';
          if (disableEvents) e.style.pointerEvents = 'auto';
        }, doneBackward: (Element e) {
          e.style.opacity = '$opacityStart';
          e.style.transform = transformStart;
          if (disableEvents) e.style.pointerEvents = 'none';
        });
  }
  
negative.code: """;
    
    // prepare method based on whether to disable the pointer
    KeyframeSetter prepare = (Element e) {
      if (disableEvents) e.style.pointerEvents = 'none';
      if (hideOnZero) e.style.display = 'block';
    };
    
    // generate a name that is somewhat unique to this animation but will be the
  