diff --git a/common/config/rush/pnpm-lock.yaml b/common/config/rush/pnpm-lock.yaml index 3e889eb31..df2ab0e60 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.37 + specifier: workspace:1.0.38 version: link:../packages/vrender '@visactor/vutils': specifier: ~1.0.12 @@ -95,7 +95,7 @@ importers: ../../packages/react-vrender: dependencies: '@visactor/vrender': - specifier: workspace:1.0.37 + specifier: workspace:1.0.38 version: link:../vrender '@visactor/vutils': specifier: ~1.0.12 @@ -153,10 +153,10 @@ importers: ../../packages/react-vrender-utils: dependencies: '@visactor/react-vrender': - specifier: workspace:1.0.37 + specifier: workspace:1.0.38 version: link:../react-vrender '@visactor/vrender': - specifier: workspace:1.0.37 + specifier: workspace:1.0.38 version: link:../vrender '@visactor/vutils': specifier: ~1.0.12 @@ -211,16 +211,16 @@ importers: ../../packages/vrender: dependencies: '@visactor/vrender-animate': - specifier: workspace:1.0.37 + specifier: workspace:1.0.38 version: link:../vrender-animate '@visactor/vrender-components': - specifier: workspace:1.0.37 + specifier: workspace:1.0.38 version: link:../vrender-components '@visactor/vrender-core': - specifier: workspace:1.0.37 + specifier: workspace:1.0.38 version: link:../vrender-core '@visactor/vrender-kits': - specifier: workspace:1.0.37 + specifier: workspace:1.0.38 version: link:../vrender-kits devDependencies: '@internal/bundler': @@ -287,7 +287,7 @@ importers: ../../packages/vrender-animate: dependencies: '@visactor/vrender-core': - specifier: workspace:1.0.37 + specifier: workspace:1.0.38 version: link:../vrender-core '@visactor/vutils': specifier: ~1.0.12 @@ -345,13 +345,13 @@ importers: ../../packages/vrender-components: dependencies: '@visactor/vrender-animate': - specifier: workspace:1.0.37 + specifier: workspace:1.0.38 version: link:../vrender-animate '@visactor/vrender-core': - specifier: workspace:1.0.37 + specifier: workspace:1.0.38 version: link:../vrender-core '@visactor/vrender-kits': - specifier: workspace:1.0.37 + specifier: workspace:1.0.38 version: link:../vrender-kits '@visactor/vscale': specifier: ~1.0.12 @@ -470,7 +470,7 @@ importers: specifier: 2.4.1 version: 2.4.1 '@visactor/vrender-core': - specifier: workspace:1.0.37 + specifier: workspace:1.0.38 version: link:../vrender-core '@visactor/vutils': specifier: ~1.0.12 @@ -586,19 +586,19 @@ importers: ../../tools/bugserver-trigger: dependencies: '@visactor/vrender': - specifier: workspace:1.0.37 + specifier: workspace:1.0.38 version: link:../../packages/vrender '@visactor/vrender-animate': - specifier: workspace:1.0.37 + specifier: workspace:1.0.38 version: link:../../packages/vrender-animate '@visactor/vrender-components': - specifier: workspace:1.0.37 + specifier: workspace:1.0.38 version: link:../../packages/vrender-components '@visactor/vrender-core': - specifier: workspace:1.0.37 + specifier: workspace:1.0.38 version: link:../../packages/vrender-core '@visactor/vrender-kits': - specifier: workspace:1.0.37 + specifier: workspace:1.0.38 version: link:../../packages/vrender-kits devDependencies: '@internal/bundler': diff --git a/common/config/rush/version-policies.json b/common/config/rush/version-policies.json index b323a680a..74a1b7d16 100644 --- a/common/config/rush/version-policies.json +++ b/common/config/rush/version-policies.json @@ -1 +1 @@ -[{"definitionName":"lockStepVersion","policyName":"vrenderMain","version":"1.0.37","nextBump":"patch"}] +[{"definitionName":"lockStepVersion","policyName":"vrenderMain","version":"1.0.38","nextBump":"patch"}] diff --git a/docs/package.json b/docs/package.json index 49c5570a8..751a18b2e 100644 --- a/docs/package.json +++ b/docs/package.json @@ -13,7 +13,7 @@ "@visactor/vchart": "1.3.0", "@visactor/vutils": "~1.0.12", "@visactor/vgrammar": "~0.5.7", - "@visactor/vrender": "workspace:1.0.37", + "@visactor/vrender": "workspace:1.0.38", "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 ed4020d1a..946710a1d 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.38", + "tag": "@visactor/react-vrender-utils_v1.0.38", + "date": "Tue, 20 Jan 2026 06:20:16 GMT", + "comments": {} + }, { "version": "1.0.37", "tag": "@visactor/react-vrender-utils_v1.0.37", diff --git a/packages/react-vrender-utils/CHANGELOG.md b/packages/react-vrender-utils/CHANGELOG.md index d7f455926..39d191111 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 Tue, 06 Jan 2026 10:04:09 GMT and should not be manually modified. +This log was last generated on Tue, 20 Jan 2026 06:20:16 GMT and should not be manually modified. + +## 1.0.38 +Tue, 20 Jan 2026 06:20:16 GMT + +_Version update only_ ## 1.0.37 Tue, 06 Jan 2026 10:04:09 GMT diff --git a/packages/react-vrender-utils/package.json b/packages/react-vrender-utils/package.json index 6ca1b077e..7e184dd1c 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.37", + "version": "1.0.38", "description": "", "sideEffects": false, "main": "cjs/index.js", @@ -24,8 +24,8 @@ "react-dom": "^18.2.0" }, "dependencies": { - "@visactor/vrender": "workspace:1.0.37", - "@visactor/react-vrender": "workspace:1.0.37", + "@visactor/vrender": "workspace:1.0.38", + "@visactor/react-vrender": "workspace:1.0.38", "@visactor/vutils": "~1.0.12", "react-reconciler": "^0.29.0", "tslib": "^2.3.1" diff --git a/packages/react-vrender/CHANGELOG.json b/packages/react-vrender/CHANGELOG.json index 801711fad..81cc593a2 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.38", + "tag": "@visactor/react-vrender_v1.0.38", + "date": "Tue, 20 Jan 2026 06:20:16 GMT", + "comments": {} + }, { "version": "1.0.37", "tag": "@visactor/react-vrender_v1.0.37", diff --git a/packages/react-vrender/CHANGELOG.md b/packages/react-vrender/CHANGELOG.md index 163e02722..2fc1a8297 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 Tue, 06 Jan 2026 10:04:09 GMT and should not be manually modified. +This log was last generated on Tue, 20 Jan 2026 06:20:16 GMT and should not be manually modified. + +## 1.0.38 +Tue, 20 Jan 2026 06:20:16 GMT + +_Version update only_ ## 1.0.37 Tue, 06 Jan 2026 10:04:09 GMT diff --git a/packages/react-vrender/package.json b/packages/react-vrender/package.json index 92ebacb13..d96d82196 100644 --- a/packages/react-vrender/package.json +++ b/packages/react-vrender/package.json @@ -1,6 +1,6 @@ { "name": "@visactor/react-vrender", - "version": "1.0.37", + "version": "1.0.38", "description": "", "sideEffects": false, "main": "cjs/index.js", @@ -23,7 +23,7 @@ "react": "^18.2.0" }, "dependencies": { - "@visactor/vrender": "workspace:1.0.37", + "@visactor/vrender": "workspace:1.0.38", "@visactor/vutils": "~1.0.12", "react-reconciler": "^0.29.0", "tslib": "^2.3.1" diff --git a/packages/vrender-animate/CHANGELOG.json b/packages/vrender-animate/CHANGELOG.json index 9840e6dea..0191d4101 100644 --- a/packages/vrender-animate/CHANGELOG.json +++ b/packages/vrender-animate/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@visactor/vrender-animate", "entries": [ + { + "version": "1.0.38", + "tag": "@visactor/vrender-animate_v1.0.38", + "date": "Tue, 20 Jan 2026 06:20:16 GMT", + "comments": { + "none": [ + { + "comment": "fix: fix issue of textMeasure\n\n" + } + ] + } + }, { "version": "1.0.37", "tag": "@visactor/vrender-animate_v1.0.37", diff --git a/packages/vrender-animate/CHANGELOG.md b/packages/vrender-animate/CHANGELOG.md index b5ac0e3fd..6055a9861 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 Tue, 06 Jan 2026 10:04:10 GMT and should not be manually modified. +This log was last generated on Tue, 20 Jan 2026 06:20:16 GMT and should not be manually modified. + +## 1.0.38 +Tue, 20 Jan 2026 06:20:16 GMT + +### Updates + +- fix: fix issue of textMeasure + + ## 1.0.37 Tue, 06 Jan 2026 10:04:10 GMT diff --git a/packages/vrender-animate/package.json b/packages/vrender-animate/package.json index 10ebb40e4..7974b7a4b 100644 --- a/packages/vrender-animate/package.json +++ b/packages/vrender-animate/package.json @@ -1,6 +1,6 @@ { "name": "@visactor/vrender-animate", - "version": "1.0.37", + "version": "1.0.38", "description": "", "sideEffects": false, "main": "cjs/index.js", @@ -21,7 +21,7 @@ }, "dependencies": { "@visactor/vutils": "~1.0.12", - "@visactor/vrender-core": "workspace:1.0.37" + "@visactor/vrender-core": "workspace:1.0.38" }, "devDependencies": { "@internal/bundler": "workspace:*", diff --git a/packages/vrender-animate/src/custom/custom-animate.ts b/packages/vrender-animate/src/custom/custom-animate.ts index 5428a7ba6..08aad5ee3 100644 --- a/packages/vrender-animate/src/custom/custom-animate.ts +++ b/packages/vrender-animate/src/custom/custom-animate.ts @@ -1,5 +1,11 @@ import type { ComponentAnimator } from '../component'; -import type { EasingType, IAnimateStepType, ICustomAnimate, Stage } from '@visactor/vrender-core'; +import { + AnimateStatus, + type EasingType, + type IAnimateStepType, + type ICustomAnimate, + type Stage +} from '@visactor/vrender-core'; import { Step } from '../step'; export abstract class ACustomAnimate extends Step implements ICustomAnimate { @@ -56,6 +62,7 @@ export abstract class AComponentAnimate extends ACustomAnimate { export abstract class AStageAnimate extends ACustomAnimate { willCallBeforeStageRender: boolean = true; willCallAfterStageRender: boolean = true; + checkStatusAfterRender: boolean = true; constructor(customFrom: T, customTo: T, duration: number, easing: EasingType, params?: any) { super(customFrom, customTo, duration, easing, params); this.props = {} as T; @@ -114,6 +121,10 @@ export abstract class AStageAnimate extends ACustomAnimate { if (outputCanvas) { this.renderToStage(stage, outputCanvas); } + // 检查是否需要移除动画 + if (this.checkStatusAfterRender && this.animate.status === AnimateStatus.END) { + this.animate.timeline.removeAnimate(this.animate); + } }; protected renderToStage(stage: Stage, canvas: HTMLCanvasElement): HTMLCanvasElement | void | null | false { diff --git a/packages/vrender-animate/src/timeline.ts b/packages/vrender-animate/src/timeline.ts index 3100b73aa..64759264a 100644 --- a/packages/vrender-animate/src/timeline.ts +++ b/packages/vrender-animate/src/timeline.ts @@ -14,7 +14,7 @@ export class DefaultTimeline extends EventEmitter implements ITimeline { protected tail: AnimateNode | null = null; protected animateMap: Map = new Map(); protected _animateCount: number = 0; - declare protected paused: boolean; + protected declare paused: boolean; // 添加必要的属性 protected _playSpeed: number = 1; diff --git a/packages/vrender-components/CHANGELOG.json b/packages/vrender-components/CHANGELOG.json index 979dbdd3e..b6363dcda 100644 --- a/packages/vrender-components/CHANGELOG.json +++ b/packages/vrender-components/CHANGELOG.json @@ -1,6 +1,24 @@ { "name": "@visactor/vrender-components", "entries": [ + { + "version": "1.0.38", + "tag": "@visactor/vrender-components_v1.0.38", + "date": "Tue, 20 Jan 2026 06:20:16 GMT", + "comments": { + "none": [ + { + "comment": "feat: add before change api for brush" + }, + { + "comment": "feat: add interactive config" + }, + { + "comment": "fix: fix issue of textMeasure\n\n" + } + ] + } + }, { "version": "1.0.37", "tag": "@visactor/vrender-components_v1.0.37", diff --git a/packages/vrender-components/CHANGELOG.md b/packages/vrender-components/CHANGELOG.md index bb31612db..f10b9361a 100644 --- a/packages/vrender-components/CHANGELOG.md +++ b/packages/vrender-components/CHANGELOG.md @@ -1,6 +1,17 @@ # Change Log - @visactor/vrender-components -This log was last generated on Tue, 06 Jan 2026 10:04:10 GMT and should not be manually modified. +This log was last generated on Tue, 20 Jan 2026 06:20:16 GMT and should not be manually modified. + +## 1.0.38 +Tue, 20 Jan 2026 06:20:16 GMT + +### Updates + +- feat: add before change api for brush +- feat: add interactive config +- fix: fix issue of textMeasure + + ## 1.0.37 Tue, 06 Jan 2026 10:04:10 GMT diff --git a/packages/vrender-components/__tests__/browser/examples/brush.ts b/packages/vrender-components/__tests__/browser/examples/brush.ts index f21eabb77..b3dac1614 100644 --- a/packages/vrender-components/__tests__/browser/examples/brush.ts +++ b/packages/vrender-components/__tests__/browser/examples/brush.ts @@ -7,6 +7,7 @@ export function run() { const guiObject = { name: 'Brush', + interactive: true, brushMode: 'single', brushType: 'rect', brushMoved: true, @@ -58,7 +59,8 @@ export function run() { stroke: '#B0C8F9', strokeWidth: 2 }, - delayTime: 0 + delayTime: 0, + interactive: true }); const brush2 = new Brush({ @@ -100,6 +102,10 @@ export function run() { const gui = new GUI(); gui.add(guiObject, 'name'); + gui.add(guiObject, 'interactive').onChange(value => { + brush.setAttribute('interactive', value); + }); + gui.add(guiObject, 'brushMode', ['single', 'multiple']).onChange(value => { brush.setAttribute('brushMode', value); }); diff --git a/packages/vrender-components/package.json b/packages/vrender-components/package.json index 459afe384..1e2ede511 100644 --- a/packages/vrender-components/package.json +++ b/packages/vrender-components/package.json @@ -1,6 +1,6 @@ { "name": "@visactor/vrender-components", - "version": "1.0.37", + "version": "1.0.38", "description": "components library for dp visualization", "sideEffects": false, "main": "cjs/index.js", @@ -27,9 +27,9 @@ "dependencies": { "@visactor/vutils": "~1.0.12", "@visactor/vscale": "~1.0.12", - "@visactor/vrender-core": "workspace:1.0.37", - "@visactor/vrender-kits": "workspace:1.0.37", - "@visactor/vrender-animate": "workspace:1.0.37" + "@visactor/vrender-core": "workspace:1.0.38", + "@visactor/vrender-kits": "workspace:1.0.38", + "@visactor/vrender-animate": "workspace:1.0.38" }, "devDependencies": { "@internal/bundler": "workspace:*", diff --git a/packages/vrender-components/src/brush/brush.ts b/packages/vrender-components/src/brush/brush.ts index b71dee060..d0b54ca92 100644 --- a/packages/vrender-components/src/brush/brush.ts +++ b/packages/vrender-components/src/brush/brush.ts @@ -72,6 +72,12 @@ export class Brush extends AbstractComponent> { * 3. 如果是绘制状态: 标记绘制状态 & 标记正在绘制的mask & 清除之前的mask & 添加新的mask */ private _onBrushStart = (e: FederatedPointerEvent) => { + if (this.attribute.interactive === false) { + return; + } + if (this._beforeBrushEvent(e) === false) { + return; + } const { updateTrigger = DEFAULT_BRUSH_ATTRIBUTES.updateTrigger, endTrigger = DEFAULT_BRUSH_ATTRIBUTES.endTrigger, @@ -95,6 +101,13 @@ export class Brush extends AbstractComponent> { * 2. 如果是移动状态: 标记移动状态 & 计算位移量 & 给被移动的mask偏移属性 */ private _onBrushing = (e: FederatedPointerEvent) => { + if (this.attribute.interactive === false) { + return; + } + if (this._beforeBrushEvent(e) === false) { + return; + } + if (this._outOfInteractiveRange(e)) { return; } @@ -119,6 +132,9 @@ export class Brush extends AbstractComponent> { * @description 取消绘制 和 移动 状态 */ private _onBrushEnd = (e: FederatedPointerEvent) => { + if (this.attribute.interactive === false) { + return; + } this._releaseBrushUpdateEvents(); e.preventDefault(); this._activeDrawState && this._drawEnd(e); @@ -129,6 +145,12 @@ export class Brush extends AbstractComponent> { }; private _onBrushClear = (e: FederatedPointerEvent) => { + if (this.attribute.interactive === false) { + return; + } + if (this._beforeBrushEvent(e) === false) { + return; + } e.preventDefault(); if (!this._isEmptyMask()) { this._clearMask(); @@ -143,6 +165,9 @@ export class Brush extends AbstractComponent> { * @description 清除之前的mask & 添加新的mask */ private _initDraw(e: FederatedPointerEvent) { + if (this.attribute.interactive === false) { + return; + } const { brushMode } = this.attribute as BrushAttributes; const pos = this.eventPosToStagePos(e); @@ -158,6 +183,9 @@ export class Brush extends AbstractComponent> { * @description 初始化mask的dx和dy */ private _initMove(e: FederatedPointerEvent) { + if (this.attribute.interactive === false) { + return; + } this._cacheMovePoint = this.eventPosToStagePos(e); this._operatingMaskMoveDx = this._operatingMask.attribute.dx ?? 0; @@ -185,6 +213,9 @@ export class Brush extends AbstractComponent> { * @description 更新_cacheDrawPoints 和 mask的points属性 */ private _drawing(e: FederatedPointerEvent) { + if (this.attribute.interactive === false) { + return; + } const pos = this.eventPosToStagePos(e); const { brushType, sizeThreshold = DEFAULT_SIZE_THRESHOLD } = this.attribute as BrushAttributes; @@ -227,6 +258,9 @@ export class Brush extends AbstractComponent> { * @description 标记移动状态 & 计算位移量 & 给被移动的mask偏移属性 */ private _moving(e: FederatedPointerEvent) { + if (this.attribute.interactive === false) { + return; + } const startPos = this._cacheMovePoint; const pos = this.eventPosToStagePos(e); // 如果当前点的位置和上一次点的位置一致,则无需更新 @@ -252,6 +286,9 @@ export class Brush extends AbstractComponent> { } private _drawEnd(e: FederatedPointerEvent) { + if (this.attribute.interactive === false) { + return; + } const { removeOnClick = true, sizeThreshold = DEFAULT_SIZE_THRESHOLD } = this.attribute as BrushAttributes; if (this._outOfInteractiveRange(e)) { if (!this._isEmptyMask()) { @@ -290,6 +327,9 @@ export class Brush extends AbstractComponent> { } private _moveEnd(e: FederatedPointerEvent) { + if (this.attribute.interactive === false) { + return; + } if (this._operatingMask) { this._operatingMask.setAttribute('pickable', false); } @@ -442,6 +482,14 @@ export class Brush extends AbstractComponent> { return false; } + /** + * 触发框选前事件 + * @returns 返回 false 表示中断后续逻辑,返回 true 或 undefined 表示继续执行 + */ + private _beforeBrushEvent(e: FederatedPointerEvent): void | boolean { + return this.attribute.beforeBrushChange?.(e); + } + /** * 根据操作类型触发对应的事件 */ diff --git a/packages/vrender-components/src/brush/type.ts b/packages/vrender-components/src/brush/type.ts index ec0c8792f..fb44927dd 100644 --- a/packages/vrender-components/src/brush/type.ts +++ b/packages/vrender-components/src/brush/type.ts @@ -1,7 +1,16 @@ -import type { GraphicEventType, IGroupGraphicAttribute, IPolygonGraphicAttribute } from '@visactor/vrender-core'; +import type { + FederatedPointerEvent, + GraphicEventType, + IGroupGraphicAttribute, + IPolygonGraphicAttribute +} from '@visactor/vrender-core'; import type { IDelayType } from '../interface'; export interface BrushAttributes extends IGroupGraphicAttribute { + /** + * 是否禁止交互,默认为 true + */ + interactive?: boolean; /** * 触发框选的事件名称 */ @@ -82,6 +91,10 @@ export interface BrushAttributes extends IGroupGraphicAttribute { * @default false */ disableTriggerEvent?: boolean; + /** + * 框选前触发事件 + */ + beforeBrushChange?: (e: FederatedPointerEvent) => void | boolean; } export type IBrushType = 'x' | 'y' | 'rect' | 'polygon'; diff --git a/packages/vrender-core/CHANGELOG.json b/packages/vrender-core/CHANGELOG.json index a73479eec..e7f677cda 100644 --- a/packages/vrender-core/CHANGELOG.json +++ b/packages/vrender-core/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@visactor/vrender-core", "entries": [ + { + "version": "1.0.38", + "tag": "@visactor/vrender-core_v1.0.38", + "date": "Tue, 20 Jan 2026 06:20:16 GMT", + "comments": {} + }, { "version": "1.0.37", "tag": "@visactor/vrender-core_v1.0.37", diff --git a/packages/vrender-core/CHANGELOG.md b/packages/vrender-core/CHANGELOG.md index a1205de8d..e79988f46 100644 --- a/packages/vrender-core/CHANGELOG.md +++ b/packages/vrender-core/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @visactor/vrender-core -This log was last generated on Tue, 06 Jan 2026 10:04:10 GMT and should not be manually modified. +This log was last generated on Tue, 20 Jan 2026 06:20:16 GMT and should not be manually modified. + +## 1.0.38 +Tue, 20 Jan 2026 06:20:16 GMT + +_Version update only_ ## 1.0.37 Tue, 06 Jan 2026 10:04:10 GMT diff --git a/packages/vrender-core/package.json b/packages/vrender-core/package.json index 8b91a975b..f314b47ef 100644 --- a/packages/vrender-core/package.json +++ b/packages/vrender-core/package.json @@ -1,6 +1,6 @@ { "name": "@visactor/vrender-core", - "version": "1.0.37", + "version": "1.0.38", "description": "", "sideEffects": [ "./src/modules.ts", diff --git a/packages/vrender-kits/CHANGELOG.json b/packages/vrender-kits/CHANGELOG.json index 7fadbf204..3c551331a 100644 --- a/packages/vrender-kits/CHANGELOG.json +++ b/packages/vrender-kits/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@visactor/vrender-kits", "entries": [ + { + "version": "1.0.38", + "tag": "@visactor/vrender-kits_v1.0.38", + "date": "Tue, 20 Jan 2026 06:20:16 GMT", + "comments": { + "none": [ + { + "comment": "fix: fix issue of textMeasure\n\n" + } + ] + } + }, { "version": "1.0.37", "tag": "@visactor/vrender-kits_v1.0.37", diff --git a/packages/vrender-kits/CHANGELOG.md b/packages/vrender-kits/CHANGELOG.md index 1d9aba3ca..b660748b2 100644 --- a/packages/vrender-kits/CHANGELOG.md +++ b/packages/vrender-kits/CHANGELOG.md @@ -1,6 +1,15 @@ # Change Log - @visactor/vrender-kits -This log was last generated on Tue, 06 Jan 2026 10:04:10 GMT and should not be manually modified. +This log was last generated on Tue, 20 Jan 2026 06:20:16 GMT and should not be manually modified. + +## 1.0.38 +Tue, 20 Jan 2026 06:20:16 GMT + +### Updates + +- fix: fix issue of textMeasure + + ## 1.0.37 Tue, 06 Jan 2026 10:04:10 GMT diff --git a/packages/vrender-kits/package.json b/packages/vrender-kits/package.json index 1b47677d0..1260f6ec9 100644 --- a/packages/vrender-kits/package.json +++ b/packages/vrender-kits/package.json @@ -1,9 +1,9 @@ { "name": "@visactor/vrender-kits", - "version": "1.0.37", + "version": "1.0.38", "description": "", "sideEffects": false, - "main": "cjs/index.js", + "main": "cjs/index-node.js", "module": "es/index.js", "types": "es/index.d.ts", "files": [ @@ -21,7 +21,7 @@ }, "dependencies": { "@visactor/vutils": "~1.0.12", - "@visactor/vrender-core": "workspace:1.0.37", + "@visactor/vrender-core": "workspace:1.0.38", "@resvg/resvg-js": "2.4.1", "roughjs": "4.6.6", "gifuct-js": "2.1.2", @@ -70,7 +70,7 @@ "exports": { ".": { "import": "./es/index.js", - "require": "./cjs/index.js" + "require": "./cjs/index-node.js" } } } diff --git a/packages/vrender-kits/src/canvas/contributions/browser/context.ts b/packages/vrender-kits/src/canvas/contributions/browser/context.ts index acfc8be43..87a134aec 100644 --- a/packages/vrender-kits/src/canvas/contributions/browser/context.ts +++ b/packages/vrender-kits/src/canvas/contributions/browser/context.ts @@ -237,6 +237,7 @@ export class BrowserContext2d implements IContext2d { this.reset(); } else { this.nativeContext.restore(); + this._font = ''; } } diff --git a/packages/vrender-kits/src/index-node.ts b/packages/vrender-kits/src/index-node.ts index 40eabea39..b5f87f5ec 100644 --- a/packages/vrender-kits/src/index-node.ts +++ b/packages/vrender-kits/src/index-node.ts @@ -2,5 +2,84 @@ import _roughModule from './render/contributions/rough/module'; // import _canvasModuleLoader from './canvas/contributions/canvas-module'; export const roughModule = _roughModule; +export * from './picker/contributions/constants'; + +export * from './jsx'; +export * from './react-tree'; +export * from './event/extension'; +// export * from './env/browser'; +export * from './env'; +export * from './picker/contributions/canvas-picker/arc-module'; +export * from './picker/contributions/math-picker/arc-module'; + +export * from './picker/contributions/canvas-picker/rect-module'; +export * from './picker/contributions/math-picker/rect-module'; + +export * from './picker/contributions/canvas-picker/line-module'; +export * from './picker/contributions/math-picker/line-module'; + +export * from './picker/contributions/canvas-picker/area-module'; +export * from './picker/contributions/math-picker/area-module'; + +export * from './picker/contributions/canvas-picker/symbol-module'; +export * from './picker/contributions/math-picker/symbol-module'; + +export * from './picker/contributions/canvas-picker/circle-module'; +export * from './picker/contributions/math-picker/circle-module'; + +export * from './picker/contributions/canvas-picker/text-module'; +export * from './picker/contributions/math-picker/text-module'; + +export * from './picker/contributions/canvas-picker/path-module'; +export * from './picker/contributions/math-picker/path-module'; + +export * from './picker/contributions/canvas-picker/polygon-module'; +export * from './picker/contributions/math-picker/polygon-module'; + +export * from './picker/contributions/canvas-picker/glyph-module'; +export * from './picker/contributions/math-picker/glyph-module'; + +export * from './picker/contributions/canvas-picker/richtext-module'; +export * from './picker/contributions/math-picker/richtext-module'; + +export * from './picker/contributions/canvas-picker/image-module'; +export * from './picker/contributions/math-picker/image-module'; + +export * from './picker/contributions/canvas-picker/rect3d-module'; + +export * from './picker/contributions/canvas-picker/arc3d-module'; + +export * from './picker/contributions/canvas-picker/pyramid3d-module'; + +export * from './graphic/gif-image'; +export * from './picker/contributions/canvas-picker/gif-image-module'; +export * from './render/contributions/canvas/gif-image-module'; + +// export * from './graphic/Lottie'; +// export * from './graphic/interface/lottie'; +// export * from './picker/contributions/canvas-picker/lottie-module'; +// export * from './render/contributions/canvas/lottie-module'; + +export * from './register/register-arc'; +export * from './register/register-arc3d'; +export * from './register/register-area'; +export * from './register/register-circle'; +export * from './register/register-glyph'; +export * from './register/register-group'; +export * from './register/register-image'; +export * from './register/register-line'; +export * from './register/register-path'; +export * from './register/register-polygon'; +export * from './register/register-pyramid3d'; +export * from './register/register-rect'; +export * from './register/register-rect3d'; +export * from './register/register-richtext'; +export * from './register/register-shadowRoot'; +export * from './register/register-symbol'; +export * from './register/register-text'; +export * from './register/register-star'; +export * from './register/register-wraptext'; +export * from './register/register-gif'; +export * from './tools/dynamicTexture/effect'; // export const canvasModuleLoader = _canvasModuleLoader; -// export { nodeLoader } from './node-bind'; +// export { nodeLoader } from './node-bind'; // nodeLoader只在node入口暴露 diff --git a/packages/vrender-kits/src/index.ts b/packages/vrender-kits/src/index.ts index 8aa9561fd..dd6e787f8 100644 --- a/packages/vrender-kits/src/index.ts +++ b/packages/vrender-kits/src/index.ts @@ -1,85 +1,6 @@ -import _roughModule from './render/contributions/rough/module'; -// import _canvasModuleLoader from './canvas/contributions/canvas-module'; - -export const roughModule = _roughModule; -export * from './picker/contributions/constants'; - -export * from './jsx'; -export * from './react-tree'; -export * from './event/extension'; -// export * from './env/browser'; -export * from './env'; -export * from './picker/contributions/canvas-picker/arc-module'; -export * from './picker/contributions/math-picker/arc-module'; - -export * from './picker/contributions/canvas-picker/rect-module'; -export * from './picker/contributions/math-picker/rect-module'; - -export * from './picker/contributions/canvas-picker/line-module'; -export * from './picker/contributions/math-picker/line-module'; - -export * from './picker/contributions/canvas-picker/area-module'; -export * from './picker/contributions/math-picker/area-module'; - -export * from './picker/contributions/canvas-picker/symbol-module'; -export * from './picker/contributions/math-picker/symbol-module'; - -export * from './picker/contributions/canvas-picker/circle-module'; -export * from './picker/contributions/math-picker/circle-module'; - -export * from './picker/contributions/canvas-picker/text-module'; -export * from './picker/contributions/math-picker/text-module'; - -export * from './picker/contributions/canvas-picker/path-module'; -export * from './picker/contributions/math-picker/path-module'; - -export * from './picker/contributions/canvas-picker/polygon-module'; -export * from './picker/contributions/math-picker/polygon-module'; - -export * from './picker/contributions/canvas-picker/glyph-module'; -export * from './picker/contributions/math-picker/glyph-module'; - -export * from './picker/contributions/canvas-picker/richtext-module'; -export * from './picker/contributions/math-picker/richtext-module'; - -export * from './picker/contributions/canvas-picker/image-module'; -export * from './picker/contributions/math-picker/image-module'; - -export * from './picker/contributions/canvas-picker/rect3d-module'; - -export * from './picker/contributions/canvas-picker/arc3d-module'; - -export * from './picker/contributions/canvas-picker/pyramid3d-module'; - -export * from './graphic/gif-image'; -export * from './picker/contributions/canvas-picker/gif-image-module'; -export * from './render/contributions/canvas/gif-image-module'; +export * from './index-node'; export * from './graphic/Lottie'; export * from './graphic/interface/lottie'; export * from './picker/contributions/canvas-picker/lottie-module'; export * from './render/contributions/canvas/lottie-module'; - -export * from './register/register-arc'; -export * from './register/register-arc3d'; -export * from './register/register-area'; -export * from './register/register-circle'; -export * from './register/register-glyph'; -export * from './register/register-group'; -export * from './register/register-image'; -export * from './register/register-line'; -export * from './register/register-path'; -export * from './register/register-polygon'; -export * from './register/register-pyramid3d'; -export * from './register/register-rect'; -export * from './register/register-rect3d'; -export * from './register/register-richtext'; -export * from './register/register-shadowRoot'; -export * from './register/register-symbol'; -export * from './register/register-text'; -export * from './register/register-star'; -export * from './register/register-wraptext'; -export * from './register/register-gif'; -export * from './tools/dynamicTexture/effect'; -// export const canvasModuleLoader = _canvasModuleLoader; -// export { nodeLoader } from './node-bind'; // nodeLoader只在node入口暴露 diff --git a/packages/vrender/CHANGELOG.json b/packages/vrender/CHANGELOG.json index 868286c0d..cf3e7287f 100644 --- a/packages/vrender/CHANGELOG.json +++ b/packages/vrender/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@visactor/vrender", "entries": [ + { + "version": "1.0.38", + "tag": "@visactor/vrender_v1.0.38", + "date": "Tue, 20 Jan 2026 06:20:16 GMT", + "comments": {} + }, { "version": "1.0.37", "tag": "@visactor/vrender_v1.0.37", diff --git a/packages/vrender/CHANGELOG.md b/packages/vrender/CHANGELOG.md index 137a06fc8..a600183a1 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 Tue, 06 Jan 2026 10:04:09 GMT and should not be manually modified. +This log was last generated on Tue, 20 Jan 2026 06:20:16 GMT and should not be manually modified. + +## 1.0.38 +Tue, 20 Jan 2026 06:20:16 GMT + +_Version update only_ ## 1.0.37 Tue, 06 Jan 2026 10:04:09 GMT diff --git a/packages/vrender/package.json b/packages/vrender/package.json index 7799069d8..78c66ff60 100644 --- a/packages/vrender/package.json +++ b/packages/vrender/package.json @@ -1,6 +1,6 @@ { "name": "@visactor/vrender", - "version": "1.0.37", + "version": "1.0.38", "description": "", "sideEffects": true, "main": "cjs/index.js", @@ -24,10 +24,10 @@ "test-watch": "cross-env DEBUG_MODE=1 jest --watch" }, "dependencies": { - "@visactor/vrender-core": "workspace:1.0.37", - "@visactor/vrender-kits": "workspace:1.0.37", - "@visactor/vrender-animate": "workspace:1.0.37", - "@visactor/vrender-components": "workspace:1.0.37" + "@visactor/vrender-core": "workspace:1.0.38", + "@visactor/vrender-kits": "workspace:1.0.38", + "@visactor/vrender-animate": "workspace:1.0.38", + "@visactor/vrender-components": "workspace:1.0.38" }, "devDependencies": { "@internal/bundler": "workspace:*", diff --git a/tools/bugserver-trigger/package.json b/tools/bugserver-trigger/package.json index eb11ffecd..9416bd314 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.37", - "@visactor/vrender-core": "workspace:1.0.37", - "@visactor/vrender-kits": "workspace:1.0.37", - "@visactor/vrender-components": "workspace:1.0.37", - "@visactor/vrender-animate": "workspace:1.0.37" + "@visactor/vrender": "workspace:1.0.38", + "@visactor/vrender-core": "workspace:1.0.38", + "@visactor/vrender-kits": "workspace:1.0.38", + "@visactor/vrender-components": "workspace:1.0.38", + "@visactor/vrender-animate": "workspace:1.0.38" }, "devDependencies": { "@rushstack/eslint-patch": "~1.1.4",