vectorcraft/crates
bflatastic 700b6786c4 Fix #206: Live Paint treats every path as an edge, open lines included
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>
2026-10-07 02:08:39 +07:00
..
brush M4.39: SVG symbols as <symbol>/<use>, hidden layers on Save, Dublin Core metadata 2026-10-05 09:03:52 +07:00
cad M8.16: Envelopes bend images, symbols, gradients, patterns and appearance; warps keep their frame 2026-10-06 12:01:47 +07:00
color M4.98: freeform gradients export to SVG as images clipped to their shapes 2026-10-05 13:25:16 +07:00
doc i18n: add Japanese menus and initial vertical type tools 2026-10-06 16:55:47 +09:00
effects M8.14: Type and symbols in perspective are really projected and stay editable; attachments survive copies 2026-10-06 12:10:00 +07:00
engine Fix #206: Live Paint treats every path as an edge, open lines included 2026-10-07 02:08:39 +07:00
eps M8.16: Envelopes bend images, symbols, gradients, patterns and appearance; warps keep their frame 2026-10-06 12:01:47 +07:00
format M4.38: native and .ai save options: each artboard to its own file, linked files, ICC profiles, PDF content 2026-10-05 15:24:19 +07:00
geom M8.14: Type and symbols in perspective are really projected and stay editable; attachments survive copies 2026-10-06 12:10:00 +07:00
mcp M8.4: Liquify keeps going while held, leaves non-paths alone, strokes apply incrementally 2026-10-06 12:00:52 +07:00
metafile M8.16: Envelopes bend images, symbols, gradients, patterns and appearance; warps keep their frame 2026-10-06 12:01:47 +07:00
pathops Fix #206: Live Paint treats every path as an edge, open lines included 2026-10-07 02:08:39 +07:00
pdf M8.16: Envelopes bend images, symbols, gradients, patterns and appearance; warps keep their frame 2026-10-06 12:01:47 +07:00
plugins Fix #121: sandboxed WebAssembly plug-ins: object filters and live effects 2026-10-06 00:19:41 +07:00
render M8.14: Type and symbols in perspective are really projected and stay editable; attachments survive copies 2026-10-06 12:10:00 +07:00
svg i18n: add Japanese menus and initial vertical type tools 2026-10-06 16:55:47 +09:00
testkit M4.62: PDF/.ai layers from optional content: named layers with visibility, print state and lock; art that is off as hidden layers 2026-10-05 13:05:12 +07:00
text Fonts: use craft-fonts as an optional build input; move the Japanese fonts out 2026-10-06 10:42:21 -04:00
tools Fix #206: Live Paint treats every path as an edge, open lines included 2026-10-07 02:08:39 +07:00
trace Robustness: VectorCraft never crashes — no panics in shipped code 2026-10-05 06:28:59 +07:00
ui-egui Fonts: the Japanese-menu glyph test skips without craft-fonts 2026-10-06 11:09:46 -04:00