Update changelog

This commit is contained in:
Brendan Zabarauskas 2015-12-13 20:35:03 +11:00
parent 1cc11d2c8b
commit 44e4ce1024

View file

@ -7,20 +7,27 @@ This project adheres to [Semantic Versioning](http://semver.org/).
## [Unreleased] ## [Unreleased]
### Added ### Added
- Add missing by-ref and by-val permutations of `Quaternion` operators. - Add missing by-ref and by-val permutations of `Quaternion` and `Angle`
operators.
- Ease lifetime constraints by removing `'static` from some scalar type - Ease lifetime constraints by removing `'static` from some scalar type
parameters. parameters.
- Weaken type constraints on `perspective` function to take an `Into<Rad<S>>`. - Weaken type constraints on `perspective` function to take an `Into<Rad<S>>`.
- Add `Angle::new` for constructing angles from a unitless scalar.
### Changed ### Changed
- `Vector`, `Point`, and `Angle` 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` for `ProjectionFov::fovy`, rather than arbitrary `Angle`s. This - Take a `Rad` for `ProjectionFov::fovy`, rather than arbitrary `Angle`s. This
simplifies the signature of `PerspectiveFov` from `PerspectiveFov<S, A>` to simplifies the signature of `PerspectiveFov` from `PerspectiveFov<S, A>` to
`PerspectiveFov<S>`. `PerspectiveFov<S>`.
- The following trait constraints were removed from `Angle`: `Debug`,
### Changed `ScalarConv`, `Into<Rad<S>>`, `Into<Deg<S>>`.
- `Vector` and `Point` are now constrained to require specific operators to be - `Angle` no longer requires `One`, and the implementations have been removed
overloaded. This means that generic code can now use operators, instead of from `Deg` and `Rad`. This is because angles do not close over multiplication,
the operator methods. and therefore cannot have a multiplicative identity. If we were truly accurate,
`Angle * Angle` would return an `Angle^2` (not supported by the current api).
- Moved free trigonometric functions onto `Angle`.
### Removed ### Removed
- Remove redundant `Point::{min, max}` methods - these are now covered by the - Remove redundant `Point::{min, max}` methods - these are now covered by the
@ -33,10 +40,14 @@ This project adheres to [Semantic Versioning](http://semver.org/).
- Remove `Vector::one`. Vectors don't really have a multiplicative identity. - Remove `Vector::one`. Vectors don't really have a multiplicative identity.
If you really want a `one` vector, you can do something like: If you really want a `one` vector, you can do something like:
`Vector::from_value(1.0)`. `Vector::from_value(1.0)`.
- Remove operator methods from `Vector` and `Point` traits in favor of operator - Remove operator methods from `Vector`, `Point`, and `Angle` traits in favor of
overloading. operator overloading.
- Remove `*_self` methods from `Vector` and `Point`. These were of little - Remove `*_self` methods from `Vector`, `Point`, and `Angle`. These were of
performance benefit, and assignment operator overloading will be coming soon! little performance benefit, and assignment operator overloading will be
coming soon!
- Remove `#[derive(Hash)]` from `Deg` and `Rad`. This could never really be used
these types, because they expect to be given a `BaseFloat` under normal
circumstances.
## [v0.6.0] - 2015-12-12 ## [v0.6.0] - 2015-12-12