Commit graph

2504 commits

Author SHA1 Message Date
Danila Poyarkov 1cc4c252dc fix(fig): preserve implicit fixed text sizing 2026-09-02 00:46:09 +03:00
Danila Poyarkov 189655de36
Merge pull request #630 from open-pencil/material3-drift-post-626
fix(layout): preserve imported Figma line geometry
2026-09-02 00:07:16 +03:00
Danila Poyarkov 6efa97e076 fix: preserve changelog formatting 2026-09-01 23:57:29 +03:00
Danila Poyarkov e32d22eb99 style: format merged changelog 2026-09-01 23:56:35 +03:00
Danila Poyarkov 8187f50be4 Merge remote-tracking branch 'origin/master' into material3-drift-post-626 2026-09-01 23:54:41 +03:00
Danila Poyarkov 270e3c1e57 fix(layout): preserve imported Figma line geometry 2026-09-01 23:10:21 +03:00
Danila Poyarkov 0e9c0ee6cf
feat: add searchable command palette
Adds a localized, Fuse-powered command palette for app actions and a reusable Vue SDK primitive, with Storybook and Playwright coverage.
2026-09-01 23:08:32 +03:00
Danila Poyarkov 9bb9478833
refactor: replace complex conditional object spreads
- Add a typed, modular custom Oxlint rule package with direct regression coverage
- Replace complex conditional object spreads with explicit construction across the repository
- Preserve all existing custom rule registrations and diagnostic behavior
2026-09-01 19:49:57 +03:00
Danila Poyarkov 9726a4a711
Merge pull request #625 from open-pencil/cli-font-diagnostics
feat(cli): report document font availability
2026-09-01 16:57:03 +03:00
Danila Poyarkov 5651897240
Merge pull request #626 from open-pencil/structured-instance-overrides
refactor(scene-graph): model instance overrides structurally
2026-09-01 16:56:26 +03:00
Danila Poyarkov 410d6171e4 fix: close structured override review gaps 2026-09-01 15:23:08 +03:00
Danila Poyarkov f580d8a7e8 feat(cli): add export font policy 2026-09-01 15:18:23 +03:00
Danila Poyarkov 5b074e967d fix: harden structured override decoding 2026-09-01 14:11:19 +03:00
Danila Poyarkov c32ff03d03 fix(cli): include all pages in font diagnostics 2026-09-01 13:41:05 +03:00
Danila Poyarkov e93d3ea6e1 fix: preserve structured overrides across JSON boundaries 2026-09-01 13:35:09 +03:00
Danila Poyarkov e414cf77ab fix(text): align font status with prepared roots 2026-09-01 13:24:35 +03:00
Danila Poyarkov 6d17b92a56 refactor(text): share graph font preparation 2026-09-01 13:24:35 +03:00
Danila Poyarkov 35972606a3 fix(cli): satisfy font diagnostics checks 2026-09-01 13:24:35 +03:00
Danila Poyarkov 7c67390707 fix(cli): prepare fonts across complete documents 2026-09-01 13:24:35 +03:00
Danila Poyarkov 41f445ebab fix(cli): prepare fonts for RPC diagnostics 2026-09-01 13:24:35 +03:00
Danila Poyarkov 73cb945cbc feat(cli): report document font availability 2026-09-01 13:24:35 +03:00
Danila Poyarkov 751be1198c feat(cli): report document font availability 2026-09-01 13:24:35 +03:00
Danila Poyarkov cd2809a6e7 fix: persist instance override mutations 2026-09-01 12:45:13 +03:00
Danila Poyarkov c6e3baa68c fix: repair structured override CI failures 2026-09-01 12:42:52 +03:00
Danila Poyarkov 1c8f802570 fix: restore structured override exports 2026-09-01 12:21:03 +03:00
Danila Poyarkov 9f41b14b9e test: finish structured instance override migration 2026-09-01 12:06:04 +03:00
Danila Poyarkov 1d7e79c0ce test: update structured instance override coverage 2026-09-01 11:57:36 +03:00
Danila Poyarkov 1e1c38182d refactor(scene-graph): model instance overrides structurally 2026-09-01 11:44:46 +03:00
Danila Poyarkov 6f71448032
Merge pull request #551 from 0xemc/fix/instance-fill-override-roundtrip
fix(fig): live edits to instance-descendant fields discarded on save
2026-09-01 10:31:41 +03:00
Danila Poyarkov 3e47b14e59 fix(fig): preserve text and stroke overrides 2026-09-01 04:57:43 +03:00
Danila Poyarkov 4eb9694d58 fix(fig): clean up consolidated instance override fix 2026-09-01 02:01:05 +03:00
Danila Poyarkov 2e49ebc6d5 fix(scene-graph): export instance sync fields 2026-09-01 01:29:03 +03:00
Danila Poyarkov fcbd938b80 fix(fig): consolidate instance override propagation 2026-09-01 01:07:19 +03:00
Danila Poyarkov 29aba9e953 fix(fig): restore instance constraint propagation 2026-09-01 01:04:31 +03:00
Danila Poyarkov f1ae826412 fix(fig): record applied instance override fields 2026-09-01 01:04:22 +03:00
Danila Poyarkov 01353e7ca7 fix(scene-graph): preserve text instance overrides 2026-09-01 01:04:22 +03:00
Danila Poyarkov 7e325e4072 fix(scene-graph): share instance sync fields 2026-09-01 01:04:22 +03:00
Danila Poyarkov 07e4cb2438 Merge remote-tracking branch 'origin/master' into consolidate-pr551-next 2026-09-01 01:02:35 +03:00
Danila Poyarkov be942783dc
refactor(i18n): migrate app copy to domain namespaces
* refactor(i18n): migrate app copy to domain namespaces

