### Godot version

4.0.dev (d0398f62f0)

### System information

Windows 10

### Issue description

`PlaceholderTexture2D::size` property is registered as a `Vector2I`: https://github.com/godotengine/godot/blob/0daa86d70e7338506c37bee6b6e0c4aba7255d68/scene/resources/texture.cpp#L3389  
It should be a `Vector2`, as setter method use a `Vector2` and so parent class getter method.

### Steps to reproduce

N/A

### Minimal reproduction project

N/A
}
			image = Ref<Image>(memnew(Image(size.width, size.height, mipmap_count > 1, format, image_data)));
		} break;
		case COMPRESSION_MODE_BASIS_UNIVERSAL: {
			ERR_FAIL_COND(!Image::basis_universal_unpacker_ptr);
			image = Image::basis_universal_unpacker_ptr(data, data_size);
		} break;
		case COMPRESSION_MODE_S3TC:
		case COMPRESSION_MODE_ETC2:
		case COMPRESSION_MODE_BPTC: {
			image = Ref<Image>(memnew(Image(size.width, size.height, mipmap_count > 1, format, p_data.slice(20))));
		} break;
	}
	ERR_FAIL_COND(image.is_null());
	if (texture.is_null()) {
		texture = RenderingServer::get_singleton()->texture_2d_create(image);
	} else {
		RID new_texture = RenderingServer::get_singleton()->texture_2d_create(image);
		RenderingServer::get_singleton()->texture_replace(texture, new_texture);
	}
	image_stored = true;
	RenderingServer::get_singleton()->texture_set_size_override(texture, size_override.width, size_override.height);
	alpha_cache.unref();
	if (keep_all_compressed_buffers || keep_compressed_buffer) {
		compressed_buffer = p_data;
	} else {
		compressed_buffer.clear();
	}
}
PortableCompressedTexture2D::CompressionMode PortableCompressedTexture2D::get_compression_mode() const {