vectorcraft/crates/render/src
bflatastic 025d758abe M3.83: gradients within, along or across a stroke
The Gradient panel's Stroke buttons now work: with the Stroke proxy on a
linear or radial gradient they lay it within the stroke (placed on the
page, as before), along the path (start to end of each subpath) or across
it (left edge to right edge; inside/outside strokes span their visible
side). `paint.editGradient {stroke: true, strokeMode}` sets it (new art
too with nothing selected); `document.inspect` reports
strokeOptions.gradientMode. Model: StrokeLayer.gradient_mode (default
Within, not written).

Shared geometry in effects::stroke::gradient: ribs on the bisectors of
the flattened path (fans round sharp corners, widened under arrowheads,
following width profiles) cut slices each painted with a linear piece of
the gradient (Gradient::span). The canvas and raster export clip them to
the stroke's outline and arrowheads, grown a pixel and composited with
copy so there are no seams and translucent stops paint once. SVG and PDF
write the same slices clipped to the outline, with a warning (new
vectorcraft_svg::export_with_report). Outline Stroke and Expand make
gradient meshes clipped to the outline. Mesh quads now grow along their
edges so thin quads show no seams. Dashes, profiles and arrowheads keep
working in both modes.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-05 05:47:54 +07:00
..
brush_fx.rs M3.91: Object > Flatten Transparency turns transparent art into opaque art that looks the same 2026-10-05 01:36:18 +07:00
freeform.rs M3.90: blend modes and opacity composite inks in CMYK documents 2026-10-05 04:30:06 +07:00
fx.rs M3.90: blend modes and opacity composite inks in CMYK documents 2026-10-05 04:30:06 +07:00
group.rs M3.74: blending inside a group reaches the art below unless the group isolates it 2026-10-05 00:27:31 +07:00
ink.rs M3.90: blend modes and opacity composite inks in CMYK documents 2026-10-05 04:30:06 +07:00
lib.rs M3.83: gradients within, along or across a stroke 2026-10-05 05:47:54 +07:00
live.rs M3.83: gradients within, along or across a stroke 2026-10-05 05:47:54 +07:00
paint.rs M3.98: radial annotator extent ellipse, aspect handle and off-centre focal point 2026-10-05 04:43:43 +07:00
pattern.rs M3.90: blend modes and opacity composite inks in CMYK documents 2026-10-05 04:30:06 +07:00
proof.rs M3.85: spot colours defined in Lab, with Spot Colors options for Lab values or CMYK equivalents 2026-10-05 03:46:57 +07:00
tests.rs Merge wp/C1 2026-10-04 21:47:58 +07:00
tests_blend.rs M3.73: blend modes follow the reference formulas on screen, in SVG and in PDF 2026-10-05 00:27:31 +07:00
tests_charstroke.rs M3.40: stroke on type — the Stroke panel edits the characters' stroke 2026-10-05 01:09:55 +07:00
tests_clip.rs M3.26: clipping sets with any clip shape 2026-10-04 17:23:57 +07:00
tests_cmykblend.rs M3.90: blend modes and opacity composite inks in CMYK documents 2026-10-05 04:30:06 +07:00
tests_container.rs M3.68: groups, layers and type have their own fills, strokes and effects, with Contents and Characters rows 2026-10-05 00:59:34 +07:00
tests_freeform.rs M3.81: freeform gradients: colour points with spread, smooth lines, first points placed inside the shape 2026-10-05 01:21:38 +07:00
tests_isolation.rs M3.89: a clipping path's fill paints behind the clipped art, its stroke over it 2026-10-05 03:11:04 +07:00
tests_knockout.rs M3.48: Page Isolated Blending and Page Knockout Group 2026-10-04 23:10:06 +07:00
tests_objectfx.rs M3.43: effects render on type, placed images, symbol instances, blends, envelopes, meshes and repeats; a fill or stroke's own raster effects render and export as SVG filters on that element 2026-10-04 23:15:13 +07:00
tests_strokegradient.rs M3.83: gradients within, along or across a stroke 2026-10-05 05:47:54 +07:00
tests_tileedge.rs M3.72: Tile Edge Color dialog and Show Swatch Bounds in pattern editing 2026-10-05 01:50:25 +07:00