openpencil/tests/engine/vue
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
..
canvas fix: convert document colour profiles, keep text edits live, and fix .fig exports (#716) 2026-09-18 00:43:10 +03:00
controls fix(editor): close preview and history lifecycle gaps 2026-09-16 03:36:44 +03:00
editor fix(vue): detach nested selection projection values 2026-09-16 10:05:44 +03:00
fill feat(vue): promote color and fill primitives 2026-07-13 23:41:04 +03:00
i18n fix(i18n): respect browser locale priority 2026-07-28 03:19:32 +03:00
input feat(scene-graph)!: make a stroke a paint (#864) 2026-10-04 13:38:05 +04:00
layer-tree feat(editor): add shared style bindings 2026-07-17 20:28:22 +03:00
layout feat(app): migrate layout size controls 2026-07-13 15:34:25 +03:00
lifecycle perf(properties): retain inactive panels safely 2026-09-15 17:01:44 +03:00
shared fix(canvas): pan horizontally with Shift+wheel (#523) 2026-08-14 20:58:28 +03:00
testing chore: align adapted checks with current conventions 2026-08-13 20:33:10 +03:00
document-workspace.test.ts perf(properties): retain inactive panels safely 2026-09-15 17:01:44 +03:00
renderer.test.ts fix(editor): close preview and history lifecycle gaps 2026-09-16 03:36:44 +03:00