anchor.diff:    Widget build() {
       List<Widget> visibleRoutes = new List<Widget>();
       for (int i = 0; i < state.history.length; i++) {
  +      // TODO(jackson): Avoid building routes that are not visible
         HistoryEntry historyEntry = state.history[i];
         Widget content = historyEntry.route.build(this, historyEntry.route);
         if (i == 0) {
  
positive.code:       }
        if (content == null)
          continue;
        Transition transition = new Transition(content: content)
          ..direction = (i <= state.historyIndex) ? TransitionDirection.forward : TransitionDirection.reverse
          ..interactive = (i == state.historyIndex)
          ..onDismissed = () {
  
negative.code: const Point _kTransitionStartPoint = const Point(0.0, 100.0);
  enum TransitionDirection { forward, reverse }
  class Transition extends AnimatedComponent {
    Transition({
      String key,
      this.content,
      this.direction,
      this.onDismissed,
      this.interactive
    }) : super(key: key);
    Widget content;
    TransitionDirection direction;
    bool interactive;
  