Danila Poyarkov
e37d2b216a
Fix silent rendering crash, no-chrome test mode, error detection
...
- Fix this.this.selColor() typo in renderer (6 occurrences) — broke
selection/handles rendering since the constants extraction refactor
- Add preserveDrawingBuffer to WebGL surface for reliable screenshots
- Add ?no-chrome URL param to hide panels/toolbar in tests
- CanvasHelper collects pageerror + console.error, assertNoErrors()
fails tests on any browser-side exception
2026-02-28 08:39:19 +03:00
Danila Poyarkov
bcd8bf6bca
Add IconsResolver for auto-import, explicit imports only for dynamic maps
2026-02-28 08:29:39 +03:00
Danila Poyarkov
3ddc671bc5
Replace emoji icons with Lucide via Iconify (unplugin-icons)
...
- unplugin-icons + @iconify-json/lucide for compile-time icon bundling
- Toolbar: proper cursor, frame, square, pen, type, hand icons
- Layers panel: per-type node icons + chevron-right for expand/collapse
- Remove icon field from ToolDef (icons mapped in components)
2026-02-28 08:24:42 +03:00
Danila Poyarkov
f0d817c747
Refactor: vendor kiwi-schema, extract types/constants, culori colors
...
- Fork kiwi-schema from source TypeScript (evanw/kiwi), drop npm dep + patch
- Deduplicate GUID/Color types into src/types.ts
- Extract UI colors and default fills into src/constants.ts
- Replace hand-rolled hex parsing with culori library
- Extract demo shapes from App.vue into src/demo.ts
- useUrlSearchParams from VueUse for test mode detection
- Move fig-file/fig-import into kiwi/ (format layer)
- Delete PoC files (poc-yoga.ts, poc-test.ts)
2026-02-28 08:08:04 +03:00
Danila Poyarkov
e03a01dbe3
Add bun:test unit tests for SceneGraph (15ms)
2026-02-28 07:45:50 +03:00
Danila Poyarkov
c1fbf57df2
Skip stability check: toMatchSnapshot, 2.1s → 1.3s
2026-02-28 07:44:20 +03:00
Danila Poyarkov
b5eb7f751f
Faster E2E: data-ready attr + rAF wait, 4.6s → 2.1s
2026-02-28 07:43:05 +03:00
Danila Poyarkov
e8c01fb93c
Speed up E2E tests: reuse page, 14s → 4.6s
2026-02-28 07:35:52 +03:00
Danila Poyarkov
40f7b3a648
Playwright visual regression testing with Figma CDP reference
...
- Playwright E2E tests for OpenPencil: draw, move, delete, undo shapes
- Visual screenshot baselines with toHaveScreenshot()
- SwiftShader for headless WebGL/CanvasKit rendering
- Figma CDP helper for reference tests (connect to Figma Desktop)
- ?test URL param for clean canvas without demo shapes
- Scripts: test, test:update, test:figma, figma:debug
2026-02-28 07:32:15 +03:00