Repository navigation
Onyx 0.3.0
🚨 Breaking Changes
Refactored Type Hashes
Introduced new StringId and replaced all serialized type hashes with StringId32 / StringId64.
Hashes are now consistent across platforms (no more macro magic to retrieve type names which are platform dependant).
NOTE: In non-retail builds StringIds store the string for easier debugging.
NOTE: Impact: Any previously serialized data relying on old type hashes will be incompatible and must be updated.
Vector Class Changes
Vector3 and Vector4 now use named components (X, Y, Z, W) instead of a generic components array.
NOTE: Code relying on the old layout or indexing method may need refactoring.
✨ New Features
StringId
Introduced a new compile-time string hashing class to unify string identifiers across the engine.
Integrated into most systems that used string-based hash lookups.
🛠 Fixes & Improvements
- Simplified Vector2/3 Code with Concepts
Replaced SFINAE-based enable_if logic in Vector2 and Vector3 with C++20 requires/concepts.
- Property Panel & Memory Alignment Fixes
Fixed incorrect size of in-place function used in VolumeSourceComponent's properties panel.
- Fixed an issue where descriptor sets could grow if unused or not rendered.
- Cleaned up and refactored FNV-1a hashing functions.