Repository navigation
VOID Engine 2.2.0
VOID Engine 2.2.0
VOID Engine 2.2.0 adds new Beacon subscription features, improves InputAction and hashing performance, and includes several rendering, LDtk, and collision fixes.
Beacons
- Added timed Beacon subscriptions.
- Added
TimeSpanlifetime overloads. - Added
SubscribeOncefor string and enum topics. - Added timed one-shot subscriptions.
- Timed subscriptions use
Game.Instance.FrameTime.TotalTime. - Expired subscriptions are cleaned up lazily without requiring a per-frame Beacon update.
- Existing multicast Beacon dispatch behavior remains unchanged.
Input Actions
- InputAction now uses cached 64-bit action identifiers internally.
- InputActionState snapshots now use
ulongaction identifiers. - Reduced repeated string lookup and comparison work.
- Public string and enum APIs remain unchanged.
- Retained snapshot and input transition behavior remain unchanged.
Hashing
- Optimized
HashHelper.Cache32andCache64to avoid creating unusedLazyvalues on cache hits. - Preserved existing FNV-1a hashing and thread-safe cached initialization.
- Reduced unnecessary allocations during repeated cached lookups.
Spritesheets
- Fixed Aseprite nine-patch center data being interpreted as border sizes.
- Nine-patch borders are now calculated correctly from the Aseprite center rectangle.
- Fixed incorrect corner sizing with smaller nine-patch sprites.
LDtk
- Fixed IntGrid world positions using layer grid dimensions instead of tile size.
- IntGrid positions now correctly use grid location and tile size.
Collision
- Fixed
MoveAndSlideCirclecorner jitter and touching behavior. - Improved circle-vs-rectangle and circle-vs-circle penetration handling.
- Improved radial push-out behavior.
- Limited circle collision resolution to four passes for more stable corner handling.
Install
dotnet add package Void.Engine --version 2.2.0