### Godot version

4.0.stable

### System information

Windows 10, MacOS

### Issue description

Some combination of ~~#72301~~#72031 and #73829 and the differing platform default settings + not including default values in project.godot has created a frustrating problem. 

When a developer on the project opens it in Windows, it deletes `rendering/textures/vram_compression/import_s3tc_bptc=true` from project.godot. When that happens, the MacOS version then re-imports everything as only ASTC and updates all the `.import` files. And then it deletes `rendering/textures/vram_compression/import_etc2_astc=true` from project.godot. Then the windows machine re-imports everything, and forever and ever they fight over import files, unless we're diligent about not letting that particular change in `project.godot`. 

This has made cross-platform development very obnoxious and with high quality textures, the constant re-imports can take a very long time. 

### Steps to reproduce

1. Add a VRAM Compressed Texture to a project. 
2. Attempt to make both platforms happy by enabling both VRAM compression formats.
3. Re-open on both Windows and MacOS.

### Minimal reproduction project

N/A
}
					}
				}
			} break;
			case RS::ARRAY_BONES: {
				ERR_FAIL_COND_V(p_arrays[ai].get_type() != Variant::PACKED_INT32_ARRAY && p_arrays[ai].get_type() != Variant::PACKED_FLOAT32_ARRAY, ERR_INVALID_PARAMETER);
				Vector<int> array = p_arrays[ai];
				uint32_t bone_count = (p_format & ARRAY_FLAG_USE_8_BONE_WEIGHTS) ? 8 : 4;
				ERR_FAIL_COND_V(array.size() != (int32_t)(p_vertex_array_len * bone_count), ERR_INVALID_PARAMETER);
				const int *src = array.ptr();
				uint16_t data[8];
				for (int i = 0; i < p_vertex_array_len; i++) {
					for (uint32_t j = 0; j < bone_count; j++) {
						data[j] = src[i * bone_count + j];
						max_bone = MAX(data[j], max_bone);
					}
					memcpy(&sw[p_offsets[ai] + i * p_skin_stride], data, 2 * bone_count);
				}
			} break;
			case RS::ARRAY_INDEX: {
				ERR_FAIL_NULL_V(iw, ERR_INVALID_DATA);
				ERR_FAIL_COND_V(p_index_array_len <= 0, ERR_INVALID_DATA);
				ERR_FAIL_COND_V(p_arrays[ai].get_type() != Variant::PACKED_INT32_ARRAY, ERR_INVALID_PARAMETER);
				Vector<int> indices = p_arrays[ai];
				ERR_FAIL_COND_V(indices.size() == 0, ERR_INVALID_PARAMETER);
				ERR_FAIL_COND_V(indices.size() != p_index_array_len, ERR_INVALID_PARAMETER);
				
				const int *src = indices.ptr();
				for (int i = 0; i < p_index_array_len; i++) {
					if (p_vertex_array_len <= (1 << 16) && p_vertex_array_len > 0) {