@visactor/vrender 0.20.8-alpha.2 → 0.20.8-hotfix.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/cjs/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
1
  import '@visactor/vrender-core';
2
- export declare const version = "0.20.8-alpha.2";
2
+ export declare const version = "0.20.8-hotfix.0";
3
3
  export * from '@visactor/vrender-core';
4
4
  export * from '@visactor/vrender-kits';
package/cjs/index.js CHANGED
@@ -21,7 +21,7 @@ Object.defineProperty(exports, "__esModule", {
21
21
 
22
22
  const vrender_core_1 = require("@visactor/vrender-core"), vrender_kits_1 = require("@visactor/vrender-kits"), vrender_kits_2 = require("@visactor/vrender-kits");
23
23
 
24
- exports.version = "0.20.8-alpha.2", (0, vrender_core_1.preLoadAllModule)(), (0,
24
+ exports.version = "0.20.8-hotfix.0", (0, vrender_core_1.preLoadAllModule)(), (0,
25
25
  vrender_core_1.isBrowserEnv)() ? (0, vrender_kits_1.loadBrowserEnv)(vrender_core_1.container) : (0,
26
26
  vrender_core_1.isNodeEnv)() && (0, vrender_kits_1.loadNodeEnv)(vrender_core_1.container),
27
27
  (0, vrender_kits_2.registerArc)(), (0, vrender_kits_2.registerArc3d)(), (0, vrender_kits_2.registerArea)(),
package/cjs/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,kCAAgC;AAChC,yDAWgC;AAChC,yDAAqE;AACrE,yDAmBgC;AAEnB,QAAA,OAAO,GAAG,gBAAgB,CAAC;AAExC,IAAA,+BAAgB,GAAE,CAAC;AAEnB,IAAI,IAAA,2BAAY,GAAE,EAAE;IAClB,IAAA,6BAAc,EAAC,wBAAS,CAAC,CAAC;CAC3B;KAAM,IAAI,IAAA,wBAAS,GAAE,EAAE;IACtB,IAAA,0BAAW,EAAC,wBAAS,CAAC,CAAC;CACxB;AACD,IAAA,0BAAW,GAAE,CAAC;AACd,IAAA,4BAAa,GAAE,CAAC;AAChB,IAAA,2BAAY,GAAE,CAAC;AACf,IAAA,6BAAc,GAAE,CAAC;AACjB,IAAA,4BAAa,GAAE,CAAC;AAChB,IAAA,4BAAa,GAAE,CAAC;AAChB,IAAA,4BAAa,GAAE,CAAC;AAChB,IAAA,2BAAY,GAAE,CAAC;AACf,IAAA,2BAAY,GAAE,CAAC;AACf,IAAA,8BAAe,GAAE,CAAC;AAClB,IAAA,gCAAiB,GAAE,CAAC;AACpB,IAAA,2BAAY,GAAE,CAAC;AACf,IAAA,6BAAc,GAAE,CAAC;AACjB,IAAA,+BAAgB,GAAE,CAAC;AACnB,IAAA,iCAAkB,GAAE,CAAC;AACrB,IAAA,6BAAc,GAAE,CAAC;AACjB,IAAA,2BAAY,GAAE,CAAC;AACf,IAAA,+BAAgB,GAAE,CAAC;AAEnB,IAAA,uCAAwB,GAAE,CAAC;AAC3B,IAAA,4CAA6B,GAAE,CAAC;AAChC,IAAA,0CAA2B,GAAE,CAAC;AAC9B,IAAA,2CAA4B,GAAE,CAAC;AAC/B,IAAA,uCAAwB,GAAE,CAAC;AAC3B,IAAA,kCAAmB,GAAE,CAAC;AACtB,yDAAuC;AACvC,yDAAuC","file":"index.js","sourcesContent":["import '@visactor/vrender-core';\nimport {\n container,\n isBrowserEnv,\n isNodeEnv,\n preLoadAllModule,\n registerFlexLayoutPlugin,\n registerViewTransform3dPlugin,\n registerHtmlAttributePlugin,\n registerReactAttributePlugin,\n registerDirectionalLight,\n registerOrthoCamera\n} from '@visactor/vrender-core';\nimport { loadBrowserEnv, loadNodeEnv } from '@visactor/vrender-kits';\nimport {\n registerArc,\n registerArc3d,\n registerArea,\n registerCircle,\n registerGlyph,\n registerGroup,\n registerImage,\n registerLine,\n registerPath,\n registerPolygon,\n registerPyramid3d,\n registerRect,\n registerRect3d,\n registerRichtext,\n registerShadowRoot,\n registerSymbol,\n registerText,\n registerWrapText\n} from '@visactor/vrender-kits';\n// 导出版本号\nexport const version = \"0.20.8-alpha.2\";\n\npreLoadAllModule();\n\nif (isBrowserEnv()) {\n loadBrowserEnv(container);\n} else if (isNodeEnv()) {\n loadNodeEnv(container);\n}\nregisterArc();\nregisterArc3d();\nregisterArea();\nregisterCircle();\nregisterGlyph();\nregisterGroup();\nregisterImage();\nregisterLine();\nregisterPath();\nregisterPolygon();\nregisterPyramid3d();\nregisterRect();\nregisterRect3d();\nregisterRichtext();\nregisterShadowRoot();\nregisterSymbol();\nregisterText();\nregisterWrapText();\n\nregisterFlexLayoutPlugin();\nregisterViewTransform3dPlugin();\nregisterHtmlAttributePlugin();\nregisterReactAttributePlugin();\nregisterDirectionalLight();\nregisterOrthoCamera();\nexport * from '@visactor/vrender-core';\nexport * from '@visactor/vrender-kits';\n"]}
1
+ {"version":3,"sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,kCAAgC;AAChC,yDAWgC;AAChC,yDAAqE;AACrE,yDAmBgC;AAEnB,QAAA,OAAO,GAAG,iBAAiB,CAAC;AAEzC,IAAA,+BAAgB,GAAE,CAAC;AAEnB,IAAI,IAAA,2BAAY,GAAE,EAAE;IAClB,IAAA,6BAAc,EAAC,wBAAS,CAAC,CAAC;CAC3B;KAAM,IAAI,IAAA,wBAAS,GAAE,EAAE;IACtB,IAAA,0BAAW,EAAC,wBAAS,CAAC,CAAC;CACxB;AACD,IAAA,0BAAW,GAAE,CAAC;AACd,IAAA,4BAAa,GAAE,CAAC;AAChB,IAAA,2BAAY,GAAE,CAAC;AACf,IAAA,6BAAc,GAAE,CAAC;AACjB,IAAA,4BAAa,GAAE,CAAC;AAChB,IAAA,4BAAa,GAAE,CAAC;AAChB,IAAA,4BAAa,GAAE,CAAC;AAChB,IAAA,2BAAY,GAAE,CAAC;AACf,IAAA,2BAAY,GAAE,CAAC;AACf,IAAA,8BAAe,GAAE,CAAC;AAClB,IAAA,gCAAiB,GAAE,CAAC;AACpB,IAAA,2BAAY,GAAE,CAAC;AACf,IAAA,6BAAc,GAAE,CAAC;AACjB,IAAA,+BAAgB,GAAE,CAAC;AACnB,IAAA,iCAAkB,GAAE,CAAC;AACrB,IAAA,6BAAc,GAAE,CAAC;AACjB,IAAA,2BAAY,GAAE,CAAC;AACf,IAAA,+BAAgB,GAAE,CAAC;AAEnB,IAAA,uCAAwB,GAAE,CAAC;AAC3B,IAAA,4CAA6B,GAAE,CAAC;AAChC,IAAA,0CAA2B,GAAE,CAAC;AAC9B,IAAA,2CAA4B,GAAE,CAAC;AAC/B,IAAA,uCAAwB,GAAE,CAAC;AAC3B,IAAA,kCAAmB,GAAE,CAAC;AACtB,yDAAuC;AACvC,yDAAuC","file":"index.js","sourcesContent":["import '@visactor/vrender-core';\nimport {\n container,\n isBrowserEnv,\n isNodeEnv,\n preLoadAllModule,\n registerFlexLayoutPlugin,\n registerViewTransform3dPlugin,\n registerHtmlAttributePlugin,\n registerReactAttributePlugin,\n registerDirectionalLight,\n registerOrthoCamera\n} from '@visactor/vrender-core';\nimport { loadBrowserEnv, loadNodeEnv } from '@visactor/vrender-kits';\nimport {\n registerArc,\n registerArc3d,\n registerArea,\n registerCircle,\n registerGlyph,\n registerGroup,\n registerImage,\n registerLine,\n registerPath,\n registerPolygon,\n registerPyramid3d,\n registerRect,\n registerRect3d,\n registerRichtext,\n registerShadowRoot,\n registerSymbol,\n registerText,\n registerWrapText\n} from '@visactor/vrender-kits';\n// 导出版本号\nexport const version = \"0.20.8-hotfix.0\";\n\npreLoadAllModule();\n\nif (isBrowserEnv()) {\n loadBrowserEnv(container);\n} else if (isNodeEnv()) {\n loadNodeEnv(container);\n}\nregisterArc();\nregisterArc3d();\nregisterArea();\nregisterCircle();\nregisterGlyph();\nregisterGroup();\nregisterImage();\nregisterLine();\nregisterPath();\nregisterPolygon();\nregisterPyramid3d();\nregisterRect();\nregisterRect3d();\nregisterRichtext();\nregisterShadowRoot();\nregisterSymbol();\nregisterText();\nregisterWrapText();\n\nregisterFlexLayoutPlugin();\nregisterViewTransform3dPlugin();\nregisterHtmlAttributePlugin();\nregisterReactAttributePlugin();\nregisterDirectionalLight();\nregisterOrthoCamera();\nexport * from '@visactor/vrender-core';\nexport * from '@visactor/vrender-kits';\n"]}
package/dist/index.es.js CHANGED
@@ -5076,7 +5076,7 @@ let DefaultWindow = class {
5076
5076
  }
5077
5077
  hasSubView() {
5078
5078
  const viewBox = this._handler.getViewBox();
5079
- return !(0 === viewBox.x1 && 0 === viewBox.y1 && this.width === viewBox.width() && this.height === viewBox.height());
5079
+ return !(0 === viewBox.x1 && 0 === viewBox.y1 && isNumberClose(this.width, viewBox.width()) && isNumberClose(this.height, viewBox.height()));
5080
5080
  }
5081
5081
  isVisible(bbox) {
5082
5082
  return this._handler.isVisible(bbox);
@@ -7472,7 +7472,6 @@ class StreamLight extends ACustomAnimate {
7472
7472
  }, target.attribute)), target.addUpdateBoundTag();
7473
7473
  }
7474
7474
  _onUpdateLineOrAreaWithCache(customPath, g, end, ratio, out) {
7475
- var _a, _b;
7476
7475
  if (customPath.clear(), "line" === g.type) {
7477
7476
  let cache = g.cache;
7478
7477
  Array.isArray(cache) || (cache = [cache]);
@@ -7482,7 +7481,7 @@ class StreamLight extends ACustomAnimate {
7482
7481
  c.curves.forEach(ci => curves.push(ci));
7483
7482
  }), this._updateCurves(customPath, curves, totalLen, ratio);
7484
7483
  }
7485
- if ("area" === g.type && (null === (_b = null === (_a = g.cacheArea) || void 0 === _a ? void 0 : _a.top) || void 0 === _b ? void 0 : _b.curves)) {
7484
+ if ("area" === g.type) {
7486
7485
  const cache = g.cacheArea,
7487
7486
  totalLen = cache.top.curves.reduce((a, b) => a + b.getLength(), 0);
7488
7487
  return this._updateCurves(customPath, cache.top.curves, totalLen, ratio);
@@ -7494,7 +7493,7 @@ class StreamLight extends ACustomAnimate {
7494
7493
  endLen = Math.min(null !== (_b = startLen + (null === (_a = this.params) || void 0 === _a ? void 0 : _a.streamLength)) && void 0 !== _b ? _b : 10, totalLen);
7495
7494
  let lastLen = 0,
7496
7495
  start = !1;
7497
- for (let i = 0; i < curves.length; i++) if (!1 !== curves[i].defined) {
7496
+ for (let i = 0; i < curves.length; i++) {
7498
7497
  const curveItem = curves[i],
7499
7498
  len = curveItem.getLength(),
7500
7499
  startPercent = 1 - (lastLen + len - startLen) / len;
@@ -11256,8 +11255,7 @@ let DefaultGraphicService = class {
11256
11255
  onAddIncremental: new SyncHook(["graphic", "group", "stage"]),
11257
11256
  onClearIncremental: new SyncHook(["graphic", "group", "stage"]),
11258
11257
  beforeUpdateAABBBounds: new SyncHook(["graphic", "stage", "willUpdate", "aabbBounds"]),
11259
- afterUpdateAABBBounds: new SyncHook(["graphic", "stage", "aabbBounds", "globalAABBBounds", "selfChange"]),
11260
- clearAABBBounds: new SyncHook(["graphic", "stage", "aabbBounds"])
11258
+ afterUpdateAABBBounds: new SyncHook(["graphic", "stage", "aabbBounds", "globalAABBBounds", "selfChange"])
11261
11259
  }, this.tempAABBBounds1 = new AABBBounds(), this.tempAABBBounds2 = new AABBBounds();
11262
11260
  }
11263
11261
  onAttributeUpdate(graphic) {
@@ -11284,9 +11282,6 @@ let DefaultGraphicService = class {
11284
11282
  afterUpdateAABBBounds(graphic, stage, bounds, params, selfChange) {
11285
11283
  this.hooks.afterUpdateAABBBounds.taps.length && this.hooks.afterUpdateAABBBounds.call(graphic, stage, bounds, params, selfChange);
11286
11284
  }
11287
- clearAABBBounds(graphic, stage, b) {
11288
- this.hooks.clearAABBBounds.taps.length && this.hooks.clearAABBBounds.call(graphic, stage, b);
11289
- }
11290
11285
  updatePathProxyAABBBounds(aabbBounds, graphic) {
11291
11286
  const path = "function" == typeof graphic.pathProxy ? graphic.pathProxy(graphic.attribute) : graphic.pathProxy;
11292
11287
  if (!path) return !1;
@@ -11350,10 +11345,11 @@ let DefaultGraphicService = class {
11350
11345
  if (!graphic) return !0;
11351
11346
  if (null != attribute.forceBoundsHeight || null != attribute.forceBoundsWidth) return !0;
11352
11347
  if (graphic.shadowRoot) return !0;
11348
+ if (!graphic.valid) return aabbBounds.clear(), !1;
11353
11349
  const {
11354
11350
  visible = theme.visible
11355
11351
  } = attribute;
11356
- return !(!graphic.valid || !visible) || (aabbBounds.empty() || (aabbBounds.transformWithMatrix(graphic.parent.globalTransMatrix), application.graphicService.clearAABBBounds(graphic, graphic.stage, aabbBounds), aabbBounds.clear()), !1);
11352
+ return !!visible || (aabbBounds.clear(), !1);
11357
11353
  }
11358
11354
  updateTempAABBBounds(aabbBounds) {
11359
11355
  const tb1 = this.tempAABBBounds1,
@@ -15772,7 +15768,7 @@ let Line$1 = class Line extends Graphic {
15772
15768
  } = attribute,
15773
15769
  b = aabbBounds;
15774
15770
  return points.forEach(p => {
15775
- !1 === p.defined && "zero" !== connectedType && "connect" !== connectedType || b.add(p.x, p.y);
15771
+ !1 === p.defined && "zero" !== connectedType || b.add(p.x, p.y);
15776
15772
  }), b;
15777
15773
  }
15778
15774
  updateLineAABBBoundsBySegments(attribute, lineTheme, aabbBounds, graphic) {
@@ -15783,7 +15779,7 @@ let Line$1 = class Line extends Graphic {
15783
15779
  b = aabbBounds;
15784
15780
  return segments.forEach(s => {
15785
15781
  s.points.forEach(p => {
15786
- !1 === p.defined && "zero" !== connectedType && "connect" !== connectedType || b.add(p.x, p.y);
15782
+ !1 === p.defined && "zero" !== connectedType || b.add(p.x, p.y);
15787
15783
  });
15788
15784
  }), b;
15789
15785
  }
@@ -18316,15 +18312,13 @@ class DirtyBoundsPlugin {
18316
18312
  graphic.glyphHost && (graphic = graphic.glyphHost), stage && stage === this.pluginService.stage && stage.renderCount && (graphic.isContainer && !graphic.shouldSelfChangeUpdateAABBBounds() || willUpdate && (globalBounds.setValue(bounds.x1, bounds.y1, bounds.x2, bounds.y2), stage.dirty(globalBounds, graphic.parent && graphic.parent.globalTransMatrix)));
18317
18313
  }), application.graphicService.hooks.afterUpdateAABBBounds.tap(this.key, (graphic, stage, bounds, params, selfChange) => {
18318
18314
  stage && stage === this.pluginService.stage && stage.renderCount && (graphic.isContainer && !selfChange || stage.dirty(params.globalAABBBounds));
18319
- }), application.graphicService.hooks.clearAABBBounds.tap(this.key, (graphic, stage, bounds) => {
18320
- stage && stage === this.pluginService.stage && stage.renderCount && stage && stage.dirty(bounds);
18321
18315
  }), application.graphicService.hooks.onRemove.tap(this.key, graphic => {
18322
18316
  const stage = graphic.stage;
18323
18317
  stage && stage === this.pluginService.stage && stage.renderCount && stage && stage.dirty(graphic.globalAABBBounds);
18324
18318
  });
18325
18319
  }
18326
18320
  deactivate(context) {
18327
- application.graphicService.hooks.beforeUpdateAABBBounds.taps = application.graphicService.hooks.beforeUpdateAABBBounds.taps.filter(item => item.name !== this.key), application.graphicService.hooks.afterUpdateAABBBounds.taps = application.graphicService.hooks.afterUpdateAABBBounds.taps.filter(item => item.name !== this.key), application.graphicService.hooks.clearAABBBounds.taps = application.graphicService.hooks.clearAABBBounds.taps.filter(item => item.name !== this.key), context.stage.hooks.afterRender.taps = context.stage.hooks.afterRender.taps.filter(item => item.name !== this.key), application.graphicService.hooks.onRemove.taps = application.graphicService.hooks.onRemove.taps.filter(item => item.name !== this.key);
18321
+ application.graphicService.hooks.beforeUpdateAABBBounds.taps = application.graphicService.hooks.beforeUpdateAABBBounds.taps.filter(item => item.name !== this.key), application.graphicService.hooks.afterUpdateAABBBounds.taps = application.graphicService.hooks.afterUpdateAABBBounds.taps.filter(item => item.name !== this.key), context.stage.hooks.afterRender.taps = context.stage.hooks.afterRender.taps.filter(item => item.name !== this.key), application.graphicService.hooks.onRemove.taps = application.graphicService.hooks.onRemove.taps.filter(item => item.name !== this.key);
18328
18322
  }
18329
18323
  }
18330
18324
 
@@ -24100,7 +24094,7 @@ let BrowserContext2d = class {
24100
24094
  const bez = arr[i];
24101
24095
  this.bezierCurveTo(bez[0], bez[1], bez[2], bez[3], bez[4], bez[5], z);
24102
24096
  }
24103
- } else this.nativeContext.arc(x, y, Math.max(0, radius), startAngle, endAngle, anticlockwise);
24097
+ } else this.nativeContext.arc(x, y, radius, startAngle, endAngle, anticlockwise);
24104
24098
  }
24105
24099
  arcTo(x1, y1, x2, y2, radiusX) {
24106
24100
  this.nativeContext.arcTo(x1, y1, x2, y2, radiusX);
@@ -24154,7 +24148,7 @@ let BrowserContext2d = class {
24154
24148
  return 2 === a.length ? this.nativeContext.createImageData(a[0], a[1]) : 1 === a.length ? this.nativeContext.createImageData(a[0]) : null;
24155
24149
  }
24156
24150
  createLinearGradient(x0, y0, x1, y1) {
24157
- return isFinite(x0 + y0 + x1 + y1) || (x0 = 0, y0 = 0, x1 = 0, y1 = 0), this.nativeContext.createLinearGradient(x0, y0, x1, y1);
24151
+ return this.nativeContext.createLinearGradient(x0, y0, x1, y1);
24158
24152
  }
24159
24153
  createPattern(image, repetition) {
24160
24154
  return 0 === image.width || 0 === image.height ? null : this.nativeContext.createPattern(image, repetition);
@@ -28469,7 +28463,7 @@ const registerWrapText = _registerWrapText;
28469
28463
 
28470
28464
  const roughModule = _roughModule;
28471
28465
 
28472
- const version = "0.20.8-alpha.2";
28466
+ const version = "0.20.8-hotfix.0";
28473
28467
  preLoadAllModule();
28474
28468
  if (isBrowserEnv()) {
28475
28469
  loadBrowserEnv(container);
package/dist/index.js CHANGED
@@ -5082,7 +5082,7 @@
5082
5082
  }
5083
5083
  hasSubView() {
5084
5084
  const viewBox = this._handler.getViewBox();
5085
- return !(0 === viewBox.x1 && 0 === viewBox.y1 && this.width === viewBox.width() && this.height === viewBox.height());
5085
+ return !(0 === viewBox.x1 && 0 === viewBox.y1 && isNumberClose(this.width, viewBox.width()) && isNumberClose(this.height, viewBox.height()));
5086
5086
  }
5087
5087
  isVisible(bbox) {
5088
5088
  return this._handler.isVisible(bbox);
@@ -7478,7 +7478,6 @@
7478
7478
  }, target.attribute)), target.addUpdateBoundTag();
7479
7479
  }
7480
7480
  _onUpdateLineOrAreaWithCache(customPath, g, end, ratio, out) {
7481
- var _a, _b;
7482
7481
  if (customPath.clear(), "line" === g.type) {
7483
7482
  let cache = g.cache;
7484
7483
  Array.isArray(cache) || (cache = [cache]);
@@ -7488,7 +7487,7 @@
7488
7487
  c.curves.forEach(ci => curves.push(ci));
7489
7488
  }), this._updateCurves(customPath, curves, totalLen, ratio);
7490
7489
  }
7491
- if ("area" === g.type && (null === (_b = null === (_a = g.cacheArea) || void 0 === _a ? void 0 : _a.top) || void 0 === _b ? void 0 : _b.curves)) {
7490
+ if ("area" === g.type) {
7492
7491
  const cache = g.cacheArea,
7493
7492
  totalLen = cache.top.curves.reduce((a, b) => a + b.getLength(), 0);
7494
7493
  return this._updateCurves(customPath, cache.top.curves, totalLen, ratio);
@@ -7500,7 +7499,7 @@
7500
7499
  endLen = Math.min(null !== (_b = startLen + (null === (_a = this.params) || void 0 === _a ? void 0 : _a.streamLength)) && void 0 !== _b ? _b : 10, totalLen);
7501
7500
  let lastLen = 0,
7502
7501
  start = !1;
7503
- for (let i = 0; i < curves.length; i++) if (!1 !== curves[i].defined) {
7502
+ for (let i = 0; i < curves.length; i++) {
7504
7503
  const curveItem = curves[i],
7505
7504
  len = curveItem.getLength(),
7506
7505
  startPercent = 1 - (lastLen + len - startLen) / len;
@@ -11262,8 +11261,7 @@
11262
11261
  onAddIncremental: new SyncHook(["graphic", "group", "stage"]),
11263
11262
  onClearIncremental: new SyncHook(["graphic", "group", "stage"]),
11264
11263
  beforeUpdateAABBBounds: new SyncHook(["graphic", "stage", "willUpdate", "aabbBounds"]),
11265
- afterUpdateAABBBounds: new SyncHook(["graphic", "stage", "aabbBounds", "globalAABBBounds", "selfChange"]),
11266
- clearAABBBounds: new SyncHook(["graphic", "stage", "aabbBounds"])
11264
+ afterUpdateAABBBounds: new SyncHook(["graphic", "stage", "aabbBounds", "globalAABBBounds", "selfChange"])
11267
11265
  }, this.tempAABBBounds1 = new AABBBounds(), this.tempAABBBounds2 = new AABBBounds();
11268
11266
  }
11269
11267
  onAttributeUpdate(graphic) {
@@ -11290,9 +11288,6 @@
11290
11288
  afterUpdateAABBBounds(graphic, stage, bounds, params, selfChange) {
11291
11289
  this.hooks.afterUpdateAABBBounds.taps.length && this.hooks.afterUpdateAABBBounds.call(graphic, stage, bounds, params, selfChange);
11292
11290
  }
11293
- clearAABBBounds(graphic, stage, b) {
11294
- this.hooks.clearAABBBounds.taps.length && this.hooks.clearAABBBounds.call(graphic, stage, b);
11295
- }
11296
11291
  updatePathProxyAABBBounds(aabbBounds, graphic) {
11297
11292
  const path = "function" == typeof graphic.pathProxy ? graphic.pathProxy(graphic.attribute) : graphic.pathProxy;
11298
11293
  if (!path) return !1;
@@ -11356,10 +11351,11 @@
11356
11351
  if (!graphic) return !0;
11357
11352
  if (null != attribute.forceBoundsHeight || null != attribute.forceBoundsWidth) return !0;
11358
11353
  if (graphic.shadowRoot) return !0;
11354
+ if (!graphic.valid) return aabbBounds.clear(), !1;
11359
11355
  const {
11360
11356
  visible = theme.visible
11361
11357
  } = attribute;
11362
- return !(!graphic.valid || !visible) || (aabbBounds.empty() || (aabbBounds.transformWithMatrix(graphic.parent.globalTransMatrix), application.graphicService.clearAABBBounds(graphic, graphic.stage, aabbBounds), aabbBounds.clear()), !1);
11358
+ return !!visible || (aabbBounds.clear(), !1);
11363
11359
  }
11364
11360
  updateTempAABBBounds(aabbBounds) {
11365
11361
  const tb1 = this.tempAABBBounds1,
@@ -15778,7 +15774,7 @@
15778
15774
  } = attribute,
15779
15775
  b = aabbBounds;
15780
15776
  return points.forEach(p => {
15781
- !1 === p.defined && "zero" !== connectedType && "connect" !== connectedType || b.add(p.x, p.y);
15777
+ !1 === p.defined && "zero" !== connectedType || b.add(p.x, p.y);
15782
15778
  }), b;
15783
15779
  }
15784
15780
  updateLineAABBBoundsBySegments(attribute, lineTheme, aabbBounds, graphic) {
@@ -15789,7 +15785,7 @@
15789
15785
  b = aabbBounds;
15790
15786
  return segments.forEach(s => {
15791
15787
  s.points.forEach(p => {
15792
- !1 === p.defined && "zero" !== connectedType && "connect" !== connectedType || b.add(p.x, p.y);
15788
+ !1 === p.defined && "zero" !== connectedType || b.add(p.x, p.y);
15793
15789
  });
15794
15790
  }), b;
15795
15791
  }
@@ -18322,15 +18318,13 @@
18322
18318
  graphic.glyphHost && (graphic = graphic.glyphHost), stage && stage === this.pluginService.stage && stage.renderCount && (graphic.isContainer && !graphic.shouldSelfChangeUpdateAABBBounds() || willUpdate && (globalBounds.setValue(bounds.x1, bounds.y1, bounds.x2, bounds.y2), stage.dirty(globalBounds, graphic.parent && graphic.parent.globalTransMatrix)));
18323
18319
  }), application.graphicService.hooks.afterUpdateAABBBounds.tap(this.key, (graphic, stage, bounds, params, selfChange) => {
18324
18320
  stage && stage === this.pluginService.stage && stage.renderCount && (graphic.isContainer && !selfChange || stage.dirty(params.globalAABBBounds));
18325
- }), application.graphicService.hooks.clearAABBBounds.tap(this.key, (graphic, stage, bounds) => {
18326
- stage && stage === this.pluginService.stage && stage.renderCount && stage && stage.dirty(bounds);
18327
18321
  }), application.graphicService.hooks.onRemove.tap(this.key, graphic => {
18328
18322
  const stage = graphic.stage;
18329
18323
  stage && stage === this.pluginService.stage && stage.renderCount && stage && stage.dirty(graphic.globalAABBBounds);
18330
18324
  });
18331
18325
  }
