in src/core/distributor.js [135:148]
distributor.countIdealOverlaps = function(nodes){
var iTree = new IntervalTree(options.layerWidth/2);
nodes.forEach(function(node){
iTree.add([node.idealLeft(), node.idealRight(), node]);
});
nodes.forEach(function(node){
var overlaps = iTree.search(node.idealLeft(), node.idealRight());
node.overlaps = overlaps.map(function(x) { return x.data[2]; });
node.overlapCount = overlaps.length;
});
return nodes;
};