Skip to content
Snippets Groups Projects
  1. Nov 06, 2022
  2. Oct 02, 2022
    • Jerome Humbert's avatar
      Add elapsed API (#67) · d295b91c
      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.
      d295b91c
  3. Oct 01, 2022
    • Jerome Humbert's avatar
      Fix animator speed feature (#63) · 4c2f49da
      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
      4c2f49da
  4. Sep 28, 2022
    • Jerome Humbert's avatar
      Fix repeat mode broken after first iteration (#57) · 175c8b74
      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
      175c8b74
  5. Sep 27, 2022
  6. Aug 12, 2022
  7. Aug 06, 2022
  8. Aug 04, 2022
  9. Aug 03, 2022
    • Alex Saveau's avatar
      Support running an animation N times (#19) · 6a871576
      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.
      6a871576
  10. Jun 01, 2022
  11. May 17, 2022
  12. May 14, 2022
    • Alex Saveau's avatar
      Add speed modifier (#22) · 454bcd00
      Alex Saveau authored
      It needs to be built-in because otherwise you have to completely recreate the animation to change the speed.
      454bcd00
  13. Apr 24, 2022
  14. Apr 16, 2022
  15. Mar 19, 2022
    • Jerome Humbert's avatar
      Tighter dependencies with features (#9) · 6619f067
      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.
      6619f067
  16. Mar 05, 2022
  17. Feb 24, 2022
  18. Feb 21, 2022
    • Jerome Humbert's avatar
      Fix bug with color lenses · 60a9a8a7
      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.
      60a9a8a7
  19. Feb 16, 2022
    • Jerome Humbert's avatar
      Add event `user_data` and improve docs · 8dcd3d27
      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.
      8dcd3d27
  20. Feb 15, 2022
  21. Feb 13, 2022
    • Jerome Humbert's avatar
      Clarify and increase control on playback state · 38e99394
      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.
      38e99394
  22. Feb 12, 2022
    • Jerome Humbert's avatar
      Bump version to 0.3.1 · 0b595c41
      Jerome Humbert authored
      0b595c41
    • Jerome Humbert's avatar
      Add `Delay` and the menu example · 4b138ffb
      Jerome Humbert authored
      4b138ffb
    • Jerome Humbert's avatar
      `Tweenable`-based design · d3b5f1be
      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.
      d3b5f1be
  23. Jan 29, 2022
  24. Jan 28, 2022
  25. Jan 27, 2022
Loading