@@ -42,16 +42,16 @@ use crate::{
4242/// use bevy::{ecs::query::QueryData, prelude::*};
4343/// use bevy_transform_interpolation::VelocitySource;
4444///
45- /// #[derive(Component)]
45+ /// #[derive(Component, Default )]
4646/// struct PreviousLinearVelocity(Vec3);
4747///
48- /// #[derive(Component)]
48+ /// #[derive(Component, Default )]
4949/// struct PreviousAngularVelocity(Vec3);
5050///
51- /// #[derive(Component)]
51+ /// #[derive(Component, Default )]
5252/// struct LinearVelocity(Vec3);
5353///
54- /// #[derive(Component)]
54+ /// #[derive(Component, Default )]
5555/// struct AngularVelocity(Vec3);
5656///
5757/// #[derive(QueryData)]
@@ -92,11 +92,56 @@ use crate::{
9292/// along with the [`TransformInterpolationPlugin`] and/or [`TransformExtrapolationPlugin`]:
9393///
9494/// ```
95- /// use bevy::prelude::*;
96- /// use bevy_transform_interpolation::prelude::*;
95+ /// use bevy::{ecs::query::QueryData, prelude::*};
96+ /// use bevy_transform_interpolation::{prelude::*, VelocitySource};
97+ /// #
98+ /// # #[derive(Component, Default)]
99+ /// # struct PreviousLinearVelocity(Vec3);
100+ /// #
101+ /// # #[derive(Component, Default)]
102+ /// # struct PreviousAngularVelocity(Vec3);
103+ /// #
104+ /// # #[derive(Component, Default)]
105+ /// # struct LinearVelocity(Vec3);
106+ /// #
107+ /// # #[derive(Component, Default)]
108+ /// # struct AngularVelocity(Vec3);
109+ /// #
110+ /// # #[derive(QueryData)]
111+ /// # struct LinVelSource;
112+ /// #
113+ /// # impl VelocitySource for LinVelSource {
114+ /// # // Components storing the previous and current velocities.
115+ /// # type Previous = PreviousLinearVelocity;
116+ /// # type Current = LinearVelocity;
117+ /// #
118+ /// # fn previous(start: &Self::Previous) -> Vec3 {
119+ /// # start.0
120+ /// # }
121+ /// #
122+ /// # fn current(end: &Self::Current) -> Vec3 {
123+ /// # end.0
124+ /// # }
125+ /// # }
126+ /// #
127+ /// # #[derive(QueryData)]
128+ /// # struct AngVelSource;
129+ /// #
130+ /// # impl VelocitySource for AngVelSource {
131+ /// # type Previous = PreviousAngularVelocity;
132+ /// # type Current = AngularVelocity;
133+ /// #
134+ /// # fn previous(start: &Self::Previous) -> Vec3 {
135+ /// # start.0
136+ /// # }
137+ /// #
138+ /// # fn current(end: &Self::Current) -> Vec3 {
139+ /// # end.0
140+ /// # }
141+ /// # }
97142///
98143/// fn main() {
99- /// let mut app = App::build ();
144+ /// let mut app = App::new ();
100145///
101146/// app.add_plugins((
102147/// TransformInterpolationPlugin::default(),
0 commit comments