findNearestDropZone method

Offset? findNearestDropZone({
  1. required Offset position,
  2. required List<Offset> validZones,
  3. double maxDistance = 100.0,
})

Calculate optimal drop zone based on proximity to existing nodes

Implementation

Offset? findNearestDropZone({
  required Offset position,
  required List<Offset> validZones,
  double maxDistance = 100.0,
}) {
  if (validZones.isEmpty) return null;

  Offset? nearest;
  double minDistance = double.infinity;

  for (final zone in validZones) {
    final distance = (position - zone).distance;
    if (distance < maxDistance && distance < minDistance) {
      minDistance = distance;
      nearest = zone;
    }
  }

  return nearest;
}