anchor.diff:    Widget buildTreemapFromNodes(BuildContext context) {
       return Column(
         children: [
  -        if (height > minHeightToDisplayTitleText) buildTitleText(context),
  +        if (widget.height > Treemap.minHeightToDisplayTitleText)
  +          buildTitleText(context),
           Expanded(
             child: Treemap.fromNodes(
  -            nodes: rootNode.children,
  -            levelsVisible: levelsVisible,
  -            onRootChangedCallback: onRootChangedCallback,
  -            width: width,
  -            height: height,
  +            nodes: widget.rootNode.children,
  +            levelsVisible: widget.levelsVisible,
  +            onRootChangedCallback: widget.onRootChangedCallback,
  +            width: widget.width,
  +            height: widget.height,
             ),
           ),
         ],
  
positive.code:         node: pivotNode,
          child: Treemap.fromRoot(
            rootNode: pivotNode,
            levelsVisible: levelsVisible - 1,
            onRootChangedCallback: onRootChangedCallback,
            width: width,
            height: height,
          ),
  
negative.code:   /// Selecting this widget will trigger a re-root of the tree
    /// to the associated [TreemapNode].
    ///
    /// The default value for newRoot is [widget.rootNode].
    Widget buildSelectable({@required Widget child, TreemapNode newRoot}) {
      newRoot ??= widget.rootNode;
      return Tooltip(
        message: widget.rootNode.displayText(),
        waitDuration: tooltipWaitLong,
        preferBelow: false,
        child: InkWell(
          onTap: () {
            widget.onRootChangedCallback(newRoot);
          },
          child: child,
        ),
  