### 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
uint8_t header[4];
	f->get_buffer(header, 4);
	if (header[0] != 'G' || header[1] != 'S' || header[2] != 'T' || header[3] != 'L') {
		ERR_FAIL_V_MSG(ERR_FILE_CORRUPT, "Compressed texture layered file is corrupt (Bad header).");
	}
	uint32_t version = f->get_32();
	if (version > FORMAT_VERSION) {
		ERR_FAIL_V_MSG(ERR_FILE_CORRUPT, "Compressed texture file is too new.");
	}
	uint32_t layer_count = f->get_32(); 
	uint32_t type = f->get_32(); 
	ERR_FAIL_COND_V((int)type != layered_type, ERR_INVALID_DATA);
	uint32_t df = f->get_32(); 
	mipmap_limit = int(f->get_32());
	
	f->get_32();
	f->get_32();
	f->get_32();
	if (!(df & FORMAT_BIT_STREAM)) {
		p_size_limit = 0;
	}
	images.resize(layer_count);
	for (uint32_t i = 0; i < layer_count; i++) {
		Ref<Image> image = CompressedTexture2D::load_image_from_file(f, p_size_limit);
		ERR_FAIL_COND_V(image.is_null() || image->is_empty(), ERR_CANT_OPEN);
		images.write[i] = image;
	}
	return OK;
}
Error CompressedTextureLayered::load(const String &p_path) {