openpencil/packages
Danila Poyarkov f55b887d2b
feat(scene-graph)!: make a stroke a paint (#864)
* feat(scene-graph)!: make a stroke a paint

Stroke extends Fill, so a stroke carries the same paint vocabulary a
fill does instead of a lone color. Every construction site now states
a solid paint type, which keeps today's behaviour exactly; rendering,
.fig conversion, and the stroke panel still read solid strokes only.

copyFill is generic over the paint shape so copyStroke reuses it
rather than repeating the deep copy of gradient stops, transforms and
pattern fields.

Groundwork for the gradient and image strokes in #797.

* test(scene-graph): cover a stroke's nested paint data in copyStroke

A stroke is a paint now, so its gradient stops and transform must copy
as deeply as a fill's; the fixture was solid and proved only the color
and dash pattern.
2026-10-04 13:38:05 +04:00
..
cli refactor(core): use es-toolkit for diff tool collection helpers (#854) 2026-10-03 23:19:56 +04:00
codegen feat(design-jsx): export every property the renderer accepts (#814) 2026-10-03 15:40:21 +04:00
core feat(scene-graph)!: make a stroke a paint (#864) 2026-10-04 13:38:05 +04:00
demos
design-jsx feat(scene-graph)!: make a stroke a paint (#864) 2026-10-04 13:38:05 +04:00
docs feat(app): show who works on each page (#815) 2026-10-04 01:18:16 +04:00
dom-css feat(scene-graph)!: make a stroke a paint (#864) 2026-10-04 13:38:05 +04:00
fig feat(scene-graph)!: make a stroke a paint (#864) 2026-10-04 13:38:05 +04:00
harness docs: route contributors through per-domain guides and ship npm license text (#785) 2026-09-29 01:02:06 +04:00
kiwi fix(fig): keep variable metadata, plugin data and default mode on save (#848) 2026-10-04 12:53:04 +04:00
mcp refactor(design-jsx): extract design JSX into its own package (#793) 2026-09-30 20:55:27 +04:00
pen feat(scene-graph)!: make a stroke a paint (#864) 2026-10-04 13:38:05 +04:00
scene-graph feat(scene-graph)!: make a stroke a paint (#864) 2026-10-04 13:38:05 +04:00
vue feat(scene-graph)!: make a stroke a paint (#864) 2026-10-04 13:38:05 +04:00