openpencil/tests/engine
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
..
acp
app feat(ai): render tool calls as summarized, highlighted cards (#811) 2026-10-03 22:04:31 +04:00
cli feat(fig): occurrence-scoped instance interpretation as the single .fig reader 2026-10-01 11:20:27 +04:00
clipboard fix(fig): read, render, and write Figma slots (#850) 2026-10-04 00:45:10 +04:00
collab Release v0.15.0 2026-09-16 17:57:35 +03:00
color feat(scene-graph)!: make a stroke a paint (#864) 2026-10-04 13:38:05 +04:00
core feat(fig): occurrence-scoped instance interpretation as the single .fig reader 2026-10-01 11:20:27 +04:00
dom-css
figma/api feat(scene-graph)!: make a stroke a paint (#864) 2026-10-04 13:38:05 +04:00
geometry feat(scene-graph)!: make a stroke a paint (#864) 2026-10-04 13:38:05 +04:00
hit-test
icons
io feat(scene-graph)!: make a stroke a paint (#864) 2026-10-04 13:38:05 +04:00
kiwi feat(fig): occurrence-scoped instance interpretation as the single .fig reader 2026-10-01 11:20:27 +04:00
layout feat(scene-graph)!: make a stroke a paint (#864) 2026-10-04 13:38:05 +04:00
library build: upgrade oxfmt and format Vue imports (#669) 2026-09-10 02:45:13 +03:00
lint test: migrate Scene Graph tests into the package and gate new tests/engine files (#790) 2026-09-30 04:53:28 +04:00
mcp fix(MCP): add read-only file lifecycle tools (#722) 2026-09-18 11:55:06 +03:00
pen feat: export components as Storybook stories (#751) 2026-09-30 03:16:47 +04:00
profiler
random
render feat(scene-graph)!: make a stroke a paint (#864) 2026-10-04 13:38:05 +04:00
snap
tauri fix(fonts): explain PingFang substitution and draw its CJK text (#781) 2026-09-26 11:14:30 +04:00
text fix(text): render variable font styles at their named instances (#773) 2026-09-26 11:25:01 +04:00
tools feat(scene-graph)!: make a stroke a paint (#864) 2026-10-04 13:38:05 +04:00
vector feat(canvas): render arrow stroke caps on lines and open vectors 2026-08-31 21:25:38 +03:00
vue feat(scene-graph)!: make a stroke a paint (#864) 2026-10-04 13:38:05 +04:00
perf.bench.ts