Danila Poyarkov
|
ea04a007d3
|
test(fig): cover derived glyph override patches
|
2026-05-18 01:33:23 +03:00 |
|
Danila Poyarkov
|
142a973193
|
fix(fig): render imported text from derived glyphs
|
2026-05-18 01:17:34 +03:00 |
|
Danila Poyarkov
|
f72f445dc5
|
fix(vector): decode quadratic geometry commands
|
2026-05-18 01:02:43 +03:00 |
|
Danila Poyarkov
|
1ffc61cf50
|
fix(text): bundle Inter ExtraBold font
|
2026-05-18 00:59:05 +03:00 |
|
Danila Poyarkov
|
35eb749b70
|
test(fig): cover field-level override protection
|
2026-05-18 00:37:56 +03:00 |
|
Danila Poyarkov
|
a441e1778b
|
fix(fig): preserve swapped icon stroke styles
|
2026-05-17 23:49:24 +03:00 |
|
Danila Poyarkov
|
4234cf3b33
|
fix(fig): apply shared fill styles
|
2026-05-17 23:31:28 +03:00 |
|
Danila Poyarkov
|
5e782b2850
|
fix(fig): propagate nested icon swaps
|
2026-05-17 23:25:09 +03:00 |
|
Danila Poyarkov
|
4d758f26cb
|
fix(fig): apply shared text styles
|
2026-05-17 23:02:20 +03:00 |
|
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
|
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
|
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
|
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
|
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
|
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
|
15c3ee3f00
|
fix(vue): remove boolean submenu from canvas menu
|
2026-05-17 17:42:15 +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
|
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
|
0da23d5526
|
refactor(app): derive command menu shortcuts
|
2026-05-17 15:07:14 +03:00 |
|
Danila Poyarkov
|
75d1726640
|
test(app): cover menu shortcut conversion
|
2026-05-17 15:02:42 +03:00 |
|
Danila Poyarkov
|
433d812b9d
|
refactor(vue): format command shortcuts by platform
|
2026-05-17 14:19:37 +03:00 |
|
Danila Poyarkov
|
cc90c63952
|
feat(vue): add flip commands to canvas menu
|
2026-05-17 14:15:20 +03:00 |
|
Danila Poyarkov
|
29d7ae4817
|
refactor(vue): centralize canvas menu groups
|
2026-05-17 14:09:52 +03:00 |
|
Danila Poyarkov
|
3534a4a919
|
fix(canvas): render exact font faces
|
2026-05-17 13:40:56 +03:00 |
|
Danila Poyarkov
|
bb6c537b8e
|
Merge master into image fill hash fix
|
2026-05-17 13:02:00 +03:00 |
|
Danila Poyarkov
|
3b323a8740
|
test: cover fig image fill hash roundtrip
|
2026-05-17 12:58:43 +03:00 |
|