@visactor/vrender 0.20.1-alpha.3 → 0.20.1-alpha.5

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.1-alpha.3";
2
+ export declare const version = "0.20.1-alpha.5";
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.1-alpha.3", (0, vrender_core_1.preLoadAllModule)(), (0,
24
+ exports.version = "0.20.1-alpha.5", (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.1-alpha.3\";\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,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.1-alpha.5\";\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
@@ -6082,7 +6082,7 @@ class EventSystem {
6082
6082
  federatedEvent = this.bootstrapEvent(this.rootPointerEvent, nativeEvent);
6083
6083
  this.manager.mapEvent(federatedEvent);
6084
6084
  }
6085
- this.setCursor(this.manager.cursor, this.manager.cursorTarget);
6085
+ this.setCursor(this.manager.cursor, this.manager.cursorTarget), this.rootPointerEvent.nativeEvent = null;
6086
6086
  }, this.onPointerMove = nativeEvent => {
6087
6087
  if (this.supportsTouchEvents && "touch" === nativeEvent.pointerType) return;
6088
6088
  if (this.isEventOutsideOfTargetElement(nativeEvent)) return;
@@ -6091,7 +6091,7 @@ class EventSystem {
6091
6091
  const event = this.bootstrapEvent(this.rootPointerEvent, normalizedEvents[i]);
6092
6092
  this.manager.mapEvent(event);
6093
6093
  }
6094
- this.setCursor(this.manager.cursor, this.manager.cursorTarget);
6094
+ this.setCursor(this.manager.cursor, this.manager.cursorTarget), this.rootPointerEvent.nativeEvent = null;
6095
6095
  }, this.onPointerUp = nativeEvent => {
6096
6096
  if (this.supportsTouchEvents && "touch" === nativeEvent.pointerType) return;
6097
6097
  const outside = this.isEventOutsideOfTargetViewPort(nativeEvent) ? "outside" : "",
@@ -6100,7 +6100,7 @@ class EventSystem {
6100
6100
  const event = this.bootstrapEvent(this.rootPointerEvent, normalizedEvents[i]);
6101
6101
  event.type += outside, this.manager.mapEvent(event);
6102
6102
  }
6103
- this.setCursor(this.manager.cursor, this.manager.cursorTarget);
6103
+ this.setCursor(this.manager.cursor, this.manager.cursorTarget), this.rootPointerEvent.nativeEvent = null;
6104
6104
  }, this.onPointerOverOut = nativeEvent => {
6105
6105
  if (this.supportsTouchEvents && "touch" === nativeEvent.pointerType) return;
6106
6106
  const normalizedEvents = this.normalizeToPointerData(nativeEvent);
@@ -6108,7 +6108,7 @@ class EventSystem {
6108
6108
  const event = this.bootstrapEvent(this.rootPointerEvent, normalizedEvents[i]);
6109
6109
  this.manager.mapEvent(event);
6110
6110
  }
6111
- this.setCursor(this.manager.cursor, this.manager.cursorTarget);
6111
+ this.setCursor(this.manager.cursor, this.manager.cursorTarget), this.rootPointerEvent.nativeEvent = null;
6112
6112
  }, this.onWheel = nativeEvent => {
6113
6113
  const wheelEvent = this.normalizeWheelEvent(nativeEvent);
6114
6114
  this.manager.mapEvent(wheelEvent);
@@ -6455,7 +6455,7 @@ class ManualTicker extends DefaultTicker {
6455
6455
  return this._mode = "manual", this.tickerHandler && this.tickerHandler.release(), this.tickerHandler = handler, !0;
6456
6456
  }
6457
6457
  tickAt(time) {
6458
- this.tickerHandler.tick(time - this.lastFrameTime, handler => {
6458
+ this.tickerHandler.tick(time - Math.max(this.lastFrameTime, 0), handler => {
6459
6459
  this.handleTick(handler, {
6460
6460
  once: !0
6461
6461
  });
@@ -6782,7 +6782,7 @@ class Animate {
6782
6782
  delta = this._duringTime + delta * this.timeScale - this._startTime, this._duringTime = this._startTime;
6783
6783
  }
6784
6784
  this.status === AnimateStatus.INITIAL && (this.status = AnimateStatus.RUNNING, this._onStart && this._onStart.forEach(cb => cb()));
6785
- this.setPosition(this.rawPosition + delta * this.timeScale) && this.status === AnimateStatus.RUNNING && (this.status = AnimateStatus.END, this._onEnd && this._onEnd.forEach(cb => cb()));
6785
+ this.setPosition(Math.max(this.rawPosition, 0) + delta * this.timeScale) && this.status === AnimateStatus.RUNNING && (this.status = AnimateStatus.END, this._onEnd && this._onEnd.forEach(cb => cb()));
6786
6786
  }
6787
6787
  setPosition(rawPosition) {
6788
6788
  let sa,
@@ -6905,7 +6905,7 @@ class SubAnimate {
6905
6905
  end = !1;
6906
6906
  const startAt = null !== (_a = this._startAt) && void 0 !== _a ? _a : 0;
6907
6907
  if (rawPosition < 0 && (rawPosition = 0), rawPosition < startAt) return this.rawPosition = rawPosition, !1;
6908
- if (rawPosition -= startAt, d <= 0) return end = !0, end;
6908
+ if (rawPosition -= startAt, d <= 0 && (end = !0, d < 0)) return end;
6909
6909
  if (loop = Math.floor(rawPosition / d), position = rawPosition - loop * d, end = rawPosition >= loopCount * d + d, end && (position = d, loop = loopCount, rawPosition = position * loop + d), rawPosition === prevRawPos) return end;
6910
6910
  const rev = !this.reversed != !(this.bounce && loop % 2);
6911
6911
  return rev && (position = d - position), this._deltaPosition = position - this.position, this.position = position, this.rawPosition = rawPosition + startAt, this.updatePosition(end, rev), end;
@@ -7517,10 +7517,21 @@ class TagPointsUpdate extends ACustomAnimate {
7517
7517
  var _a, _b;
7518
7518
  super(from, to, duration, easing, params), this.newPointAnimateType = null !== (_a = null == params ? void 0 : params.newPointAnimateType) && void 0 !== _a ? _a : "grow", this.clipRangeByDimension = null !== (_b = null == params ? void 0 : params.clipRangeByDimension) && void 0 !== _b ? _b : "x";
7519
7519
  }
7520
+ getPoints(attribute) {
7521
+ let cache = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : !1;
7522
+ if (attribute.points) return attribute.points;
7523
+ if (attribute.segments) {
7524
+ const points = [];
7525
+ return this.segmentsCache || (this.segmentsCache = []), attribute.segments.map(segment => {
7526
+ var _a, _b;
7527
+ segment.points && points.push(...segment.points), cache && this.segmentsCache.push(null !== (_b = null === (_a = segment.points) || void 0 === _a ? void 0 : _a.length) && void 0 !== _b ? _b : 0);
7528
+ }), points;
7529
+ }
7530
+ return [];
7531
+ }
7520
7532
  onBind() {
7521
- var _a, _b;
7522
- const originFromPoints = null === (_a = this.from) || void 0 === _a ? void 0 : _a.points,
7523
- originToPoints = null === (_b = this.to) || void 0 === _b ? void 0 : _b.points;
7533
+ const originFromPoints = this.getPoints(this.from),
7534
+ originToPoints = this.getPoints(this.to, !0);
7524
7535
  this.fromPoints = originFromPoints ? Array.isArray(originFromPoints) ? originFromPoints : [originFromPoints] : [], this.toPoints = originToPoints ? Array.isArray(originToPoints) ? originToPoints : [originToPoints] : [];
7525
7536
  const tagMap = new Map();
7526
7537
  this.fromPoints.forEach(point => {
@@ -7551,10 +7562,18 @@ class TagPointsUpdate extends ACustomAnimate {
7551
7562
  });
7552
7563
  }
7553
7564
  onUpdate(end, ratio, out) {
7554
- this.points = this.points.map((point, index) => {
7565
+ if (this.points = this.points.map((point, index) => {
7555
7566
  const newPoint = pointInterpolation(this.interpolatePoints[index][0], this.interpolatePoints[index][1], ratio);
7556
7567
  return newPoint.context = point.context, newPoint;
7557
- }), this.clipRange && (out.clipRange = this.clipRange + (1 - this.clipRange) * ratio), out.points = this.points;
7568
+ }), this.clipRange && (out.clipRange = this.clipRange + (1 - this.clipRange) * ratio), this.segmentsCache && this.to.segments) {
7569
+ let start = 0;
7570
+ out.segments = this.to.segments.map((segment, index) => {
7571
+ const points = this.points.slice(start, this.segmentsCache[start]);
7572
+ return start += this.segmentsCache[start], Object.assign(Object.assign({}, segment), {
7573
+ points: points
7574
+ });
7575
+ });
7576
+ } else out.points = this.points;
7558
7577
  }
7559
7578
  }
7560
7579
  class GraphicAnimate extends ACustomAnimate {
@@ -28254,7 +28273,7 @@ const registerWrapText = _registerWrapText;
28254
28273
 
28255
28274
  const roughModule = _roughModule;
28256
28275
 
28257
- const version = "0.20.1-alpha.3";
28276
+ const version = "0.20.1-alpha.5";
28258
28277
  preLoadAllModule();
28259
28278
  if (isBrowserEnv()) {
28260
28279
  loadBrowserEnv(container);
package/dist/index.js CHANGED
@@ -6088,7 +6088,7 @@
6088
6088
  federatedEvent = this.bootstrapEvent(this.rootPointerEvent, nativeEvent);
6089
6089
  this.manager.mapEvent(federatedEvent);
6090
6090
  }
6091
- this.setCursor(this.manager.cursor, this.manager.cursorTarget);
6091
+ this.setCursor(this.manager.cursor, this.manager.cursorTarget), this.rootPointerEvent.nativeEvent = null;
6092
6092
  }, this.onPointerMove = nativeEvent => {
6093
6093
  if (this.supportsTouchEvents && "touch" === nativeEvent.pointerType) return;
6094
6094
  if (this.isEventOutsideOfTargetElement(nativeEvent)) return;
@@ -6097,7 +6097,7 @@
6097
6097
  const event = this.bootstrapEvent(this.rootPointerEvent, normalizedEvents[i]);
6098
6098
  this.manager.mapEvent(event);
6099
6099
  }
6100
- this.setCursor(this.manager.cursor, this.manager.cursorTarget);
6100
+ this.setCursor(this.manager.cursor, this.manager.cursorTarget), this.rootPointerEvent.nativeEvent = null;
6101
6101
  }, this.onPointerUp = nativeEvent => {
6102
6102
  if (this.supportsTouchEvents && "touch" === nativeEvent.pointerType) return;
6103
6103
  const outside = this.isEventOutsideOfTargetViewPort(nativeEvent) ? "outside" : "",
@@ -6106,7 +6106,7 @@
6106
6106
  const event = this.bootstrapEvent(this.rootPointerEvent, normalizedEvents[i]);
6107
6107
  event.type += outside, this.manager.mapEvent(event);
6108
6108
  }
6109
- this.setCursor(this.manager.cursor, this.manager.cursorTarget);
6109
+ this.setCursor(this.manager.cursor, this.manager.cursorTarget), this.rootPointerEvent.nativeEvent = null;
6110
6110
  }, this.onPointerOverOut = nativeEvent => {
6111
6111
  if (this.supportsTouchEvents && "touch" === nativeEvent.pointerType) return;
6112
6112
  const normalizedEvents = this.normalizeToPointerData(nativeEvent);
@@ -6114,7 +6114,7 @@
6114
6114
  const event = this.bootstrapEvent(this.rootPointerEvent, normalizedEvents[i]);
6115
6115
  this.manager.mapEvent(event);
6116
6116
  }
6117
- this.setCursor(this.manager.cursor, this.manager.cursorTarget);
6117
+ this.setCursor(this.manager.cursor, this.manager.cursorTarget), this.rootPointerEvent.nativeEvent = null;
6118
6118
  }, this.onWheel = nativeEvent => {
6119
6119
  const wheelEvent = this.normalizeWheelEvent(nativeEvent);
6120
6120
  this.manager.mapEvent(wheelEvent);
@@ -6461,7 +6461,7 @@
6461
6461
  return this._mode = "manual", this.tickerHandler && this.tickerHandler.release(), this.tickerHandler = handler, !0;
6462
6462
  }
6463
6463
  tickAt(time) {
6464
- this.tickerHandler.tick(time - this.lastFrameTime, handler => {
6464
+ this.tickerHandler.tick(time - Math.max(this.lastFrameTime, 0), handler => {
6465
6465
  this.handleTick(handler, {
6466
6466
  once: !0
6467
6467
  });
@@ -6788,7 +6788,7 @@
6788
6788
  delta = this._duringTime + delta * this.timeScale - this._startTime, this._duringTime = this._startTime;
6789
6789
  }
6790
6790
  this.status === exports.AnimateStatus.INITIAL && (this.status = exports.AnimateStatus.RUNNING, this._onStart && this._onStart.forEach(cb => cb()));
6791
- this.setPosition(this.rawPosition + delta * this.timeScale) && this.status === exports.AnimateStatus.RUNNING && (this.status = exports.AnimateStatus.END, this._onEnd && this._onEnd.forEach(cb => cb()));
6791
+ this.setPosition(Math.max(this.rawPosition, 0) + delta * this.timeScale) && this.status === exports.AnimateStatus.RUNNING && (this.status = exports.AnimateStatus.END, this._onEnd && this._onEnd.forEach(cb => cb()));
6792
6792
  }
6793
6793
  setPosition(rawPosition) {
6794
6794
  let sa,
@@ -6911,7 +6911,7 @@
6911
6911
  end = !1;
6912
6912
  const startAt = null !== (_a = this._startAt) && void 0 !== _a ? _a : 0;
6913
6913
  if (rawPosition < 0 && (rawPosition = 0), rawPosition < startAt) return this.rawPosition = rawPosition, !1;
6914
- if (rawPosition -= startAt, d <= 0) return end = !0, end;
6914
+ if (rawPosition -= startAt, d <= 0 && (end = !0, d < 0)) return end;
6915
6915
  if (loop = Math.floor(rawPosition / d), position = rawPosition - loop * d, end = rawPosition >= loopCount * d + d, end && (position = d, loop = loopCount, rawPosition = position * loop + d), rawPosition === prevRawPos) return end;
6916
6916
  const rev = !this.reversed != !(this.bounce && loop % 2);
6917
6917
  return rev && (position = d - position), this._deltaPosition = position - this.position, this.position = position, this.rawPosition = rawPosition + startAt, this.updatePosition(end, rev), end;
@@ -7523,10 +7523,21 @@
7523
7523
  var _a, _b;
7524
7524
  super(from, to, duration, easing, params), this.newPointAnimateType = null !== (_a = null == params ? void 0 : params.newPointAnimateType) && void 0 !== _a ? _a : "grow", this.clipRangeByDimension = null !== (_b = null == params ? void 0 : params.clipRangeByDimension) && void 0 !== _b ? _b : "x";
7525
7525
  }
7526
+ getPoints(attribute) {
7527
+ let cache = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : !1;
7528
+ if (attribute.points) return attribute.points;
7529
+ if (attribute.segments) {
7530
+ const points = [];
7531
+ return this.segmentsCache || (this.segmentsCache = []), attribute.segments.map(segment => {
7532
+ var _a, _b;
7533
+ segment.points && points.push(...segment.points), cache && this.segmentsCache.push(null !== (_b = null === (_a = segment.points) || void 0 === _a ? void 0 : _a.length) && void 0 !== _b ? _b : 0);
7534
+ }), points;
7535
+ }
7536
+ return [];
7537
+ }
7526
7538
  onBind() {
7527
- var _a, _b;
7528
- const originFromPoints = null === (_a = this.from) || void 0 === _a ? void 0 : _a.points,
7529
- originToPoints = null === (_b = this.to) || void 0 === _b ? void 0 : _b.points;
7539
+ const originFromPoints = this.getPoints(this.from),
7540
+ originToPoints = this.getPoints(this.to, !0);
7530
7541
  this.fromPoints = originFromPoints ? Array.isArray(originFromPoints) ? originFromPoints : [originFromPoints] : [], this.toPoints = originToPoints ? Array.isArray(originToPoints) ? originToPoints : [originToPoints] : [];
7531
7542
  const tagMap = new Map();
7532
7543
  this.fromPoints.forEach(point => {
@@ -7557,10 +7568,18 @@
7557
7568
  });
7558
7569
  }
7559
7570
  onUpdate(end, ratio, out) {
7560
- this.points = this.points.map((point, index) => {
7571
+ if (this.points = this.points.map((point, index) => {
7561
7572
  const newPoint = pointInterpolation(this.interpolatePoints[index][0], this.interpolatePoints[index][1], ratio);
7562
7573
  return newPoint.context = point.context, newPoint;
7563
- }), this.clipRange && (out.clipRange = this.clipRange + (1 - this.clipRange) * ratio), out.points = this.points;
7574
+ }), this.clipRange && (out.clipRange = this.clipRange + (1 - this.clipRange) * ratio), this.segmentsCache && this.to.segments) {
7575
+ let start = 0;
7576
+ out.segments = this.to.segments.map((segment, index) => {
7577
+ const points = this.points.slice(start, this.segmentsCache[start]);
7578
+ return start += this.segmentsCache[start], Object.assign(Object.assign({}, segment), {
7579
+ points: points
7580
+ });
7581
+ });
7582
+ } else out.points = this.points;
7564
7583
  }
7565
7584
  }
7566
7585
  class GraphicAnimate extends ACustomAnimate {
@@ -28260,7 +28279,7 @@
28260
28279
 
28261
28280
  const roughModule = _roughModule;
28262
28281
 
28263
- const version = "0.20.1-alpha.3";
28282
+ const version = "0.20.1-alpha.5";
28264
28283
  preLoadAllModule();
28265
28284
  if (isBrowserEnv()) {
28266
28285
  loadBrowserEnv(container);