18332
18326
  deactivate(context) {
18333
- application.graphicService.hooks.beforeUpdateAABBBounds.taps = application.graphicService.hooks.beforeUpdateAABBBounds.taps.filter(item => item.name !== this.key), application.graphicService.hooks.afterUpdateAABBBounds.taps = application.graphicService.hooks.afterUpdateAABBBounds.taps.filter(item => item.name !== this.key), application.graphicService.hooks.clearAABBBounds.taps = application.graphicService.hooks.clearAABBBounds.taps.filter(item => item.name !== this.key), context.stage.hooks.afterRender.taps = context.stage.hooks.afterRender.taps.filter(item => item.name !== this.key), application.graphicService.hooks.onRemove.taps = application.graphicService.hooks.onRemove.taps.filter(item => item.name !== this.key);
18327
+ application.graphicService.hooks.beforeUpdateAABBBounds.taps = application.graphicService.hooks.beforeUpdateAABBBounds.taps.filter(item => item.name !== this.key), application.graphicService.hooks.afterUpdateAABBBounds.taps = application.graphicService.hooks.afterUpdateAABBBounds.taps.filter(item => item.name !== this.key), context.stage.hooks.afterRender.taps = context.stage.hooks.afterRender.taps.filter(item => item.name !== this.key), application.graphicService.hooks.onRemove.taps = application.graphicService.hooks.onRemove.taps.filter(item => item.name !== this.key);
18334
18328
  }
