openpencil/packages/core/src
Danila Poyarkov 46e93a1b70 Phase 2: Canvas primitives, renderer renderFromEditorState
New headless components:
- CanvasRoot — provides canvas context, initializes surface + render loop
- CanvasSurface — bare <canvas> element, receives ref from CanvasRoot

SkiaRenderer.renderFromEditorState() — single method replaces 30-line
state sync in use-canvas.ts. Takes EditorState + graph + textEditor
directly, sets all renderer properties and calls render().

Example app updated to use CanvasRoot/CanvasSurface, ToolbarRoot/
ToolbarItem, PageListRoot instead of old monolithic components.
2026-03-17 09:29:38 +03:00
..
editor Rename NodeContextMenuContent → CanvasMenu, extract logic 2026-03-17 08:52:32 +03:00
kiwi Wire editor actions, move kiwi-serialize, clean dead code 2026-03-16 22:30:56 +03:00
profiler Lint all packages: fix 193 errors across core, mcp, acp 2026-03-09 13:18:08 +03:00
render AI chat polishing: skeleton workflow, batched tools, visual feedback, stock photos (#111) 2026-03-15 15:42:41 +03:00
renderer Phase 2: Canvas primitives, renderer renderFromEditorState 2026-03-17 09:29:38 +03:00
rpc Fix lint warnings: eliminate any types, split oversized files 2026-03-12 15:13:30 +03:00
svg-export Fix per-character text fill colors and vector region loop direction (#95) 2026-03-12 18:28:04 +03:00
tools Add computeBounds/requireNode helpers, scope CodePanel style, dedupe snap/zip 2026-03-16 23:01:51 +03:00
canvaskit.ts Export IS_BROWSER from core, replace all raw typeof window checks 2026-03-16 14:05:24 +03:00
clipboard.ts Wire editor actions, move kiwi-serialize, clean dead code 2026-03-16 22:30:56 +03:00
color.ts Lint all packages: fix 193 errors across core, mcp, acp 2026-03-09 13:18:08 +03:00
constants.ts Fix type errors found by tsgo and vue-tsc 2026-03-16 21:54:08 +03:00
copy.ts Fix per-character text fill colors and vector region loop direction (#95) 2026-03-12 18:28:04 +03:00
fig-compress.ts Add computeBounds/requireNode helpers, scope CodePanel style, dedupe snap/zip 2026-03-16 23:01:51 +03:00
fig-export-worker.ts Add computeBounds/requireNode helpers, scope CodePanel style, dedupe snap/zip 2026-03-16 23:01:51 +03:00
fig-export.ts Add computeBounds/requireNode helpers, scope CodePanel style, dedupe snap/zip 2026-03-16 23:01:51 +03:00
figma-api-proxy.ts Wire editor actions, move kiwi-serialize, clean dead code 2026-03-16 22:30:56 +03:00
figma-api.ts Add computeBounds/requireNode helpers, scope CodePanel style, dedupe snap/zip 2026-03-16 23:01:51 +03:00
fonts.ts Wire editor actions, move kiwi-serialize, clean dead code 2026-03-16 22:30:56 +03:00
geometry.ts Add computeBounds/requireNode helpers, scope CodePanel style, dedupe snap/zip 2026-03-16 23:01:51 +03:00
global.d.ts Fix all 135 vue-tsc errors, promote to check gate 2026-03-16 22:21:21 +03:00
headless-render.ts Move font loading and layout into SkiaRenderer.prepareForExport 2026-03-14 12:06:46 +03:00
icon-render.ts Address PR #94 review: dedup, replace hand-rolled code, cleanup 2026-03-13 14:46:18 +03:00
iconify.ts Address PR #94 review: dedup, replace hand-rolled code, cleanup 2026-03-13 14:46:18 +03:00
index.ts Add computeBounds/requireNode helpers, scope CodePanel style, dedupe snap/zip 2026-03-16 23:01:51 +03:00
layout.ts AI chat polishing: skeleton workflow, batched tools, visual feedback, stock photos (#111) 2026-03-15 15:42:41 +03:00
random.ts Add random.ts helpers, replace all raw crypto.getRandomValues calls 2026-03-16 14:13:36 +03:00
render-image.ts Lint all packages: fix 193 errors across core, mcp, acp 2026-03-09 13:18:08 +03:00
scene-graph-hit-test.ts Fix group selection: single click selects group, double click enters, locked groups block enter 2026-03-16 14:26:52 +03:00
scene-graph-instances.ts Fix lint warnings: eliminate any types, split oversized files 2026-03-12 15:13:30 +03:00
scene-graph.ts AI chat polishing: skeleton workflow, batched tools, visual feedback, stock photos (#111) 2026-03-15 15:42:41 +03:00
snap.ts Add computeBounds/requireNode helpers, scope CodePanel style, dedupe snap/zip 2026-03-16 23:01:51 +03:00
style-runs.ts Fix lint warnings: non-null assertions, useless spreads, unused code, type safety 2026-03-11 13:33:54 +03:00
svg-node.ts SVG export (#52) 2026-03-05 10:31:02 +03:00
svg-path-parse.ts Add step budget warnings and Continue button for AI chat 2026-03-13 10:18:20 +03:00
text-editor.ts
types.ts
undo.ts Wire editor actions, move kiwi-serialize, clean dead code 2026-03-16 22:30:56 +03:00
vector.ts Fix per-character text fill colors and vector region loop direction (#95) 2026-03-12 18:28:04 +03:00
xpath.ts Fix type errors found by tsgo and vue-tsc 2026-03-16 21:54:08 +03:00