double distanceTo(Vec2 other) { final dx = x - other.x; final dy = y - other.y; return sqrt(dx * dx + dy * dy); }