code: function tree(d, i) {
      var nodes = hierarchy.call(this, d, i),
          t = nodes[0],
          wt = wrapTree(t);
  
      wroot = wt;
      zerothWalk(wt, 0);
      firstWalk(wt);
      secondWalk(wt, 0);
      renormalize(wt);
  
      return nodes;
    }
docs: The main layout function: