- Nov 15, 2022
-
-
Jerome Humbert authored
-
- Nov 14, 2022
-
-
Jerome Humbert authored
-
Jerome Humbert authored
Exposed the total animation duration via the `TotalDuration` enum and the `Tweenable<T>::total_duration() -> TotalDuration` API. Added a default implementation for some methods of `Tweenable<T>`, namely `set_progress()`, `progress()`, and `times_completed()`. These shared implementations are used by all built-in tweenables. Issue: #31
-
- Nov 09, 2022
-
-
Jerome Humbert authored
Change `Delay` into `Delay<T>`, and add support for raising a completion event or callback. Bug: #69
-
Jerome Humbert authored
Ensure change detection on components and assets is only triggered when an animator effectively modifies said component or asset, and not invariably just by the simple fact of the animator ticking each frame. This change modifies the signature of the `component_animator_system()` and `asset_animator_system()` public functions to directly consume a `ResMut<Events<TweenCompleted>>` instead of an `EventWriter<TweenCompleted>`, to work around some internal limitations. It also publicly exposes a new `Targetable` trait used to work around the impossibility to retrieve a `Mut<T>` from a `Mut<Assets<T>>`. Instead, the trait provides an "target dereferencing" method `target_mut()` which dereferences the target component or asset, and triggers its change detection. The trait is implemented for all components via the `ComponentTarget` object, and for all assets via the `AssetTarget` object. The 3 types described here are publicly exposed to workaround some Bevy limitations, and because the trait appears in the public `Tweenable<T>` API. However users are discouraged from taking strong dependencies on those, as they will be removed once Bevy provides a way to achieve this conditionaly dereferencing without this workaround. Fixes #33
-
- Nov 06, 2022
-
-
Jerome Humbert authored
Add a new `bevy_text` feature for more granular control over `Text`-related lenses, and change the `TextColorLens` to require that new feature instead of `bevy_ui`, as texts _can_ be used without the Bevy UI crate. Fixes #68
-
- Oct 02, 2022
-
-
Jerome Humbert authored
Add two new methods to the `Tweenable<T>` trait: - `set_elapsed(Duration)` sets the elapsed time of the tweenable. This is equivalent to `set_progress(duration().mul_f32(progress))`, with the added benefit of avoiding floating-point conversions and potential rounding errors resulting from it. `set_progress()` is now largely implemented in terms of and as a convenience wrapper to calling `set_elapsed()`. - `elapsed()` which queries the elapsed time of the tweenable. This is equivalent to `duration().mul_f32(progress())`, again with better precision. The elapsed API is the recommended way going forward to manipulate a tweenable's time outside of the normal `tick()` flow. It supersedes the progress API. This change purposedly skips any discussion about what happens to completion events when `set_progress()` or now `set_elpased()` is called with a lower value than the current one to seek time back. This design issue is logged as #60 and is still pending. The change also partially addresses #31, but without removing any existing API or feature.
-
- Oct 01, 2022
-
-
Jerome Humbert authored
Fix the animator speed applying, which got broken as part of the refactor of #44. Add a `speed()` getter to both `Animator<T>` and `AssetAnimator<T>`. Add some simple test for speed, but this is not enough to make sure the feature doesn't regress, so logged #62 to follow-up with a proper regression test. Fixes #61
-
- Sep 28, 2022
-
-
Jerome Humbert authored
Fix the repeat mode being broken after the first iteration due to `AnimClock::progress()` reporting a progress greater than `1.`, which was breaking the logic of `Tween` and `Lens`. Also fix `Tween::rewind()` not restoring the original tween direction when using a repeat strategy of `RepeatStrategy::MirroredRepeat`. Fixes #42
-
- Sep 27, 2022
-
-
Jerome Humbert authored
Make `Delay::new()` panic if a zero duration is passed as argument. Fix the `menu` example to skip inserting a `Sequence<Transform>` containing a zero-duration `Delay`. Bug: #41
-
- Aug 12, 2022
-
-
Alex Saveau authored
-
- Aug 06, 2022
-
-
Alex Saveau authored
-
- Aug 04, 2022
-
-
Jerome Humbert authored
This reverts commit 87ac60b2.
-
Jerome Humbert authored
-
Jerome Humbert authored
Upgrade to the latest released version 0.8.0 of Bevy. Add a new `bevy_asset` feature to enable animation of Bevy assets (types implementing the `Asset` trait). Bevy 0.8 does not contain `bevy_asset` in its defaul features, so this new feature reflects that new possibility to build Bevy and í½ Bevy Tweening without support for the `bevy_asset` crate. The new feature is enabled by default for discoverability and to prevent a behavior breaking change.
-
Jerome Humbert authored
This reverts commit 6a871576.
-
- Aug 03, 2022
-
-
Alex Saveau authored
Remove `TweeningType` and split its functionalities between a new `RepeatCount` controlling the number of repeats of an animation on one hand, and `RepeatStrategy` controlling the way an animation restarts after a loop ended on the other hand. This allows more granular control on the type of playback. Remove the `tweening_type` parameter from `Tween<T>::new()` and replace it with builder methods `with_repeat_count()` and `with_repeat_strategy()`. Remove `is_looping()` from all tweenables, which was not implemented for most of them anyway.
-
- Jun 01, 2022
-
-
Alex Saveau authored
Fix double-boxing by removing the `IntoBoxDynTweenable` trait and the impl of `Tweenable<T>` for `Box<dyn Tweenable>`, and instead using some `From` conversion implemented per concrete type.
-
- May 17, 2022
-
-
Alex Saveau authored
This lets you not have to run after every single system and instead just pass in the label.
-
- May 14, 2022
-
-
Alex Saveau authored
It needs to be built-in because otherwise you have to completely recreate the animation to change the speed.
-
- Apr 24, 2022
-
-
Jerome Humbert authored
Allow a `Tween` to play backward by setting its direction with `Tween::set_direction()`.
-
- Apr 16, 2022
-
-
Jerome Humbert authored
-
- Mar 19, 2022
-
-
Jerome Humbert authored
Enable minimal dependencies with new features `bevu_sprite` and `bevy_ui`, removing the `bevy/render` mandatory dependency. Those new features are enabled by default, and enable the built-in lenses for the related Bevy crates. The core `bevy_tweening` crate itself does not take any optional Bevy dependency anymore, allowing for a slim build with only the core Bevy functionalities.
-
- Mar 05, 2022
-
-
Jerome Humbert authored
-
Jerome Humbert authored
-
- Feb 24, 2022
-
-
Jerome Humbert authored
-
- Feb 21, 2022
-
-
Jerome Humbert authored
Fix some bug lerp'ing colored lenses (`TextColorLens`, `SpriteColorLens`, `ColorMaterialColorLens`) where the alpha value would be too high. This only affects non-opaque colors, in that for opaque blending the resulting alpha was `3.0` which was interpreted as opaque.
-
- Feb 16, 2022
-
-
Jerome Humbert authored
- Add `TweenCompleted::user_data` to help identify the tween which raised the event. - Improved several docs. - Update CHANGELOG. - Update README with mention of events and callbacks.
-
- Feb 15, 2022
-
-
Jerome Humbert authored
-
- Feb 13, 2022
-
-
Jerome Humbert authored
Add some new methods and refactor some existing ones to clarify the playback state of a tweenable, and give increased control to the `Animator` or `AssetAnimator` to rewind a tweenable, set its progress to an arbitrary value, or query its current state.
-
- Feb 12, 2022
-
-
Jerome Humbert authored
-
Jerome Humbert authored
-
Jerome Humbert authored
Add a `Tweenable<T>` trait describing a generic animatable tween-like element. Expose the three types of tweenables and implement `Tweenable<T>` for them: - `Tween<T>`, a single animation - `Sequence<T>`, a sequence of consecutive animations - `Tracks<T>`, a batch of animations running in parallel Clean-up animators to hold a single top-level `Tweenable<T>` and let the user build any kind of animation hierarchy for themselves.
-
- Jan 29, 2022
-
-
Jerome Humbert authored
Allow querying the active tween of a sequence. Use this to improve the `sequence` example with some text showing the current active tween and its progress.
-
Jerome Humbert authored
Implement some callbacks invoked when a tween anim starts or ends.
-
Jerome Humbert authored
Export publicly the asset and component system to allow an app to manually add them.
-
- Jan 28, 2022
-
-
Jerome Humbert authored
-
Jerome Humbert authored
- Add `Sequence<T>` for chained tweens - Add `Tracks<T>` for tracks of sequences running in parallel - Move most animation-related properties to the new `Tweens<T>` struct - Add `sequence` example
-
- Jan 27, 2022
-
-
Jerome Humbert authored
Import `bevy_tweening` from its old repository. URL: https://github.com/djeedai/bevy_extra/tree/main/crates/bevy_tweening Commit: 1e13a72
-