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)
}
}