New
Kurbo v0.13.0
This release has an MSRV of 1.85.
Added
- The newly added
BezPath::into_elementsmethod allows getting all path elements as aVecwithout allocating, consuming the original path. This is the counterpart ofBezPath::from_vec. (#504 by @cmyr) - Add a derive
Hashto theAxistype. (#527 by @jrmoulton)
Changed
- Speed up methods like
Ellipse::radiiby reworking the singular value decomposition expression. (#499 by @tomcur) - The
Line::nearestmethod to calculate the projection of a point onto a line segment has been made more performant. (#505 by @tomcur) - The
QuadBez::arclencalculation has been made more numerically stable (#503 by @jneem). SvgParseErrornow implementscore::error:Error. It previously implementedstd::error::Errorinstd-enabled builds. (#517 by @Bombaninha)- The behavior of open versus closed shapes when using
BezPath::extend(extending Bezier paths using an iterator overPathEl) has been clarified. #523 by @DJMcNab) - More methods are marked
inline. (#506 by @LaurenzV, #509 by @tomcur)
The following functions are now callable from const contexts. (#510, #512, #521, #522, #524, #525, #526 by @tomcur)
Affine::{skew, then_translate, map_unit_square, as_coeffs, determinant, inverse, translation, with_translation}Point::midpointRect::{width, height, origin, size, area, is_zero_area, center, aspect_ratio_width, overlap, contains_rect, union, intersect, inscribed_rect_with_aspect_ratio, inflate, scale_from_origin, abs}Size::{max_side, min_side, area, is_zero_area, min, max, clamp, aspect_ratio_width}- In addition, the
is_finiteandis_nanmethods on the following types are nowconst:Affine,Circle,ConstPoint,CubicBez,Ellipse,Insets,Line,Point,QuadBez,Rect,RoundedRect,RoundedRectRadii,Size,Triangle,Vec2.
New Contributors
- @Bombaninha made their first contribution in https://github.com/linebender/kurbo/pull/517
- @jrmoulton made their first contribution in https://github.com/linebender/kurbo/pull/527
Full Changelog: https://github.com/linebender/kurbo/compare/v0.12.0...v0.13.0