Commit graph

1047 commits

Author SHA1 Message Date
Danila Poyarkov e50df9ffda test: cover and document inherited instance dimensions 2026-09-14 00:24:52 +03:00
Danila Poyarkov 4077dcbd44 fix: preserve authored instance sizing through synchronization 2026-09-14 00:24:52 +03:00
Danila Poyarkov 7b16881e03 fix: reject ambiguous variant property names 2026-09-14 00:14:09 +03:00
Danila Poyarkov 27e3bc3023 test: group JSX component contracts by domain 2026-09-14 00:01:41 +03:00
Danila Poyarkov 0a6ce6e72d fix: validate component property reference scopes
Reject unknown or incompatible references while the owning component definitions are available, including inherited component-set definitions. Keep nested component scopes separate.
2026-09-13 23:57:24 +03:00
Danila Poyarkov 69703abc77 fix: preserve variant selection with declared set properties 2026-09-13 21:19:34 +03:00
Danila Poyarkov b4f119a01b Merge branch 'native-authoring' into jsx-component-properties
# Conflicts:
#	packages/core/src/design-jsx/reference/authoring.md
#	packages/docs/reference/design-authoring.md
#	skills/open-pencil/references/design-authoring.md
2026-09-13 20:55:05 +03:00
Danila Poyarkov 8189c08e0b docs: clarify scalar modes and instance sizing guidance 2026-09-13 20:54:27 +03:00
Danila Poyarkov becc4f7432 feat: author scoped component properties in Design JSX 2026-09-13 19:27:06 +03:00
Danila Poyarkov 863b1e6c6a refactor: share design authoring guidance across agents 2026-09-13 19:08:27 +03:00
Danila Poyarkov 98e0ba9563 feat: bind Design JSX scalar props to variables 2026-09-13 19:06:20 +03:00
Danila Poyarkov e342cfca30 fix(tauri): preserve HTTP contracts when bypassing IPC
Keep IPC on captured native fetch during font proxying. Preserve URL inputs, configured timeouts, and generated multipart headers; cover native routing and reject lookalike IPC hostnames.
2026-09-13 15:48:40 +03:00
Danila Poyarkov 3f48e4251c chore: update desktop HTTP fix with master 2026-09-13 15:48:07 +03:00
Danila Poyarkov ca17b2ac55 chore: update instance linkage with master 2026-09-13 15:03:02 +03:00
Danila Poyarkov 4340f864a4 test(properties): group corner specs by domain 2026-09-13 14:52:20 +03:00
Danila Poyarkov eb38da0d08 fix(properties): preserve shared corner bindings in collapsed controls 2026-09-13 14:45:26 +03:00
Danila Poyarkov df28cf5832 chore: update property controls with master 2026-09-13 14:11:22 +03:00
Danila Poyarkov 7af5e05f9c test(snapping): verify pixel rounding without guides 2026-09-13 14:02:16 +03:00
Danila Poyarkov 45dae21994 chore: update snapping guides with master
# Conflicts:
#	CHANGELOG.md
2026-09-13 13:59:13 +03:00
Danila Poyarkov de6c0efc00 fix(renderer): preserve proportions of FIT image fills 2026-09-13 13:48:11 +03:00
Danila Poyarkov fbacd1a34a fix(clipboard): embed images with Figma-compatible hashes 2026-09-13 13:22:17 +03:00
Danila Poyarkov 449d09542f chore: update clipboard fidelity with master 2026-09-13 13:00:21 +03:00
Danila Poyarkov 4b47ffefbb fix(clipboard): preserve component dependency references 2026-09-13 12:46:31 +03:00
Danila Poyarkov 4775e56e59 chore: update settings polish with master 2026-09-13 12:19:00 +03:00
them7d 6ffde827d5 fix: load fonts with request in desktop app cause OOMs (replaced with fetch) 2026-09-12 17:09:16 +03:00
Danila Poyarkov f8f5f0fc4e fix(instances): preserve ambiguous imported extras 2026-09-11 10:57:18 +03:00
Danila Poyarkov ff1c157a86 refactor(fig): clarify imported instance reconciliation 2026-09-11 10:30:03 +03:00
Joseph Cumines a4350396a8 fix: prevent unbounded duplication of Figma-imported instance children
Imported instance children arrive with componentId null, so every component edit re-cloned them and compounded per keystroke into runaway memory. Also fixes sibling inversion, extras jumping to front on sync, and stack overflow on self-referential components.

