internalMarkNodesDirty method

void internalMarkNodesDirty(
  1. Iterable<String> nodeIds
)

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