mirror of
https://github.com/storytold/craft-libs.git
synced 2026-11-14 06:22:24 +00:00
* prepress: one wide curve no longer slows region cleanup for every other curve The flattener's region cleanup looks up the input curves whose bounds hold both ends of an output piece. The lookup searched back from a point by the width of the widest input curve, so one curve as wide as the page made every lookup scan nearly every input curve, and the cleanup grew quadratically with the number of curves. The curves are now grouped by bounds width, each group within a factor of two, and each group is searched within its own widest bounds. The lookup returns the same curves in the same order as before, so the regions are unchanged. * prepress: region cleanup keeps a curve held just inside its right edge Far from the origin, `x - width` can round above the left edge of a curve whose bounds hold `x`, and the width-group search then skipped that curve. The search's left edge is now rounded outward. --------- Co-authored-by: dotCooCoo <RobertLeeLW@gmail.com>