Danila Poyarkov
72e3bc4fb5
chore: organize repo tooling under tools
2026-06-07 09:40:54 +03:00
Danila Poyarkov
22ff3acdb5
Merge remote-tracking branch 'origin/master' into figma-compat-render-gaps
...
# Conflicts:
# CHANGELOG.md
2026-05-31 13:59:19 +03:00
Danila Poyarkov
2dc51375ad
Release v0.13.2
2026-05-30 19:14:12 +03:00
Danila Poyarkov
b6570d7a03
test(canvas): share oracle pixel image type
2026-05-28 16:11:53 +03:00
Danila Poyarkov
6ae425ee3b
fix(core): address compatibility review findings
2026-05-28 09:57:46 +03:00
Danila Poyarkov
da537c05a7
test(canvas): summarize pattern oracle deltas
2026-05-27 14:25:10 +03:00
Danila Poyarkov
f1bc620f13
test(canvas): group pattern oracle regions
2026-05-27 13:40:29 +03:00
Danila Poyarkov
56383c7f51
test(canvas): analyze text decoration oracle
2026-05-27 11:32:22 +03:00
Danila Poyarkov
9a7ef5e2cb
test(canvas): update visual oracle metrics
2026-05-27 11:04:27 +03:00
Danila Poyarkov
431ab2247f
test(canvas): analyze pattern oracle rows
2026-05-27 10:30:40 +03:00
Danila Poyarkov
b18d215e04
test(canvas): report tolerant visual metrics
2026-05-27 10:11:06 +03:00
Danila Poyarkov
16e523380b
test(canvas): tighten pattern visual oracle
2026-05-26 21:12:57 +03:00
Danila Poyarkov
e02782d1b5
test(canvas): record Figma visual oracle diffs
2026-05-26 20:44:18 +03:00
Danila Poyarkov
3722924026
test(io): add fixture visual export script
2026-05-26 18:42:03 +03:00
Danila Poyarkov
f4b3453fbd
chore(lint): check duplicate type shapes across files
...
- Add a repo-wide TypeScript AST duplicate shape check to the quality gate
- Extract shared named types for existing cross-file duplicates
- Keep same-file oxlint coverage for editor feedback
2026-05-25 00:55:29 +03:00
Danila Poyarkov
1ed7de6056
chore(lint): reject broad unknown type assertions
...
- Add AST-based lint checks for broad unknown object assertions and local JsonObject aliases
- Centralize JsonObject in core and package-local MCP RPC JSON typing
- Replace baseline Record<string, unknown> assertions with named shared/domain types
2026-05-25 00:26:02 +03:00
Danila Poyarkov
abd795bd9a
chore: format codebase
2026-05-24 12:15:29 +03:00
Danila Poyarkov
3850be9512
build: publish node-compatible packages
2026-05-21 17:03:19 +03:00
Danila Poyarkov
54310308dc
refactor(kiwi): split schema text from runtime
...
- Move the Kiwi runtime under schema-runtime to match folder naming
- Load the Figma schema from a .kiwi text asset with static validation
- Assert Figma clipboard-derived field numbers for fragile layout/text fields
2026-05-21 14:54:12 +03:00
Danila Poyarkov
f3649550f2
chore: enable stricter oxlint rules
2026-05-18 18:58:30 +03:00
Danila Poyarkov
945560b5a9
fix(io): ignore inside stroke geometry bounds
2026-05-18 13:52:45 +03:00
Danila Poyarkov
977ccacf41
chore(scripts): trim text-only bisect exports
2026-05-18 13:36:03 +03:00
Danila Poyarkov
59d4aaae84
chore(scripts): match nested bisect bounds
2026-05-18 13:26:58 +03:00
Danila Poyarkov
8f80396775
chore(scripts): support nested visual bisects
2026-05-18 12:40:03 +03:00
Danila Poyarkov
61ada46f24
chore(scripts): compare bisect subsets by bounds
2026-05-18 12:26:06 +03:00
Danila Poyarkov
097814f4da
chore(scripts): add visual bisect helper
2026-05-18 10:55:52 +03:00
Danila Poyarkov
38d30e25e0
refactor(app): derive menu shortcut formats
2026-05-17 14:50:43 +03:00
Danila Poyarkov
883601f548
fix(ui): format shortcut tooltips by platform
2026-05-17 14:31:29 +03:00
Danila Poyarkov
29d7ae4817
refactor(vue): centralize canvas menu groups
2026-05-17 14:09:52 +03:00
Danila Poyarkov
11e38b626a
test(e2e): extract shared editor setup fixture
...
- useEditorSetup() / useEditorSetupWithClear() in tests/e2e/fixtures.ts
- Migrated 17 specs to shared fixture, removing ~300 lines of boilerplate
- Moved getSelectedNode/getSelectedNodes to shared store helpers
- Replaced inline getSelectedNode in 4 specs with shared import
- Test duplication: 329 → 308 clones (10.12% → 9.08%)
2026-05-16 16:19:03 +03:00
Danila Poyarkov
b460d194e7
chore(test): trim stale path redirects
2026-05-16 14:28:40 +03:00
Danila Poyarkov
41fccdfcc6
chore(test): flag broad engine basic tests
2026-05-16 14:26:44 +03:00
Danila Poyarkov
46bf5a2bd2
test(engine): split profiler coverage by module
2026-05-16 14:15:04 +03:00
Danila Poyarkov
e6a6926f39
test(engine): split geometry coverage by domain
2026-05-16 13:30:25 +03:00
Danila Poyarkov
21b649e540
test(engine): organize clipboard and vector coverage
2026-05-16 13:18:38 +03:00
Danila Poyarkov
6eb50affc4
test(engine): move root tests into domains
2026-05-16 12:30:27 +03:00
Danila Poyarkov
937577c0e6
chore(test): generalize engine domain redirects
2026-05-16 12:22:03 +03:00
Danila Poyarkov
fca62ac3fe
chore(test): guard engine test domains
2026-05-16 12:18:21 +03:00
Danila Poyarkov
3eedd0740e
chore: move code-pattern checks to oxlint
2026-05-14 22:22:07 +03:00
Danila Poyarkov
686ca5326f
chore: enforce Vue style and state boundaries
2026-05-14 22:05:43 +03:00
Danila Poyarkov
3e6093106c
chore: enforce domain folder naming
2026-05-14 20:57:19 +03:00
Danila Poyarkov
9be159de3d
chore: harden architecture linting
2026-05-14 20:51:59 +03:00
Danila Poyarkov
8976ea7c3d
chore: enforce test structure rules
2026-05-14 20:35:23 +03:00
Danila Poyarkov
c80ce4c7a9
test: cover architecture lint rules
2026-05-14 19:07:23 +03:00
Danila Poyarkov
5acb8ffb6c
chore: guard shared UI boundaries
2026-05-14 19:00:51 +03:00
Danila Poyarkov
042271f519
chore: tighten architecture boundaries
2026-05-14 18:56:45 +03:00
Danila Poyarkov
00110c6c65
chore: add architecture linting
2026-05-14 18:23:25 +03:00
Danila Poyarkov
74e550adb2
chore(i18n): sync all locale files and add CI check
...
- Add scripts/check-locales.ts to detect missing/extra locale keys
- Wire as 'check:i18n' in the check pipeline
- Add missing translations for de, es, fr, it, pl, ru, zh-CN:
layout size limits, gap controls, variable modes, variants
2026-05-07 21:42:34 +03:00
Danila Poyarkov
c2afb8ddca
chore(lint): enforce type safety in scripts
...
- Fix non-null assertions in visual-compare script
- Fix missing radix parameter
- Replace ImageMagick rgba() color with hex notation
- Remove no-non-null-assertion, no-hand-rolled-color, and radix script overrides
- Keep only no-console override for CLI scripts
2026-05-06 16:41:40 +03:00
Danila Poyarkov
c3f5189f8f
style: tighten import grouping
...
- Configure oxfmt custom import groups for workspace, app, package, and test aliases
- Keep type imports grouped with their matching source category instead of one global tail group
- Expand the format script to cover formatter config, Vite files, and scripts
2026-05-06 02:22:08 +03:00