        )
        branches.reverse();
        var best = branches[0];
        var bestQ = best[3];
        var bestNeighbor = best[4];
        var bestThreshold = bestNeighbor.distance;
        if (bestThreshold > threshold) {
            bestQ.neighbors.push(bestNeighbor);
        }
    }

    function calculateReachability(type) {
        var maxIter = 1000;
        var quanta = track.analysis[type];

        for (var qi = 0; qi < quanta.length; qi++) {
            var q = quanta[qi];
            q.reach 