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 |
|
Danila Poyarkov
|
f37a263279
|
refactor(app): centralize canvas menu actions
|
2026-05-17 15:27:10 +03:00 |
|
Danila Poyarkov
|
b790a044e4
|
refactor(app): model canvas copy submenu
|
2026-05-17 15:14:55 +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
|
38d30e25e0
|
refactor(app): derive menu shortcut formats
|
2026-05-17 14:50:43 +03:00 |
|
Danila Poyarkov
|
1a03c0e8e8
|
refactor(app): reuse menu shortcut metadata
|
2026-05-17 14:44:37 +03:00 |
|
Danila Poyarkov
|
6c8fd8fc59
|
refactor(app): reuse menu shortcuts in chrome
|
2026-05-17 14:35:50 +03:00 |
|
Danila Poyarkov
|
883601f548
|
fix(ui): format shortcut tooltips by platform
|
2026-05-17 14:31:29 +03:00 |
|
Danila Poyarkov
|
8bd9abac15
|
docs: document command menu conventions
|
2026-05-17 14:25:46 +03:00 |
|
Danila Poyarkov
|
c922e1d9a4
|
fix(i18n): localize provider settings
|
2026-05-17 14:24:24 +03:00 |
|
Danila Poyarkov
|
52149e5771
|
fix(vue): localize static canvas menu labels
|
2026-05-17 14:20:33 +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
|
5634e0ecb4
|
refactor(vue): centralize editor command metadata
|
2026-05-17 13:56:56 +03:00 |
|
Danila Poyarkov
|
2ef07b7049
|
refactor(text): use explicit font weight aliases
|
2026-05-17 13:44:58 +03:00 |
|
Danila Poyarkov
|
0f58b3eb37
|
chore(text): align font face module naming
|
2026-05-17 13:42:51 +03:00 |
|
Danila Poyarkov
|
3534a4a919
|
fix(canvas): render exact font faces
|
2026-05-17 13:40:56 +03:00 |
|
Danila Poyarkov
|
f9034d4492
|
perf(kiwi): avoid shifting import propagation queues
|
2026-05-17 13:19:07 +03:00 |
|
Danila Poyarkov
|
123a5ceddb
|
Merge pull request #256 from guimaurer/fix/image-fill-hash-encoding
fix: image fills lost after save . hex hash corrupted in Kiwi byte[] encoding
|
2026-05-17 13:03:22 +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 |
|
Danila Poyarkov
|
cf0df391c5
|
docs: document private security reporting
|
2026-05-17 12:52:10 +03:00 |
|