function locateNodes()

in web/js/render.js [53:92]


function locateNodes(graph, nodes) {

    // console.info("locateNodes", nodes)

    for (const node of nodes) {
    // nodes.forEach((node) => {

        if (!node) {
            // This shouldn't happen but it's possible if the map 
            // was populated with an empty node object, which means the 
            // data is probably corrupted with edges that point to deleted nodes (maybe?)
            console.log("locateNode node is undefined")
            continue
        }

        // Don't locate nodes that were already located
        if (node.located) {
            // console.log(`node ${node.id} was already located`)
            continue
        }

        // Locate this node
        locateNode(graph, node)

        // Iterate over edges that point to this from other nodes
        //const edgeNodes = new Map()
        const edgeNodes = []
        for (const fromId of node.from) {
            const fromNode = graph.nodes.get(fromId)
            if (!fromNode) {
                // console.log(`Missing from node ${fromId}`)
                continue
            }
            edgeNodes.push(fromNode)
        }

        // Recurse
        if (edgeNodes.size > 0) locateNodes(graph, edgeNodes)
    }
}