Sync: match unmatched children by name+type forward instead of cloning, guard self/cyclic sync via isDescendant, and keep unmapped extras at the end.

Import and paste: link children positionally at import time so renamed children stay linked. Clipboard paste is scoped to new instances only so existing instances are untouched.
2026-09-11 17:17:10 +10:00
Danila Poyarkov 0dd1014c2a fix(properties): simplify Effect styles and equivalent corners 2026-09-11 03:27:27 +03:00
Danila Poyarkov 510b953777 fix(snapping): hide pixel rounding alignment guides 2026-09-11 03:07:10 +03:00
Danila Poyarkov 89b60b9870 fix(clipboard): preserve typed selection data across copy and paste 2026-09-11 02:59:31 +03:00
Danila Poyarkov b436ee4d2b refactor(fig): own Figma clipboard encoding and conversion 2026-09-11 00:36:03 +03:00
Danila Poyarkov b6f015a9f6 fix: address Select forwarding and MCP readiness review 2026-09-10 23:54:03 +03:00
Danila Poyarkov a4a916c97a test: seed motion preferences through Playwright storage state 2026-09-10 23:24:06 +03:00
Danila Poyarkov cf86685c51 test(motion): cover legacy preferences and mobile Off mode 2026-09-10 23:13:31 +03:00
Danila Poyarkov 70341c33a1 feat(settings): centralize motion policy and add animation preference 2026-09-10 23:10:24 +03:00
Danila Poyarkov cc99e6ecb3 fix(dialog): honor reduced motion over state animations 2026-09-10 22:40:19 +03:00
Danila Poyarkov d3b8942dcc test(properties): refresh verified panel snapshots 2026-09-10 22:29:45 +03:00
Danila Poyarkov ccb9dcdd5b test(chat): describe streaming animation coverage accurately 2026-09-10 21:41:11 +03:00
Danila Poyarkov 7f80296c3b fix(ui): preserve focus for composed icon triggers 2026-09-10 21:41:10 +03:00
Danila Poyarkov 93a407e45f test: isolate managed browser and MCP runtimes 2026-09-10 21:41:10 +03:00
Danila Poyarkov 608cbc9960 fix(chat): animate inserted Markdown lists and code lines 2026-09-10 19:49:37 +03:00
Danila Poyarkov 3d74f52344 fix(properties): simplify style controls and anchor variable pickers 2026-09-10 19:49:37 +03:00
Danila Poyarkov eb277dd2a9 fix(settings): stabilize model editing and animate dialogs 2026-09-10 19:49:36 +03:00
Danila Poyarkov 9d4fe4e421
fix(fig): preserve marker-based instance text edits on export (#648) 2026-09-10 19:16:03 +03:00
PAVEL TKACHEV 6e74ad2a51
fix(pen): honor layout and sizing defaults (#652)
Fixes #564.
2026-09-10 17:02:56 +03:00
Danila Poyarkov a779edd08a
refactor: scope browser test instrumentation and global types (#667) 2026-09-10 14:26:36 +03:00
Danila Poyarkov 77739c42a4
fix(bindings): resolve modes and preserve edit transactions (#671)
* fix(bindings): capture mode edits and expose unresolved values

* fix(bindings): correct unresolved accessibility metadata

* fix(bindings): distinguish mixed identities from unresolved values
2026-09-10 12:14:04 +03:00
Danila Poyarkov e69ba75c12
refactor(ui): compose shared editor controls (#670)
* refactor(ui): extract shared action and navigation primitives

* refactor(ui): compose settings and libraries with shared tabs

* feat(ui): preserve native activation and toolbar keyboard navigation

* refactor(home): share document entries and accessible input controls

* fix(layers): share virtualized row geometry and selection styling

* refactor(layout): compose spacing and readable dimension controls

* refactor(properties): compose advanced strokes and inline effects

* refactor(ui): reuse actions in page and property controls

* refactor(settings): adopt shared actions without changing workflows

* refactor(ui): share collaboration and provider actions

* refactor(ui): finish shell and paint action composition

* test(ui): restore extracted control and settings coverage

* test(ui): complete workflow extraction coverage

* fix(ui): address review and trim redundant snapshots

* fix(layout): preserve single-step Undo for guides and wrap
2026-09-10 12:09:06 +03:00
Danila Poyarkov ec0aacd4f6
build: upgrade oxfmt and format Vue imports (#669)
* build: upgrade oxfmt for Vue import sorting

* style: apply Vue-aware import sorting
2026-09-10 02:45:13 +03:00