### Godot version

4.1.3 stable.arch_linux

### System information

Artix Linux Godot v4.1.3 stable.arch_linux

### Issue description

![2023-11-14T16:29:28,788232528+01:00](https://github.com/godotengine/godot/assets/92468390/a79027e2-1539-4ca9-9369-978c32dea26d)
Both "Target Surface:" and "Source Mesh:" accept non Node3D nodes which doesn't really make any sense as they need 3D geometry to function.

### Steps to reproduce

1. Add a MultiMeshInstance3D
2. Add a Node that doesn't inherit Node3D
3. Open the "Populate Surface" menu and click the right button of either "Target Surface:" or "Source Mesh:"

### Minimal reproduction project

N/A
}
		if (multimesh->get_mesh().is_null()) {
			err_dialog->set_text(TTR("No mesh source specified (and MultiMesh contains no Mesh)."));
			err_dialog->popup_centered();
			return;
		}
		mesh = multimesh->get_mesh();
	} else {
		Node *ms_node = node->get_node(mesh_source->get_text());
		if (!ms_node) {
			err_dialog->set_text(TTR("Mesh source is invalid (invalid path)."));
			err_dialog->popup_centered();
			return;
		}
		MeshInstance3D *ms_instance = Object::cast_to<MeshInstance3D>(ms_node);
		if (!ms_instance) {
			err_dialog->set_text(TTR("Mesh source is invalid (not a MeshInstance3D)."));
			err_dialog->popup_centered();
			return;
		}
		mesh = ms_instance->get_mesh();
		if (mesh.is_null()) {
			err_dialog->set_text(TTR("Mesh source is invalid (contains no Mesh resource)."));
			err_dialog->popup_centered();
			return;
		}
	}
	if (surface_source->get_text().is_empty()) {
		err_dialog->set_text(TTR("No surface source specified."));
		err_dialog->popup_centered();