mirror of
https://github.com/storytold/vectorcraft.git
synced 2026-10-24 09:46:59 -06:00
The fit of a thin outline can lose all its area. Its two sides can straighten onto one line, which leaves two anchors whose segments run back and forth along it. Or the fit can be a single cubic, which becomes one anchor and has no segment. Both occur when Flat Logo traces noise whose cells are one pixel in size. The trace kept such an outline as a selectable path that paints nothing. Flat Logo now leaves out an outline whose area is below 1e-6 px^2, together with its holes, and a hole whose area is below 1e-6 px^2. The area is summed about the outline's first anchor, as the other trace modes already do for a filled loop (crates/trace/src/lib.rs:996-1001). Outlines with an area of 1e-6 px^2 or more, thin slivers included, are kept as before. One test traces a black and cream noise with both colors named exactly and checks that no subpath of the result lacks an area. Two more build shapes from straight cubics: a hole without area is left out, and an outline without area is left out with its hole.