Skip to content

Onyx 0.3.0

Choose a tag to compare

@Ak-Elements Ak-Elements released this 04 May 16:33
· 235 commits to main since this release

🚨 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.