internalMarkNodesDirty method
Marks multiple nodes as needing spatial index update.
Implementation
void internalMarkNodesDirty(Iterable<String> nodeIds) {
if (_shouldDeferSpatialUpdates) {
_pendingNodeUpdates.addAll(nodeIds);
// Also mark connected connections as dirty
for (final nodeId in nodeIds) {
final connectedIds = _connectionsByNodeId[nodeId];
if (connectedIds != null) {
_pendingConnectionUpdates.addAll(connectedIds);
}
}
} else {
// Immediate update
_spatialIndex.batch(() {
for (final nodeId in nodeIds) {
final node = _nodes[nodeId];
if (node != null) {
_spatialIndex.update(node);
}
}
});
_updateConnectionBoundsForNodeIds(nodeIds);
}
}