diff --git a/common/config/rush/pnpm-lock.yaml b/common/config/rush/pnpm-lock.yaml index 1ae8c707f..f80f354ab 100644 --- a/common/config/rush/pnpm-lock.yaml +++ b/common/config/rush/pnpm-lock.yaml @@ -22,7 +22,7 @@ importers: specifier: ~0.5.7 version: 0.5.7 '@visactor/vrender': - specifier: workspace:1.0.10 + specifier: workspace:1.0.11 version: link:../packages/vrender '@visactor/vutils': specifier: 1.0.6 @@ -95,7 +95,7 @@ importers: ../../packages/react-vrender: dependencies: '@visactor/vrender': - specifier: workspace:1.0.10 + specifier: workspace:1.0.11 version: link:../vrender '@visactor/vutils': specifier: 1.0.6 @@ -153,10 +153,10 @@ importers: ../../packages/react-vrender-utils: dependencies: '@visactor/react-vrender': - specifier: workspace:1.0.10 + specifier: workspace:1.0.11 version: link:../react-vrender '@visactor/vrender': - specifier: workspace:1.0.10 + specifier: workspace:1.0.11 version: link:../vrender '@visactor/vutils': specifier: 1.0.6 @@ -211,13 +211,13 @@ importers: ../../packages/vrender: dependencies: '@visactor/vrender-animate': - specifier: workspace:1.0.10 + specifier: workspace:1.0.11 version: link:../vrender-animate '@visactor/vrender-core': - specifier: workspace:1.0.10 + specifier: workspace:1.0.11 version: link:../vrender-core '@visactor/vrender-kits': - specifier: workspace:1.0.10 + specifier: workspace:1.0.11 version: link:../vrender-kits devDependencies: '@internal/bundler': @@ -284,7 +284,7 @@ importers: ../../packages/vrender-animate: dependencies: '@visactor/vrender-core': - specifier: workspace:1.0.10 + specifier: workspace:1.0.11 version: link:../vrender-core '@visactor/vutils': specifier: 1.0.6 @@ -342,13 +342,13 @@ importers: ../../packages/vrender-components: dependencies: '@visactor/vrender-animate': - specifier: workspace:1.0.10 + specifier: workspace:1.0.11 version: link:../vrender-animate '@visactor/vrender-core': - specifier: workspace:1.0.10 + specifier: workspace:1.0.11 version: link:../vrender-core '@visactor/vrender-kits': - specifier: workspace:1.0.10 + specifier: workspace:1.0.11 version: link:../vrender-kits '@visactor/vscale': specifier: 1.0.6 @@ -380,16 +380,16 @@ importers: version: 8.18.0 jest: specifier: ^26.0.0 - version: 26.6.3(ts-node@10.9.0(@types/node@22.15.30)(typescript@4.9.5)) + version: 26.6.3(canvas@2.11.2)(ts-node@10.9.0(@types/node@22.15.30)(typescript@4.9.5)) jest-electron: specifier: ^0.1.12 - version: 0.1.12(jest@26.6.3(ts-node@10.9.0(@types/node@22.15.30)(typescript@4.9.5))) + version: 0.1.12(jest@26.6.3(canvas@2.11.2)(ts-node@10.9.0(@types/node@22.15.30)(typescript@4.9.5))) lil-gui: specifier: ^0.17.0 version: 0.17.0 ts-jest: specifier: ^26.0.0 - version: 26.5.6(jest@26.6.3(ts-node@10.9.0(@types/node@22.15.30)(typescript@4.9.5)))(typescript@4.9.5) + version: 26.5.6(jest@26.6.3(canvas@2.11.2)(ts-node@10.9.0(@types/node@22.15.30)(typescript@4.9.5)))(typescript@4.9.5) typescript: specifier: 4.9.5 version: 4.9.5 @@ -438,10 +438,10 @@ importers: version: 8.18.0 jest: specifier: ^26.0.0 - version: 26.6.3(ts-node@10.9.0(@types/node@22.15.30)(typescript@4.9.5)) + version: 26.6.3(canvas@2.11.2)(ts-node@10.9.0(@types/node@22.15.30)(typescript@4.9.5)) jest-electron: specifier: ^0.1.12 - version: 0.1.12(jest@26.6.3(ts-node@10.9.0(@types/node@22.15.30)(typescript@4.9.5))) + version: 0.1.12(jest@26.6.3(canvas@2.11.2)(ts-node@10.9.0(@types/node@22.15.30)(typescript@4.9.5))) jest-extended: specifier: ^1.2.1 version: 1.2.1 @@ -453,7 +453,7 @@ importers: version: 18.3.1(react@18.3.1) ts-jest: specifier: ^26.0.0 - version: 26.5.6(jest@26.6.3(ts-node@10.9.0(@types/node@22.15.30)(typescript@4.9.5)))(typescript@4.9.5) + version: 26.5.6(jest@26.6.3(canvas@2.11.2)(ts-node@10.9.0(@types/node@22.15.30)(typescript@4.9.5)))(typescript@4.9.5) typescript: specifier: 4.9.5 version: 4.9.5 @@ -467,7 +467,7 @@ importers: specifier: 2.4.1 version: 2.4.1 '@visactor/vrender-core': - specifier: workspace:1.0.10 + specifier: workspace:1.0.11 version: link:../vrender-core '@visactor/vutils': specifier: 1.0.6 @@ -566,14 +566,14 @@ importers: version: 26.6.2 ts-jest: specifier: ^26.0.0 - version: 26.5.6(jest@26.6.3(ts-node@10.9.0(@types/node@22.15.30)(typescript@4.9.5)))(typescript@4.9.5) + version: 26.5.6(jest@26.6.3(canvas@2.11.2)(ts-node@10.9.0(@types/node@22.15.30)(typescript@4.9.5)))(typescript@4.9.5) devDependencies: '@types/jest': specifier: ^26.0.0 version: 26.0.24 jest: specifier: ^26.0.0 - version: 26.6.3(ts-node@10.9.0(@types/node@22.15.30)(typescript@4.9.5)) + version: 26.6.3(canvas@2.11.2)(ts-node@10.9.0(@types/node@22.15.30)(typescript@4.9.5)) typescript: specifier: 4.9.5 version: 4.9.5 @@ -583,19 +583,19 @@ importers: ../../tools/bugserver-trigger: dependencies: '@visactor/vrender': - specifier: workspace:1.0.10 + specifier: workspace:1.0.11 version: link:../../packages/vrender '@visactor/vrender-animate': - specifier: workspace:1.0.10 + specifier: workspace:1.0.11 version: link:../../packages/vrender-animate '@visactor/vrender-components': - specifier: workspace:1.0.10 + specifier: workspace:1.0.11 version: link:../../packages/vrender-components '@visactor/vrender-core': - specifier: workspace:1.0.10 + specifier: workspace:1.0.11 version: link:../../packages/vrender-core '@visactor/vrender-kits': - specifier: workspace:1.0.10 + specifier: workspace:1.0.11 version: link:../../packages/vrender-kits devDependencies: '@internal/bundler': @@ -7937,43 +7937,6 @@ snapshots: - ts-node - utf-8-validate - '@jest/core@26.6.3(ts-node@10.9.0(@types/node@22.15.30)(typescript@4.9.5))': - dependencies: - '@jest/console': 26.6.2 - '@jest/reporters': 26.6.2 - '@jest/test-result': 26.6.2 - '@jest/transform': 26.6.2 - '@jest/types': 26.6.2 - '@types/node': 22.15.30 - ansi-escapes: 4.3.2 - chalk: 4.1.2 - exit: 0.1.2 - graceful-fs: 4.2.11 - jest-changed-files: 26.6.2 - jest-config: 26.6.3(ts-node@10.9.0(@types/node@22.15.30)(typescript@4.9.5)) - jest-haste-map: 26.6.2 - jest-message-util: 26.6.2 - jest-regex-util: 26.0.0 - jest-resolve: 26.6.2 - jest-resolve-dependencies: 26.6.3 - jest-runner: 26.6.3(ts-node@10.9.0(@types/node@22.15.30)(typescript@4.9.5)) - jest-runtime: 26.6.3(ts-node@10.9.0(@types/node@22.15.30)(typescript@4.9.5)) - jest-snapshot: 26.6.2 - jest-util: 26.6.2 - jest-validate: 26.6.2 - jest-watcher: 26.6.2 - micromatch: 4.0.8 - p-each-series: 2.2.0 - rimraf: 3.0.2 - slash: 3.0.0 - strip-ansi: 6.0.1 - transitivePeerDependencies: - - bufferutil - - canvas - - supports-color - - ts-node - - utf-8-validate - '@jest/environment@24.9.0': dependencies: '@jest/fake-timers': 24.9.0 @@ -8090,20 +8053,6 @@ snapshots: - ts-node - utf-8-validate - '@jest/test-sequencer@26.6.3(ts-node@10.9.0(@types/node@22.15.30)(typescript@4.9.5))': - dependencies: - '@jest/test-result': 26.6.2 - graceful-fs: 4.2.11 - jest-haste-map: 26.6.2 - jest-runner: 26.6.3(ts-node@10.9.0(@types/node@22.15.30)(typescript@4.9.5)) - jest-runtime: 26.6.3(ts-node@10.9.0(@types/node@22.15.30)(typescript@4.9.5)) - transitivePeerDependencies: - - bufferutil - - canvas - - supports-color - - ts-node - - utf-8-validate - '@jest/transform@24.9.0': dependencies: '@babel/core': 7.20.12 @@ -11460,28 +11409,6 @@ snapshots: - ts-node - utf-8-validate - jest-cli@26.6.3(ts-node@10.9.0(@types/node@22.15.30)(typescript@4.9.5)): - dependencies: - '@jest/core': 26.6.3(ts-node@10.9.0(@types/node@22.15.30)(typescript@4.9.5)) - '@jest/test-result': 26.6.2 - '@jest/types': 26.6.2 - chalk: 4.1.2 - exit: 0.1.2 - graceful-fs: 4.2.11 - import-local: 3.2.0 - is-ci: 2.0.0 - jest-config: 26.6.3(ts-node@10.9.0(@types/node@22.15.30)(typescript@4.9.5)) - jest-util: 26.6.2 - jest-validate: 26.6.2 - prompts: 2.4.2 - yargs: 15.4.1 - transitivePeerDependencies: - - bufferutil - - canvas - - supports-color - - ts-node - - utf-8-validate - jest-config@24.9.0: dependencies: '@babel/core': 7.20.12 @@ -11532,34 +11459,6 @@ snapshots: - supports-color - utf-8-validate - jest-config@26.6.3(ts-node@10.9.0(@types/node@22.15.30)(typescript@4.9.5)): - dependencies: - '@babel/core': 7.20.12 - '@jest/test-sequencer': 26.6.3(ts-node@10.9.0(@types/node@22.15.30)(typescript@4.9.5)) - '@jest/types': 26.6.2 - babel-jest: 26.6.3(@babel/core@7.20.12) - chalk: 4.1.2 - deepmerge: 4.3.1 - glob: 7.2.3 - graceful-fs: 4.2.11 - jest-environment-jsdom: 26.6.2(canvas@2.11.2) - jest-environment-node: 26.6.2 - jest-get-type: 26.3.0 - jest-jasmine2: 26.6.3(ts-node@10.9.0(@types/node@22.15.30)(typescript@4.9.5)) - jest-regex-util: 26.0.0 - jest-resolve: 26.6.2 - jest-util: 26.6.2 - jest-validate: 26.6.2 - micromatch: 4.0.8 - pretty-format: 26.6.2 - optionalDependencies: - ts-node: 10.9.0(@types/node@22.15.30)(typescript@4.9.5) - transitivePeerDependencies: - - bufferutil - - canvas - - supports-color - - utf-8-validate - jest-diff@24.9.0: dependencies: chalk: 2.4.2 @@ -11621,22 +11520,6 @@ snapshots: transitivePeerDependencies: - supports-color - jest-electron@0.1.12(jest@26.6.3(ts-node@10.9.0(@types/node@22.15.30)(typescript@4.9.5))): - dependencies: - electron: 11.5.0 - jest: 26.6.3(ts-node@10.9.0(@types/node@22.15.30)(typescript@4.9.5)) - jest-haste-map: 24.9.0 - jest-message-util: 24.9.0 - jest-mock: 24.9.0 - jest-resolve: 24.9.0 - jest-runner: 24.9.0 - jest-runtime: 24.9.0 - jest-util: 24.9.0 - throat: 5.0.0 - tslib: 1.14.1 - transitivePeerDependencies: - - supports-color - jest-environment-jsdom@24.9.0: dependencies: '@jest/environment': 24.9.0 @@ -11777,33 +11660,6 @@ snapshots: - ts-node - utf-8-validate - jest-jasmine2@26.6.3(ts-node@10.9.0(@types/node@22.15.30)(typescript@4.9.5)): - dependencies: - '@babel/traverse': 7.27.4 - '@jest/environment': 26.6.2 - '@jest/source-map': 26.6.2 - '@jest/test-result': 26.6.2 - '@jest/types': 26.6.2 - '@types/node': 22.15.30 - chalk: 4.1.2 - co: 4.6.0 - expect: 26.6.2 - is-generator-fn: 2.1.0 - jest-each: 26.6.2 - jest-matcher-utils: 26.6.2 - jest-message-util: 26.6.2 - jest-runtime: 26.6.3(ts-node@10.9.0(@types/node@22.15.30)(typescript@4.9.5)) - jest-snapshot: 26.6.2 - jest-util: 26.6.2 - pretty-format: 26.6.2 - throat: 5.0.0 - transitivePeerDependencies: - - bufferutil - - canvas - - supports-color - - ts-node - - utf-8-validate - jest-leak-detector@24.9.0: dependencies: jest-get-type: 24.9.0 @@ -11957,35 +11813,6 @@ snapshots: - ts-node - utf-8-validate - jest-runner@26.6.3(ts-node@10.9.0(@types/node@22.15.30)(typescript@4.9.5)): - dependencies: - '@jest/console': 26.6.2 - '@jest/environment': 26.6.2 - '@jest/test-result': 26.6.2 - '@jest/types': 26.6.2 - '@types/node': 22.15.30 - chalk: 4.1.2 - emittery: 0.7.2 - exit: 0.1.2 - graceful-fs: 4.2.11 - jest-config: 26.6.3(ts-node@10.9.0(@types/node@22.15.30)(typescript@4.9.5)) - jest-docblock: 26.0.0 - jest-haste-map: 26.6.2 - jest-leak-detector: 26.6.2 - jest-message-util: 26.6.2 - jest-resolve: 26.6.2 - jest-runtime: 26.6.3(ts-node@10.9.0(@types/node@22.15.30)(typescript@4.9.5)) - jest-util: 26.6.2 - jest-worker: 26.6.2 - source-map-support: 0.5.21 - throat: 5.0.0 - transitivePeerDependencies: - - bufferutil - - canvas - - supports-color - - ts-node - - utf-8-validate - jest-runtime@24.9.0: dependencies: '@jest/console': 24.9.0 @@ -12050,42 +11877,6 @@ snapshots: - ts-node - utf-8-validate - jest-runtime@26.6.3(ts-node@10.9.0(@types/node@22.15.30)(typescript@4.9.5)): - dependencies: - '@jest/console': 26.6.2 - '@jest/environment': 26.6.2 - '@jest/fake-timers': 26.6.2 - '@jest/globals': 26.6.2 - '@jest/source-map': 26.6.2 - '@jest/test-result': 26.6.2 - '@jest/transform': 26.6.2 - '@jest/types': 26.6.2 - '@types/yargs': 15.0.19 - chalk: 4.1.2 - cjs-module-lexer: 0.6.0 - collect-v8-coverage: 1.0.2 - exit: 0.1.2 - glob: 7.2.3 - graceful-fs: 4.2.11 - jest-config: 26.6.3(ts-node@10.9.0(@types/node@22.15.30)(typescript@4.9.5)) - jest-haste-map: 26.6.2 - jest-message-util: 26.6.2 - jest-mock: 26.6.2 - jest-regex-util: 26.0.0 - jest-resolve: 26.6.2 - jest-snapshot: 26.6.2 - jest-util: 26.6.2 - jest-validate: 26.6.2 - slash: 3.0.0 - strip-bom: 4.0.0 - yargs: 15.4.1 - transitivePeerDependencies: - - bufferutil - - canvas - - supports-color - - ts-node - - utf-8-validate - jest-serializer@24.9.0: {} jest-serializer@26.6.2: @@ -12203,18 +11994,6 @@ snapshots: - ts-node - utf-8-validate - jest@26.6.3(ts-node@10.9.0(@types/node@22.15.30)(typescript@4.9.5)): - dependencies: - '@jest/core': 26.6.3(ts-node@10.9.0(@types/node@22.15.30)(typescript@4.9.5)) - import-local: 3.2.0 - jest-cli: 26.6.3(ts-node@10.9.0(@types/node@22.15.30)(typescript@4.9.5)) - transitivePeerDependencies: - - bufferutil - - canvas - - supports-color - - ts-node - - utf-8-validate - js-binary-schema-parser@2.0.3: {} js-string-escape@1.0.1: {} @@ -14169,21 +13948,6 @@ snapshots: typescript: 4.9.5 yargs-parser: 20.2.9 - ts-jest@26.5.6(jest@26.6.3(ts-node@10.9.0(@types/node@22.15.30)(typescript@4.9.5)))(typescript@4.9.5): - dependencies: - bs-logger: 0.2.6 - buffer-from: 1.1.2 - fast-json-stable-stringify: 2.1.0 - jest: 26.6.3(ts-node@10.9.0(@types/node@22.15.30)(typescript@4.9.5)) - jest-util: 26.6.2 - json5: 2.2.3 - lodash: 4.17.21 - make-error: 1.3.6 - mkdirp: 1.0.4 - semver: 7.3.4 - typescript: 4.9.5 - yargs-parser: 20.2.9 - ts-node@10.9.0(@types/node@22.15.30)(typescript@4.9.5): dependencies: '@cspotcode/source-map-support': 0.8.1 diff --git a/common/config/rush/version-policies.json b/common/config/rush/version-policies.json index e5662d5c1..4634f1823 100644 --- a/common/config/rush/version-policies.json +++ b/common/config/rush/version-policies.json @@ -1 +1 @@ -[{"definitionName":"lockStepVersion","policyName":"vrenderMain","version":"1.0.10","nextBump":"patch"}] +[{"definitionName":"lockStepVersion","policyName":"vrenderMain","version":"1.0.11","nextBump":"patch"}] diff --git a/docs/package.json b/docs/package.json index c400140a0..75642d830 100644 --- a/docs/package.json +++ b/docs/package.json @@ -13,7 +13,7 @@ "@visactor/vchart": "1.3.0", "@visactor/vutils": "1.0.6", "@visactor/vgrammar": "~0.5.7", - "@visactor/vrender": "workspace:1.0.10", + "@visactor/vrender": "workspace:1.0.11", "markdown-it": "^13.0.0", "highlight.js": "^11.8.0", "axios": "^1.4.0", diff --git a/packages/react-vrender-utils/CHANGELOG.json b/packages/react-vrender-utils/CHANGELOG.json index 3f28b5c44..2e1acbf8d 100644 --- a/packages/react-vrender-utils/CHANGELOG.json +++ b/packages/react-vrender-utils/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@visactor/react-vrender-utils", "entries": [ + { + "version": "1.0.11", + "tag": "@visactor/react-vrender-utils_v1.0.11", + "date": "Tue, 19 Aug 2025 06:31:41 GMT", + "comments": {} + }, { "version": "1.0.10", "tag": "@visactor/react-vrender-utils_v1.0.10", diff --git a/packages/react-vrender-utils/CHANGELOG.md b/packages/react-vrender-utils/CHANGELOG.md index dc58aff9d..65742a262 100644 --- a/packages/react-vrender-utils/CHANGELOG.md +++ b/packages/react-vrender-utils/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @visactor/react-vrender-utils -This log was last generated on Thu, 31 Jul 2025 09:44:33 GMT and should not be manually modified. +This log was last generated on Tue, 19 Aug 2025 06:31:41 GMT and should not be manually modified. + +## 1.0.11 +Tue, 19 Aug 2025 06:31:41 GMT + +_Version update only_ ## 1.0.10 Thu, 31 Jul 2025 09:44:33 GMT diff --git a/packages/react-vrender-utils/package.json b/packages/react-vrender-utils/package.json index 5317c26dd..957cc6478 100644 --- a/packages/react-vrender-utils/package.json +++ b/packages/react-vrender-utils/package.json @@ -1,6 +1,6 @@ { "name": "@visactor/react-vrender-utils", - "version": "1.0.10", + "version": "1.0.11", "description": "", "sideEffects": false, "main": "cjs/index.js", @@ -24,8 +24,8 @@ "react-dom": "^18.2.0" }, "dependencies": { - "@visactor/vrender": "workspace:1.0.10", - "@visactor/react-vrender": "workspace:1.0.10", + "@visactor/vrender": "workspace:1.0.11", + "@visactor/react-vrender": "workspace:1.0.11", "@visactor/vutils": "1.0.6", "react-reconciler": "^0.29.0", "tslib": "^2.3.1" diff --git a/packages/react-vrender/CHANGELOG.json b/packages/react-vrender/CHANGELOG.json index 0b0ce0d9b..f2afd845b 100644 --- a/packages/react-vrender/CHANGELOG.json +++ b/packages/react-vrender/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@visactor/react-vrender", "entries": [ + { + "version": "1.0.11", + "tag": "@visactor/react-vrender_v1.0.11", + "date": "Tue, 19 Aug 2025 06:31:41 GMT", + "comments": {} + }, { "version": "1.0.10", "tag": "@visactor/react-vrender_v1.0.10", diff --git a/packages/react-vrender/CHANGELOG.md b/packages/react-vrender/CHANGELOG.md index 5ae736acb..3982c792a 100644 --- a/packages/react-vrender/CHANGELOG.md +++ b/packages/react-vrender/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @visactor/react-vrender -This log was last generated on Thu, 31 Jul 2025 09:44:33 GMT and should not be manually modified. +This log was last generated on Tue, 19 Aug 2025 06:31:41 GMT and should not be manually modified. + +## 1.0.11 +Tue, 19 Aug 2025 06:31:41 GMT + +_Version update only_ ## 1.0.10 Thu, 31 Jul 2025 09:44:33 GMT diff --git a/packages/react-vrender/package.json b/packages/react-vrender/package.json index 5c745052a..8c504b5ca 100644 --- a/packages/react-vrender/package.json +++ b/packages/react-vrender/package.json @@ -1,6 +1,6 @@ { "name": "@visactor/react-vrender", - "version": "1.0.10", + "version": "1.0.11", "description": "", "sideEffects": false, "main": "cjs/index.js", @@ -23,7 +23,7 @@ "react": "^18.2.0" }, "dependencies": { - "@visactor/vrender": "workspace:1.0.10", + "@visactor/vrender": "workspace:1.0.11", "@visactor/vutils": "1.0.6", "react-reconciler": "^0.29.0", "tslib": "^2.3.1" diff --git a/packages/vrender-animate/CHANGELOG.json b/packages/vrender-animate/CHANGELOG.json index 1bb0594f5..df378a198 100644 --- a/packages/vrender-animate/CHANGELOG.json +++ b/packages/vrender-animate/CHANGELOG.json @@ -1,6 +1,24 @@ { "name": "@visactor/vrender-animate", "entries": [ + { + "version": "1.0.11", + "tag": "@visactor/vrender-animate_v1.0.11", + "date": "Tue, 19 Aug 2025 06:31:41 GMT", + "comments": { + "none": [ + { + "comment": "feat: support AStageAnimate" + }, + { + "comment": "fix: fix issue with reApplyState when this state is not running yet" + }, + { + "comment": "fix: fix issue with graphic run animate which unbind to scenegraph, closed #1914" + } + ] + } + }, { "version": "1.0.10", "tag": "@visactor/vrender-animate_v1.0.10", diff --git a/packages/vrender-animate/CHANGELOG.md b/packages/vrender-animate/CHANGELOG.md index 880e40b09..3947e1624 100644 --- a/packages/vrender-animate/CHANGELOG.md +++ b/packages/vrender-animate/CHANGELOG.md @@ -1,6 +1,15 @@ # Change Log - @visactor/vrender-animate -This log was last generated on Thu, 31 Jul 2025 09:44:33 GMT and should not be manually modified. +This log was last generated on Tue, 19 Aug 2025 06:31:41 GMT and should not be manually modified. + +## 1.0.11 +Tue, 19 Aug 2025 06:31:41 GMT + +### Updates + +- feat: support AStageAnimate +- fix: fix issue with reApplyState when this state is not running yet +- fix: fix issue with graphic run animate which unbind to scenegraph, closed #1914 ## 1.0.10 Thu, 31 Jul 2025 09:44:33 GMT diff --git a/packages/vrender-animate/package.json b/packages/vrender-animate/package.json index 56ece2642..3dc11e664 100644 --- a/packages/vrender-animate/package.json +++ b/packages/vrender-animate/package.json @@ -1,6 +1,6 @@ { "name": "@visactor/vrender-animate", - "version": "1.0.10", + "version": "1.0.11", "description": "", "sideEffects": false, "main": "cjs/index.js", @@ -21,7 +21,7 @@ }, "dependencies": { "@visactor/vutils": "1.0.6", - "@visactor/vrender-core": "workspace:1.0.10" + "@visactor/vrender-core": "workspace:1.0.11" }, "devDependencies": { "@internal/bundler": "workspace:*", diff --git a/packages/vrender-animate/src/animate.ts b/packages/vrender-animate/src/animate.ts index 29f3e174b..3161aba52 100644 --- a/packages/vrender-animate/src/animate.ts +++ b/packages/vrender-animate/src/animate.ts @@ -492,6 +492,10 @@ export class Animate implements IAnimate { this._onFrame = []; this._onEnd = []; this._onRemove = []; + + this.forEachStep(step => { + step.release(); + }); } /** @@ -716,4 +720,12 @@ export class Animate implements IAnimate { getLoop(): number { return this._loopCount; } + + protected forEachStep(cb: (step: IStep) => void): void { + let step = this._firstStep; + while (step) { + cb(step); + step = step.next; + } + } } diff --git a/packages/vrender-animate/src/custom/custom-animate.ts b/packages/vrender-animate/src/custom/custom-animate.ts index 98c958703..5428a7ba6 100644 --- a/packages/vrender-animate/src/custom/custom-animate.ts +++ b/packages/vrender-animate/src/custom/custom-animate.ts @@ -1,5 +1,5 @@ import type { ComponentAnimator } from '../component'; -import type { EasingType, IAnimateStepType, ICustomAnimate } from '@visactor/vrender-core'; +import type { EasingType, IAnimateStepType, ICustomAnimate, Stage } from '@visactor/vrender-core'; import { Step } from '../step'; export abstract class ACustomAnimate extends Step implements ICustomAnimate { @@ -52,3 +52,78 @@ export abstract class AComponentAnimate extends ACustomAnimate { this._animator && this._animator.stop(); } } + +export abstract class AStageAnimate extends ACustomAnimate { + willCallBeforeStageRender: boolean = true; + willCallAfterStageRender: boolean = true; + constructor(customFrom: T, customTo: T, duration: number, easing: EasingType, params?: any) { + super(customFrom, customTo, duration, easing, params); + this.props = {} as T; + } + + // 用户重载 + protected beforeStageRender(stage: Stage, canvas: HTMLCanvasElement): HTMLCanvasElement | void | null | false { + return false; + } + + // 用户重载 + protected afterStageRender(stage: Stage, canvas: HTMLCanvasElement): HTMLCanvasElement | void | null | false { + return false; + } + + onFirstRun(): void { + super.onFirstRun(); + this.target.stage.setBeforeRender(this._beforeStageRender); + this.target.stage.setAfterRender(this._afterStageRender); + // 禁用脏矩形,因为stage动画可能会批量修改整体画面 + this.target.stage.disableDirtyBounds(); + } + + stop() { + super.stop(); + this.target.stage.removeBeforeRender(this._beforeStageRender); + this.target.stage.removeAfterRender(this._afterStageRender); + } + onUpdate(end: boolean, ratio: number, out: Record): void { + super.onUpdate(end, ratio, out); + this.willCallBeforeStageRender = true; + this.willCallAfterStageRender = true; + } + + protected _beforeStageRender = () => { + if (!this.willCallBeforeStageRender) { + return; + } + this.willCallBeforeStageRender = false; + const stage = this.target.stage as any; + const canvas = stage.window.getContext().canvas.nativeCanvas; + const outputCanvas = this.beforeStageRender(stage, canvas); + if (outputCanvas) { + this.renderToStage(stage, outputCanvas); + } + }; + + protected _afterStageRender = () => { + if (!this.willCallAfterStageRender) { + return; + } + this.willCallAfterStageRender = false; + const stage = this.target.stage as any; + const canvas = stage.window.getContext().canvas.nativeCanvas; + const outputCanvas = this.afterStageRender(stage, canvas); + if (outputCanvas) { + this.renderToStage(stage, outputCanvas); + } + }; + + protected renderToStage(stage: Stage, canvas: HTMLCanvasElement): HTMLCanvasElement | void | null | false { + const stageCanvas = stage.window.getContext().canvas.nativeCanvas; + const ctx = stageCanvas.getContext('2d'); + if (!ctx) { + return false; + } + ctx.clearRect(0, 0, stageCanvas.width, stageCanvas.height); + ctx.drawImage(canvas, 0, 0); + return stageCanvas; + } +} diff --git a/packages/vrender-animate/src/executor/animate-executor.ts b/packages/vrender-animate/src/executor/animate-executor.ts index 2570d74e6..dda98cd9f 100644 --- a/packages/vrender-animate/src/executor/animate-executor.ts +++ b/packages/vrender-animate/src/executor/animate-executor.ts @@ -47,6 +47,10 @@ export class AnimateExecutor implements IAnimateExecutor { this._target = target; } + get started(): boolean { + return this._started; + } + /** * 注册一个回调,当动画开始时调用 */ @@ -421,8 +425,8 @@ export class AnimateExecutor implements IAnimateExecutor { // 处理自定义动画 if (custom && customType) { const customParams = { - width: graphic.stage.width, - height: graphic.stage.height, + width: graphic.stage?.width || 0, + height: graphic.stage?.height || 0, group: this._target.parent, ...this.resolveValue(customParameters, graphic) }; diff --git a/packages/vrender-animate/src/index.ts b/packages/vrender-animate/src/index.ts index 98bd44ba9..1134cbd17 100644 --- a/packages/vrender-animate/src/index.ts +++ b/packages/vrender-animate/src/index.ts @@ -9,7 +9,7 @@ export { Step as AnimateStep } from './step'; export * from './utils/easing-func'; export * from './utils/easing'; export { registerAnimate } from './register'; -export { ACustomAnimate, AComponentAnimate } from './custom/custom-animate'; +export { ACustomAnimate, AComponentAnimate, AStageAnimate } from './custom/custom-animate'; export { ComponentAnimator } from './component/component-animator'; export { IncreaseCount } from './custom/number'; export { MorphingPath, MultiToOneMorphingPath, oneToMultiMorph, multiToOneMorph, morphPath } from './custom/morphing'; diff --git a/packages/vrender-animate/src/state/animation-state.ts b/packages/vrender-animate/src/state/animation-state.ts index ab69266ba..ebee5df7b 100644 --- a/packages/vrender-animate/src/state/animation-state.ts +++ b/packages/vrender-animate/src/state/animation-state.ts @@ -233,7 +233,8 @@ export class AnimationStateManager { reApplyState(state: string): void { const stateInfo = this.stateList?.find(stateInfo => stateInfo.state === state); - if (stateInfo) { + // 只有当状态存在且动画正在运行时才重新应用 + if (stateInfo && stateInfo.executor.started) { // stop状态会改变stateList,但因为是reapply,所以保留原始的stateList const stateList = this.stateList.slice(); stateInfo.executor.stop(); diff --git a/packages/vrender-animate/src/step.ts b/packages/vrender-animate/src/step.ts index 80d3d9214..342f53852 100644 --- a/packages/vrender-animate/src/step.ts +++ b/packages/vrender-animate/src/step.ts @@ -316,6 +316,10 @@ export class Step implements IStep { stop(): void { // ... } + + release(): void { + // ... + } } export class WaitStep extends Step { diff --git a/packages/vrender-components/CHANGELOG.json b/packages/vrender-components/CHANGELOG.json index 991d01081..4384597ed 100644 --- a/packages/vrender-components/CHANGELOG.json +++ b/packages/vrender-components/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@visactor/vrender-components", "entries": [ + { + "version": "1.0.11", + "tag": "@visactor/vrender-components_v1.0.11", + "date": "Tue, 19 Aug 2025 06:31:41 GMT", + "comments": {} + }, { "version": "1.0.10", "tag": "@visactor/vrender-components_v1.0.10", diff --git a/packages/vrender-components/CHANGELOG.md b/packages/vrender-components/CHANGELOG.md index f9fb11e56..4e9021e42 100644 --- a/packages/vrender-components/CHANGELOG.md +++ b/packages/vrender-components/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @visactor/vrender-components -This log was last generated on Thu, 31 Jul 2025 09:44:34 GMT and should not be manually modified. +This log was last generated on Tue, 19 Aug 2025 06:31:41 GMT and should not be manually modified. + +## 1.0.11 +Tue, 19 Aug 2025 06:31:41 GMT + +_Version update only_ ## 1.0.10 Thu, 31 Jul 2025 09:44:34 GMT diff --git a/packages/vrender-components/package.json b/packages/vrender-components/package.json index 5dfbf36d0..e9a3b4d4c 100644 --- a/packages/vrender-components/package.json +++ b/packages/vrender-components/package.json @@ -1,6 +1,6 @@ { "name": "@visactor/vrender-components", - "version": "1.0.10", + "version": "1.0.11", "description": "components library for dp visualization", "sideEffects": false, "main": "cjs/index.js", @@ -27,9 +27,9 @@ "dependencies": { "@visactor/vutils": "1.0.6", "@visactor/vscale": "1.0.6", - "@visactor/vrender-core": "workspace:1.0.10", - "@visactor/vrender-kits": "workspace:1.0.10", - "@visactor/vrender-animate": "workspace:1.0.10" + "@visactor/vrender-core": "workspace:1.0.11", + "@visactor/vrender-kits": "workspace:1.0.11", + "@visactor/vrender-animate": "workspace:1.0.11" }, "devDependencies": { "@internal/bundler": "workspace:*", diff --git a/packages/vrender-core/CHANGELOG.json b/packages/vrender-core/CHANGELOG.json index d7e77763c..2b4b46be9 100644 --- a/packages/vrender-core/CHANGELOG.json +++ b/packages/vrender-core/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@visactor/vrender-core", "entries": [ + { + "version": "1.0.11", + "tag": "@visactor/vrender-core_v1.0.11", + "date": "Tue, 19 Aug 2025 06:31:41 GMT", + "comments": { + "none": [ + { + "comment": "feat: support AStageAnimate" + } + ] + } + }, { "version": "1.0.10", "tag": "@visactor/vrender-core_v1.0.10", diff --git a/packages/vrender-core/CHANGELOG.md b/packages/vrender-core/CHANGELOG.md index 8738bf185..1002d39e8 100644 --- a/packages/vrender-core/CHANGELOG.md +++ b/packages/vrender-core/CHANGELOG.md @@ -1,6 +1,13 @@ # Change Log - @visactor/vrender-core -This log was last generated on Thu, 31 Jul 2025 09:44:34 GMT and should not be manually modified. +This log was last generated on Tue, 19 Aug 2025 06:31:41 GMT and should not be manually modified. + +## 1.0.11 +Tue, 19 Aug 2025 06:31:41 GMT + +### Updates + +- feat: support AStageAnimate ## 1.0.10 Thu, 31 Jul 2025 09:44:34 GMT diff --git a/packages/vrender-core/package.json b/packages/vrender-core/package.json index c1c73792b..b6cf75f87 100644 --- a/packages/vrender-core/package.json +++ b/packages/vrender-core/package.json @@ -1,6 +1,6 @@ { "name": "@visactor/vrender-core", - "version": "1.0.10", + "version": "1.0.11", "description": "", "sideEffects": [ "./src/modules.ts", diff --git a/packages/vrender-core/src/core/stage.ts b/packages/vrender-core/src/core/stage.ts index 598078974..8321eb889 100644 --- a/packages/vrender-core/src/core/stage.ts +++ b/packages/vrender-core/src/core/stage.ts @@ -188,8 +188,8 @@ export class Stage extends Group implements IStage { return this._eventSystem; } - protected _beforeRender?: (stage: IStage) => void; - protected _afterRender?: (stage: IStage) => void; + protected _beforeRenderList: Array<(stage: IStage) => void>; + protected _afterRenderList: Array<(stage: IStage) => void>; protected _afterClearScreen?: (drawParams: any) => void; protected _afterClearRect?: (drawParams: any) => void; // 0: 正常渲染, > 0: 跳过隐藏canvas的渲染, < 0: 禁止渲染 @@ -252,6 +252,8 @@ export class Stage extends Group implements IStage { this.layerService = container.get(LayerService); this.graphicService = container.get(GraphicService); this.pluginService.active(this, params); + this._beforeRenderList = []; + this._afterRenderList = []; this.window.create({ width: params.width, @@ -308,10 +310,14 @@ export class Stage extends Group implements IStage { params.enableLayout && this.enableLayout(); this.hooks.beforeRender.tap('constructor', this.beforeRender); this.hooks.afterRender.tap('constructor', this.afterRender); + if (params.beforeRender) { + this._beforeRenderList.push(params.beforeRender); + } + if (params.afterRender) { + this._afterRenderList.push(params.afterRender); + } this.hooks.afterClearScreen.tap('constructor', this.afterClearScreen); this.hooks.afterClearRect.tap('constructor', this.afterClearRect); - this._beforeRender = params.beforeRender; - this._afterRender = params.afterRender; this._afterClearScreen = params.afterClearScreen; this._afterClearRect = params.afterClearRect; this.supportInteractiveLayer = params.interactiveLayer !== false; @@ -499,7 +505,7 @@ export class Stage extends Group implements IStage { } protected beforeRender = (stage: IStage) => { - this._beforeRender && this._beforeRender(stage); + this._beforeRenderList.forEach(cb => cb(stage)); }; protected afterClearScreen = (drawParams: any) => { this._afterClearScreen && this._afterClearScreen(drawParams); @@ -510,7 +516,7 @@ export class Stage extends Group implements IStage { protected afterRender = (stage: IStage) => { this.renderCount++; - this._afterRender && this._afterRender(stage); + this._afterRenderList.forEach(cb => cb(stage)); this._afterNextRenderCbs && this._afterNextRenderCbs.forEach(cb => cb(stage)); this._afterNextRenderCbs = null; this.tickedBeforeRender = false; @@ -523,11 +529,19 @@ export class Stage extends Group implements IStage { }; setBeforeRender(cb: (stage: IStage) => void) { - this._beforeRender = cb; + this._beforeRenderList.push(cb); + } + + removeBeforeRender(cb: (stage: IStage) => void) { + this._beforeRenderList = this._beforeRenderList.filter(c => c !== cb); } setAfterRender(cb: (stage: IStage) => void) { - this._afterRender = cb; + this._afterRenderList.push(cb); + } + + removeAfterRender(cb: (stage: IStage) => void) { + this._afterRenderList = this._afterRenderList.filter(c => c !== cb); } afterNextRender(cb: (stage: IStage) => void) { diff --git a/packages/vrender-core/src/graphic/config.ts b/packages/vrender-core/src/graphic/config.ts index 25664bc9b..8449f200e 100644 --- a/packages/vrender-core/src/graphic/config.ts +++ b/packages/vrender-core/src/graphic/config.ts @@ -327,7 +327,8 @@ export const DefaultRectAttribute: Required = { y1: 0, strokeBoundsBuffer: 0, cornerRadius: 0, - cornerType: 'round' + cornerType: 'round', + drawStrokeWhenZeroWH: false }; export const DefaultRect3dAttribute: Required = { @@ -338,7 +339,8 @@ export const DefaultRect3dAttribute: Required = { y1: 0, cornerRadius: 0, length: 0, - cornerType: 'round' + cornerType: 'round', + drawStrokeWhenZeroWH: false }; export const DefaultSymbolAttribute: Required = { diff --git a/packages/vrender-core/src/graphic/graphic.ts b/packages/vrender-core/src/graphic/graphic.ts index fbe7d3094..694da97a4 100644 --- a/packages/vrender-core/src/graphic/graphic.ts +++ b/packages/vrender-core/src/graphic/graphic.ts @@ -691,6 +691,9 @@ export abstract class Graphic = Partial, forceUpdateTag: boolean = false, context?: ISetAttributeContext) { + if (!params) { + return; + } params = (this.onBeforeAttributeUpdate && this.onBeforeAttributeUpdate(params, this.attribute, null, context)) || params; diff --git a/packages/vrender-core/src/interface/animation/animate.ts b/packages/vrender-core/src/interface/animation/animate.ts index 8673a5a97..da264ffae 100644 --- a/packages/vrender-core/src/interface/animation/animate.ts +++ b/packages/vrender-core/src/interface/animation/animate.ts @@ -66,6 +66,9 @@ export interface IStep { // 停止 stop: () => void; + + // 释放 + release: () => void; } export interface IAnimate { diff --git a/packages/vrender-core/src/interface/graphic/rect.ts b/packages/vrender-core/src/interface/graphic/rect.ts index 1617b6043..c160a0e8c 100644 --- a/packages/vrender-core/src/interface/graphic/rect.ts +++ b/packages/vrender-core/src/interface/graphic/rect.ts @@ -16,6 +16,10 @@ export type IRectAttribute = { * 'bevel' - 斜角 */ cornerType: 'round' | 'bevel'; + /** + * 当宽高为0时,是否绘制边框 + */ + drawStrokeWhenZeroWH: boolean; }; export type IRectGraphicAttribute = Partial & Partial; diff --git a/packages/vrender-core/src/interface/stage.ts b/packages/vrender-core/src/interface/stage.ts index 22a0cea47..0a4a6da6f 100644 --- a/packages/vrender-core/src/interface/stage.ts +++ b/packages/vrender-core/src/interface/stage.ts @@ -229,9 +229,9 @@ export interface IStage extends INode { toCanvas: (fullImage?: boolean, viewBox?: IAABBBounds) => HTMLCanvasElement | null; setBeforeRender: (cb: (stage: IStage) => void) => void; - + removeBeforeRender: (cb: (stage: IStage) => void) => void; setAfterRender: (cb: (stage: IStage) => void) => void; - + removeAfterRender: (cb: (stage: IStage) => void) => void; afterNextRender: (cb: (stage: IStage) => void) => void; enableAutoRender: () => void; disableAutoRender: () => void; diff --git a/packages/vrender-core/src/plugins/builtin-plugin/edit-module.ts b/packages/vrender-core/src/plugins/builtin-plugin/edit-module.ts index f3f9a6424..2ea4055d7 100644 --- a/packages/vrender-core/src/plugins/builtin-plugin/edit-module.ts +++ b/packages/vrender-core/src/plugins/builtin-plugin/edit-module.ts @@ -155,6 +155,7 @@ export class EditModule { const textAreaDom = document.createElement('textarea'); textAreaDom.autocomplete = 'off'; + textAreaDom.spellcheck = false; textAreaDom.innerText = ''; this.applyStyle(textAreaDom); this.container.append(textAreaDom); @@ -186,7 +187,7 @@ export class EditModule { applyStyle(textAreaDom: HTMLTextAreaElement) { textAreaDom.setAttribute( 'style', - `width: 100px; height: 30px; left: 0; top: 0; position: absolute; z-index: -1; outline: none; resize: none; border: none; overflow: hidden; color: transparent; user-select: none; caret-color: transparent;background-color: transparent;` + `width: 100px; height: 30px; left: 0; top: 0; position: absolute; z-index: -1; outline: none; resize: none; border: none; overflow: hidden; color: transparent; user-select: none; caret-color: transparent;background-color: transparent;opacity: 0;pointer-events: none;` ); textAreaDom.addEventListener('input', this.handleInput); diff --git a/packages/vrender-core/src/render/contributions/render/rect-render.ts b/packages/vrender-core/src/render/contributions/render/rect-render.ts index a8ba6e91d..156bf7038 100644 --- a/packages/vrender-core/src/render/contributions/render/rect-render.ts +++ b/packages/vrender-core/src/render/contributions/render/rect-render.ts @@ -83,7 +83,8 @@ export class DefaultCanvasRectRender extends BaseRender implements IGraph y1, x: originX = rectAttribute.x, y: originY = rectAttribute.y, - fillStrokeOrder = rectAttribute.fillStrokeOrder + fillStrokeOrder = rectAttribute.fillStrokeOrder, + drawStrokeWhenZeroWH = rectAttribute.drawStrokeWhenZeroWH } = rect.attribute; let { width, height } = rect.attribute; width = (width ?? x1 - originX) || 0; @@ -91,7 +92,7 @@ export class DefaultCanvasRectRender extends BaseRender implements IGraph // 不绘制或者透明 const fVisible = rectFillVisible(opacity, fillOpacity, width, height, fill); - const sVisible = rectStrokeVisible(opacity, strokeOpacity, width, height); + const sVisible = rectStrokeVisible(opacity, strokeOpacity, width, height, drawStrokeWhenZeroWH); const doFill = runFill(fill, background); const doStroke = runStroke(stroke, lineWidth); diff --git a/packages/vrender-core/src/render/contributions/render/rect3d-render.ts b/packages/vrender-core/src/render/contributions/render/rect3d-render.ts index d8d25963d..434c417d5 100644 --- a/packages/vrender-core/src/render/contributions/render/rect3d-render.ts +++ b/packages/vrender-core/src/render/contributions/render/rect3d-render.ts @@ -52,7 +52,8 @@ export class DefaultCanvasRect3dRender extends Base3dRender implements fillOpacity = rectAttribute.fillOpacity, lineWidth = rectAttribute.lineWidth, strokeOpacity = rectAttribute.strokeOpacity, - visible = rectAttribute.visible + visible = rectAttribute.visible, + drawStrokeWhenZeroWH = rectAttribute.drawStrokeWhenZeroWH ?? false } = rect.attribute; let { width, height } = rect.attribute; @@ -63,7 +64,7 @@ export class DefaultCanvasRect3dRender extends Base3dRender implements // 不绘制或者透明 const fVisible = rectFillVisible(opacity, fillOpacity, width, height, fill); - const sVisible = rectStrokeVisible(opacity, strokeOpacity, width, height); + const sVisible = rectStrokeVisible(opacity, strokeOpacity, width, height, drawStrokeWhenZeroWH); const doFill = runFill(fill); const doStroke = runStroke(stroke, lineWidth); diff --git a/packages/vrender-core/src/render/contributions/render/utils.ts b/packages/vrender-core/src/render/contributions/render/utils.ts index 3a717245a..c12a30f6d 100644 --- a/packages/vrender-core/src/render/contributions/render/utils.ts +++ b/packages/vrender-core/src/render/contributions/render/utils.ts @@ -66,7 +66,16 @@ export function strokeVisible(opacity: number, strokeOpacity: number) { return opacity * strokeOpacity > 0; } -export function rectStrokeVisible(opacity: number, strokeOpacity: number, width: number, height: number) { +export function rectStrokeVisible( + opacity: number, + strokeOpacity: number, + width: number, + height: number, + drawStrokeWhenZeroWH?: boolean +) { + if (drawStrokeWhenZeroWH) { + return opacity * strokeOpacity > 0; + } return opacity * strokeOpacity > 0 && width !== 0 && height !== 0; } diff --git a/packages/vrender-kits/CHANGELOG.json b/packages/vrender-kits/CHANGELOG.json index d80c26c01..5400931d3 100644 --- a/packages/vrender-kits/CHANGELOG.json +++ b/packages/vrender-kits/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@visactor/vrender-kits", "entries": [ + { + "version": "1.0.11", + "tag": "@visactor/vrender-kits_v1.0.11", + "date": "Tue, 19 Aug 2025 06:31:41 GMT", + "comments": {} + }, { "version": "1.0.10", "tag": "@visactor/vrender-kits_v1.0.10", diff --git a/packages/vrender-kits/CHANGELOG.md b/packages/vrender-kits/CHANGELOG.md index 1664a46d7..2c480aba6 100644 --- a/packages/vrender-kits/CHANGELOG.md +++ b/packages/vrender-kits/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @visactor/vrender-kits -This log was last generated on Thu, 31 Jul 2025 09:44:34 GMT and should not be manually modified. +This log was last generated on Tue, 19 Aug 2025 06:31:41 GMT and should not be manually modified. + +## 1.0.11 +Tue, 19 Aug 2025 06:31:41 GMT + +_Version update only_ ## 1.0.10 Thu, 31 Jul 2025 09:44:34 GMT diff --git a/packages/vrender-kits/package.json b/packages/vrender-kits/package.json index 7088ce872..06c7980a7 100644 --- a/packages/vrender-kits/package.json +++ b/packages/vrender-kits/package.json @@ -1,6 +1,6 @@ { "name": "@visactor/vrender-kits", - "version": "1.0.10", + "version": "1.0.11", "description": "", "sideEffects": false, "main": "cjs/index.js", @@ -21,7 +21,7 @@ }, "dependencies": { "@visactor/vutils": "1.0.6", - "@visactor/vrender-core": "workspace:1.0.10", + "@visactor/vrender-core": "workspace:1.0.11", "@resvg/resvg-js": "2.4.1", "roughjs": "4.5.2", "gifuct-js": "2.1.2", diff --git a/packages/vrender/CHANGELOG.json b/packages/vrender/CHANGELOG.json index b726c7077..63f6fb2da 100644 --- a/packages/vrender/CHANGELOG.json +++ b/packages/vrender/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@visactor/vrender", "entries": [ + { + "version": "1.0.11", + "tag": "@visactor/vrender_v1.0.11", + "date": "Tue, 19 Aug 2025 06:31:41 GMT", + "comments": {} + }, { "version": "1.0.10", "tag": "@visactor/vrender_v1.0.10", diff --git a/packages/vrender/CHANGELOG.md b/packages/vrender/CHANGELOG.md index 3cc8d5abc..3460bdf0c 100644 --- a/packages/vrender/CHANGELOG.md +++ b/packages/vrender/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @visactor/vrender -This log was last generated on Thu, 31 Jul 2025 09:44:33 GMT and should not be manually modified. +This log was last generated on Tue, 19 Aug 2025 06:31:41 GMT and should not be manually modified. + +## 1.0.11 +Tue, 19 Aug 2025 06:31:41 GMT + +_Version update only_ ## 1.0.10 Thu, 31 Jul 2025 09:44:33 GMT diff --git a/packages/vrender/__tests__/browser/src/pages/symbol.ts b/packages/vrender/__tests__/browser/src/pages/symbol.ts index a9ef3e130..d6862b76c 100644 --- a/packages/vrender/__tests__/browser/src/pages/symbol.ts +++ b/packages/vrender/__tests__/browser/src/pages/symbol.ts @@ -1,11 +1,33 @@ -import { createStage, createSymbol, container, IGraphic, XMLParser, createText } from '@visactor/vrender'; +import { createStage, createSymbol, container, IGraphic, XMLParser, createText, vglobal } from '@visactor/vrender'; import { roughModule } from '@visactor/vrender-kits'; +import { AStageAnimate } from '@visactor/vrender-animate'; // import { addShapesToStage, colorPools } from '../utils'; // import { XMLParser, XMLValidator } from 'fast-xml-parser'; import { AABBBounds } from '@visactor/vutils'; container.load(roughModule); +class TestStageAnimate extends AStageAnimate { + protected afterStageRender(stage: any, canvas: HTMLCanvasElement): HTMLCanvasElement | void | null | false { + const c = vglobal.createCanvas({ + width: canvas.width, + height: canvas.height, + dpr: vglobal.devicePixelRatio + }); + const ctx = c.getContext('2d'); + if (!ctx) { + return false; + } + ctx.clearRect(0, 0, canvas.width, canvas.height); + ctx.drawImage(canvas, 0, 0); + ctx.fillStyle = `rgba(${Math.floor(Math.random() * 255)}, ${Math.floor(Math.random() * 255)}, ${Math.floor( + Math.random() * 255 + )}, 0.2)`; + ctx.fillRect(0, 0, canvas.width, canvas.height); + return c; + } +} + export const page = () => { console.time(); const parser = new XMLParser({ ignoreAttributes: false }); @@ -152,4 +174,6 @@ export const page = () => { const c = stage.toCanvas(false, new AABBBounds().set(100, 100, 300, 360)); document.body.appendChild(c); + + stage.animate().play(new TestStageAnimate(null, null, 1000, 'linear')); }; diff --git a/packages/vrender/package.json b/packages/vrender/package.json index d63f451eb..a1db70a06 100644 --- a/packages/vrender/package.json +++ b/packages/vrender/package.json @@ -1,6 +1,6 @@ { "name": "@visactor/vrender", - "version": "1.0.10", + "version": "1.0.11", "description": "", "sideEffects": true, "main": "cjs/index.js", @@ -24,9 +24,9 @@ "test-watch": "cross-env DEBUG_MODE=1 jest --watch" }, "dependencies": { - "@visactor/vrender-core": "workspace:1.0.10", - "@visactor/vrender-kits": "workspace:1.0.10", - "@visactor/vrender-animate": "workspace:1.0.10" + "@visactor/vrender-core": "workspace:1.0.11", + "@visactor/vrender-kits": "workspace:1.0.11", + "@visactor/vrender-animate": "workspace:1.0.11" }, "devDependencies": { "@internal/bundler": "workspace:*", diff --git a/packages/vrender/src/index.ts b/packages/vrender/src/index.ts index a1449334c..1c5e5e8a4 100644 --- a/packages/vrender/src/index.ts +++ b/packages/vrender/src/index.ts @@ -32,6 +32,7 @@ import { registerText, registerWrapText } from '@visactor/vrender-kits'; +import { registerCustomAnimate, registerAnimate } from '@visactor/vrender-animate'; // 导出版本号 export const version = __VERSION__; @@ -68,6 +69,10 @@ registerHtmlAttributePlugin(); registerReactAttributePlugin(); registerDirectionalLight(); registerOrthoCamera(); + +registerCustomAnimate(); +registerAnimate(); + export * from '@visactor/vrender-core'; export * from '@visactor/vrender-kits'; export * from '@visactor/vrender-animate'; diff --git a/tools/bugserver-trigger/package.json b/tools/bugserver-trigger/package.json index c9b770057..ebf2cc971 100644 --- a/tools/bugserver-trigger/package.json +++ b/tools/bugserver-trigger/package.json @@ -8,11 +8,11 @@ "ci": "ts-node --transpileOnly --skipProject ./scripts/trigger-test.ts" }, "dependencies": { - "@visactor/vrender": "workspace:1.0.10", - "@visactor/vrender-core": "workspace:1.0.10", - "@visactor/vrender-kits": "workspace:1.0.10", - "@visactor/vrender-components": "workspace:1.0.10", - "@visactor/vrender-animate": "workspace:1.0.10" + "@visactor/vrender": "workspace:1.0.11", + "@visactor/vrender-core": "workspace:1.0.11", + "@visactor/vrender-kits": "workspace:1.0.11", + "@visactor/vrender-components": "workspace:1.0.11", + "@visactor/vrender-animate": "workspace:1.0.11" }, "devDependencies": { "@rushstack/eslint-patch": "~1.1.4",