anchor.diff:    String toString() => 'position=$position';
   }
   
  +/// A render object in a 2D cartesian coordinate system
  +///
  +/// The size of each box is expressed as a width and a height. Each box has its
  +/// own coordinate system in which its upper left corner is placed at (0, 0).
  +/// The lower right corner of the box is therefore at (width, height). The box
  +/// contains all the points including the upper left corner and extending to,
  +/// but not including, the lower right corner.
  +///
  +/// Box layout is performed by passing a [BoxConstraints] object down the tree.
  +/// The box constraints establish a min and max value for the child's width
  +/// and height. In determining its size, the child must respect the constraints
  +/// given to it by its parent.
  +///
  +/// This protocol is sufficient for expressing a number of common box layout
  +/// data flows.  For example, to implement a width-in-height-out data flow, call
  +/// your child's [layout] function with a set of box constraints with a tight
  +/// width value (and pass true for parentUsesSize). After the child determines
  +/// its height, use the child's height to determine your size.
   abstract class RenderBox extends RenderObject {
   
     void setupParentData(RenderObject child) {
  
positive.code:     return _transformPoint(transform, point);
    }
  
    Rect get paintBounds => Point.origin & size;
    void debugPaint(PaintingContext context, Offset offset) {
      if (debugPaintSizeEnabled)
        debugPaintSize(context, offset);
  
negative.code:     return false;
    }
  
    /// Paints each child by walking the child list forwards
    void defaultPaint(PaintingContext context, Offset offset) {
      RenderBox child = firstChild;
      while (child != null) {
  