fn closest_free_position( allowed_centers: &[WorldAabb], preferred_center: DVec3, expanded_collisions: impl IntoIterator<Item = WorldAabb>, ) -> Option<DVec3>