anchor.diff:    }
   
     @override
  -  String toString() => '$runtimeType#$hashCode(layer: $_containerLayer, canvas bounds: $canvasBounds)';
  +  String toString() => '$runtimeType#$hashCode(layer: $_containerLayer, canvas bounds: $estimatedBounds)';
   }
   
   /// An abstract set of layout constraints.
  
positive.code: 
    void _startRecording() {
      assert(!_isRecording);
      _currentLayer = new PictureLayer(canvasBounds);
      _recorder = new ui.PictureRecorder();
      _canvas = new Canvas(_recorder, canvasBounds);
      _containerLayer.append(_currentLayer);
    }
  
  
negative.code:   }
  
    /// Appends the given layer to the recording, and calls the `painter` callback
    /// with that layer, providing the `childPaintBounds` as the estimated paint
    /// bounds of the child.  The `childPaintBounds` can be used for debugging but
    /// have no effect on painting.
    ///
    /// The given layer must be an unattached orphan. (Providing a newly created
    /// object, rather than reusing an existing layer, satisfies that
  