openpencil/tests/engine
Danila Poyarkov ed61445e2d
SVG export (#52)
* Add SVG export

Scene graph → SVG serializer with support for rectangles, ellipses,
lines, stars, polygons, vectors (fill/stroke geometry and vector
networks), text with style runs, gradients (linear, radial, angular),
image fills, effects (drop shadow, inner shadow, blur), opacity,
rotation, flips, blend modes, clip paths, and nested groups.

- packages/core: svg-node.ts (minimal XML builder), svg-export.ts
  (serializer), ExportFormat now includes 'SVG', computeContentBounds
  extracted for reuse
- packages/cli: export command accepts --format svg
- UI: SVG added to ExportSection format picker (scale hidden for SVG),
  context menu 'Export as SVG' option
- 47 new tests covering SVGNode builder, geometry blob → path, vector
  network → path, and full node export for all shape types

* Update changelog

* Add export_svg tool to ToolDefs

Available via MCP, AI chat, and CLI eval command.

* Replace standalone export items with Copy/Paste as submenu

Figma-style submenu: Copy as text, Copy as SVG, Copy as PNG (⇧⌘C),
Copy as JSX. Keeps Export as PNG (⇧⌘E) as a separate item.

* Remove standalone Export as PNG from context menu

* Update changelog
2026-03-05 10:31:02 +03:00
..
abspos-cache.test.ts Improve zoom smoothness, add absolute position cache (#21) 2026-03-03 11:44:31 +03:00
acp-agent.test.ts Add ACP agent package with tests 2026-03-05 09:14:54 +03:00
clipboard.test.ts Apply instance symbolOverrides on clipboard paste 2026-03-03 23:26:29 +03:00
effects-and-resize.test.ts Fix effects rendering: shadows, blur, spread (#24) 2026-03-03 09:53:39 +03:00
eval-cli.test.ts Fix hit-testing: scope hover to current page, click-through empty containers 2026-03-05 08:56:35 +03:00
export-jsx.test.ts Add Code tab with JSX export and syntax highlighting 2026-03-01 12:12:45 +03:00
fig-import.test.ts Detect component sets and skip internal canvas on paste 2026-03-03 23:20:55 +03:00
fig-roundtrip.test.ts Fix hit-testing: scope hover to current page, click-through empty containers 2026-03-05 08:56:35 +03:00
figma-api.test.ts Fill Figma Plugin API gaps: 29 new tests, 30+ new properties and methods 2026-03-01 13:35:02 +03:00
fonts.test.ts Extract collectFontKeys into core and add font tests 2026-03-04 10:16:26 +03:00
individual-strokes.test.ts Add stroke align, individual side strokes, and side selector UI 2026-03-04 09:47:14 +03:00
layout.test.ts Populate instance children from components on .fig import 2026-03-04 10:55:29 +03:00
mcp-server.test.ts Fix hit-testing: scope hover to current page, click-through empty containers 2026-03-05 08:56:35 +03:00
mcp.test.ts Fix hit-testing: scope hover to current page, click-through empty containers 2026-03-05 08:56:35 +03:00
multi-selection.test.ts Multi-selection properties panel with tests 2026-03-03 20:35:51 +03:00
profiler.test.ts Add renderer profiler with HUD overlay, GPU timing, and phase instrumentation 2026-03-04 14:13:17 +03:00
render.test.ts JSX renderer in @open-pencil/core 2026-03-01 10:42:06 +03:00
renderer-effects.test.ts Fix effect ordering test, add contributors to release notes 2026-03-05 09:56:13 +03:00
scene-graph.test.ts Fix hit-testing: scope hover to current page, click-through empty containers 2026-03-05 08:56:35 +03:00
svg-export.test.ts SVG export (#52) 2026-03-05 10:31:02 +03:00
tools-ai-adapter.test.ts Unify tool definitions: define once, adapt for AI/CLI/MCP 2026-03-01 15:02:05 +03:00
tools-cli.test.ts Fix hit-testing: scope hover to current page, click-through empty containers 2026-03-05 08:56:35 +03:00
tools.test.ts Unify tool definitions: define once, adapt for AI/CLI/MCP 2026-03-01 15:02:05 +03:00