-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
0c22315
commit fc7225b
Showing
1 changed file
with
91 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,96 @@ | ||
# Changelog | ||
|
||
## v0.3.0 - 2024-04-03 | ||
|
||
### Release Notes | ||
|
||
#### New features | ||
- **Tween events!**<br> | ||
You can now add custom events that will be fired at arbitary time with optional custom data | ||
via `TweenEvent` and `TweenEventData` | ||
- **Configurable schedule**<br> | ||
This crate previously uses `PostUpdate` schedule by default for all APIs and plugins. | ||
It is now configurable via `TweenAppResource` within `TweenCorePlugin`. | ||
- **Jumping to an arbitary time**<br> | ||
You can jump to an arbitary time using the `TweenTimer::set_tick()` method. | ||
- **Skip tween**<br> | ||
If you want to skip a tween or tweener from functioning then use `SkipTween` | ||
or `SkipTweener` component. | ||
|
||
### Breaking Changes | ||
- Remove unnecessary generics from `TargetComponent` and `TargetResource` | ||
- Add `app_resource: TweenAppResource` field to `TweenCorePlugin` | ||
- All plugins and APIs that uses `PostUpdate` schedule is changed to use schedule from | ||
`TweenAppResource` | ||
- Delegate `span_tweener_system()`'s ticking responsibility to `tick_span_tweener_system()` | ||
- Remove `Eq` and `Hash` derives from `SpanTweener`, `Elasped`, and `TweenTimer` | ||
- Remove `new()` from `Elasped` | ||
- Remove `state: TweenState` field from SpanTweenBundle | ||
- Remove `TweenState` | ||
- Remove `TweenTarget` impl from `TargetComponent`, `TargetResource` and, `TargetAsset` | ||
- Change `component_tween_system_full`, `resource_tween_system_full`, and `asset_tween_system_full` | ||
function signature to account for `SkipTween` component | ||
- Remove `TickResult` | ||
- Change `Elasped` struct definition | ||
- Combine `repeat` and `repeat_style` in `TweenTimer` to just `repeat` then | ||
change corresponding methods. | ||
- Change `TweenTimer::tick()` to accepts `f32` instead of `Duration` | ||
- Change `TweenTimer::tick()` behavior to not update `previous` field in `Elasped`. | ||
`collaspe_elasped` will update the `previous` field instead. | ||
- Change `Repeat` to use `i32` instead of `usize` and update their corresponding methods. | ||
|
||
### Adds | ||
- Add `TweenAppResource` | ||
- Add `DefaultTweenEventsPlugin` | ||
- Add `TweenEventData` | ||
- Add `TweenEvent` | ||
- Add `TweenTimer::set_tick` | ||
- Add `TweenTimer::collaspe_elasped` | ||
- Add `Repeat::advance_counter_by` | ||
- Add `apply_component_tween_system`, `apply_resource_tween_system`, | ||
and `apply_asset_tween_system` | ||
- Add `SkipTween` | ||
- Add `SkipTweener` | ||
- Add `TweenProgress` to replace `TweenState` | ||
- Add `SpanTweensBuilderExt` | ||
- Add `SpanTweensBuilder` | ||
- Add `tick_span_tweener_system()` | ||
- Add `SpanTweenerBundle::tween_here()` | ||
- Add `SpanTweenHereBundle` | ||
- Add `DefaultTweenEventsPlugin` to `DefaultTweenPlugins` | ||
- Add `BoxedInterpolator` alias for `Box<dyn Interpolator>` | ||
- Add impl `Interpolator` for `Arc<I>` and `dyn Fn` | ||
- Register `EaseFunction` in `EaseFunctionPlugin` | ||
- Register `TweenProgress` in `TweenCorePlugin` | ||
- Add unit tests for `TweenTimer` | ||
- Lots of documentations and code examples | ||
|
||
### Changes | ||
- Remove `TweenTarget` and `Interpolator` trait requirement from `Tween<T, I>` | ||
- Remove many `TweenTarget` requirement from `Tween<T, I>` implementations | ||
- Improves `TweenTimer::tick()` code to account to new `Elasped` | ||
- Improves `span_tweener_system` code to account to new `TweenTimer::tick()` behavior | ||
|
||
### Fixes | ||
- Fixed missing `AngleZ` tween system in `DefaultInterpolatorsPlugin` | ||
|
||
### Examples | ||
- New `click` example | ||
- New `hold` example | ||
|
||
### Deprecates | ||
- Deprecate `QuickSpanTweenBundle` | ||
- Deprecate `span_tween::span_tween()` | ||
- Deprecate `ChildSpanTweenBuilder` | ||
- Deprecate `ChildSpanTweenBuilderExt` | ||
- Deprecate `WorldChildSpanTweenBuilder` | ||
- Deprecate `WorldChildSpanTweenBuilderExt` | ||
- Deprecate `TweenTarget` | ||
- Deprecate `component_tween_system_full` | ||
- Deprecate `resource_tween_system_full` | ||
- Deprecate `asset_tween_system_full` | ||
- Deprecate `Repeat::try_advance_counter` | ||
|
||
## v0.2.0 - 2024-03-14 | ||
|
||
_First release!_ |