All Versions
35
Latest Version
Avg Release Cycle
59 days
Latest Release
1975 days ago
Changelog History
Page 2
Changelog History
Page 2

v0.10.0 Changes
May 11, 2016โ Added
 A
MetricSpace
trait for types that have a distance between elements.  0๏ธโฃ
EuclideanSpace::{midpoint, centroid}
functions with default implementations. Vector1
andPoint1
structs. ๐ Serde support behind the
eders
feature flag.  An
ApproxEq
implementation forDecomposed
.
๐ Changed
 ๐ Depend on the
numtraits
crate rather thannum
, seeing as we only use the traits innum
.num_traits
has also been reexported so that you can more easily use these in your project.  ๐ Use an
Euler
type for euler angle conversions.  Constrain
InnerSpace
byMetricSpace
.  Constrain
Rotation
byOne
 Implement
Transform
andTransform3
forMatrix4
.  Implement
Transform
,Transform2
, andTransform3
forMatrix4
.  ๐ Fix
Euler
Quaternion
andQuaternion
Euler
conversions. The axes are now correct, and the angles are applied in xyz order. The conversion now matches the conversion from axis angle.  ๐ Fix
Euler
{Matrix3, Matrix4}
conversions.
 A

v0.9.1 Changes
April 20, 2016๐ Changed
 ๐ Fix angle assignment operators so that they actually mutate
self
.
 ๐ Fix angle assignment operators so that they actually mutate

v0.9.0 Changes
April 19, 2016๐ Changed
 Assignment operators implementations have been stabilised, to coincide with their stabilisation in Rust 1.8.
 ๐ Renames
Vector
trait toVectorSpace
.  ๐ Renames
EuclideanVector
toInnerSpace
.  ๐ Renames
Point
toEuclideanSpace
, andPoint::Vector
toEuclideanSpace::Diff
. Quaternion
s now implementVectorSpace
andInnerSpace
for the functions they share. The
Matrix
trait is now constraint byVectorSpace
, withMatrix::Element
removed in favor ofVectorSpace::Scalar
.

v0.8.0 Changes
April 06, 2016โ Added
 Implements
fmt::Debug
forBasis2
,Basis3
, andAffineMatrix3
 A
prelude
module for easy importing of common traits.  Constrained conversion functions for assisting in situations where type inference is difficult.
 An
ElementWise
trait for nonmathematical elementwise operations.  0๏ธโฃ A default implementation for
EuclideanVector::angle
.
๐ Changed
 ๐ Improves the
fmt::Debug
impls forVector
,Matrix
,Point
,Decomposed
,Quaternion
andAngle
to make them easier to derive, and have clearer formatting.  Marks vectors, points, matrices, and angles as
#[repr(C, packed)]
.  ๐ Renames the
Vector::{length, length2}
functions toVector::{magnitude, magnitude2}
.  ๐ Move
Angle::new
to be directly implemented on theRad
andDeg
types.  ๐ Move
Vector::dot
toEuclideanVector
trait.  ๐ Move
Vector::from_value
toArray
trait.
โ Removed
 ๐ The nonmathematical operator trait implementations have been removed from
the
Vector
trait, in favor of theElementWise
trait. Angle::equiv
. โ Remove
neg_self
method on vectors and matrices.
 Implements

v0.7.0 Changes
December 23, 2015โ Added
 โ Add missing byref and byval permutations of
Vector
,Matrix
,Point
,Quaternion
andAngle
operators.  Ease lifetime constraints by removing
'static
from some scalar type parameters.  Weaken type constraints on
perspective
function to take anInto<Rad<S>>
.  โ Add
Angle::new
for constructing angles from a unitless scalar.  ๐ Implement assignment operators for nightly builds, enabled by the
"unstable"
feature.
๐ Changed
Vector
,Matrix
,Point
, andAngle
are now constrained to require specific operators to be overloaded. This means that generic code can now use operators, instead of the operator methods. Take a
Rad
forProjectionFov::fovy
, rather than arbitraryAngle
s. This simplifies the signature ofPerspectiveFov
fromPerspectiveFov<S, A>
toPerspectiveFov<S>
.  ๐ The following trait constraints were removed from
Angle
:Debug
,ScalarConv
,Into<Rad<S>>
,Into<Deg<S>>
.  ๐
Angle
no longer requiresOne
, and the implementations have been removed fromDeg
andRad
. This is because angles do not close over multiplication, and therefore cannot have a multiplicative identity. If we were truly accurate,Angle * Angle
would return anAngle^2
(not supported by the current api).  ๐ Make remainder operators on
Angle
s make sense from the perspective of dimensional analysis.  ๐ Moved free trigonometric functions onto
Angle
.
โ Removed
 โ Remove redundant
Point::{min, max}
methods  these are now covered by theArray::{min, max}
methods that were introduced in 0.5.0.  โ Removed
ToComponents
,ToComponents2
, andToComponents3
. If you were relying onToComponents::decompose
, you can produce the same effect by accessing the fields onDecomposed
directly. To create the scale vector, use:Vector::from_value(transform.scale)
.  โ Removed
CompositeTransform
,CompositeTransform2
, andCompositeTransform3
.  โ Remove
Vector::one
. Vectors don't really have a multiplicative identity. If you really want aone
vector, you can do something like:Vector::from_value(1.0)
.  โ Remove operator methods from
Vector
,Matrix
,Point
, andAngle
traits in favor of operator overloading.  โ Remove
*_self
methods fromVector
,Matrix
,Point
, andAngle
. The operator methods can be used via the unstable assignment operators.  โ Remove
#[derive(Hash)]
fromDeg
andRad
. This could never really be used these types, because they expect to be given aBaseFloat
under normal circumstances.
 โ Add missing byref and byval permutations of

v0.6.0 Changes
December 12, 2015โ Added
 This CHANGELOG for keeping track of notable changes.
Matrix4::{from_scale, from_nonuniform_scale}
for easily constructing homogeneous scale matrices.
๐ Changed
 ๐ Renamed
SquareMatrix::one
toSquareMatrix::identity
.identity
is easier to search for, and the more common name for the multiplicative identity for matrices.  Matrix impls have now been constrained to
S: BaseFloat
.

v0.5.0 Changes
November 20, 2015๐ Changed
 Take many point and vector parameters by value.
 Take point and vector operator overloads by value.
 Divide
Matrix
trait intoMatrix
andSquareMatrix
, opening the door for nonsquare matrices in the future.  ๐ Make many trait type parameters associated types.
 ๐ Move elementwise methods from
Vector
andPoint
onto theArray1
trait, and rename it toArray
.  ๐ Make pointer access methods on
Array
match the naming scheme of those in the standard library.
โ Removed
 โ Removed collision types:
Ray
,Plane
,Frustum
,Aabb2
,Aabb3
Obb2
,Obb3
Sphere
,Cylinder
. These can now be found at csherratt/collisionrs.  โ Remove
Array2
trait, moving methods onto theMatrix
trait.

v0.4.0
October 25, 2015 
v0.3.1
September 20, 2015 
v0.3.0
September 20, 2015