openpencil/packages/core/src
Danila Poyarkov e23b3f0ce1 feat(layout): use opentype.js for accurate headless text measurement
estimateTextSize() now tries opentype.js per-glyph advance widths
before falling back to the rough 0.6 × fontSize × charCount heuristic.
Since font data is already cached via loadFont(), this gives accurate
variable-width measurement for any loaded font — no CanvasKit needed.

Parsed opentype.js Font objects are cached per family+style to avoid
reparsing on every layout pass.
2026-04-22 14:11:36 +03:00
..
canvas fix(hit): fix hit area when parent rotation (#195) 2026-04-15 10:53:47 +03:00
color Format 2026-04-06 14:40:19 +03:00
design-jsx Format 2026-04-06 14:40:19 +03:00
editor feat(canvas): default canvas bg to dark on prefers-color-scheme: dark (#205) 2026-04-20 11:44:50 +03:00
figma-api feat(mcp): add list_available_fonts tool for font discovery (#210) 2026-04-16 09:56:33 +03:00
icons Format 2026-04-06 14:40:19 +03:00
io fix(layout): resolve design token variables before passing to yoga-layout (#202) 2026-04-16 10:11:28 +03:00
kiwi fix(kiwi): guard alias resolution against missing GUID 2026-04-13 09:58:06 +03:00
lint Format 2026-04-06 14:40:19 +03:00
profiler Format remaining SDK refactor files 2026-03-24 17:02:01 +03:00
rpc feat: add Arabic and RTL support 2026-03-29 11:42:30 +02:00
scene-graph chore: format 2026-04-15 13:45:40 +03:00
text feat(layout): use opentype.js for accurate headless text measurement 2026-04-22 14:11:36 +03:00
tools feat(mcp): add list_available_fonts tool for font discovery (#210) 2026-04-16 09:56:33 +03:00
vector Restructure @open-pencil/core into domain modules 2026-04-06 14:39:53 +03:00
canvaskit.ts Remove WebGPU backend 2026-03-27 22:03:19 +03:00
clipboard.ts Release v0.11.4 2026-04-08 20:52:09 +03:00
constants.ts feat(canvas): default canvas bg to dark on prefers-color-scheme: dark (#205) 2026-04-20 11:44:50 +03:00
geometry.ts Format 2026-04-06 14:40:19 +03:00
global.d.ts Fix all 135 vue-tsc errors, promote to check gate 2026-03-16 22:21:21 +03:00
index.ts fix(hit): fix hit area when parent rotation (#195) 2026-04-15 10:53:47 +03:00
layout.ts feat(layout): use opentype.js for accurate headless text measurement 2026-04-22 14:11:36 +03:00
random.ts Add random.ts helpers, replace all raw crypto.getRandomValues calls 2026-03-16 14:13:36 +03:00
types.ts Extract @open-pencil/core package 2026-03-01 01:03:07 +03:00
xpath.ts feat: copy node ID / XPath from context menu, CLI selection command 2026-04-15 10:09:52 +03:00