mirror of
https://github.com/storytold/craft-libs.git
synced 2026-11-12 08:52:32 +00:00
Add the linesweeper 0.5.0 package to vendor/ with no file changed, so that a fix to it can reach the Craft apps through this repository without waiting for a linesweeper release. The GitHub repository its manifest names is archived, and its README says development moved off GitHub. Leave out the test font (fonts live in craft-fonts), the logo artwork, the snapshot images and the package's repository tooling. SOURCE.json lists each with its hash. Add a workspace exclude, a [patch.crates-io] entry, SOURCE.json with the archive hash and per-file hashes, NOTICE and ATTRIBUTION.md rows, and the package's tests in the backend test script. craft-prepress's flatten feature now builds against the copy, so Cargo.lock drops the package's registry source and checksum.
1.6 KiB
1.6 KiB
Changelog
0.5.0 - 2026-10-05
Changed
- Boolean operations now attempt to preserve quadratic segments: they will no longer be automatically converted into cubics (issue 2774a82).
Fixed
- Fixed a panic with polylines that have degenerate segments (issue da2b71b).
- Fixed a panic with intersections exactly at the end of segments (issue f8732c7).
- Fixed a panic (in slow-asserts mode only) from an ordering violation (issue df03063).
- Fixed an infinite loop (issue a140a5f).
Added
- Added some convenience methods to
Contours(patch d4a09be).
0.4.0 - 2026-06-14
0.4.0 is the first release with a changelog entry; for previous releases, we didn't have enough users to worry about it.
Changed
- There is a new "approximate" output mode, which is now the default. Previous
versions of linesweeper provided strong correctness guarantees, but those
guarantees made some cases slow and caused more subdivisions than necessary.
Also, I think that those stronger guarantees are probably not needed for most
applications -- other boolean ops libraries don't provide them as far as I
know. So linesweeper now provides weaker guarantees by default. For the old
behaviour, see
Topology::contours_correct. - The winding direction conventions have changed; output curves have been
reversed, so that they agree with
kurbo's conventions. - The
BinaryWindingNumberAPI has changed; it now uses theOneOfTwoenum to distinguish the two sets, instead of abool.
Added
- The new
Topology::has_normal_contoursandTopology::is_disjoint_tagsallow for detecting some no-op (or approximate no-op) situations.