The Live Paint Bucket now fills areas enclosed by any paths. Crossing lines enclose faces it can fill, a line across a shape splits that shape's face in two, and an area enclosed by paths becomes a face even when nothing fills it (it starts unfilled). Edges are the paths cut wherever another path meets them, keeping their stroke, so Shift-click paints each piece. Closed shapes give the same faces as before. Root cause: Live Paint built its faces from the Pathfinder regions, which divide the filled areas of closed shapes. An open path counted only as the area it would fill if closed, which for a straight line is nothing, so lines divided nothing and the bucket found no face to fill. A new planar map in vectorcraft-pathops (live_paint) sweeps every path as an edge: an open path goes in traced there and back, with crossing counts that never cancel; faces are walked on the resulting graph (holes included), and their fills and the edges' sources are found geometrically. The sweep runs in an exactly sheared frame, because it mishandles a horizontal line traced there and back. Make, Merge, the bucket and Live Paint Selection all use it; interior_point moves to vectorcraft-pathops with it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| boolean.rs | ||
| edit.rs | ||
| fit.rs | ||
| lib.rs | ||
| offset.rs | ||
| pathfinder.rs | ||
| planar.rs | ||