From b62bafc76afadf970230e9d2038747b9025137cb Mon Sep 17 00:00:00 2001 From: Jerome Humbert <djeedai@gmail.com> Date: Sat, 5 Mar 2022 12:20:31 +0000 Subject: [PATCH] Update links to Bevy 0.6.1 Update all links to Bevy docs to point to v0.6.1, and add to `README.md` the missing predefined rotation lenses. --- README.md | 26 +++++++++++++++++++------- src/lens.rs | 44 ++++++++++++++++++++++---------------------- src/lib.rs | 12 ++++++------ src/plugin.rs | 10 +++++----- 4 files changed, 52 insertions(+), 40 deletions(-) diff --git a/README.md b/README.md index 2157e8e..77eef4e 100644 --- a/README.md +++ b/README.md @@ -95,18 +95,28 @@ The naming scheme for predefined lenses is `"<TargetName><FieldName>Lens"`, wher | Target Component | Animated Field | Lens | |---|---|---| -| [`Sprite`](https://docs.rs/bevy/0.6.0/bevy/sprite/struct.Sprite.html) | [`color`](https://docs.rs/bevy/0.6.0/bevy/sprite/struct.Sprite.html#structfield.color) | [`SpriteColorLens`](https://docs.rs/bevy_tweening/latest/bevy_tweening/struct.SpriteColorLens.html) | -| [`Transform`](https://docs.rs/bevy/0.6.0/bevy/transform/components/struct.Transform.html) | [`translation`](https://docs.rs/bevy/0.6.0/bevy/transform/components/struct.Transform.html#structfield.translation) | [`TransformPositionLens`](https://docs.rs/bevy_tweening/latest/bevy_tweening/struct.TransformPositionLens.html) | -| | [`rotation`](https://docs.rs/bevy/0.6.0/bevy/transform/components/struct.Transform.html#structfield.rotation) | [`TransformRotationLens`](https://docs.rs/bevy_tweening/latest/bevy_tweening/struct.TransformRotationLens.html) | -| | [`scale`](https://docs.rs/bevy/0.6.0/bevy/transform/components/struct.Transform.html#structfield.scale) | [`TransformScaleLens`](https://docs.rs/bevy_tweening/latest/bevy_tweening/struct.TransformScaleLens.html) | -| [`Style`](https://docs.rs/bevy/0.6.0/bevy/ui/struct.Style.html) | [`position`](https://docs.rs/bevy/0.6.0/bevy/ui/struct.Style.html#structfield.position) | [`UiPositionLens`](https://docs.rs/bevy_tweening/latest/bevy_tweening/struct.UiPositionLens.html) | -| [`Text`](https://docs.rs/bevy/0.6.0/bevy/text/struct.Text.html) | [`TextStyle::color`](https://docs.rs/bevy/0.6.0/bevy/text/struct.TextStyle.html#structfield.color) | [`TextColorLens`](https://docs.rs/bevy_tweening/latest/bevy_tweening/struct.TextColorLens.html) | +| [`Sprite`](https://docs.rs/bevy/0.6.1/bevy/sprite/struct.Sprite.html) | [`color`](https://docs.rs/bevy/0.6.1/bevy/sprite/struct.Sprite.html#structfield.color) | [`SpriteColorLens`](https://docs.rs/bevy_tweening/latest/bevy_tweening/struct.SpriteColorLens.html) | +| [`Transform`](https://docs.rs/bevy/0.6.1/bevy/transform/components/struct.Transform.html) | [`translation`](https://docs.rs/bevy/0.6.1/bevy/transform/components/struct.Transform.html#structfield.translation) | [`TransformPositionLens`](https://docs.rs/bevy_tweening/latest/bevy_tweening/struct.TransformPositionLens.html) | +| | [`rotation`](https://docs.rs/bevy/0.6.1/bevy/transform/components/struct.Transform.html#structfield.rotation) (`Quat`)¹ | [`TransformRotationLens`](https://docs.rs/bevy_tweening/latest/bevy_tweening/struct.TransformRotationLens.html) | +| | [`rotation`](https://docs.rs/bevy/0.6.1/bevy/transform/components/struct.Transform.html#structfield.rotation) (angle)² | [`TransformRotateXLens`](https://docs.rs/bevy_tweening/latest/bevy_tweening/struct.TransformRotateXLens.html) | +| | [`rotation`](https://docs.rs/bevy/0.6.1/bevy/transform/components/struct.Transform.html#structfield.rotation) (angle)² | [`TransformRotateYLens`](https://docs.rs/bevy_tweening/latest/bevy_tweening/struct.TransformRotateYLens.html) | +| | [`rotation`](https://docs.rs/bevy/0.6.1/bevy/transform/components/struct.Transform.html#structfield.rotation) (angle)² | [`TransformRotateZLens`](https://docs.rs/bevy_tweening/latest/bevy_tweening/struct.TransformRotateZLens.html) | +| | [`rotation`](https://docs.rs/bevy/0.6.1/bevy/transform/components/struct.Transform.html#structfield.rotation) (angle)² | [`TransformRotateAxisLens`](https://docs.rs/bevy_tweening/latest/bevy_tweening/struct.TransformRotateAxisLens.html) | +| | [`scale`](https://docs.rs/bevy/0.6.1/bevy/transform/components/struct.Transform.html#structfield.scale) | [`TransformScaleLens`](https://docs.rs/bevy_tweening/latest/bevy_tweening/struct.TransformScaleLens.html) | +| [`Style`](https://docs.rs/bevy/0.6.1/bevy/ui/struct.Style.html) | [`position`](https://docs.rs/bevy/0.6.1/bevy/ui/struct.Style.html#structfield.position) | [`UiPositionLens`](https://docs.rs/bevy_tweening/latest/bevy_tweening/struct.UiPositionLens.html) | +| [`Text`](https://docs.rs/bevy/0.6.1/bevy/text/struct.Text.html) | [`TextStyle::color`](https://docs.rs/bevy/0.6.1/bevy/text/struct.TextStyle.html#structfield.color) | [`TextColorLens`](https://docs.rs/bevy_tweening/latest/bevy_tweening/struct.TextColorLens.html) | + +¹ Shortest-path interpolation between two rotations, using `Quat::slerp()`. + +² Angle-based interpolation, valid for rotations over ½ turn. + +See the [comparison of rotation lenses](https://docs.rs/bevy_tweening/latest/bevy_tweening/lens/index.html#rotations) for details. ### Bevy Assets | Target Asset | Animated Field | Lens | |---|---|---| -| [`ColorMaterial`](https://docs.rs/bevy/0.6.0/bevy/sprite/struct.ColorMaterial.html) | [`color`](https://docs.rs/bevy/0.6.0/bevy/sprite/struct.ColorMaterial.html#structfield.color) | [`ColorMaterialColorLens`](https://docs.rs/bevy_tweening/latest/bevy_tweening/struct.ColorMaterialColorLens.html) | +| [`ColorMaterial`](https://docs.rs/bevy/0.6.1/bevy/sprite/struct.ColorMaterial.html) | [`color`](https://docs.rs/bevy/0.6.1/bevy/sprite/struct.ColorMaterial.html#structfield.color) | [`ColorMaterialColorLens`](https://docs.rs/bevy_tweening/latest/bevy_tweening/struct.ColorMaterialColorLens.html) | ## Custom lens @@ -268,6 +278,8 @@ Compatibility of `bevy_tweening` versions: | `0.2`-`0.3` | `0.6` | | `0.1` | `0.5` | +Due to the fast-moving nature of Bevy and frequent breaking changes, and the limited resources to maintan 🃠Bevy Tweening, the `main` (unreleased) Bevy branch is not supported. + ## Comparison with `bevy_easings` The `bevy_tweening` library started as a fork of [the `bevy_easings` library by François Mocker](https://github.com/vleue/bevy_easings), with the goals to: diff --git a/src/lens.rs b/src/lens.rs index 93fb9ef..7e9a908 100644 --- a/src/lens.rs +++ b/src/lens.rs @@ -30,9 +30,9 @@ //! - [`TransformRotateZLens`] //! - [`TransformRotateAxisLens`] //! -//! [`rotation`]: https://docs.rs/bevy/0.6.0/bevy/transform/components/struct.Transform.html#structfield.rotation -//! [`Transform`]: https://docs.rs/bevy/0.6.0/bevy/transform/components/struct.Transform.html -//! [`Quat::slerp()`]: https://docs.rs/bevy/0.6.0/bevy/math/struct.Quat.html#method.slerp +//! [`rotation`]: https://docs.rs/bevy/0.6.1/bevy/transform/components/struct.Transform.html#structfield.rotation +//! [`Transform`]: https://docs.rs/bevy/0.6.1/bevy/transform/components/struct.Transform.html +//! [`Quat::slerp()`]: https://docs.rs/bevy/0.6.1/bevy/math/struct.Quat.html#method.slerp use bevy::prelude::*; @@ -74,8 +74,8 @@ pub trait Lens<T> { /// A lens to manipulate the [`color`] field of a section of a [`Text`] component. /// -/// [`color`]: https://docs.rs/bevy/0.6.0/bevy/text/struct.TextStyle.html#structfield.color -/// [`Text`]: https://docs.rs/bevy/0.6.0/bevy/text/struct.Text.html +/// [`color`]: https://docs.rs/bevy/0.6.1/bevy/text/struct.TextStyle.html#structfield.color +/// [`Text`]: https://docs.rs/bevy/0.6.1/bevy/text/struct.Text.html #[derive(Debug, Copy, Clone, PartialEq)] pub struct TextColorLens { /// Start color. @@ -98,8 +98,8 @@ impl Lens<Text> for TextColorLens { /// A lens to manipulate the [`translation`] field of a [`Transform`] component. /// -/// [`translation`]: https://docs.rs/bevy/0.6.0/bevy/transform/components/struct.Transform.html#structfield.translation -/// [`Transform`]: https://docs.rs/bevy/0.6.0/bevy/transform/components/struct.Transform.html +/// [`translation`]: https://docs.rs/bevy/0.6.1/bevy/transform/components/struct.Transform.html#structfield.translation +/// [`Transform`]: https://docs.rs/bevy/0.6.1/bevy/transform/components/struct.Transform.html #[derive(Debug, Copy, Clone, PartialEq)] pub struct TransformPositionLens { /// Start value of the translation. @@ -126,9 +126,9 @@ impl Lens<Transform> for TransformPositionLens { /// /// See the [top-level `lens` module documentation] for a comparison of rotation lenses. /// -/// [`rotation`]: https://docs.rs/bevy/0.6.0/bevy/transform/components/struct.Transform.html#structfield.rotation -/// [`Transform`]: https://docs.rs/bevy/0.6.0/bevy/transform/components/struct.Transform.html -/// [`Quat::slerp()`]: https://docs.rs/bevy/0.6.0/bevy/math/struct.Quat.html#method.slerp +/// [`rotation`]: https://docs.rs/bevy/0.6.1/bevy/transform/components/struct.Transform.html#structfield.rotation +/// [`Transform`]: https://docs.rs/bevy/0.6.1/bevy/transform/components/struct.Transform.html +/// [`Quat::slerp()`]: https://docs.rs/bevy/0.6.1/bevy/math/struct.Quat.html#method.slerp /// [top-level `lens` module documentation]: crate::lens #[derive(Debug, Copy, Clone, PartialEq)] pub struct TransformRotationLens { @@ -153,7 +153,7 @@ impl Lens<Transform> for TransformRotationLens { /// /// See the [top-level `lens` module documentation] for a comparison of rotation lenses. /// -/// [`Transform`]: https://docs.rs/bevy/0.6.0/bevy/transform/components/struct.Transform.html +/// [`Transform`]: https://docs.rs/bevy/0.6.1/bevy/transform/components/struct.Transform.html /// [top-level `lens` module documentation]: crate::lens #[derive(Debug, Copy, Clone, PartialEq)] pub struct TransformRotateXLens { @@ -179,7 +179,7 @@ impl Lens<Transform> for TransformRotateXLens { /// /// See the [top-level `lens` module documentation] for a comparison of rotation lenses. /// -/// [`Transform`]: https://docs.rs/bevy/0.6.0/bevy/transform/components/struct.Transform.html +/// [`Transform`]: https://docs.rs/bevy/0.6.1/bevy/transform/components/struct.Transform.html /// [top-level `lens` module documentation]: crate::lens #[derive(Debug, Copy, Clone, PartialEq)] pub struct TransformRotateYLens { @@ -205,7 +205,7 @@ impl Lens<Transform> for TransformRotateYLens { /// /// See the [top-level `lens` module documentation] for a comparison of rotation lenses. /// -/// [`Transform`]: https://docs.rs/bevy/0.6.0/bevy/transform/components/struct.Transform.html +/// [`Transform`]: https://docs.rs/bevy/0.6.1/bevy/transform/components/struct.Transform.html /// [top-level `lens` module documentation]: crate::lens #[derive(Debug, Copy, Clone, PartialEq)] pub struct TransformRotateZLens { @@ -235,7 +235,7 @@ impl Lens<Transform> for TransformRotateZLens { /// /// This method panics if the `axis` vector is not normalized. /// -/// [`Transform`]: https://docs.rs/bevy/0.6.0/bevy/transform/components/struct.Transform.html +/// [`Transform`]: https://docs.rs/bevy/0.6.1/bevy/transform/components/struct.Transform.html /// [top-level `lens` module documentation]: crate::lens #[derive(Debug, Copy, Clone, PartialEq)] pub struct TransformRotateAxisLens { @@ -256,8 +256,8 @@ impl Lens<Transform> for TransformRotateAxisLens { /// A lens to manipulate the [`scale`] field of a [`Transform`] component. /// -/// [`scale`]: https://docs.rs/bevy/0.6.0/bevy/transform/components/struct.Transform.html#structfield.scale -/// [`Transform`]: https://docs.rs/bevy/0.6.0/bevy/transform/components/struct.Transform.html +/// [`scale`]: https://docs.rs/bevy/0.6.1/bevy/transform/components/struct.Transform.html#structfield.scale +/// [`Transform`]: https://docs.rs/bevy/0.6.1/bevy/transform/components/struct.Transform.html #[derive(Debug, Copy, Clone, PartialEq)] pub struct TransformScaleLens { /// Start value of the scale. @@ -275,8 +275,8 @@ impl Lens<Transform> for TransformScaleLens { /// A lens to manipulate the [`position`] field of a UI [`Style`] component. /// -/// [`position`]: https://docs.rs/bevy/0.6.0/bevy/ui/struct.Style.html#structfield.position -/// [`Style`]: https://docs.rs/bevy/0.6.0/bevy/ui/struct.Style.html +/// [`position`]: https://docs.rs/bevy/0.6.1/bevy/ui/struct.Style.html#structfield.position +/// [`Style`]: https://docs.rs/bevy/0.6.1/bevy/ui/struct.Style.html #[derive(Debug, Copy, Clone, PartialEq)] pub struct UiPositionLens { /// Start position. @@ -306,8 +306,8 @@ impl Lens<Style> for UiPositionLens { /// A lens to manipulate the [`color`] field of a [`ColorMaterial`] asset. /// -/// [`color`]: https://docs.rs/bevy/0.6.0/bevy/sprite/struct.ColorMaterial.html#structfield.color -/// [`ColorMaterial`]: https://docs.rs/bevy/0.6.0/bevy/sprite/struct.ColorMaterial.html +/// [`color`]: https://docs.rs/bevy/0.6.1/bevy/sprite/struct.ColorMaterial.html#structfield.color +/// [`ColorMaterial`]: https://docs.rs/bevy/0.6.1/bevy/sprite/struct.ColorMaterial.html #[derive(Debug, Copy, Clone, PartialEq)] pub struct ColorMaterialColorLens { /// Start color. @@ -328,8 +328,8 @@ impl Lens<ColorMaterial> for ColorMaterialColorLens { /// A lens to manipulate the [`color`] field of a [`Sprite`] asset. /// -/// [`color`]: https://docs.rs/bevy/0.6.0/bevy/sprite/struct.Sprite.html#structfield.color -/// [`Sprite`]: https://docs.rs/bevy/0.6.0/bevy/sprite/struct.Sprite.html +/// [`color`]: https://docs.rs/bevy/0.6.1/bevy/sprite/struct.Sprite.html#structfield.color +/// [`Sprite`]: https://docs.rs/bevy/0.6.1/bevy/sprite/struct.Sprite.html #[derive(Debug, Copy, Clone, PartialEq)] pub struct SpriteColorLens { /// Start color. diff --git a/src/lib.rs b/src/lib.rs index 38ed925..c5e20ed 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -146,12 +146,12 @@ //! components of a [`Transform`]. A custom lens can also be created by implementing the trait, allowing to animate //! virtually any field of any Bevy component or asset. //! -//! [`Transform::translation`]: https://docs.rs/bevy/0.6.0/bevy/transform/components/struct.Transform.html#structfield.translation -//! [`Entity`]: https://docs.rs/bevy/0.6.0/bevy/ecs/entity/struct.Entity.html -//! [`Query`]: https://docs.rs/bevy/0.6.0/bevy/ecs/system/struct.Query.html -//! [`ColorMaterial`]: https://docs.rs/bevy/0.6.0/bevy/sprite/struct.ColorMaterial.html -//! [`Sprite`]: https://docs.rs/bevy/0.6.0/bevy/sprite/struct.Sprite.html -//! [`Transform`]: https://docs.rs/bevy/0.6.0/bevy/transform/components/struct.Transform.html +//! [`Transform::translation`]: https://docs.rs/bevy/0.6.1/bevy/transform/components/struct.Transform.html#structfield.translation +//! [`Entity`]: https://docs.rs/bevy/0.6.1/bevy/ecs/entity/struct.Entity.html +//! [`Query`]: https://docs.rs/bevy/0.6.1/bevy/ecs/system/struct.Query.html +//! [`ColorMaterial`]: https://docs.rs/bevy/0.6.1/bevy/sprite/struct.ColorMaterial.html +//! [`Sprite`]: https://docs.rs/bevy/0.6.1/bevy/sprite/struct.Sprite.html +//! [`Transform`]: https://docs.rs/bevy/0.6.1/bevy/transform/components/struct.Transform.html use bevy::{asset::Asset, prelude::*}; diff --git a/src/plugin.rs b/src/plugin.rs index 8c695bc..9fe526e 100644 --- a/src/plugin.rs +++ b/src/plugin.rs @@ -23,11 +23,11 @@ use crate::{Animator, AnimatorState, AssetAnimator, TweenCompleted}; /// This plugin is entirely optional. If you want more control, you can instead add manually /// the relevant systems for the exact set of components and assets actually animated. /// -/// [`Transform`]: https://docs.rs/bevy/0.6.0/bevy/transform/components/struct.Transform.html -/// [`Text`]: https://docs.rs/bevy/0.6.0/bevy/text/struct.Text.html -/// [`Style`]: https://docs.rs/bevy/0.6.0/bevy/ui/struct.Style.html -/// [`Sprite`]: https://docs.rs/bevy/0.6.0/bevy/sprite/struct.Sprite.html -/// [`ColorMaterial`]: https://docs.rs/bevy/0.6.0/bevy/sprite/struct.ColorMaterial.html +/// [`Transform`]: https://docs.rs/bevy/0.6.1/bevy/transform/components/struct.Transform.html +/// [`Text`]: https://docs.rs/bevy/0.6.1/bevy/text/struct.Text.html +/// [`Style`]: https://docs.rs/bevy/0.6.1/bevy/ui/struct.Style.html +/// [`Sprite`]: https://docs.rs/bevy/0.6.1/bevy/sprite/struct.Sprite.html +/// [`ColorMaterial`]: https://docs.rs/bevy/0.6.1/bevy/sprite/struct.ColorMaterial.html #[derive(Debug, Clone, Copy)] pub struct TweeningPlugin; -- GitLab