I am using the D3 tree layout, such as this one: <http://mbostock.github.com/d3/talk/20111018/tree.html>

I have modified it for my needs and am running into an issue. The example has the same issue too where if you have too many nodes open then they become compact and makes reading and interacting difficult. I am wanting to defined a minimum vertical space between nodes while re-sizing stage to allow for such spacing. 

I tried modifying the separation algorithm to make it work:

```
.separation(function (a, b) {
    return (a.parent == b.parent ? 1 : 2) / a.depth;
})

```

That didn't work. I also tried calculating which depth had the most children then telling the height of the stage to be `children * spaceBetweenNodes`. That got me closer, but still was not accurate.

```
depthCounts = [];
nodes.forEach(function(d, i) { 
    d.y = d.depth * 180;

    if(!depthCounts[d.depth])
        depthCounts[d.depth] = 0;

    if(d.children)
    {
        depthCounts[d.depth] += d.children.length;
    }
});

tree_resize(largest_depth(depthCounts) * spaceBetweenNodes);

```

I also tried to change the node's `x` value too in the method below where it calculates the `y` separation, but no cigar. I would post that change too but I removed it from my code.

```
nodes.forEach(function(d, i) { 
    d.y = d.depth * 180;
});

```

If you can suggest a way or know a way that I can accomplish a minimum spacing vertically between nodes please post. I will be very grateful. I am probably missing something very simple.