- Replace the monolithic dialogs catalog with 16 flat product-domain catalogs
- Preserve every translated locale value while moving all 356 messages
- Expose narrow domain composables and retain useI18n as a compatibility aggregate
- Document namespace ownership and admission rules

* fix(i18n): complete migrated locale coverage

- Translate exposed MCP automation, code editor, credential, and media placeholders
- Restore missing German, Spanish, French, Italian, Polish, and Russian diacritics
- Preserve technical product terms and interpolation placeholders

* fix(i18n): polish remaining locale wording

- Correct the mixed-language German code source label
- Preserve stock_photo and Pexels semantics in German and Polish
- Improve Italian MCP and code-editor grammar
- Use the standard Russian term for MCP endpoint

* fix(i18n): migrate diagnostics copy after rebase

- Add a diagnostics domain for newly merged usage and telemetry settings
- Keep settings navigation labels in the settings domain
- Preserve translated diagnostics catalogs from current master

* style(app): format rebased settings components

* refactor(i18n): simplify domain message keys

- Remove redundant domain prefixes from settings, diagnostics, automation, and integration catalogs
- Move feature-specific actions out of the common namespace
- Preserve current-master language picker and diagnostics copy across every locale
- Update consumers to concise semantic keys

* fix(app): preserve font and updater contracts

- Restore browser and abort-aware font loading from current master
- Remove the unused parameter helper from common messages
- Update updater tests for semantic domain keys

* fix(i18n): finish semantic diagnostics access

* refactor(i18n): derive active MCP status message

* fix(i18n): preserve rendering settings after rebase

- Add a rendering domain for tiled canvas preferences
- Preserve the current-master language and rendering settings UI
- Move every translated renderer preference out of the retired dialogs catalog

* fix(i18n): polish reviewed locale semantics

* test(i18n): enforce translation completeness baseline

- Fail on interpolation placeholder drift and suspicious mixed-script values
- Reject new source-identical translations while tracking existing debt explicitly
- Report translated-message coverage for every supported locale
- Require baseline cleanup when existing placeholders are translated

* refactor(i18n): baseline reviewed mixed-script messages

- Replace brittle product-vocabulary exceptions with Unicode script detection
- Track reviewed mixed-script messages by stable locale and message identity
- Reject new entries and stale baseline debt without hardcoded terminology

* fix(fig): resolve relocated stroke test helper
2026-08-31 23:54:14 +03:00
Danila Poyarkov 61e9951b12 test(fig): place stroke import coverage with current imports 2026-08-31 23:12:17 +03:00
Danila Poyarkov ebe75ea631
Merge pull request #619 from open-pencil/fix/581-intervals-array-import
fix(canvas): normalize imported dash patterns
2026-08-31 22:54:56 +03:00
Danila Poyarkov 2e98ab04a8 fix(canvas): normalize imported dash patterns 2026-08-31 22:25:48 +03:00
Danila Poyarkov 8f1e38b9b0
Merge pull request #615 from Ed-Key/feat/arrow-stroke-caps
feat(canvas): render arrow stroke caps on lines and open vectors
2026-08-31 21:26:44 +03:00
Danila Poyarkov 3702f9c93a fix(canvas): include arrow caps in bounds and controls 2026-08-31 21:25:38 +03:00
Ed-Key 9b48e47329 feat(canvas): render arrow stroke caps on lines and open vectors
ARROW_LINES and ARROW_EQUILATERAL stroke caps were accepted by the schema
and round-tripped from .fig files, but the renderer mapped every cap to
Butt, so imported arrows lost their heads and arrows could not be drawn
locally.

Add a pure arrow-cap geometry module to scene-graph (open-endpoint
collection with per-vertex cap overrides, weight-scaled head geometry)
and draw heads in the stroke color for LINE nodes and open VECTOR
centerline strokes, including the dashed-centerline path. Fold the head
reach into strokeOverflow and the node picture margin so heads are not
cropped by visual bounds, caches, or culling. Round-trip per-vertex
stroke caps through the .fig vector style override table so one-ended
Figma arrows import correctly. Expose both caps in the stroke inspector
cap picker with localized labels, and cover the renderer with an
arrow-stroke-caps Playwright canvas snapshot.

Claude-Session: https://claude.ai/code/session_012zjEbyLSBYyPpJP4fu1XNB
2026-08-31 21:25:38 +03:00
Danila Poyarkov c8ccd8c5a1
Merge pull request #617 from open-pencil/issue-607-debug-probe
fix(text): preserve committed WebView input
2026-08-31 21:21:16 +03:00
Danila Poyarkov 66c8ae6fa5 fix(text): preserve committed WebView input 2026-08-31 21:06:50 +03:00
Danila Poyarkov bdccf2dfe7
Merge pull request #605 from phoenixweiss/codex/fig-component-property-guid-stability
test(fig): compare instance swap targets semantically
2026-08-31 20:37:15 +03:00
Danila Poyarkov 24647675ad fix(fig): preserve roundtrip options type 2026-08-31 20:31:25 +03:00
Danila Poyarkov e5f440d8be fix(fig): guard component property definitions 2026-08-31 19:20:03 +03:00