Restore deprecated Platform constants#2762
Conversation
There was a problem hiding this comment.
Code Review
This pull request reorganizes the Platform enum and introduces several deprecated constants for 32-bit architectures across Windows, Linux, macOS, and Android to clarify their unsupported status. The review feedback highlights that the reorganization changes enum ordinal values, which may break binary compatibility if those ordinals are used for serialization or logic. Additionally, there are suggestions to improve the logical grouping of Android-related constants and to correct the Javadoc for Android_Other, which currently contains redundant references.
| /** | ||
| * iOS on x86_64 (simulator) | ||
| */ | ||
| iOS_X86(Os.iOS, true), | ||
| /** | ||
| * Generic web platform on unknown architecture | ||
| */ | ||
| Web(Os.Web, true) // assume always 64-bit, it shouldn't matter for web | ||
| ; | ||
|
|
||
| /** | ||
| * iOS on ARM | ||
| */ | ||
| iOS_ARM(Os.iOS, true), |
There was a problem hiding this comment.
The order of iOS_X86 and iOS_ARM has been swapped compared to their previous positions in the enum. This change, along with the general reorganization of the constants, alters their ordinal values. If any part of the engine or external user code relies on enum ordinals (e.g., for binary serialization or specific logic), this will break compatibility. It is recommended to maintain the original order of existing constants to preserve binary compatibility.
Fix #2761