diff --git a/CHANGELOG.md b/CHANGELOG.md index 2f4d4a44d..54efb5ed5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,16 @@ # Changelog +## 0.3.2 (2026-03-02) + +### Performance + +- Re-apply SkPicture scene caching for ~7x faster pan/zoom (0.98ms vs 6.8ms per frame at 500 nodes) + +### Tests + +- Visual regression tests for SkPicture cache: hover on/off cycle, multiple cycles, mouse hover, scene change + hover +- Type `window.__OPEN_PENCIL_STORE__` globally, remove ad-hoc casts from tests + ## 0.3.1 (2026-03-02) ### Fixes diff --git a/desktop/tauri.conf.json b/desktop/tauri.conf.json index 5363461e8..b6e932ca7 100644 --- a/desktop/tauri.conf.json +++ b/desktop/tauri.conf.json @@ -1,7 +1,7 @@ { "$schema": "https://schema.tauri.app/config/2", "productName": "OpenPencil", - "version": "0.3.1", + "version": "0.3.2", "identifier": "net.dannote.open-pencil", "build": { "beforeDevCommand": "bun run dev", diff --git a/package.json b/package.json index 69e5a0215..64d1b4407 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "open-pencil-app", "private": true, - "version": "0.3.1", + "version": "0.3.2", "license": "MIT", "type": "module", "workspaces": [ @@ -9,7 +9,7 @@ ], "scripts": { "dev": "vite", - "build": "tsc && vite build", + "build": "tsgo --noEmit && vite build", "preview": "vite preview", "tauri": "tauri", "lint": "oxlint -c oxlint.json src/", diff --git a/packages/cli/package.json b/packages/cli/package.json index abb7a369c..d37c88cd8 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@open-pencil/cli", - "version": "0.3.1", + "version": "0.3.2", "license": "MIT", "type": "module", "bin": { diff --git a/packages/core/package.json b/packages/core/package.json index 17704d298..c0f2d1baf 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@open-pencil/core", - "version": "0.3.1", + "version": "0.3.2", "license": "MIT", "type": "module", "exports": { diff --git a/src/global.d.ts b/src/global.d.ts index aeef4fbf7..7478b4181 100644 --- a/src/global.d.ts +++ b/src/global.d.ts @@ -29,5 +29,8 @@ interface Window { > // eslint-disable-next-line @typescript-eslint/no-explicit-any __OPEN_PENCIL_SET_TRANSPORT__?(factory: () => any): void - __OPEN_PENCIL_STORE__?: import('./stores/editor').EditorStore + // Typed as `any` to avoid circular reference with EditorStore. + // The assignment in EditorView.vue is type-safe; test code uses `!` assertion. + // eslint-disable-next-line @typescript-eslint/no-explicit-any + __OPEN_PENCIL_STORE__?: any }