# Changelog The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [Unreleased] ### Added - Add user callbacks on tween started (`Tween::set_started`) and ended (`Tween::set_ended`). - Implement `Default` for `AnimatorState` as `AnimatorState::Playing`. - Added `Animator::with_state()` and `AssetAnimator::with_state()`, builder-like functions to override the default `AnimatorState`. - Added `Tween::is_looping()` returning true for all but `TweeningType::Once`. - Publicly exposed `Sequence<T>`, a sequence of tweens running one after the other. - Publicly exposed `Animator<T>::tracks()` and `Animator<T>::tracks_mut()` to access the animation sequences running in parallel on multiple animation tracks. ### Changed - Moved tween duration out of the `TweeningType` enum, which combined with the removal of the "pause" feature in loops makes it a C-like enum. - Updated the `sequence` example to add some text showing the current sequence active tween index and its progress. ### Removed - Removed the "pause" feature in-between loops of `TweeningType::Loop` and `TweeningType::PingPong`, which can be replaced if needed with a sequence including a no-op tween of the desired duration. Removed `Tween::is_paused()`. ### Fixed - Fix missing public export of `component_animator_system()` and `asset_animator_system()` preventing the animation of all but the built-in items. ## [0.3.0] - 2022-01-28 ### Added - Add `Tween<T>` describing a single tween animation, independently of its target (asset or component). - Add `Tween<T>::is_paused()` to query when a tweening animation is in its pause phase, if any. - Add `Tween<T>::direction()` to query the playback direction of a tweening animation (forward or backward). - Add `Tween<T>::progress()` to query the progres ratio in [0:1] of a tweening animation. - Enable multiple lenses per animator via "tracks", the ability to add multiple tween animations running in parallel on the same component. - Enable sequences of tween animations running serially, one after the other, for each track of an animator, allowing to create more complex animations. ### Fixed - Perform spherical linear interpolation (slerp) for `Quat` rotation of `Transform` animation via `TransformRotationLens`, instead of mere linear interpolation leaving the quaternion non-normalized. ## [0.2.0] - 2022-01-09 ### Changed - Update to Bevy 0.6 - Update to rust edition 2021 - Force Cargo resolver v2 ### Added - Added built-in lens `SpriteColorLens`, since the color of a `Sprite` is now an intrinsic property of the component in Bevy 0.6, and does not use `ColorMaterial` anymore. ## [0.1.0] - 2021-12-24 Initial version for Bevy 0.5