All notable changes to this project will be documented in this file, following the format defined at keepachangelog.com. This project adheres to Semantic Versioning as of version 0.3.
These changes are included in master
but have not been released in a new crate version yet.
- Add
Default
impl toVectors
. - Add
Default
impl toPoints
.
- Fix
to_scale_rotation_translation
function. - Add
from_scale_rotation_translation
function.
- Fix
look_to_rh
function.
- Added
look_to_rh
,look_to_lh
,look_at_rh
andlook_at_lh
functions for creating view matrices. - Added
perspective_rh
andperspective_lh
functions for creating perspective matrices. - Added
orthographic_rh
andorthographic_lh
functions for creating orthographic matrices. - Added
extend
function toVector1
,Vector2
, andVector3
. - Added
truncate
function toVector2
,Vector3
, andVector4
. - Added swizzle functions to small vectors.
- Added conversion functions from vectors and points into arrays.
- Removed
swizzle
feature and include swizzling always. - Changed
reflect
method ofInnerSpace
to take aUnit<Self>
for thesurface_normal
.
- Added
Vector2
,Vector3
andVector4
structs to improve ergonomics while dealing with smaller vector types. - Added
Rotation2
andRotation3
traits for rotating small vectors and points. - Changed
Vector{N}
toColumnVector{N}
. - Changed
Point
types be struct based rather than array based to reflect the change in vectors. - Changed
Rotation
toRotationN
- Added some missing derives to
Euler
andUnit
.
- Added
to_scale_rotation_translation
function to Matrix4. - Added
From<Orthonormal<T, 3>>
forQuaternion<T>
. - Added
new
function toOrthonormal
. - Added
signum
function toReal
.
- Fix affine matrix construction.
- Added
from_rotation
constructor forMatrix3
andMatrix4
. - Derive
serde::Serialize
andserde::Serialize
and forUnit
whenT
supports it.
- Added
Vector1
andPoint1
- Added
from_vec1
,from_vec2
, andfrom_vec3
constructors to extend vectors. - Added
from_point1
,from_point1
, andfrom_point1
, constructors to extend points. - Make
Unit
Copy
andClone
dependent onT
.
- Remove redundant
lerp
definition (oops).
- Added
asin
andacos
methods toReal
. - Added
Unit
struct to enforce normalized objects. - Added
nlerp
andslerp
method toUnit
. - Added
lerp
method toMatrix
.
- Implement remaining
approx
traits forMatrix
andPoint
. - Change to edition 2021.
- Redefine Vector in terms of Matrices, as opposed to definining Matrices in terms of Vectors. This is a more natural definition and allows for a dramatic reduction of code.
- Renamed the crate to
al-jabr
and remove methods that are not compatible with rust stable.
- Added
const_evaluatable_checked
unstable feature to allow fortruncate
andextend
methods to be used.
- Fix an instance of undefined behavior in
swap_columns
andswap_rows
when attempting to swap a row or column with itself.
- Rename
trunc
methodtruncate
. - Added
extend
,max
,argmax
,min
, andargmin
toVector
. - Added
column_iter
,column_iter_mut
,row_iter
,row_iter_mut
toMatrix
. - Added
LU
matrix. - Added complete
inverse
,determinant
andlu
methods toMatrix
. - Remove
Angle
trait. - Remove
SquareMatrix
trait. - Reorganize
Matrix
type aliases.
- Added
trunc
method toVector
, now that rust supports it. - Remove deprecation from
TruncatedVector
.
- Added support for the
mint
crate. - Added
IntoIterator
implementations forVector
,Matrix
andPoint
.
- Fix a typo in the documentation.
- Added
FromIterator
implementation forVector
andMatrix
. - Remove redundant
SquareMatrix
requirement fromMatrix
impl ofOne
. - Implement
invert
for Matrices up to dimension of 2. - Added
One
,Div<Self, Output = Self>
andNeg<Output = Self>
constraints toSquareMatrix::Scalar
.
- Remove
trunc
method and deprecatedTruncatedVector
due to an ice. - Added
reflect
method simply because it was already in master. Sorry semver. - Change license to dual MIT/Apache-2.0
- Fix some typos in the docs.
- Added
vector!
andmatrix!
macros, deprecate other construction methods. - Added
Point
type. - Added
map
method toVector
andMatrix
. - Implement
Distribution<Vector<_, _>>
andDistribution<Matrix<_, _, _>>
for randStandard
. - Implement serde
Serialize
andDeserialize
for all data structures. - Added
Rotation<DIMS>
trait to describe values that can rotate vectors of sizeDIMS
. - Added
Angle
trait to describe values with asin
andcos
defined. - Added
Euler
struct to describe rotations in three dimensions via three components. - Added
Orthonormal
struct for rotation matrices.