Oct 29, 2024
- fix: f64 glam interpolation support d9a5b30
- Dependencies versions bumps.
Feb 29, 2024
Yank reason: this version was yanked because of a bug introduced during the
VecDeque
adoption; indeed, mutating the keys withremove
oradd
can make the underlying slices unsorted again, causing contiguous assumptions wrong. The next patch version should fix this. Sorry for the issue.
- Switch from holding keys in
Vec
intoVecDeque
. 1b4fe44
Nov 22, 2023
- Add
Default
implementation forSpline
. c6ba847
Sep 23, 2023
- Add support for
glam-0.23
andglam-0.24
. cdc48a4 - Add
Spline::clear
to clear a spline keys without deallocating its internal storage. eca09f1
Feb 1, 2023
- Add support for
glam-0.22
. - Add support for
nalgebra-0.32
. - Add deprecation lints for
impl-*
feature gates. Those shouldn’t be used anymore and the*
variant should be preferred. For instance, if you usedimpl-cgmath
, you should just use thecgmath
feature gate now.
Jul 27, 2022
- Internal enhancement of sampling splines by looking for control points. That brings the lookup from O(N) to O(log(N)). That is super embarassing because it should have been the default from the very first commit. Sorry about that.
- Fix hermite cubic interpolation.
- Add support for
glam-0.21
. - Add support for
nalgebra-0.31
.
Mar 28, 2022
- Support for edition 2021.
- Bump
float-cmp
dependency. - Bump
glam
dependency. - Bump
nalgebra
dependency. - Simplify the CI.
Jul 11, 2021
- Add more implementors for
Interpolate
.
Jul 11, 2021
- Yanked.
Jul 11, 2021
- Add support up to
glam-0.17
. - Add support up to
nalgebra-0.27
. - Replace the name of some feature gates:
serialization
becomesserde
.impl-*
becomes*
.- The previous feature gates are kept around to prevent a breaking change but will eventually be removed in the next major update.
Mar 05, 2021
- Switch the
Interpolation
enum to#[non_exhaustive]
to allow adding more interpolation modes (if any) in the future. - Introduce
SampledWithKey
, which is a more elegant / typed way to access a sample along with its associated key index. - Refactor the
Interpolate
trait and add theInterpolator
trait.
- Highly simplify the various implementors (
cgmath
,nalgebra
andglam
) so that maintenance is easy. - Expose the
impl_Interpolate
macro, allowing to implement the API all at once if a type implements the variousstd::ops:*
traits. Since most of the crates do, this macro makes it really easy to add support for a crate. - Drop
simba
as a direct dependency. - Drop
num-traits
as a direct dependency.
Feb 27, 2021
- Support of
cgmath-0.18
.
Jan 16, 2021
- Resynchronize and fix links in the README (fix in
cargo sync-readme
).
Fri Jan 01, 2021
- Support of
nalgebra-0.24
.
Dec 5th, 2020
- Support of
glam-0.11
.
Nov 23rd, 2020
- Add support for glam via the
"impl-glam"
feature gate. - Support of
nalgebra-0.23
.
Oct 24th, 2020
- Support of
simba-0.3
.
Sep 5th, 2020
- Support of
simba-0.2
. - Support of
nalgebra-0.22
.
Thu May 21st 2020
- Add support for
float-cmp-0.7
andfloat-cmp-0.8
. Because this uses a SemVer range, if you already have aCargo.lock
, don’t forget to updatesplines
withcargo update --aggressive
.
Thu Apr 10th 2020
- Add support for
nalgebra-0.21
.
Thu Mar 19th 2020
- Add support for
nalgebra-0.20
. - Add support for
float-cmp-0.6
.
Sat Jan 26th 2020
- Add support for
nalgebra-0.19
.
Tue Oct 22th 2019
- Sampling now requires the value of the key to be
Linear<T>
forInterpolate<T>
. That is needed to ease some interpolation mode (especially Bézier).
- Fix Bézier interpolation when the next key is Bézier too.
Mon Oct 17th 2019
- Add
Interpolation::StrokeBezier
.
Mon Oct 17th 2019
- Licensing support in the crate.
Mon Sep 30th 2019
- Add
Spline::sample_with_key
andSpline::clamped_sample_with_key
. Those methods allow one to perform the regularSpline::sample
andSpline::clamped_sample
but also retreive the base key that was used to perform the interpolation. The key can be inspected to get the base time, interpolation, etc. The next key is also returned, if present.
Tue Sep 24th 2019
- Fix the cubic Bézier curve interpolation. The “output” tangent is now taken by mirroring the next key’s tangent around its control point.
Mon Sep 23rd 2019
- Add support for Bézier curves.
- Because of Bézier curves, the
Interpolation
type now has one more type variable to know how we should interpolate with Bézier.
- Add
Spline::get
,Spline::get_mut
andSpline::replace
.
Sun Sep 22nd 2019
- Make
Spline::clamped_sample
failible viaOption
instead of panicking. - Add support for polymorphic sampling type.
- Add the
std
feature (and hence support forno_std
). - Add
impl-nalgebra
feature. - Add
impl-cgmath
feature. - Add support for adding keys to splines.
- Add support for removing keys from splines.
- Migrate to Rust 2018.
- Documentation typo fixes.
Sat 13th October 2018
- Add the
"impl-nalgebra"
feature gate. It gives access to some implementors for thenalgebra
crate. - Enhance the documentation.
Sun 30th September 2018
- Bump version numbers (
splines-0.2
) in examples. - Fix several typos in the documentation.
Thu 20th September 2018
- Enhance the features documentation.
Thu 6th September 2018
- Add the
"std"
feature gate, that can be used to compile with the standard library. - Add the
"impl-cgmath"
feature gate in order to make optional, if wanted, thecgmath
dependency. - Enhance the documentation.
Wed 8th August 2018
- Add a feature gate,
"serialization"
, that can be used to automatically deriveSerialize
andDeserialize
from the serde crate. - Enhance the documentation.
Sunday 5th August 2018
- Initial revision.