18335
18329
  }
18336
18330
 
@@ -24106,7 +24100,7 @@
24106
24100
  const bez = arr[i];
24107
24101
  this.bezierCurveTo(bez[0], bez[1], bez[2], bez[3], bez[4], bez[5], z);
24108
24102
  }
24109
- } else this.nativeContext.arc(x, y, Math.max(0, radius), startAngle, endAngle, anticlockwise);
24103
+ } else this.nativeContext.arc(x, y, radius, startAngle, endAngle, anticlockwise);
24110
24104
  }
24111
24105
  arcTo(x1, y1, x2, y2, radiusX) {
24112
24106
  this.nativeContext.arcTo(x1, y1, x2, y2, radiusX);
@@ -24160,7 +24154,7 @@
24160
24154
  return 2 === a.length ? this.nativeContext.createImageData(a[0], a[1]) : 1 === a.length ? this.nativeContext.createImageData(a[0]) : null;
24161
24155
  }
24162
24156
  createLinearGradient(x0, y0, x1, y1) {
24163
- return isFinite(x0 + y0 + x1 + y1) || (x0 = 0, y0 = 0, x1 = 0, y1 = 0), this.nativeContext.createLinearGradient(x0, y0, x1, y1);
24157
+ return this.nativeContext.createLinearGradient(x0, y0, x1, y1);
24164
24158
  }
24165
24159
  createPattern(image, repetition) {
24166
24160
  return 0 === image.width || 0 === image.height ? null : this.nativeContext.createPattern(image, repetition);
@@ -28475,7 +28469,7 @@
28475
28469
 
28476
28470
  const roughModule = _roughModule;
28477
28471
 
28478
- const version = "0.20.8-alpha.2";
28472
+ const version = "0.20.8-hotfix.0";
28479
28473
  preLoadAllModule();
28480
28474
  if (isBrowserEnv()) {
28481
28475
  loadBrowserEnv(container);