[haxe] Updated CHANGELOG for 4.3

This commit is contained in:
Davide Tantillo 2025-10-09 10:10:11 +02:00
parent 0e42469d36
commit 98069361c6

View File

@ -406,6 +406,13 @@
- Added `Animation.getBones()` to get bone indices used by an animation
- Added `Skeleton` properties `windX`, `windY`, `gravityX`, `gravityY` to allow rotating physics force directions
- Added `SequenceTimeline` for sequence animation
- BoundsProvider System: added a new flexible BoundsProvider system to improve bounds calculation performance and correctness across all renderers.
- Added `BoundsProvider` abstract class with interface for calculating skeleton bounding boxes
- Implemented four concrete `BoundsProvider` classes:
- `AABBRectangleBoundsProvider` - Uses a simple axis-aligned bounding box rectangle
- `CurrentPoseBoundsProvider` - Calculates bounds dynamically from the current skeleton pose
- `SetupPoseBoundsProvider` - Uses setup pose bounds (default implementation)
- `SkinsAndAnimationBoundsProvider` - Calculates bounds based on specific skins and animations
- **Breaking changes**
- `Bone` now extends `PosedActive` with separate pose, constrained, and applied states
@ -507,6 +514,42 @@
- Attachment `computeWorldVertices()` methods now take an additional `skeleton` parameter
- Renamed timeline constraint index methods to use unified `getConstraintIndex()`
### Starling
- **Additions**
- BoundsProvider Integration
- Integrated BoundsProvider system into Starling renderer
- Added `boundsProvider` public field for customizing bounds calculation strategy
- Added `calculateBounds()` method to recalculate bounds on demand
- Constructor now accepts optional third parameter `boundsProvider` (defaults to `SetupPoseBoundsProvider`)
- Simplified `getBounds()` implementation to use `BoundsProvider` instead of direct calculation
- Scale Integration
- Connected `SkeletonSprite.scale`, `scaleX`, and `scaleY` properties to `skeleton.scaleX/scaleY` values
- Setting scale properties now automatically updates skeleton scale and recalculates bounds
- Ensures consistent scaling behavior between display object and skeleton
- **Breaking changes**
- Removed `getAnimationBounds()` method - replace with appropriate `BoundsProvider` implementation or create custom one
- `hitTest()` now uses `BoundsProvider` using cached bounds from `BoundsProvider` instead of iterating all slots and attachments, for accurate hit testing with animated skeletons, use `CurrentPoseBoundsProvider` and call `calculateBounds()` each frame or on click
- Changed `_state` to state (public field)
- Changed `_skeleton` to skeleton (public field)
### Flixel
- **Additions**
- BoundsProvider Integration
- Integrated `BoundsProvider` system matching Starling implementation
- Constructor now accepts optional third parameter `boundsProvider` (defaults to `SetupPoseBoundsProvider`)
- Added `boundsProvider` public field for customizing bounds calculation strategy
- Added `calculateBounds()` method to recalculate bounds on demand
- Added `bounds` property to get the bounds coordinates
- **Breaking changes**
- `SkeletonSprite` now extends `FlxTypedGroup<FlxObject>` instead of FlxObject. This was necessary because `FlxObject` bounding/hitbox is always connected to its position and size and cannot be offset
- This eables proper bounds handling independent of position
- Added methods and properties to maintain FlxObject-like API despite extending FlxTypedGroup
- Removed `getAnimationBounds()` method - replace with appropriate `BoundsProvider` implementation
- Removed `setBoundingBox()` method - use `BoundsProvider` features instead
## Java
- **Additions**