Danila Poyarkov
|
ff0f072aef
|
fix(fig): use derived text line metrics
|
2026-05-17 22:49:12 +03:00 |
|
Danila Poyarkov
|
2072f2e916
|
fix(fig): apply text component props
|
2026-05-17 22:40:30 +03:00 |
|
Danila Poyarkov
|
a6050da061
|
docs: update unreleased changelog
|
2026-05-17 22:20:55 +03:00 |
|
Danila Poyarkov
|
c57eba45a3
|
fix(clipboard): preserve Figma text edit layout
|
2026-05-17 22:18:47 +03:00 |
|
Danila Poyarkov
|
d02b11b75d
|
fix(clipboard): paste text into Figma with fixed bounds
|
2026-05-17 21:13:00 +03:00 |
|
Danila Poyarkov
|
72766acda5
|
fix(clipboard): preserve Figma text edit metrics
|
2026-05-17 21:09:10 +03:00 |
|
Danila Poyarkov
|
2f81a7407a
|
fix(text): preserve auto-height bounds after editing
|
2026-05-17 21:01:23 +03:00 |
|
Danila Poyarkov
|
a4d4cf1bee
|
fix(canvas): switch edited text on click
|
2026-05-17 20:49:25 +03:00 |
|
Danila Poyarkov
|
a535c6be8a
|
fix(canvas): edit nested text on drill double-click
|
2026-05-17 20:46:13 +03:00 |
|
Danila Poyarkov
|
5d71e810b6
|
fix(text): preserve requested font weights
|
2026-05-17 20:40:39 +03:00 |
|
Danila Poyarkov
|
b46722a50b
|
fix(text): prefer matching local font slant
|
2026-05-17 20:33:13 +03:00 |
|
Danila Poyarkov
|
b1ad6d41e9
|
fix(editor): enable outlining grouped strokes
|
2026-05-17 20:27:45 +03:00 |
|
Danila Poyarkov
|
28f7ef165b
|
feat(text): wrap styled outline text
|
2026-05-17 20:23:55 +03:00 |
|
Danila Poyarkov
|
1c8fe1ee8b
|
feat(editor): add outline stroke command
|
2026-05-17 20:18:14 +03:00 |
|
Danila Poyarkov
|
655f4fcb89
|
test(ui): cover boolean outline menu placement
|
2026-05-17 20:09:53 +03:00 |
|
Danila Poyarkov
|
1b1c7e6409
|
test(text): lock complex outline guards
|
2026-05-17 20:01:37 +03:00 |
|
Danila Poyarkov
|
75c2975fdc
|
feat(text): outline loaded fallback glyphs
|
2026-05-17 19:59:30 +03:00 |
|
Danila Poyarkov
|
12787abf85
|
feat(text): outline loaded style runs
|
2026-05-17 19:49:44 +03:00 |
|
Danila Poyarkov
|
d927a2b443
|
feat(text): share outline conversion for paths
|
2026-05-17 19:45:39 +03:00 |
|
Danila Poyarkov
|
fa3f60d10c
|
feat(canvas): flatten loaded text outlines
|
2026-05-17 19:25:43 +03:00 |
|
Danila Poyarkov
|
0772354bff
|
test(canvas): assert boolean matrix cells
|
2026-05-17 19:16:56 +03:00 |
|
Danila Poyarkov
|
3151132fd3
|
fix(editor): reject image boolean sources
|
2026-05-17 19:15:14 +03:00 |
|
Danila Poyarkov
|
af70b0eeaf
|
feat(canvas): flatten container and stroke paths
|
2026-05-17 19:11:22 +03:00 |
|
Danila Poyarkov
|
5ddd0b966f
|
fix(app): wire renderer into figma api
|
2026-05-17 18:49:35 +03:00 |
|
Danila Poyarkov
|
d48e3e5335
|
test(canvas): verify boolean visual matrix
|
2026-05-17 18:41:32 +03:00 |
|
Danila Poyarkov
|
becbf4360c
|
refactor(figma-api): share renderer-backed flatten
|
2026-05-17 18:37:53 +03:00 |
|
Danila Poyarkov
|
28829a56a9
|
fix(editor): guard unsupported boolean sources
|
2026-05-17 18:32:01 +03:00 |
|
Danila Poyarkov
|
dc93ec54c5
|
feat(editor): add flatten selection command
|
2026-05-17 18:27:54 +03:00 |
|
Danila Poyarkov
|
365c6f70d0
|
refactor(app): centralize demo color palette
|
2026-05-17 18:08:48 +03:00 |
|
Danila Poyarkov
|
92328a21d8
|
build(lint): enforce shared black color constants
|
2026-05-17 18:05:07 +03:00 |
|
Danila Poyarkov
|
2eab8f9a50
|
test(canvas): add boolean shape visual matrix
|
2026-05-17 18:00:35 +03:00 |
|
Danila Poyarkov
|
40d8a54046
|
feat(canvas): render boolean operation paths
|
2026-05-17 17:54:19 +03:00 |
|
Danila Poyarkov
|
104114cb3f
|
feat(ui): add boolean operations panel control
|
2026-05-17 17:44:48 +03:00 |
|
Danila Poyarkov
|
15c3ee3f00
|
fix(vue): remove boolean submenu from canvas menu
|
2026-05-17 17:42:15 +03:00 |
|
Danila Poyarkov
|
958f800b8c
|
fix(ui): size canvas submenus to content
|
2026-05-17 17:39:13 +03:00 |
|
Danila Poyarkov
|
d23e2930ae
|
fix(ui): tighten canvas submenu icon layout
|
2026-05-17 17:37:26 +03:00 |
|
Danila Poyarkov
|
83c24925e8
|
feat(editor): add boolean operation commands
|
2026-05-17 17:33:26 +03:00 |
|
Danila Poyarkov
|
bf57a429d9
|
refactor(figma-api): align grouping API signatures
|
2026-05-17 17:11:15 +03:00 |
|
Danila Poyarkov
|
7da08789cd
|
refactor(figma-api): type creation methods against plugin typings
|
2026-05-17 16:30:35 +03:00 |
|
Danila Poyarkov
|
f9a75b70a3
|
test(figma-api): type-check plugin compatibility subset
|
2026-05-17 16:24:47 +03:00 |
|
Danila Poyarkov
|
2154bb09a2
|
fix(app): align paste to replace menu label
|
2026-05-17 16:13:25 +03:00 |
|
Danila Poyarkov
|
011ff17c87
|
refactor(editor): isolate paste replacement logic
|
2026-05-17 16:11:31 +03:00 |
|
Danila Poyarkov
|
c322f80893
|
test(editor): harden paste to replace coverage
|
2026-05-17 16:08:03 +03:00 |
|
Danila Poyarkov
|
bdbb37b092
|
feat(editor): add paste to replace
|
2026-05-17 16:05:28 +03:00 |
|
Danila Poyarkov
|
daef4bdde7
|
fix(editor): use frame defaults for framed selection
|
2026-05-17 15:54:47 +03:00 |
|
Danila Poyarkov
|
4a37a5e534
|
feat(editor): add frame selection command
|
2026-05-17 15:52:20 +03:00 |
|
Danila Poyarkov
|
a23c75531a
|
refactor(canvas): align overlay file layout
|
2026-05-17 15:48:20 +03:00 |
|
Danila Poyarkov
|
1c1753c4a0
|
build(lint): generalize sibling domain suffix rule
|
2026-05-17 15:44:55 +03:00 |
|
Danila Poyarkov
|
29fd7042f7
|
build(lint): catch sibling menu suffix files
|
2026-05-17 15:42:35 +03:00 |
|
Danila Poyarkov
|
1d8f4bf8c4
|
refactor(app): align canvas menu file layout
|
2026-05-17 15:29:14 +03:00 |
|