Commit graph

1932 commits

Author SHA1 Message Date
Danila Poyarkov 5d9730ae04 feat(vue): finalize NumberField API and docs
- Remove ScrubInput aliases, app wrappers, test hooks, and translated legacy references

- Share a Tailwind NumberField demo between Storybook and VitePress

- Generate component API tables from Vue metadata and type-check examples with Twoslash

- Upgrade the docs stack to VitePress 2
2026-07-13 10:19:24 +03:00
Danila Poyarkov e8092bd561 feat(vue): add headless NumberField primitive
- Add pointer scrubbing, keyboard stepping, mixed and bound state contracts

- Parse safe numeric expressions and preserve deprecated ScrubInput aliases

- Cover the primitive with Storybook, SDK docs, unit tests, and E2E tests
2026-07-10 22:26:51 +03:00
Danila Poyarkov f525c0f4fb feat(ui): add themed panel foundations
- Introduce Nuxt UI-style Tailwind Variants themes and 26px panel primitives\n- Align section and field action rails across labeled property rows\n- Add Storybook with dark/light states, accessibility tooling, and CI build coverage\n- Standardize UI acronym casing across app and Vue SDK types
2026-07-10 18:16:21 +03:00
Danila Poyarkov 0aae91f4f2 feat(editor): add blend mode and mask controls
- Add selection mask commands, shortcuts, context-menu access, and mask type controls
- Add mixed-selection blend mode editing with single-step undo
- Document the headless mask composable and localize the new controls
2026-07-10 17:01:28 +03:00
Danila Poyarkov 1750199b9c chore: tidy ignore rules 2026-07-05 13:15:57 +03:00
Danila Poyarkov 04191a1f7f refactor(core): split web font asset export 2026-07-05 11:01:18 +03:00
Danila Poyarkov 7ac3ee035d fix(dom-css): compile standalone HTML exports 2026-07-04 19:37:58 +03:00
Danila Poyarkov b22a751f27 Revert "feat(cli): bundle standalone HTML exports"
This reverts commit 8330dda410.
2026-07-04 18:18:32 +03:00
Danila Poyarkov 8330dda410 feat(cli): bundle standalone HTML exports 2026-07-04 18:08:42 +03:00
Danila Poyarkov 3df6cc9bcd feat(cli): add standalone HTML export mode 2026-07-04 14:54:58 +03:00
Danila Poyarkov 8b1c452cc3 refactor(cli): replace DOM command with import and HTML export 2026-07-04 13:34:24 +03:00
Danila Poyarkov 13ef7ac941 feat(cli): export DOM HTML as Tailwind classes 2026-07-04 13:16:21 +03:00
Danila Poyarkov 7af2dba0ec feat(dom-css): serialize HTML styles as Tailwind 2026-07-04 13:01:59 +03:00
Danila Poyarkov 31e0634d3c test(fig): cover cross-page clone roundtrip 2026-07-04 12:42:06 +03:00
Danila Poyarkov 67186c6c39 docs: refresh unreleased changelog 2026-07-03 17:20:54 +03:00
Danila Poyarkov a4272a17bf fix(mcp): target live automation by document and page 2026-07-03 17:05:04 +03:00
Danila Poyarkov 2c69e0949b fix(text): preserve Figma auto-size text imports
- Normalize auto-layout text imported from Figma when fixed bounds match derived text layout
- Recompute auto-size text bounds on typography metric changes
- Clear stale Figma derived text layout caches when text sizing changes
- Cover FIG import text sizing and line-height resize regressions
2026-07-02 17:30:15 +03:00
Danila Poyarkov 13314d6b6d fix(editor): relayout after component sync 2026-07-02 10:35:10 +03:00
Danila Poyarkov ddb46af32f test(layout): place auto-layout reflow cases by domain 2026-07-02 10:16:08 +03:00
Danila Poyarkov d522dc0529 fix(layout): match Figma auto-layout reflow 2026-07-02 08:53:48 +03:00
Danila Poyarkov 3efc7de149 fix(canvas): render CJK fallback text as outlines 2026-07-01 23:22:14 +03:00
Danila Poyarkov 2c171139c1 fix(text): prefer script-specific CJK fallbacks 2026-07-01 22:19:14 +03:00
Danila Poyarkov 5a89b520b2 fix(text): load CJK fallback only when needed 2026-07-01 22:06:19 +03:00
Danila Poyarkov de230f2f70 ci: deploy web only on releases or manually 2026-07-01 20:52:36 +03:00
Danila Poyarkov 1f2907f502 refactor(vue): share flat reorder drag 2026-07-01 20:47:38 +03:00
Danila Poyarkov 91db7c5d09 fix(editor): polish page drag affordance 2026-07-01 20:36:55 +03:00
Danila Poyarkov 4880652b6e feat(editor): add Figma-style page management 2026-07-01 20:29:10 +03:00
Danila Poyarkov 2d2d7250bb chore(tools): add secret scanning gate 2026-07-01 15:24:06 +03:00
Danila Poyarkov b709af1850 fix(vue): make package types ATTW-safe 2026-07-01 13:30:46 +03:00
Danila Poyarkov 9498dc203d chore(tools): harden package and dependency checks 2026-07-01 12:56:45 +03:00
Danila Poyarkov b5665afab5 fix(tauri): restore desktop clipboard access 2026-07-01 10:40:29 +03:00
Danila Poyarkov efe141c6a1
refactor(vue): split i18n domains (#371) 2026-07-01 10:19:52 +03:00
Danila Poyarkov c1207f1be3 refactor(ui): organize app component domains
- Move root-level picker, input, and menu components into lowercase domain folders
- Update component namespace linting for kebab-case app domains
- Document FSD-lite component structure in AGENTS.md
2026-07-01 09:58:10 +03:00
Danila Poyarkov d195bb67d2 docs: refresh agent guide 2026-07-01 09:37:45 +03:00
Danila Poyarkov 60bb484ee4 refactor(ui): remove test-id prop APIs
- Forward data-test-id attrs through rendered controls instead of exposing test-id props
- Move shell chrome components into the Shell namespace
- Remove internal planning docs from published VitePress docs
- Add guardrails and contributor guidance for test hooks and component placement
2026-07-01 09:05:27 +03:00
Danila Poyarkov 3accbbb835 fix(ui): refine export scale control 2026-07-01 08:08:44 +03:00
Danila Poyarkov bcf18b8022 fix(ui): keep select triggers unwrapped 2026-07-01 07:53:40 +03:00
Danila Poyarkov 2689462ca3 docs: update repository package list 2026-07-01 01:53:20 +03:00
Danila Poyarkov dad4095fb4 Revert "docs: update package list"
This reverts commit cafeee735a.
2026-07-01 01:48:49 +03:00
Danila Poyarkov cafeee735a docs: update package list 2026-07-01 01:48:07 +03:00
Danila Poyarkov 29538005fb feat(ai): test provider connections 2026-07-01 01:39:27 +03:00
Danila Poyarkov abdd4b282e
Merge pull request #370 from open-pencil/ui-panel-kit
Merged after local validation passed.
2026-07-01 01:21:10 +03:00
Danila Poyarkov 7f99638e65 perf(vue): patch layer tree node updates 2026-06-30 23:50:34 +03:00
Danila Poyarkov cde9cd4610 test(arch): guard panel UI conventions 2026-06-30 23:50:15 +03:00
Danila Poyarkov 3f08b80b5e test(app): cover large layer tree virtualization 2026-06-30 23:50:15 +03:00
Danila Poyarkov b7facfdf93 refactor(app): split layer tree rows 2026-06-30 19:27:38 +03:00
Danila Poyarkov 669d987abf fix(app): use valid stroke grid icon 2026-06-30 19:13:29 +03:00
Danila Poyarkov 952ef7b5a1 perf(app): virtualize layer tree rows 2026-06-30 19:03:11 +03:00
Danila Poyarkov 9f52a9116e perf(vue): preserve layer tree state across edits 2026-06-30 18:36:52 +03:00
Danila Poyarkov 65f57f721d refactor(vue): type property list slots 2026-06-30 18:10:17 +03:00