@visactor/vrender 0.9.0 → 0.9.1-circular.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.
Files changed (1086) hide show
  1. package/cjs/allocator/allocator-modules.d.ts +1 -3
  2. package/cjs/allocator/allocator-modules.js +1 -22
  3. package/cjs/allocator/allocator-modules.js.map +1 -1
  4. package/cjs/allocator/canvas-allocate.d.ts +2 -5
  5. package/cjs/allocator/canvas-allocate.js +11 -27
  6. package/cjs/allocator/canvas-allocate.js.map +1 -1
  7. package/cjs/allocator/constants.d.ts +0 -2
  8. package/cjs/allocator/constants.js +3 -5
  9. package/cjs/allocator/constants.js.map +1 -1
  10. package/cjs/allocator/graphic-allocate.d.ts +1 -58
  11. package/cjs/allocator/graphic-allocate.js +1 -160
  12. package/cjs/allocator/graphic-allocate.js.map +1 -1
  13. package/cjs/allocator/interface.d.ts +10 -0
  14. package/cjs/allocator/interface.js.map +1 -1
  15. package/cjs/allocator/matrix-allocate.d.ts +2 -0
  16. package/cjs/allocator/matrix-allocate.js +9 -16
  17. package/cjs/allocator/matrix-allocate.js.map +1 -1
  18. package/cjs/animate/Ticker/default-ticker.js +5 -5
  19. package/cjs/animate/Ticker/default-ticker.js.map +1 -1
  20. package/cjs/animate/animate.d.ts +1 -1
  21. package/cjs/animate/animate.js +15 -15
  22. package/cjs/animate/animate.js.map +1 -1
  23. package/cjs/animate/custom-animate.d.ts +3 -3
  24. package/cjs/animate/custom-animate.js +23 -25
  25. package/cjs/animate/custom-animate.js.map +1 -1
  26. package/cjs/animate/default-ticker.d.ts +2 -0
  27. package/cjs/animate/default-ticker.js +14 -0
  28. package/cjs/animate/default-ticker.js.map +1 -0
  29. package/cjs/animate/morphing.d.ts +1 -1
  30. package/cjs/animate/morphing.js +15 -17
  31. package/cjs/animate/morphing.js.map +1 -1
  32. package/cjs/animate/timeline.js +6 -5
  33. package/cjs/animate/timeline.js.map +1 -1
  34. package/cjs/application.d.ts +11 -0
  35. package/cjs/application.js +9 -0
  36. package/cjs/application.js.map +1 -0
  37. package/cjs/canvas/contributions/browser/canvas.js +2 -2
  38. package/cjs/canvas/contributions/browser/canvas.js.map +1 -1
  39. package/cjs/canvas/contributions/browser/conical-gradient.js +2 -2
  40. package/cjs/canvas/contributions/browser/conical-gradient.js.map +1 -1
  41. package/cjs/canvas/contributions/browser/context.d.ts +2 -4
  42. package/cjs/canvas/contributions/browser/context.js +13 -13
  43. package/cjs/canvas/contributions/browser/context.js.map +1 -1
  44. package/cjs/canvas/contributions/taro/context.js +8 -8
  45. package/cjs/canvas/contributions/taro/context.js.map +1 -1
  46. package/cjs/canvas/empty-context.d.ts +1 -1
  47. package/cjs/canvas/empty-context.js +7 -7
  48. package/cjs/canvas/empty-context.js.map +1 -1
  49. package/cjs/canvas/index.d.ts +0 -3
  50. package/cjs/canvas/index.js +2 -14
  51. package/cjs/canvas/index.js.map +1 -1
  52. package/cjs/canvas/util.d.ts +3 -0
  53. package/cjs/canvas/util.js +22 -10
  54. package/cjs/canvas/util.js.map +1 -1
  55. package/cjs/color-string/colorName.js +1 -1
  56. package/cjs/color-string/index.js +1 -1
  57. package/cjs/color-string/interpolate.js +1 -1
  58. package/cjs/common/{bezier.d.ts → bezier-utils.d.ts} +0 -3
  59. package/cjs/common/bezier-utils.js +35 -0
  60. package/cjs/common/bezier-utils.js.map +1 -0
  61. package/cjs/common/canvas-utils.d.ts +1 -1
  62. package/cjs/common/canvas-utils.js +11 -7
  63. package/cjs/common/canvas-utils.js.map +1 -1
  64. package/cjs/common/custom-path2d.d.ts +47 -0
  65. package/cjs/common/{path.js → custom-path2d.js} +11 -230
  66. package/cjs/common/custom-path2d.js.map +1 -0
  67. package/cjs/common/enums.d.ts +12 -0
  68. package/cjs/common/enums.js +10 -3
  69. package/cjs/common/enums.js.map +1 -1
  70. package/cjs/common/generator.js +1 -2
  71. package/cjs/common/morphing-utils.d.ts +1 -2
  72. package/cjs/common/morphing-utils.js +8 -11
  73. package/cjs/common/morphing-utils.js.map +1 -1
  74. package/cjs/common/polygon.js +1 -0
  75. package/cjs/common/render-area.d.ts +2 -3
  76. package/cjs/common/render-area.js +8 -8
  77. package/cjs/common/render-area.js.map +1 -1
  78. package/cjs/common/render-curve.d.ts +1 -2
  79. package/cjs/common/render-curve.js +3 -3
  80. package/cjs/common/render-curve.js.map +1 -1
  81. package/cjs/common/seg-context.d.ts +7 -13
  82. package/cjs/common/seg-context.js +7 -13
  83. package/cjs/common/seg-context.js.map +1 -1
  84. package/cjs/common/{curve → segment}/basis.d.ts +12 -5
  85. package/cjs/common/{curve → segment}/basis.js +4 -4
  86. package/cjs/common/segment/basis.js.map +1 -0
  87. package/cjs/common/segment/common.d.ts +3 -0
  88. package/cjs/common/segment/common.js.map +1 -0
  89. package/cjs/common/segment/curve/arc.d.ts +14 -0
  90. package/cjs/common/segment/curve/arc.js +29 -0
  91. package/cjs/common/segment/curve/arc.js.map +1 -0
  92. package/cjs/common/segment/curve/base.d.ts +13 -0
  93. package/cjs/common/segment/curve/base.js +15 -0
  94. package/cjs/common/segment/curve/base.js.map +1 -0
  95. package/cjs/common/segment/curve/cubic-bezier.d.ts +17 -0
  96. package/cjs/common/segment/curve/cubic-bezier.js +42 -0
  97. package/cjs/common/segment/curve/cubic-bezier.js.map +1 -0
  98. package/cjs/common/segment/curve/curve-context.d.ts +19 -0
  99. package/cjs/common/segment/curve/curve-context.js +48 -0
  100. package/cjs/common/segment/curve/curve-context.js.map +1 -0
  101. package/cjs/common/segment/curve/ellipse.d.ts +18 -0
  102. package/cjs/common/segment/curve/ellipse.js +30 -0
  103. package/cjs/common/segment/curve/ellipse.js.map +1 -0
  104. package/cjs/common/segment/curve/line.d.ts +16 -0
  105. package/cjs/common/segment/curve/line.js +41 -0
  106. package/cjs/common/segment/curve/line.js.map +1 -0
  107. package/cjs/common/segment/curve/move.d.ts +13 -0
  108. package/cjs/common/segment/curve/move.js +28 -0
  109. package/cjs/common/segment/curve/move.js.map +1 -0
  110. package/cjs/common/segment/curve/path.d.ts +11 -0
  111. package/cjs/common/segment/curve/path.js +31 -0
  112. package/cjs/common/segment/curve/path.js.map +1 -0
  113. package/cjs/common/segment/curve/quadratic-bezier.d.ts +14 -0
  114. package/cjs/common/segment/curve/quadratic-bezier.js +29 -0
  115. package/cjs/common/segment/curve/quadratic-bezier.js.map +1 -0
  116. package/{es/common/curve → cjs/common/segment}/index.d.ts +2 -4
  117. package/cjs/common/{curve → segment}/index.js +1 -2
  118. package/cjs/common/segment/index.js.map +1 -0
  119. package/cjs/common/segment/linear-closed.d.ts +24 -0
  120. package/cjs/common/{curve → segment}/linear-closed.js +4 -4
  121. package/cjs/common/segment/linear-closed.js.map +1 -0
  122. package/cjs/common/segment/linear.d.ts +24 -0
  123. package/cjs/common/{curve → segment}/linear.js +4 -4
  124. package/cjs/common/segment/linear.js.map +1 -0
  125. package/{es/common/curve → cjs/common/segment}/monotone.d.ts +12 -5
  126. package/cjs/common/{curve → segment}/monotone.js +5 -5
  127. package/cjs/common/segment/monotone.js.map +1 -0
  128. package/cjs/common/segment/step.d.ts +25 -0
  129. package/cjs/common/{curve → segment}/step.js +4 -4
  130. package/cjs/common/segment/step.js.map +1 -0
  131. package/cjs/common/shape/arc.d.ts +3 -0
  132. package/cjs/common/shape/arc.js +17 -2
  133. package/cjs/common/shape/arc.js.map +1 -1
  134. package/cjs/common/shape/rect.d.ts +1 -1
  135. package/cjs/common/sort.js +1 -1
  136. package/cjs/common/split-path.js +1 -1
  137. package/cjs/common/split-path.js.map +1 -1
  138. package/cjs/common/store.js +1 -1
  139. package/cjs/common/text.js +1 -1
  140. package/cjs/common/utils.d.ts +2 -1
  141. package/cjs/common/utils.js +16 -7
  142. package/cjs/common/utils.js.map +1 -1
  143. package/cjs/container.js +2 -1
  144. package/cjs/container.js.map +1 -1
  145. package/cjs/core/application.js +1 -1
  146. package/cjs/core/camera.js +8 -8
  147. package/cjs/core/camera.js.map +1 -1
  148. package/cjs/core/constants.d.ts +1 -5
  149. package/cjs/core/constants.js +3 -20
  150. package/cjs/core/constants.js.map +1 -1
  151. package/cjs/core/contributions/env/browser-contribution.js +2 -2
  152. package/cjs/core/contributions/env/browser-contribution.js.map +1 -1
  153. package/cjs/core/contributions/env/modules.js +2 -2
  154. package/cjs/core/contributions/env/modules.js.map +1 -1
  155. package/cjs/core/contributions/layerHandler/canvas2d-contribution.js +2 -2
  156. package/cjs/core/contributions/layerHandler/canvas2d-contribution.js.map +1 -1
  157. package/cjs/core/contributions/layerHandler/modules.js +2 -2
  158. package/cjs/core/contributions/layerHandler/modules.js.map +1 -1
  159. package/cjs/core/contributions/layerHandler/offscreen2d-contribution.js +2 -2
  160. package/cjs/core/contributions/layerHandler/offscreen2d-contribution.js.map +1 -1
  161. package/cjs/core/contributions/textMeasure/AtextMeasure.d.ts +1 -1
  162. package/cjs/core/contributions/textMeasure/AtextMeasure.js +4 -4
  163. package/cjs/core/contributions/textMeasure/AtextMeasure.js.map +1 -1
  164. package/cjs/core/contributions/textMeasure/ITextMeasure.d.ts +1 -1
  165. package/cjs/core/contributions/textMeasure/ITextMeasure.js.map +1 -1
  166. package/cjs/core/contributions/textMeasure/modules.js +2 -2
  167. package/cjs/core/contributions/textMeasure/modules.js.map +1 -1
  168. package/cjs/core/contributions/window/base-contribution.js +2 -2
  169. package/cjs/core/contributions/window/base-contribution.js.map +1 -1
  170. package/cjs/core/contributions/window/browser-contribution.js +2 -2
  171. package/cjs/core/contributions/window/browser-contribution.js.map +1 -1
  172. package/cjs/core/contributions/window/feishu-contribution.js +2 -2
  173. package/cjs/core/contributions/window/feishu-contribution.js.map +1 -1
  174. package/cjs/core/contributions/window/lynx-contribution.js +2 -2
  175. package/cjs/core/contributions/window/lynx-contribution.js.map +1 -1
  176. package/cjs/core/contributions/window/modules.js +5 -5
  177. package/cjs/core/contributions/window/modules.js.map +1 -1
  178. package/cjs/core/contributions/window/node-contribution.js.map +1 -1
  179. package/cjs/core/contributions/window/taro-contribution.js +2 -2
  180. package/cjs/core/contributions/window/taro-contribution.js.map +1 -1
  181. package/cjs/core/core-modules.js +5 -5
  182. package/cjs/core/core-modules.js.map +1 -1
  183. package/cjs/core/global-module.d.ts +5 -0
  184. package/cjs/core/global-module.js +19 -0
  185. package/cjs/core/global-module.js.map +1 -0
  186. package/cjs/core/global.d.ts +3 -3
  187. package/cjs/core/global.js +3 -3
  188. package/cjs/core/global.js.map +1 -1
  189. package/cjs/core/graphic-utils.d.ts +3 -25
  190. package/cjs/core/graphic-utils.js +10 -11
  191. package/cjs/core/graphic-utils.js.map +1 -1
  192. package/cjs/core/index.d.ts +2 -0
  193. package/cjs/core/index.js +3 -2
  194. package/cjs/core/index.js.map +1 -1
  195. package/cjs/core/interface.d.ts +30 -0
  196. package/cjs/core/interface.js +6 -0
  197. package/cjs/core/interface.js.map +1 -0
  198. package/cjs/core/layer-service.d.ts +1 -8
  199. package/cjs/core/layer-service.js +2 -4
  200. package/cjs/core/layer-service.js.map +1 -1
  201. package/cjs/core/layer.d.ts +1 -1
  202. package/cjs/core/layer.js +8 -7
  203. package/cjs/core/layer.js.map +1 -1
  204. package/cjs/core/light.js +1 -1
  205. package/cjs/core/stage.js +8 -8
  206. package/cjs/core/stage.js.map +1 -1
  207. package/cjs/core/window.js +4 -4
  208. package/cjs/core/window.js.map +1 -1
  209. package/cjs/create.d.ts +1 -1
  210. package/cjs/create.js +4 -3
  211. package/cjs/create.js.map +1 -1
  212. package/cjs/event/constant.js +1 -1
  213. package/cjs/event/event-manager.js +1 -1
  214. package/cjs/event/event-system.js +1 -1
  215. package/cjs/event/event-target.js +1 -1
  216. package/cjs/event/extension/gesture.js +2 -2
  217. package/cjs/event/extension/gesture.js.map +1 -1
  218. package/cjs/event/index.js +1 -1
  219. package/cjs/event/interface.js +1 -1
  220. package/cjs/event/type.js +2 -1
  221. package/cjs/event/util.js +1 -1
  222. package/cjs/graphic/arc.d.ts +1 -2
  223. package/cjs/graphic/arc.js +7 -11
  224. package/cjs/graphic/arc.js.map +1 -1
  225. package/cjs/graphic/arc3d.d.ts +0 -1
  226. package/cjs/graphic/arc3d.js +6 -8
  227. package/cjs/graphic/arc3d.js.map +1 -1
  228. package/cjs/graphic/area.d.ts +1 -2
  229. package/cjs/graphic/area.js +8 -12
  230. package/cjs/graphic/area.js.map +1 -1
  231. package/cjs/graphic/bounds.js +1 -1
  232. package/cjs/graphic/builtin-symbol/utils.js +3 -3
  233. package/cjs/graphic/builtin-symbol/utils.js.map +1 -1
  234. package/cjs/graphic/circle.d.ts +1 -2
  235. package/cjs/graphic/circle.js +7 -11
  236. package/cjs/graphic/circle.js.map +1 -1
  237. package/cjs/graphic/config.js +5 -7
  238. package/cjs/graphic/config.js.map +1 -1
  239. package/{es/graphic/constant.d.ts → cjs/graphic/constants.d.ts} +2 -1
  240. package/cjs/graphic/constants.js +21 -0
  241. package/cjs/graphic/constants.js.map +1 -0
  242. package/cjs/graphic/glyph.d.ts +0 -1
  243. package/cjs/graphic/glyph.js +4 -6
  244. package/cjs/graphic/glyph.js.map +1 -1
  245. package/cjs/graphic/graphic-service/graphic-module.js +8 -7
  246. package/cjs/graphic/graphic-service/graphic-module.js.map +1 -1
  247. package/cjs/graphic/graphic-service/graphic-service.d.ts +4 -60
  248. package/cjs/graphic/graphic-service/graphic-service.js +48 -48
  249. package/cjs/graphic/graphic-service/graphic-service.js.map +1 -1
  250. package/cjs/graphic/graphic.d.ts +0 -1
  251. package/cjs/graphic/graphic.js +14 -23
  252. package/cjs/graphic/graphic.js.map +1 -1
  253. package/cjs/graphic/group.d.ts +0 -1
  254. package/cjs/graphic/group.js +16 -15
  255. package/cjs/graphic/group.js.map +1 -1
  256. package/cjs/graphic/image.d.ts +0 -1
  257. package/cjs/graphic/image.js +5 -9
  258. package/cjs/graphic/image.js.map +1 -1
  259. package/cjs/graphic/index.d.ts +1 -0
  260. package/cjs/graphic/index.js +2 -1
  261. package/cjs/graphic/index.js.map +1 -1
  262. package/cjs/graphic/line.d.ts +1 -2
  263. package/cjs/graphic/line.js +7 -11
  264. package/cjs/graphic/line.js.map +1 -1
  265. package/cjs/graphic/node-tree.js +2 -2
  266. package/cjs/graphic/node-tree.js.map +1 -1
  267. package/cjs/graphic/path.d.ts +1 -2
  268. package/cjs/graphic/path.js +9 -13
  269. package/cjs/graphic/path.js.map +1 -1
  270. package/cjs/graphic/polygon.d.ts +1 -2
  271. package/cjs/graphic/polygon.js +5 -9
  272. package/cjs/graphic/polygon.js.map +1 -1
  273. package/cjs/graphic/pyramid3d.d.ts +0 -1
  274. package/cjs/graphic/pyramid3d.js +5 -7
  275. package/cjs/graphic/pyramid3d.js.map +1 -1
  276. package/cjs/graphic/rect.d.ts +1 -2
  277. package/cjs/graphic/rect.js +6 -10
  278. package/cjs/graphic/rect.js.map +1 -1
  279. package/cjs/graphic/rect3d.d.ts +0 -1
  280. package/cjs/graphic/rect3d.js +3 -7
  281. package/cjs/graphic/rect3d.js.map +1 -1
  282. package/cjs/graphic/richtext/icon.js +3 -3
  283. package/cjs/graphic/richtext/icon.js.map +1 -1
  284. package/cjs/graphic/richtext/paragraph.d.ts +1 -0
  285. package/cjs/graphic/richtext/paragraph.js +7 -2
  286. package/cjs/graphic/richtext/paragraph.js.map +1 -1
  287. package/cjs/graphic/richtext/utils.d.ts +0 -2
  288. package/cjs/graphic/richtext/utils.js +12 -25
  289. package/cjs/graphic/richtext/utils.js.map +1 -1
  290. package/cjs/graphic/richtext/wrapper.js +2 -2
  291. package/cjs/graphic/richtext/wrapper.js.map +1 -1
  292. package/cjs/graphic/richtext.d.ts +0 -1
  293. package/cjs/graphic/richtext.js +5 -9
  294. package/cjs/graphic/richtext.js.map +1 -1
  295. package/cjs/graphic/symbol.d.ts +1 -2
  296. package/cjs/graphic/symbol.js +7 -11
  297. package/cjs/graphic/symbol.js.map +1 -1
  298. package/cjs/graphic/text.d.ts +0 -1
  299. package/cjs/graphic/text.js +12 -15
  300. package/cjs/graphic/text.js.map +1 -1
  301. package/cjs/graphic/tools.d.ts +1 -0
  302. package/cjs/graphic/tools.js +11 -3
  303. package/cjs/graphic/tools.js.map +1 -1
  304. package/cjs/graphic/wrap-text.js +2 -2
  305. package/cjs/graphic/wrap-text.js.map +1 -1
  306. package/cjs/index.d.ts +21 -3
  307. package/cjs/index.js +14 -12
  308. package/cjs/index.js.map +1 -1
  309. package/cjs/interface/common.d.ts +1 -0
  310. package/cjs/interface/common.js.map +1 -1
  311. package/cjs/interface/context.d.ts +3 -3
  312. package/cjs/interface/context.js.map +1 -1
  313. package/{es/common/curve/interface.d.ts → cjs/interface/curve.d.ts} +19 -19
  314. package/cjs/interface/curve.js +6 -0
  315. package/cjs/interface/curve.js.map +1 -0
  316. package/cjs/interface/graphic/area.d.ts +2 -2
  317. package/cjs/interface/graphic/area.js.map +1 -1
  318. package/cjs/interface/graphic/creator.js.map +1 -1
  319. package/cjs/interface/graphic/line.d.ts +2 -2
  320. package/cjs/interface/graphic/line.js.map +1 -1
  321. package/cjs/interface/graphic/path.d.ts +1 -2
  322. package/cjs/interface/graphic/path.js.map +1 -1
  323. package/cjs/interface/graphic/richText.d.ts +2 -4
  324. package/cjs/interface/graphic/richText.js.map +1 -1
  325. package/cjs/interface/graphic-service.d.ts +58 -0
  326. package/cjs/interface/graphic-service.js +6 -0
  327. package/cjs/interface/graphic-service.js.map +1 -0
  328. package/cjs/interface/graphic.d.ts +4 -4
  329. package/cjs/interface/graphic.js.map +1 -1
  330. package/cjs/interface/index.d.ts +2 -0
  331. package/cjs/interface/index.js +2 -1
  332. package/cjs/interface/index.js.map +1 -1
  333. package/cjs/interface/path.d.ts +11 -19
  334. package/cjs/interface/path.js +1 -8
  335. package/cjs/interface/path.js.map +1 -1
  336. package/cjs/kits/env.js +3 -3
  337. package/cjs/kits/env.js.map +1 -1
  338. package/cjs/modules.d.ts +2 -19
  339. package/cjs/modules.js +12 -17
  340. package/cjs/modules.js.map +1 -1
  341. package/cjs/picker/canvas-picker-service.d.ts +1 -1
  342. package/cjs/picker/canvas-picker-service.js +10 -9
  343. package/cjs/picker/canvas-picker-service.js.map +1 -1
  344. package/cjs/picker/contributions/canvas-picker/arc-picker.js +4 -4
  345. package/cjs/picker/contributions/canvas-picker/arc-picker.js.map +1 -1
  346. package/cjs/picker/contributions/canvas-picker/arc3d-picker.js +4 -4
  347. package/cjs/picker/contributions/canvas-picker/arc3d-picker.js.map +1 -1
  348. package/cjs/picker/contributions/canvas-picker/area-picker.js +3 -3
  349. package/cjs/picker/contributions/canvas-picker/area-picker.js.map +1 -1
  350. package/cjs/picker/contributions/canvas-picker/circle-picker.js +4 -4
  351. package/cjs/picker/contributions/canvas-picker/circle-picker.js.map +1 -1
  352. package/cjs/picker/contributions/canvas-picker/glyph-picker.js +2 -2
  353. package/cjs/picker/contributions/canvas-picker/glyph-picker.js.map +1 -1
  354. package/cjs/picker/contributions/canvas-picker/image-picker.js +2 -2
  355. package/cjs/picker/contributions/canvas-picker/image-picker.js.map +1 -1
  356. package/cjs/picker/contributions/canvas-picker/line-picker.js +5 -5
  357. package/cjs/picker/contributions/canvas-picker/line-picker.js.map +1 -1
  358. package/cjs/picker/contributions/canvas-picker/module.js +2 -2
  359. package/cjs/picker/contributions/canvas-picker/module.js.map +1 -1
  360. package/cjs/picker/contributions/canvas-picker/path-picker.js +5 -5
  361. package/cjs/picker/contributions/canvas-picker/path-picker.js.map +1 -1
  362. package/cjs/picker/contributions/canvas-picker/polygon-picker.js +3 -3
  363. package/cjs/picker/contributions/canvas-picker/polygon-picker.js.map +1 -1
  364. package/cjs/picker/contributions/canvas-picker/pyramid3d-picker.js +4 -4
  365. package/cjs/picker/contributions/canvas-picker/pyramid3d-picker.js.map +1 -1
  366. package/cjs/picker/contributions/canvas-picker/rect-picker.js +4 -4
  367. package/cjs/picker/contributions/canvas-picker/rect-picker.js.map +1 -1
  368. package/cjs/picker/contributions/canvas-picker/rect3d-picker.js +4 -4
  369. package/cjs/picker/contributions/canvas-picker/rect3d-picker.js.map +1 -1
  370. package/cjs/picker/contributions/canvas-picker/richtext-picker.js +2 -2
  371. package/cjs/picker/contributions/canvas-picker/richtext-picker.js.map +1 -1
  372. package/cjs/picker/contributions/canvas-picker/symbol-picker.js +5 -5
  373. package/cjs/picker/contributions/canvas-picker/symbol-picker.js.map +1 -1
  374. package/cjs/picker/contributions/canvas-picker/text-picker.js +5 -5
  375. package/cjs/picker/contributions/canvas-picker/text-picker.js.map +1 -1
  376. package/cjs/picker/contributions/math-picker/arc-picker.js +3 -3
  377. package/cjs/picker/contributions/math-picker/arc-picker.js.map +1 -1
  378. package/cjs/picker/contributions/math-picker/area-picker.js +3 -3
  379. package/cjs/picker/contributions/math-picker/area-picker.js.map +1 -1
  380. package/cjs/picker/contributions/math-picker/circle-picker.js +3 -3
  381. package/cjs/picker/contributions/math-picker/circle-picker.js.map +1 -1
  382. package/cjs/picker/contributions/math-picker/glyph-picker.js +2 -2
  383. package/cjs/picker/contributions/math-picker/glyph-picker.js.map +1 -1
  384. package/cjs/picker/contributions/math-picker/line-picker.js +3 -3
  385. package/cjs/picker/contributions/math-picker/line-picker.js.map +1 -1
  386. package/cjs/picker/contributions/math-picker/module.js +2 -2
  387. package/cjs/picker/contributions/math-picker/module.js.map +1 -1
  388. package/cjs/picker/contributions/math-picker/path-picker.js +3 -3
  389. package/cjs/picker/contributions/math-picker/path-picker.js.map +1 -1
  390. package/cjs/picker/contributions/math-picker/polygon-picker.js +3 -3
  391. package/cjs/picker/contributions/math-picker/polygon-picker.js.map +1 -1
  392. package/cjs/picker/contributions/math-picker/rect-picker.js +4 -4
  393. package/cjs/picker/contributions/math-picker/rect-picker.js.map +1 -1
  394. package/cjs/picker/contributions/math-picker/symbol-picker.js +3 -3
  395. package/cjs/picker/contributions/math-picker/symbol-picker.js.map +1 -1
  396. package/cjs/picker/contributions/math-picker/text-picker.js +2 -2
  397. package/cjs/picker/contributions/math-picker/text-picker.js.map +1 -1
  398. package/cjs/picker/contributions/modules.js.map +1 -1
  399. package/cjs/picker/math-picker-service.d.ts +1 -1
  400. package/cjs/picker/math-picker-service.js +4 -3
  401. package/cjs/picker/math-picker-service.js.map +1 -1
  402. package/cjs/picker/pick-interceptor.js +2 -2
  403. package/cjs/picker/pick-interceptor.js.map +1 -1
  404. package/cjs/picker/pick-modules.js +2 -2
  405. package/cjs/picker/pick-modules.js.map +1 -1
  406. package/cjs/picker/picker-service.d.ts +1 -1
  407. package/cjs/picker/picker-service.js +10 -10
  408. package/cjs/picker/picker-service.js.map +1 -1
  409. package/cjs/plugins/builtin-plugin/3dview-transform-plugin.js +2 -2
  410. package/cjs/plugins/builtin-plugin/3dview-transform-plugin.js.map +1 -1
  411. package/cjs/plugins/builtin-plugin/auto-render-plugin.js +6 -6
  412. package/cjs/plugins/builtin-plugin/auto-render-plugin.js.map +1 -1
  413. package/cjs/plugins/builtin-plugin/dirty-bounds-plugin.js +8 -8
  414. package/cjs/plugins/builtin-plugin/dirty-bounds-plugin.js.map +1 -1
  415. package/cjs/plugins/builtin-plugin/incremental-auto-render-plugin.js +7 -7
  416. package/cjs/plugins/builtin-plugin/incremental-auto-render-plugin.js.map +1 -1
  417. package/cjs/render/contributions/render/arc-render.d.ts +1 -2
  418. package/cjs/render/contributions/render/arc-render.js +22 -117
  419. package/cjs/render/contributions/render/arc-render.js.map +1 -1
  420. package/cjs/render/contributions/render/arc3d-render.js +10 -10
  421. package/cjs/render/contributions/render/arc3d-render.js.map +1 -1
  422. package/cjs/render/contributions/render/area-render.d.ts +2 -2
  423. package/cjs/render/contributions/render/area-render.js +18 -17
  424. package/cjs/render/contributions/render/area-render.js.map +1 -1
  425. package/cjs/render/contributions/render/base-render.js +3 -3
  426. package/cjs/render/contributions/render/base-render.js.map +1 -1
  427. package/cjs/render/contributions/render/circle-render.d.ts +1 -1
  428. package/cjs/render/contributions/render/circle-render.js +6 -5
  429. package/cjs/render/contributions/render/circle-render.js.map +1 -1
  430. package/cjs/render/contributions/render/contributions/arc-contribution-render.js +5 -5
  431. package/cjs/render/contributions/render/contributions/arc-contribution-render.js.map +1 -1
  432. package/cjs/render/contributions/render/contributions/area-contribution-render.js +6 -2
  433. package/cjs/render/contributions/render/contributions/area-contribution-render.js.map +1 -1
  434. package/cjs/render/contributions/render/contributions/base-contribution-render.js +3 -3
  435. package/cjs/render/contributions/render/contributions/base-contribution-render.js.map +1 -1
  436. package/cjs/render/contributions/render/contributions/circle-contribution-render.js +3 -3
  437. package/cjs/render/contributions/render/contributions/circle-contribution-render.js.map +1 -1
  438. package/cjs/render/contributions/render/contributions/path-contribution-render.js.map +1 -1
  439. package/cjs/render/contributions/render/contributions/polygon-contribution-render.js.map +1 -1
  440. package/cjs/render/contributions/render/contributions/rect-contribution-render.js +7 -7
  441. package/cjs/render/contributions/render/contributions/rect-contribution-render.js.map +1 -1
  442. package/cjs/render/contributions/render/contributions/symbol-contribution-render.js +3 -3
  443. package/cjs/render/contributions/render/contributions/symbol-contribution-render.js.map +1 -1
  444. package/cjs/render/contributions/render/draw-contribution.d.ts +2 -2
  445. package/cjs/render/contributions/render/draw-contribution.js +6 -6
  446. package/cjs/render/contributions/render/draw-contribution.js.map +1 -1
  447. package/cjs/render/contributions/render/draw-interceptor.js +5 -5
  448. package/cjs/render/contributions/render/draw-interceptor.js.map +1 -1
  449. package/cjs/render/contributions/render/glyph-render.js +3 -3
  450. package/cjs/render/contributions/render/glyph-render.js.map +1 -1
  451. package/cjs/render/contributions/render/group-render.d.ts +1 -1
  452. package/cjs/render/contributions/render/group-render.js +9 -8
  453. package/cjs/render/contributions/render/group-render.js.map +1 -1
  454. package/cjs/render/contributions/render/image-render.d.ts +1 -1
  455. package/cjs/render/contributions/render/image-render.js +6 -5
  456. package/cjs/render/contributions/render/image-render.js.map +1 -1
  457. package/cjs/render/contributions/render/incremental-area-render.js +4 -4
  458. package/cjs/render/contributions/render/incremental-area-render.js.map +1 -1
  459. package/cjs/render/contributions/render/incremental-draw-contribution.d.ts +2 -2
  460. package/cjs/render/contributions/render/incremental-draw-contribution.js +4 -4
  461. package/cjs/render/contributions/render/incremental-draw-contribution.js.map +1 -1
  462. package/cjs/render/contributions/render/incremental-line-render.js +4 -4
  463. package/cjs/render/contributions/render/incremental-line-render.js.map +1 -1
  464. package/cjs/render/contributions/render/index.d.ts +1 -0
  465. package/cjs/render/contributions/render/index.js +1 -1
  466. package/cjs/render/contributions/render/index.js.map +1 -1
  467. package/cjs/render/contributions/render/line-render.d.ts +1 -2
  468. package/cjs/render/contributions/render/line-render.js +11 -11
  469. package/cjs/render/contributions/render/line-render.js.map +1 -1
  470. package/cjs/render/contributions/render/module.js +12 -12
  471. package/cjs/render/contributions/render/module.js.map +1 -1
  472. package/cjs/render/contributions/render/path-render.d.ts +1 -1
  473. package/cjs/render/contributions/render/path-render.js +9 -8
  474. package/cjs/render/contributions/render/path-render.js.map +1 -1
  475. package/cjs/render/contributions/render/polygon-render.d.ts +1 -1
  476. package/cjs/render/contributions/render/polygon-render.js +6 -5
  477. package/cjs/render/contributions/render/polygon-render.js.map +1 -1
  478. package/cjs/render/contributions/render/pyramid3d-render.js +7 -7
  479. package/cjs/render/contributions/render/pyramid3d-render.js.map +1 -1
  480. package/cjs/render/contributions/render/rect-render.d.ts +1 -1
  481. package/cjs/render/contributions/render/rect-render.js +7 -6
  482. package/cjs/render/contributions/render/rect-render.js.map +1 -1
  483. package/cjs/render/contributions/render/rect3d-render.js +7 -7
  484. package/cjs/render/contributions/render/rect3d-render.js.map +1 -1
  485. package/cjs/render/contributions/render/richtext-render.js +6 -6
  486. package/cjs/render/contributions/render/richtext-render.js.map +1 -1
  487. package/cjs/render/contributions/render/symbol-render.d.ts +1 -1
  488. package/cjs/render/contributions/render/symbol-render.js +7 -6
  489. package/cjs/render/contributions/render/symbol-render.js.map +1 -1
  490. package/cjs/render/contributions/render/text-render.js +10 -10
  491. package/cjs/render/contributions/render/text-render.js.map +1 -1
  492. package/cjs/render/contributions/render/utils.d.ts +13 -3
  493. package/cjs/render/contributions/render/utils.js +105 -7
  494. package/cjs/render/contributions/render/utils.js.map +1 -1
  495. package/cjs/resource-loader/loader.d.ts +1 -1
  496. package/cjs/resource-loader/loader.js +8 -8
  497. package/cjs/resource-loader/loader.js.map +1 -1
  498. package/cjs/{common → tapable}/interface.js +2 -0
  499. package/cjs/tapable/interface.js.map +1 -0
  500. package/dist/vrender.js.js +1 -1
  501. package/dist/vrender.js.min.js +1 -1
  502. package/es/allocator/allocator-modules.d.ts +1 -3
  503. package/es/allocator/allocator-modules.js +1 -22
  504. package/es/allocator/allocator-modules.js.map +1 -1
  505. package/es/allocator/canvas-allocate.d.ts +2 -5
  506. package/es/allocator/canvas-allocate.js +9 -27
  507. package/es/allocator/canvas-allocate.js.map +1 -1
  508. package/es/allocator/constants.d.ts +0 -2
  509. package/es/allocator/constants.js +1 -6
  510. package/es/allocator/constants.js.map +1 -1
  511. package/es/allocator/graphic-allocate.d.ts +1 -58
  512. package/es/allocator/graphic-allocate.js +1 -181
  513. package/es/allocator/graphic-allocate.js.map +1 -1
  514. package/es/allocator/interface.d.ts +10 -0
  515. package/es/allocator/interface.js.map +1 -1
  516. package/es/allocator/matrix-allocate.d.ts +2 -0
  517. package/es/allocator/matrix-allocate.js +7 -19
  518. package/es/allocator/matrix-allocate.js.map +1 -1
  519. package/es/animate/Ticker/default-ticker.js +5 -5
  520. package/es/animate/Ticker/default-ticker.js.map +1 -1
  521. package/es/animate/animate.d.ts +1 -1
  522. package/es/animate/animate.js +3 -1
  523. package/es/animate/animate.js.map +1 -1
  524. package/es/animate/custom-animate.d.ts +3 -3
  525. package/es/animate/custom-animate.js +20 -20
  526. package/es/animate/custom-animate.js.map +1 -1
  527. package/es/animate/default-ticker.d.ts +2 -0
  528. package/es/animate/default-ticker.js +12 -0
  529. package/es/animate/default-ticker.js.map +1 -0
  530. package/es/animate/morphing.d.ts +1 -1
  531. package/es/animate/morphing.js +15 -16
  532. package/es/animate/morphing.js.map +1 -1
  533. package/es/animate/timeline.js +5 -2
  534. package/es/animate/timeline.js.map +1 -1
  535. package/es/application.d.ts +11 -0
  536. package/es/application.js +3 -0
  537. package/es/application.js.map +1 -0
  538. package/es/canvas/contributions/browser/canvas.js +2 -2
  539. package/es/canvas/contributions/browser/canvas.js.map +1 -1
  540. package/es/canvas/contributions/browser/conical-gradient.js +4 -4
  541. package/es/canvas/contributions/browser/conical-gradient.js.map +1 -1
  542. package/es/canvas/contributions/browser/context.d.ts +2 -4
  543. package/es/canvas/contributions/browser/context.js +12 -11
  544. package/es/canvas/contributions/browser/context.js.map +1 -1
  545. package/es/canvas/contributions/taro/context.js +8 -7
  546. package/es/canvas/contributions/taro/context.js.map +1 -1
  547. package/es/canvas/empty-context.d.ts +1 -1
  548. package/es/canvas/empty-context.js +5 -3
  549. package/es/canvas/empty-context.js.map +1 -1
  550. package/es/canvas/index.d.ts +0 -3
  551. package/es/canvas/index.js +0 -12
  552. package/es/canvas/index.js.map +1 -1
  553. package/es/canvas/util.d.ts +3 -0
  554. package/es/canvas/util.js +15 -1
  555. package/es/canvas/util.js.map +1 -1
  556. package/es/color-string/colorName.js +1 -1
  557. package/es/color-string/index.js +1 -1
  558. package/es/color-string/interpolate.js +1 -1
  559. package/es/common/{bezier.d.ts → bezier-utils.d.ts} +0 -3
  560. package/es/common/{bezier.js → bezier-utils.js} +1 -13
  561. package/es/common/bezier-utils.js.map +1 -0
  562. package/es/common/canvas-utils.d.ts +1 -1
  563. package/es/common/canvas-utils.js +6 -3
  564. package/es/common/canvas-utils.js.map +1 -1
  565. package/es/common/custom-path2d.d.ts +47 -0
  566. package/es/common/{path.js → custom-path2d.js} +7 -207
  567. package/es/common/custom-path2d.js.map +1 -0
  568. package/es/common/enums.d.ts +12 -0
  569. package/es/common/enums.js +14 -0
  570. package/es/common/enums.js.map +1 -1
  571. package/es/common/generator.js +1 -2
  572. package/es/common/morphing-utils.d.ts +1 -2
  573. package/es/common/morphing-utils.js +3 -6
  574. package/es/common/morphing-utils.js.map +1 -1
  575. package/es/common/polygon.js +2 -1
  576. package/es/common/render-area.d.ts +2 -3
  577. package/es/common/render-area.js +5 -1
  578. package/es/common/render-area.js.map +1 -1
  579. package/es/common/render-curve.d.ts +1 -2
  580. package/es/common/render-curve.js +2 -2
  581. package/es/common/render-curve.js.map +1 -1
  582. package/es/common/seg-context.d.ts +7 -13
  583. package/es/common/seg-context.js +4 -6
  584. package/es/common/seg-context.js.map +1 -1
  585. package/es/common/{curve → segment}/basis.d.ts +12 -5
  586. package/es/common/{curve → segment}/basis.js +4 -4
  587. package/es/common/segment/basis.js.map +1 -0
  588. package/es/common/segment/common.d.ts +3 -0
  589. package/es/common/segment/common.js.map +1 -0
  590. package/es/common/segment/curve/arc.d.ts +14 -0
  591. package/es/common/segment/curve/arc.js +22 -0
  592. package/es/common/segment/curve/arc.js.map +1 -0
  593. package/es/common/segment/curve/base.d.ts +13 -0
  594. package/es/common/segment/curve/base.js +7 -0
  595. package/es/common/segment/curve/base.js.map +1 -0
  596. package/es/common/segment/curve/cubic-bezier.d.ts +17 -0
  597. package/es/common/segment/curve/cubic-bezier.js +37 -0
  598. package/es/common/segment/curve/cubic-bezier.js.map +1 -0
  599. package/es/common/segment/curve/curve-context.d.ts +19 -0
  600. package/es/common/segment/curve/curve-context.js +44 -0
  601. package/es/common/segment/curve/curve-context.js.map +1 -0
  602. package/es/common/segment/curve/ellipse.d.ts +18 -0
  603. package/es/common/segment/curve/ellipse.js +24 -0
  604. package/es/common/segment/curve/ellipse.js.map +1 -0
  605. package/es/common/segment/curve/line.d.ts +16 -0
  606. package/es/common/segment/curve/line.js +34 -0
  607. package/es/common/segment/curve/line.js.map +1 -0
  608. package/es/common/segment/curve/move.d.ts +13 -0
  609. package/es/common/segment/curve/move.js +22 -0
  610. package/es/common/segment/curve/move.js.map +1 -0
  611. package/es/common/segment/curve/path.d.ts +11 -0
  612. package/es/common/segment/curve/path.js +23 -0
  613. package/es/common/segment/curve/path.js.map +1 -0
  614. package/es/common/segment/curve/quadratic-bezier.d.ts +14 -0
  615. package/es/common/segment/curve/quadratic-bezier.js +23 -0
  616. package/es/common/segment/curve/quadratic-bezier.js.map +1 -0
  617. package/{cjs/common/curve → es/common/segment}/index.d.ts +2 -4
  618. package/es/common/{curve → segment}/index.js +0 -2
  619. package/es/common/segment/index.js.map +1 -0
  620. package/es/common/segment/linear-closed.d.ts +24 -0
  621. package/es/common/{curve → segment}/linear-closed.js +4 -4
  622. package/es/common/segment/linear-closed.js.map +1 -0
  623. package/es/common/segment/linear.d.ts +24 -0
  624. package/es/common/{curve → segment}/linear.js +4 -4
  625. package/es/common/segment/linear.js.map +1 -0
  626. package/{cjs/common/curve → es/common/segment}/monotone.d.ts +12 -5
  627. package/es/common/{curve → segment}/monotone.js +4 -4
  628. package/es/common/segment/monotone.js.map +1 -0
  629. package/es/common/segment/step.d.ts +25 -0
  630. package/es/common/{curve → segment}/step.js +4 -4
  631. package/es/common/segment/step.js.map +1 -0
  632. package/es/common/shape/arc.d.ts +3 -0
  633. package/es/common/shape/arc.js +13 -0
  634. package/es/common/shape/arc.js.map +1 -1
  635. package/es/common/shape/rect.d.ts +1 -1
  636. package/es/common/sort.js +1 -1
  637. package/es/common/split-path.js +1 -1
  638. package/es/common/split-path.js.map +1 -1
  639. package/es/common/store.js +1 -1
  640. package/es/common/text.js +1 -1
  641. package/es/common/utils.d.ts +2 -1
  642. package/es/common/utils.js +15 -6
  643. package/es/common/utils.js.map +1 -1
  644. package/es/container.js +2 -1
  645. package/es/container.js.map +1 -1
  646. package/es/core/application.js +1 -1
  647. package/es/core/camera.js +2 -2
  648. package/es/core/camera.js.map +1 -1
  649. package/es/core/constants.d.ts +1 -5
  650. package/es/core/constants.js +2 -10
  651. package/es/core/constants.js.map +1 -1
  652. package/es/core/contributions/env/browser-contribution.js +1 -1
  653. package/es/core/contributions/env/browser-contribution.js.map +1 -1
  654. package/es/core/contributions/env/modules.js +1 -1
  655. package/es/core/contributions/env/modules.js.map +1 -1
  656. package/es/core/contributions/layerHandler/canvas2d-contribution.js +2 -2
  657. package/es/core/contributions/layerHandler/canvas2d-contribution.js.map +1 -1
  658. package/es/core/contributions/layerHandler/modules.js +1 -1
  659. package/es/core/contributions/layerHandler/modules.js.map +1 -1
  660. package/es/core/contributions/layerHandler/offscreen2d-contribution.js +2 -2
  661. package/es/core/contributions/layerHandler/offscreen2d-contribution.js.map +1 -1
  662. package/es/core/contributions/textMeasure/AtextMeasure.d.ts +1 -1
  663. package/es/core/contributions/textMeasure/AtextMeasure.js +1 -1
  664. package/es/core/contributions/textMeasure/AtextMeasure.js.map +1 -1
  665. package/es/core/contributions/textMeasure/ITextMeasure.d.ts +1 -1
  666. package/es/core/contributions/textMeasure/ITextMeasure.js.map +1 -1
  667. package/es/core/contributions/textMeasure/modules.js +1 -1
  668. package/es/core/contributions/textMeasure/modules.js.map +1 -1
  669. package/es/core/contributions/window/base-contribution.js +1 -1
  670. package/es/core/contributions/window/base-contribution.js.map +1 -1
  671. package/es/core/contributions/window/browser-contribution.js +1 -1
  672. package/es/core/contributions/window/browser-contribution.js.map +1 -1
  673. package/es/core/contributions/window/feishu-contribution.js +1 -1
  674. package/es/core/contributions/window/feishu-contribution.js.map +1 -1
  675. package/es/core/contributions/window/lynx-contribution.js +1 -1
  676. package/es/core/contributions/window/lynx-contribution.js.map +1 -1
  677. package/es/core/contributions/window/modules.js +1 -1
  678. package/es/core/contributions/window/modules.js.map +1 -1
  679. package/es/core/contributions/window/node-contribution.js.map +1 -1
  680. package/es/core/contributions/window/taro-contribution.js +1 -1
  681. package/es/core/contributions/window/taro-contribution.js.map +1 -1
  682. package/es/core/core-modules.js +5 -3
  683. package/es/core/core-modules.js.map +1 -1
  684. package/es/core/global-module.d.ts +5 -0
  685. package/es/core/global-module.js +19 -0
  686. package/es/core/global-module.js.map +1 -0
  687. package/es/core/global.d.ts +3 -3
  688. package/es/core/global.js +2 -2
  689. package/es/core/global.js.map +1 -1
  690. package/es/core/graphic-utils.d.ts +3 -25
  691. package/es/core/graphic-utils.js +4 -8
  692. package/es/core/graphic-utils.js.map +1 -1
  693. package/es/core/index.d.ts +2 -0
  694. package/es/core/index.js +5 -1
  695. package/es/core/index.js.map +1 -1
  696. package/es/core/interface.d.ts +30 -0
  697. package/es/core/interface.js +2 -0
  698. package/es/core/interface.js.map +1 -0
  699. package/es/core/layer-service.d.ts +1 -8
  700. package/es/core/layer-service.js +1 -3
  701. package/es/core/layer-service.js.map +1 -1
  702. package/es/core/layer.d.ts +1 -1
  703. package/es/core/layer.js +9 -5
  704. package/es/core/layer.js.map +1 -1
  705. package/es/core/light.js +1 -1
  706. package/es/core/stage.js +3 -3
  707. package/es/core/stage.js.map +1 -1
  708. package/es/core/window.js +3 -3
  709. package/es/core/window.js.map +1 -1
  710. package/es/create.d.ts +1 -1
  711. package/es/create.js +3 -2
  712. package/es/create.js.map +1 -1
  713. package/es/event/constant.js +1 -1
  714. package/es/event/event-manager.js +1 -1
  715. package/es/event/event-system.js +1 -1
  716. package/es/event/event-target.js +1 -1
  717. package/es/event/extension/gesture.js +2 -2
  718. package/es/event/extension/gesture.js.map +1 -1
  719. package/es/event/index.js +1 -1
  720. package/es/event/interface.js +1 -1
  721. package/es/event/type.js +2 -1
  722. package/es/event/util.js +1 -1
  723. package/es/graphic/arc.d.ts +1 -2
  724. package/es/graphic/arc.js +8 -6
  725. package/es/graphic/arc.js.map +1 -1
  726. package/es/graphic/arc3d.d.ts +0 -1
  727. package/es/graphic/arc3d.js +5 -7
  728. package/es/graphic/arc3d.js.map +1 -1
  729. package/es/graphic/area.d.ts +1 -2
  730. package/es/graphic/area.js +8 -6
  731. package/es/graphic/area.js.map +1 -1
  732. package/es/graphic/bounds.js +1 -1
  733. package/es/graphic/builtin-symbol/utils.js +1 -1
  734. package/es/graphic/builtin-symbol/utils.js.map +1 -1
  735. package/es/graphic/circle.d.ts +1 -2
  736. package/es/graphic/circle.js +8 -6
  737. package/es/graphic/circle.js.map +1 -1
  738. package/es/graphic/config.js +4 -6
  739. package/es/graphic/config.js.map +1 -1
  740. package/{cjs/graphic/constant.d.ts → es/graphic/constants.d.ts} +2 -1
  741. package/es/graphic/{constant.js → constants.js} +6 -6
  742. package/es/graphic/constants.js.map +1 -0
  743. package/es/graphic/glyph.d.ts +0 -1
  744. package/es/graphic/glyph.js +4 -4
  745. package/es/graphic/glyph.js.map +1 -1
  746. package/es/graphic/graphic-service/graphic-module.js +7 -3
  747. package/es/graphic/graphic-service/graphic-module.js.map +1 -1
  748. package/es/graphic/graphic-service/graphic-service.d.ts +4 -60
  749. package/es/graphic/graphic-service/graphic-service.js +42 -40
  750. package/es/graphic/graphic-service/graphic-service.js.map +1 -1
  751. package/es/graphic/graphic.d.ts +0 -1
  752. package/es/graphic/graphic.js +13 -20
  753. package/es/graphic/graphic.js.map +1 -1
  754. package/es/graphic/group.d.ts +0 -1
  755. package/es/graphic/group.js +13 -13
  756. package/es/graphic/group.js.map +1 -1
  757. package/es/graphic/image.d.ts +0 -1
  758. package/es/graphic/image.js +5 -5
  759. package/es/graphic/image.js.map +1 -1
  760. package/es/graphic/index.d.ts +1 -0
  761. package/es/graphic/index.js +2 -0
  762. package/es/graphic/index.js.map +1 -1
  763. package/es/graphic/line.d.ts +1 -2
  764. package/es/graphic/line.js +8 -6
  765. package/es/graphic/line.js.map +1 -1
  766. package/es/graphic/node-tree.js +1 -1
  767. package/es/graphic/node-tree.js.map +1 -1
  768. package/es/graphic/path.d.ts +1 -2
  769. package/es/graphic/path.js +7 -5
  770. package/es/graphic/path.js.map +1 -1
  771. package/es/graphic/polygon.d.ts +1 -2
  772. package/es/graphic/polygon.js +5 -5
  773. package/es/graphic/polygon.js.map +1 -1
  774. package/es/graphic/pyramid3d.d.ts +0 -1
  775. package/es/graphic/pyramid3d.js +4 -6
  776. package/es/graphic/pyramid3d.js.map +1 -1
  777. package/es/graphic/rect.d.ts +1 -2
  778. package/es/graphic/rect.js +7 -5
  779. package/es/graphic/rect.js.map +1 -1
  780. package/es/graphic/rect3d.d.ts +0 -1
  781. package/es/graphic/rect3d.js +1 -3
  782. package/es/graphic/rect3d.js.map +1 -1
  783. package/es/graphic/richtext/icon.js +1 -1
  784. package/es/graphic/richtext/icon.js.map +1 -1
  785. package/es/graphic/richtext/paragraph.d.ts +1 -0
  786. package/es/graphic/richtext/paragraph.js +5 -0
  787. package/es/graphic/richtext/paragraph.js.map +1 -1
  788. package/es/graphic/richtext/utils.d.ts +0 -2
  789. package/es/graphic/richtext/utils.js +9 -18
  790. package/es/graphic/richtext/utils.js.map +1 -1
  791. package/es/graphic/richtext/wrapper.js +3 -1
  792. package/es/graphic/richtext/wrapper.js.map +1 -1
  793. package/es/graphic/richtext.d.ts +0 -1
  794. package/es/graphic/richtext.js +5 -5
  795. package/es/graphic/richtext.js.map +1 -1
  796. package/es/graphic/symbol.d.ts +1 -2
  797. package/es/graphic/symbol.js +7 -5
  798. package/es/graphic/symbol.js.map +1 -1
  799. package/es/graphic/text.d.ts +0 -1
  800. package/es/graphic/text.js +10 -8
  801. package/es/graphic/text.js.map +1 -1
  802. package/es/graphic/tools.d.ts +1 -0
  803. package/es/graphic/tools.js +8 -2
  804. package/es/graphic/tools.js.map +1 -1
  805. package/es/graphic/wrap-text.js +3 -3
  806. package/es/graphic/wrap-text.js.map +1 -1
  807. package/es/index.d.ts +21 -3
  808. package/es/index.js +38 -8
  809. package/es/index.js.map +1 -1
  810. package/es/interface/common.d.ts +1 -0
  811. package/es/interface/common.js.map +1 -1
  812. package/es/interface/context.d.ts +3 -3
  813. package/es/interface/context.js.map +1 -1
  814. package/{cjs/common/curve/interface.d.ts → es/interface/curve.d.ts} +19 -19
  815. package/es/interface/curve.js +2 -0
  816. package/es/interface/curve.js.map +1 -0
  817. package/es/interface/graphic/area.d.ts +2 -2
  818. package/es/interface/graphic/area.js.map +1 -1
  819. package/es/interface/graphic/creator.js.map +1 -1
  820. package/es/interface/graphic/line.d.ts +2 -2
  821. package/es/interface/graphic/line.js.map +1 -1
  822. package/es/interface/graphic/path.d.ts +1 -2
  823. package/es/interface/graphic/path.js.map +1 -1
  824. package/es/interface/graphic/richText.d.ts +2 -4
  825. package/es/interface/graphic/richText.js.map +1 -1
  826. package/es/interface/graphic-service.d.ts +58 -0
  827. package/es/interface/graphic-service.js +2 -0
  828. package/es/interface/graphic-service.js.map +1 -0
  829. package/es/interface/graphic.d.ts +4 -4
  830. package/es/interface/graphic.js.map +1 -1
  831. package/es/interface/index.d.ts +2 -0
  832. package/es/interface/index.js +4 -0
  833. package/es/interface/index.js.map +1 -1
  834. package/es/interface/path.d.ts +11 -19
  835. package/es/interface/path.js +0 -8
  836. package/es/interface/path.js.map +1 -1
  837. package/es/kits/env.js +1 -1
  838. package/es/kits/env.js.map +1 -1
  839. package/es/modules.d.ts +2 -19
  840. package/es/modules.js +18 -37
  841. package/es/modules.js.map +1 -1
  842. package/es/picker/canvas-picker-service.d.ts +1 -1
  843. package/es/picker/canvas-picker-service.js +1 -1
  844. package/es/picker/canvas-picker-service.js.map +1 -1
  845. package/es/picker/contributions/canvas-picker/arc-picker.js +4 -2
  846. package/es/picker/contributions/canvas-picker/arc-picker.js.map +1 -1
  847. package/es/picker/contributions/canvas-picker/arc3d-picker.js +4 -2
  848. package/es/picker/contributions/canvas-picker/arc3d-picker.js.map +1 -1
  849. package/es/picker/contributions/canvas-picker/area-picker.js +3 -1
  850. package/es/picker/contributions/canvas-picker/area-picker.js.map +1 -1
  851. package/es/picker/contributions/canvas-picker/circle-picker.js +4 -2
  852. package/es/picker/contributions/canvas-picker/circle-picker.js.map +1 -1
  853. package/es/picker/contributions/canvas-picker/glyph-picker.js +1 -1
  854. package/es/picker/contributions/canvas-picker/glyph-picker.js.map +1 -1
  855. package/es/picker/contributions/canvas-picker/image-picker.js +1 -1
  856. package/es/picker/contributions/canvas-picker/image-picker.js.map +1 -1
  857. package/es/picker/contributions/canvas-picker/line-picker.js +5 -3
  858. package/es/picker/contributions/canvas-picker/line-picker.js.map +1 -1
  859. package/es/picker/contributions/canvas-picker/module.js +1 -1
  860. package/es/picker/contributions/canvas-picker/module.js.map +1 -1
  861. package/es/picker/contributions/canvas-picker/path-picker.js +5 -3
  862. package/es/picker/contributions/canvas-picker/path-picker.js.map +1 -1
  863. package/es/picker/contributions/canvas-picker/polygon-picker.js +3 -1
  864. package/es/picker/contributions/canvas-picker/polygon-picker.js.map +1 -1
  865. package/es/picker/contributions/canvas-picker/pyramid3d-picker.js +4 -2
  866. package/es/picker/contributions/canvas-picker/pyramid3d-picker.js.map +1 -1
  867. package/es/picker/contributions/canvas-picker/rect-picker.js +5 -3
  868. package/es/picker/contributions/canvas-picker/rect-picker.js.map +1 -1
  869. package/es/picker/contributions/canvas-picker/rect3d-picker.js +4 -2
  870. package/es/picker/contributions/canvas-picker/rect3d-picker.js.map +1 -1
  871. package/es/picker/contributions/canvas-picker/richtext-picker.js +1 -1
  872. package/es/picker/contributions/canvas-picker/richtext-picker.js.map +1 -1
  873. package/es/picker/contributions/canvas-picker/symbol-picker.js +5 -3
  874. package/es/picker/contributions/canvas-picker/symbol-picker.js.map +1 -1
  875. package/es/picker/contributions/canvas-picker/text-picker.js +5 -3
  876. package/es/picker/contributions/canvas-picker/text-picker.js.map +1 -1
  877. package/es/picker/contributions/math-picker/arc-picker.js +3 -1
  878. package/es/picker/contributions/math-picker/arc-picker.js.map +1 -1
  879. package/es/picker/contributions/math-picker/area-picker.js +3 -1
  880. package/es/picker/contributions/math-picker/area-picker.js.map +1 -1
  881. package/es/picker/contributions/math-picker/circle-picker.js +3 -1
  882. package/es/picker/contributions/math-picker/circle-picker.js.map +1 -1
  883. package/es/picker/contributions/math-picker/glyph-picker.js +1 -1
  884. package/es/picker/contributions/math-picker/glyph-picker.js.map +1 -1
  885. package/es/picker/contributions/math-picker/line-picker.js +3 -1
  886. package/es/picker/contributions/math-picker/line-picker.js.map +1 -1
  887. package/es/picker/contributions/math-picker/module.js +1 -1
  888. package/es/picker/contributions/math-picker/module.js.map +1 -1
  889. package/es/picker/contributions/math-picker/path-picker.js +3 -1
  890. package/es/picker/contributions/math-picker/path-picker.js.map +1 -1
  891. package/es/picker/contributions/math-picker/polygon-picker.js +3 -1
  892. package/es/picker/contributions/math-picker/polygon-picker.js.map +1 -1
  893. package/es/picker/contributions/math-picker/rect-picker.js +4 -2
  894. package/es/picker/contributions/math-picker/rect-picker.js.map +1 -1
  895. package/es/picker/contributions/math-picker/symbol-picker.js +3 -1
  896. package/es/picker/contributions/math-picker/symbol-picker.js.map +1 -1
  897. package/es/picker/contributions/math-picker/text-picker.js +1 -1
  898. package/es/picker/contributions/math-picker/text-picker.js.map +1 -1
  899. package/es/picker/contributions/modules.js.map +1 -1
  900. package/es/picker/math-picker-service.d.ts +1 -1
  901. package/es/picker/math-picker-service.js +1 -1
  902. package/es/picker/math-picker-service.js.map +1 -1
  903. package/es/picker/pick-interceptor.js +1 -1
  904. package/es/picker/pick-interceptor.js.map +1 -1
  905. package/es/picker/pick-modules.js +1 -1
  906. package/es/picker/pick-modules.js.map +1 -1
  907. package/es/picker/picker-service.d.ts +1 -1
  908. package/es/picker/picker-service.js +4 -2
  909. package/es/picker/picker-service.js.map +1 -1
  910. package/es/plugins/builtin-plugin/3dview-transform-plugin.js +1 -1
  911. package/es/plugins/builtin-plugin/3dview-transform-plugin.js.map +1 -1
  912. package/es/plugins/builtin-plugin/auto-render-plugin.js +6 -6
  913. package/es/plugins/builtin-plugin/auto-render-plugin.js.map +1 -1
  914. package/es/plugins/builtin-plugin/dirty-bounds-plugin.js +8 -8
  915. package/es/plugins/builtin-plugin/dirty-bounds-plugin.js.map +1 -1
  916. package/es/plugins/builtin-plugin/incremental-auto-render-plugin.js +7 -7
  917. package/es/plugins/builtin-plugin/incremental-auto-render-plugin.js.map +1 -1
  918. package/es/render/contributions/render/arc-render.d.ts +1 -2
  919. package/es/render/contributions/render/arc-render.js +10 -76
  920. package/es/render/contributions/render/arc-render.js.map +1 -1
  921. package/es/render/contributions/render/arc3d-render.js +10 -8
  922. package/es/render/contributions/render/arc3d-render.js.map +1 -1
  923. package/es/render/contributions/render/area-render.d.ts +2 -2
  924. package/es/render/contributions/render/area-render.js +12 -6
  925. package/es/render/contributions/render/area-render.js.map +1 -1
  926. package/es/render/contributions/render/base-render.js +1 -1
  927. package/es/render/contributions/render/base-render.js.map +1 -1
  928. package/es/render/contributions/render/circle-render.d.ts +1 -1
  929. package/es/render/contributions/render/circle-render.js +5 -3
  930. package/es/render/contributions/render/circle-render.js.map +1 -1
  931. package/es/render/contributions/render/contributions/arc-contribution-render.js +3 -3
  932. package/es/render/contributions/render/contributions/arc-contribution-render.js.map +1 -1
  933. package/es/render/contributions/render/contributions/area-contribution-render.js +3 -1
  934. package/es/render/contributions/render/contributions/area-contribution-render.js.map +1 -1
  935. package/es/render/contributions/render/contributions/base-contribution-render.js +1 -1
  936. package/es/render/contributions/render/contributions/base-contribution-render.js.map +1 -1
  937. package/es/render/contributions/render/contributions/circle-contribution-render.js +1 -1
  938. package/es/render/contributions/render/contributions/circle-contribution-render.js.map +1 -1
  939. package/es/render/contributions/render/contributions/path-contribution-render.js.map +1 -1
  940. package/es/render/contributions/render/contributions/polygon-contribution-render.js.map +1 -1
  941. package/es/render/contributions/render/contributions/rect-contribution-render.js +5 -3
  942. package/es/render/contributions/render/contributions/rect-contribution-render.js.map +1 -1
  943. package/es/render/contributions/render/contributions/symbol-contribution-render.js +1 -1
  944. package/es/render/contributions/render/contributions/symbol-contribution-render.js.map +1 -1
  945. package/es/render/contributions/render/draw-contribution.d.ts +2 -2
  946. package/es/render/contributions/render/draw-contribution.js +7 -3
  947. package/es/render/contributions/render/draw-contribution.js.map +1 -1
  948. package/es/render/contributions/render/draw-interceptor.js +4 -2
  949. package/es/render/contributions/render/draw-interceptor.js.map +1 -1
  950. package/es/render/contributions/render/glyph-render.js +3 -1
  951. package/es/render/contributions/render/glyph-render.js.map +1 -1
  952. package/es/render/contributions/render/group-render.d.ts +1 -1
  953. package/es/render/contributions/render/group-render.js +8 -4
  954. package/es/render/contributions/render/group-render.js.map +1 -1
  955. package/es/render/contributions/render/image-render.d.ts +1 -1
  956. package/es/render/contributions/render/image-render.js +4 -2
  957. package/es/render/contributions/render/image-render.js.map +1 -1
  958. package/es/render/contributions/render/incremental-area-render.js +5 -3
  959. package/es/render/contributions/render/incremental-area-render.js.map +1 -1
  960. package/es/render/contributions/render/incremental-draw-contribution.d.ts +2 -2
  961. package/es/render/contributions/render/incremental-draw-contribution.js +5 -3
  962. package/es/render/contributions/render/incremental-draw-contribution.js.map +1 -1
  963. package/es/render/contributions/render/incremental-line-render.js +5 -3
  964. package/es/render/contributions/render/incremental-line-render.js.map +1 -1
  965. package/es/render/contributions/render/index.d.ts +1 -0
  966. package/es/render/contributions/render/index.js +2 -0
  967. package/es/render/contributions/render/index.js.map +1 -1
  968. package/es/render/contributions/render/line-render.d.ts +1 -2
  969. package/es/render/contributions/render/line-render.js +11 -7
  970. package/es/render/contributions/render/line-render.js.map +1 -1
  971. package/es/render/contributions/render/module.js +1 -1
  972. package/es/render/contributions/render/module.js.map +1 -1
  973. package/es/render/contributions/render/path-render.d.ts +1 -1
  974. package/es/render/contributions/render/path-render.js +8 -4
  975. package/es/render/contributions/render/path-render.js.map +1 -1
  976. package/es/render/contributions/render/polygon-render.d.ts +1 -1
  977. package/es/render/contributions/render/polygon-render.js +5 -3
  978. package/es/render/contributions/render/polygon-render.js.map +1 -1
  979. package/es/render/contributions/render/pyramid3d-render.js +7 -5
  980. package/es/render/contributions/render/pyramid3d-render.js.map +1 -1
  981. package/es/render/contributions/render/rect-render.d.ts +1 -1
  982. package/es/render/contributions/render/rect-render.js +7 -3
  983. package/es/render/contributions/render/rect-render.js.map +1 -1
  984. package/es/render/contributions/render/rect3d-render.js +7 -5
  985. package/es/render/contributions/render/rect3d-render.js.map +1 -1
  986. package/es/render/contributions/render/richtext-render.js +4 -2
  987. package/es/render/contributions/render/richtext-render.js.map +1 -1
  988. package/es/render/contributions/render/symbol-render.d.ts +1 -1
  989. package/es/render/contributions/render/symbol-render.js +6 -4
  990. package/es/render/contributions/render/symbol-render.js.map +1 -1
  991. package/es/render/contributions/render/text-render.js +9 -7
  992. package/es/render/contributions/render/text-render.js.map +1 -1
  993. package/es/render/contributions/render/utils.d.ts +13 -3
  994. package/es/render/contributions/render/utils.js +76 -5
  995. package/es/render/contributions/render/utils.js.map +1 -1
  996. package/es/resource-loader/loader.d.ts +1 -1
  997. package/es/resource-loader/loader.js +8 -8
  998. package/es/resource-loader/loader.js.map +1 -1
  999. package/es/{common → tapable}/interface.js +2 -0
  1000. package/es/tapable/interface.js.map +1 -0
  1001. package/es/tsconfig.tsbuildinfo +1 -1
  1002. package/package.json +4 -3
  1003. package/cjs/allocator/index.d.ts +0 -3
  1004. package/cjs/allocator/index.js +0 -21
  1005. package/cjs/allocator/index.js.map +0 -1
  1006. package/cjs/canvas/constants.d.ts +0 -2
  1007. package/cjs/canvas/constants.js +0 -7
  1008. package/cjs/canvas/constants.js.map +0 -1
  1009. package/cjs/canvas/creator.d.ts +0 -3
  1010. package/cjs/canvas/creator.js +0 -18
  1011. package/cjs/canvas/creator.js.map +0 -1
  1012. package/cjs/common/bezier.js +0 -45
  1013. package/cjs/common/bezier.js.map +0 -1
  1014. package/cjs/common/curve/basis.js.map +0 -1
  1015. package/cjs/common/curve/common.d.ts +0 -3
  1016. package/cjs/common/curve/common.js.map +0 -1
  1017. package/cjs/common/curve/index.js.map +0 -1
  1018. package/cjs/common/curve/interface.js +0 -18
  1019. package/cjs/common/curve/interface.js.map +0 -1
  1020. package/cjs/common/curve/linear-closed.d.ts +0 -17
  1021. package/cjs/common/curve/linear-closed.js.map +0 -1
  1022. package/cjs/common/curve/linear.d.ts +0 -17
  1023. package/cjs/common/curve/linear.js.map +0 -1
  1024. package/cjs/common/curve/monotone.js.map +0 -1
  1025. package/cjs/common/curve/step.d.ts +0 -18
  1026. package/cjs/common/curve/step.js.map +0 -1
  1027. package/cjs/common/index.d.ts +0 -20
  1028. package/cjs/common/index.js +0 -30
  1029. package/cjs/common/index.js.map +0 -1
  1030. package/cjs/common/interface.js.map +0 -1
  1031. package/cjs/common/path.d.ts +0 -160
  1032. package/cjs/common/path.js.map +0 -1
  1033. package/cjs/core/contributions/constants.d.ts +0 -1
  1034. package/cjs/core/contributions/constants.js +0 -6
  1035. package/cjs/core/contributions/constants.js.map +0 -1
  1036. package/cjs/graphic/constant.js +0 -22
  1037. package/cjs/graphic/constant.js.map +0 -1
  1038. package/cjs/graphic/graphic-service/index.d.ts +0 -1
  1039. package/cjs/graphic/graphic-service/index.js +0 -21
  1040. package/cjs/graphic/graphic-service/index.js.map +0 -1
  1041. package/cjs/interface/graphic-creator.d.ts +0 -39
  1042. package/cjs/interface/graphic-creator.js +0 -6
  1043. package/cjs/interface/graphic-creator.js.map +0 -1
  1044. package/es/allocator/index.d.ts +0 -3
  1045. package/es/allocator/index.js +0 -5
  1046. package/es/allocator/index.js.map +0 -1
  1047. package/es/canvas/constants.d.ts +0 -2
  1048. package/es/canvas/constants.js +0 -4
  1049. package/es/canvas/constants.js.map +0 -1
  1050. package/es/canvas/creator.d.ts +0 -3
  1051. package/es/canvas/creator.js +0 -14
  1052. package/es/canvas/creator.js.map +0 -1
  1053. package/es/common/bezier.js.map +0 -1
  1054. package/es/common/curve/basis.js.map +0 -1
  1055. package/es/common/curve/common.d.ts +0 -3
  1056. package/es/common/curve/common.js.map +0 -1
  1057. package/es/common/curve/index.js.map +0 -1
  1058. package/es/common/curve/interface.js +0 -6
  1059. package/es/common/curve/interface.js.map +0 -1
  1060. package/es/common/curve/linear-closed.d.ts +0 -17
  1061. package/es/common/curve/linear-closed.js.map +0 -1
  1062. package/es/common/curve/linear.d.ts +0 -17
  1063. package/es/common/curve/linear.js.map +0 -1
  1064. package/es/common/curve/monotone.js.map +0 -1
  1065. package/es/common/curve/step.d.ts +0 -18
  1066. package/es/common/curve/step.js.map +0 -1
  1067. package/es/common/index.d.ts +0 -20
  1068. package/es/common/index.js +0 -40
  1069. package/es/common/index.js.map +0 -1
  1070. package/es/common/interface.js.map +0 -1
  1071. package/es/common/path.d.ts +0 -160
  1072. package/es/common/path.js.map +0 -1
  1073. package/es/core/contributions/constants.d.ts +0 -1
  1074. package/es/core/contributions/constants.js +0 -2
  1075. package/es/core/contributions/constants.js.map +0 -1
  1076. package/es/graphic/constant.js.map +0 -1
  1077. package/es/graphic/graphic-service/index.d.ts +0 -1
  1078. package/es/graphic/graphic-service/index.js +0 -2
  1079. package/es/graphic/graphic-service/index.js.map +0 -1
  1080. package/es/interface/graphic-creator.d.ts +0 -39
  1081. package/es/interface/graphic-creator.js +0 -2
  1082. package/es/interface/graphic-creator.js.map +0 -1
  1083. /package/cjs/common/{curve → segment}/common.js +0 -0
  1084. /package/cjs/{common → tapable}/interface.d.ts +0 -0
  1085. /package/es/common/{curve → segment}/common.js +0 -0
  1086. /package/es/{common → tapable}/interface.d.ts +0 -0
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: !0
5
5
  }), exports.AnimateGroup1 = exports.AnimateGroup = exports.AttributeAnimate = exports.GroupFadeOut = exports.GroupFadeIn = exports.RotateBySphereAnimate = exports.ClipDirectionAnimate = exports.ClipRadiusAnimate = exports.ClipAngleAnimate = exports.ClipGraphicAnimate = exports.GraphicAnimate = exports.TagPointsUpdate = exports.MotionPath = exports.Meteor = exports.StreamLight = exports.InputText = exports.FadeInPlus = exports.IncreaseCount = void 0;
6
6
 
7
- const vutils_1 = require("@visactor/vutils"), modules_1 = require("../modules"), common_1 = require("../common"), animate_1 = require("./animate"), graphic_creator_1 = require("../graphic/graphic-creator"), easing_1 = require("./easing");
7
+ const vutils_1 = require("@visactor/vutils"), application_1 = require("../application"), enums_1 = require("../common/enums"), animate_1 = require("./animate"), easing_1 = require("./easing"), utils_1 = require("../common/utils");
8
8
 
9
9
  class IncreaseCount extends animate_1.ACustomAnimate {
10
10
  constructor(from, to, duration, easing, params) {
@@ -50,12 +50,12 @@ class FadeInPlus extends animate_1.ACustomAnimate {
50
50
  }
51
51
  getEndProps() {
52
52
  return {
53
- fillColor: this.toFillColor,
54
- strokeColor: this.toStrokeColor
53
+ fill: this.toFill,
54
+ stroke: this.toStroke
55
55
  };
56
56
  }
57
57
  onBind() {
58
- this.toFillColor = this.target.getComputedAttribute("fillColor"), this.toStrokeColor = this.target.getComputedAttribute("strokeColor");
58
+ this.toFill = this.target.getComputedAttribute("fill"), this.toStroke = this.target.getComputedAttribute("stroke");
59
59
  }
60
60
  onEnd() {}
61
61
  onUpdate(end, ratio, out) {
@@ -82,7 +82,7 @@ class FadeInPlus extends animate_1.ACustomAnimate {
82
82
  }
83
83
  leftToRight(end, ratio, out) {
84
84
  if (this.fill) {
85
- const toFillColor = this.toFillColor;
85
+ const toFillColor = this.toFill;
86
86
  this.fillGradient.x0 = 0, this.fillGradient.y0 = 0, this.fillGradient.x1 = 1, this.fillGradient.y1 = 0,
87
87
  this.fillGradient.stops = [ {
88
88
  offset: 0,
@@ -93,10 +93,10 @@ class FadeInPlus extends animate_1.ACustomAnimate {
93
93
  }, {
94
94
  offset: Math.min(1, 2 * ratio),
95
95
  color: "transparent"
96
- } ], out.fillColor = this.fillGradient;
96
+ } ], out.fill = this.fillGradient;
97
97
  }
98
98
  if (this.stroke) {
99
- const toStrokeColor = this.toStrokeColor;
99
+ const toStrokeColor = this.toStroke;
100
100
  this.strokeGradient.x0 = 0, this.strokeGradient.y0 = 0, this.strokeGradient.x1 = 1,
101
101
  this.strokeGradient.y1 = 0, this.strokeGradient.stops = [ {
102
102
  offset: 0,
@@ -107,12 +107,12 @@ class FadeInPlus extends animate_1.ACustomAnimate {
107
107
  }, {
108
108
  offset: Math.min(1, 6 * ratio),
109
109
  color: "transparent"
110
- } ], out.strokeColor = this.strokeGradient;
110
+ } ], out.stroke = this.strokeGradient;
111
111
  }
112
112
  }
113
113
  strokePath(end, ratio, out) {
114
114
  if (this.fill) {
115
- const toFillColor = this.toFillColor;
115
+ const toFillColor = this.toFill;
116
116
  this.fillGradient.x0 = 0, this.fillGradient.y0 = 0, this.fillGradient.x1 = 1, this.fillGradient.y1 = 0,
117
117
  this.fillGradient.stops = [ {
118
118
  offset: 0,
@@ -123,7 +123,7 @@ class FadeInPlus extends animate_1.ACustomAnimate {
123
123
  }, {
124
124
  offset: Math.min(1, 2 * ratio),
125
125
  color: "transparent"
126
- } ], out.fillColor = this.fillGradient;
126
+ } ], out.fill = this.fillGradient;
127
127
  }
128
128
  if (this.stroke) {
129
129
  const dashLen = 300, offset = ratio * dashLen;
@@ -152,7 +152,7 @@ class InputText extends animate_1.ACustomAnimate {
152
152
  this.toText = null !== (_d = null === (_c = this.to) || void 0 === _c ? void 0 : _c.text) && void 0 !== _d ? _d : "",
153
153
  !this.toText || (0, vutils_1.isArray)(this.toText)) this.valid = !1; else {
154
154
  this.toText = this.toText.toString();
155
- const root = this.target.attachShadow(), line = modules_1.graphicService.creator.line({
155
+ const root = this.target.attachShadow(), line = application_1.application.graphicService.creator.line({
156
156
  x: 0,
157
157
  y: 0,
158
158
  points: [ {
@@ -162,7 +162,7 @@ class InputText extends animate_1.ACustomAnimate {
162
162
  x: 0,
163
163
  y: this.target.getComputedAttribute("fontSize")
164
164
  } ],
165
- strokeColor: "black",
165
+ stroke: "black",
166
166
  lineWidth: 1
167
167
  });
168
168
  root.add(line);
@@ -192,9 +192,9 @@ class StreamLight extends animate_1.ACustomAnimate {
192
192
  }
193
193
  onStart() {
194
194
  var _a;
195
- const root = this.target.attachShadow(), height = this.target.AABBBounds.height(), rect = modules_1.graphicService.creator.rect(Object.assign(Object.assign({
195
+ const root = this.target.attachShadow(), height = this.target.AABBBounds.height(), rect = application_1.application.graphicService.creator.rect(Object.assign(Object.assign({
196
196
  height: height,
197
- fillColor: "#bcdeff",
197
+ fill: "#bcdeff",
198
198
  shadowBlur: 30,
199
199
  shadowColor: "#bcdeff"
200
200
  }, null === (_a = this.params) || void 0 === _a ? void 0 : _a.attribute), {
@@ -215,7 +215,7 @@ class StreamLight extends animate_1.ACustomAnimate {
215
215
  x: x,
216
216
  width: width
217
217
  }, !1, {
218
- type: common_1.AttributeUpdateType.ANIMATE_PLAY,
218
+ type: enums_1.AttributeUpdateType.ANIMATE_PLAY,
219
219
  animationState: {
220
220
  ratio: ratio,
221
221
  end: end
@@ -247,7 +247,7 @@ class Meteor extends animate_1.ACustomAnimate {
247
247
  scaleY: scale,
248
248
  opacity: opacity
249
249
  }, !1, {
250
- type: common_1.AttributeUpdateType.ANIMATE_BIND
250
+ type: enums_1.AttributeUpdateType.ANIMATE_BIND
251
251
  }), root.add(g);
252
252
  }
253
253
  }
@@ -316,7 +316,7 @@ class TagPointsUpdate extends animate_1.ACustomAnimate {
316
316
  }
317
317
  onUpdate(end, ratio, out) {
318
318
  this.points = this.points.map(((point, index) => {
319
- const newPoint = (0, common_1.pointInterpolation)(this.interpolatePoints[index][0], this.interpolatePoints[index][1], ratio);
319
+ const newPoint = (0, utils_1.pointInterpolation)(this.interpolatePoints[index][0], this.interpolatePoints[index][1], ratio);
320
320
  return newPoint.context = point.context, newPoint;
321
321
  })), out.points = this.points;
322
322
  }
@@ -348,7 +348,7 @@ class ClipGraphicAnimate extends animate_1.ACustomAnimate {
348
348
  clip: !0,
349
349
  path: [ this._clipGraphic ]
350
350
  }, !1, {
351
- type: common_1.AttributeUpdateType.ANIMATE_BIND
351
+ type: enums_1.AttributeUpdateType.ANIMATE_BIND
352
352
  }));
353
353
  }
354
354
  onEnd() {
@@ -356,7 +356,7 @@ class ClipGraphicAnimate extends animate_1.ACustomAnimate {
356
356
  clip: this._lastClip,
357
357
  path: this._lastPath
358
358
  }, !1, {
359
- type: common_1.AttributeUpdateType.ANIMATE_END
359
+ type: enums_1.AttributeUpdateType.ANIMATE_END
360
360
  });
361
361
  }
362
362
  onUpdate(end, ratio, out) {
@@ -365,7 +365,7 @@ class ClipGraphicAnimate extends animate_1.ACustomAnimate {
365
365
  Object.keys(this.clipFromAttribute).forEach((k => {
366
366
  res[k] = this.clipFromAttribute[k] + (this.clipToAttribute[k] - this.clipFromAttribute[k]) * ratio;
367
367
  })), this._clipGraphic.setAttributes(res, !1, {
368
- type: common_1.AttributeUpdateType.ANIMATE_UPDATE,
368
+ type: enums_1.AttributeUpdateType.ANIMATE_UPDATE,
369
369
  animationState: {
370
370
  ratio: ratio,
371
371
  end: end
@@ -383,7 +383,7 @@ class ClipAngleAnimate extends ClipGraphicAnimate {
383
383
  let arcStartAngle = 0, arcEndAngle = 0;
384
384
  "anticlockwise" === orient ? (arcEndAngle = "in" === animationType ? startAngle + 2 * Math.PI : startAngle,
385
385
  arcEndAngle = startAngle + 2 * Math.PI) : (arcStartAngle = startAngle, arcEndAngle = "out" === animationType ? startAngle + 2 * Math.PI : startAngle);
386
- const arc = (0, graphic_creator_1.createArc)({
386
+ const arc = application_1.application.graphicService.creator.arc({
387
387
  x: null !== (_j = null === (_h = null == params ? void 0 : params.center) || void 0 === _h ? void 0 : _h.x) && void 0 !== _j ? _j : width / 2,
388
388
  y: null !== (_l = null === (_k = null == params ? void 0 : params.center) || void 0 === _k ? void 0 : _k.y) && void 0 !== _l ? _l : height / 2,
389
389
  outerRadius: null !== (_m = null == params ? void 0 : params.radius) && void 0 !== _m ? _m : (width + height) / 2,
@@ -413,8 +413,7 @@ exports.ClipAngleAnimate = ClipAngleAnimate;
413
413
  class ClipRadiusAnimate extends ClipGraphicAnimate {
414
414
  constructor(from, to, duration, easing, params) {
415
415
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
416
- const groupAttribute = null !== (_b = null === (_a = null == params ? void 0 : params.group) || void 0 === _a ? void 0 : _a.attribute) && void 0 !== _b ? _b : {}, width = null !== (_c = groupAttribute.width) && void 0 !== _c ? _c : 0, height = null !== (_d = groupAttribute.height) && void 0 !== _d ? _d : 0, animationType = null !== (_e = null == params ? void 0 : params.animationType) && void 0 !== _e ? _e : "in", startRadius = null !== (_f = null == params ? void 0 : params.startRadius) && void 0 !== _f ? _f : 0, endRadius = null !== (_g = null == params ? void 0 : params.endRadius) && void 0 !== _g ? _g : Math.sqrt((width / 2) ** 2 + (height / 2) ** 2), arc = (0,
417
- graphic_creator_1.createArc)({
416
+ const groupAttribute = null !== (_b = null === (_a = null == params ? void 0 : params.group) || void 0 === _a ? void 0 : _a.attribute) && void 0 !== _b ? _b : {}, width = null !== (_c = groupAttribute.width) && void 0 !== _c ? _c : 0, height = null !== (_d = groupAttribute.height) && void 0 !== _d ? _d : 0, animationType = null !== (_e = null == params ? void 0 : params.animationType) && void 0 !== _e ? _e : "in", startRadius = null !== (_f = null == params ? void 0 : params.startRadius) && void 0 !== _f ? _f : 0, endRadius = null !== (_g = null == params ? void 0 : params.endRadius) && void 0 !== _g ? _g : Math.sqrt((width / 2) ** 2 + (height / 2) ** 2), arc = application_1.application.graphicService.creator.arc({
418
417
  x: null !== (_j = null === (_h = null == params ? void 0 : params.center) || void 0 === _h ? void 0 : _h.x) && void 0 !== _j ? _j : width / 2,
419
418
  y: null !== (_l = null === (_k = null == params ? void 0 : params.center) || void 0 === _k ? void 0 : _k.y) && void 0 !== _l ? _l : height / 2,
420
419
  outerRadius: "out" === animationType ? endRadius : startRadius,
@@ -439,8 +438,7 @@ exports.ClipRadiusAnimate = ClipRadiusAnimate;
439
438
  class ClipDirectionAnimate extends ClipGraphicAnimate {
440
439
  constructor(from, to, duration, easing, params) {
441
440
  var _a, _b, _c, _d, _e, _f, _g, _h, _j;
442
- const groupAttribute = null !== (_b = null === (_a = null == params ? void 0 : params.group) || void 0 === _a ? void 0 : _a.attribute) && void 0 !== _b ? _b : {}, width = null !== (_d = null !== (_c = null == params ? void 0 : params.width) && void 0 !== _c ? _c : groupAttribute.width) && void 0 !== _d ? _d : 0, height = null !== (_f = null !== (_e = null == params ? void 0 : params.height) && void 0 !== _e ? _e : groupAttribute.height) && void 0 !== _f ? _f : 0, animationType = null !== (_g = null == params ? void 0 : params.animationType) && void 0 !== _g ? _g : "in", direction = null !== (_h = null == params ? void 0 : params.direction) && void 0 !== _h ? _h : "x", orient = null !== (_j = null == params ? void 0 : params.orient) && void 0 !== _j ? _j : "positive", rect = (0,
443
- graphic_creator_1.createRect)({
441
+ const groupAttribute = null !== (_b = null === (_a = null == params ? void 0 : params.group) || void 0 === _a ? void 0 : _a.attribute) && void 0 !== _b ? _b : {}, width = null !== (_d = null !== (_c = null == params ? void 0 : params.width) && void 0 !== _c ? _c : groupAttribute.width) && void 0 !== _d ? _d : 0, height = null !== (_f = null !== (_e = null == params ? void 0 : params.height) && void 0 !== _e ? _e : groupAttribute.height) && void 0 !== _f ? _f : 0, animationType = null !== (_g = null == params ? void 0 : params.animationType) && void 0 !== _g ? _g : "in", direction = null !== (_h = null == params ? void 0 : params.direction) && void 0 !== _h ? _h : "x", orient = null !== (_j = null == params ? void 0 : params.orient) && void 0 !== _j ? _j : "positive", rect = application_1.application.graphicService.creator.rect({
444
442
  x: 0,
445
443
  y: 0,
446
444
  width: "in" === animationType && "x" === direction ? 0 : width,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/animate/custom-animate.ts"],"names":[],"mappings":"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","file":"custom-animate.js","sourcesContent":["import { IPoint, IPointLike, isArray, isNumber, pi, pi2, Point } from '@visactor/vutils';\nimport { graphicService } from '../modules';\nimport { AttributeUpdateType, CustomPath2D, pointInterpolation } from '../common';\nimport {\n EasingType,\n IArcGraphicAttribute,\n IGraphic,\n IGroup,\n ILinearGradient,\n IRect,\n IRectAttribute,\n IRectGraphicAttribute,\n IShadowRoot\n} from '../interface';\nimport { ACustomAnimate } from './animate';\nimport { createArc, createRect } from '../graphic/graphic-creator';\nimport { Easing } from './easing';\n\nexport class IncreaseCount extends ACustomAnimate<{ text: string | number }> {\n declare valid: boolean;\n\n private fromNumber: number;\n private toNumber: number;\n\n constructor(\n from: { text: string | number },\n to: { text: string | number },\n duration: number,\n easing: EasingType,\n params?: { fixed?: boolean }\n ) {\n super(from, to, duration, easing, params);\n }\n\n getEndProps(): Record<string, any> | void {\n if (this.valid === false) {\n return {};\n }\n return {\n text: this.to\n };\n }\n\n onBind(): void {\n this.fromNumber = isNumber(this.from?.text) ? this.from?.text : Number.parseFloat(this.from?.text);\n this.toNumber = isNumber(this.to?.text) ? this.to?.text : Number.parseFloat(this.to?.text);\n if (!Number.isFinite(this.toNumber)) {\n this.fromNumber = 0;\n }\n if (!Number.isFinite(this.toNumber)) {\n this.valid = false;\n }\n }\n\n onEnd(): void {\n return;\n }\n\n onUpdate(end: boolean, ratio: number, out: Record<string, any>): void {\n if (this.valid === false) {\n return;\n }\n if (end) {\n out.text = this.toNumber.toFixed();\n } else {\n out.text = (this.fromNumber + (this.toNumber - this.fromNumber) * ratio).toFixed(this.params?.fixed ?? 0);\n }\n }\n}\n\nenum Direction {\n LEFT_TO_RIGHT = 0,\n RIGHT_TO_LEFT = 1,\n TOP_TO_BOTTOM = 2,\n BOTTOM_TO_TOP = 3,\n STROKE = 4\n}\nexport class FadeInPlus extends ACustomAnimate<any> {\n declare direction: number;\n declare toFillColor: string;\n declare toStrokeColor: string;\n declare fillGradient: ILinearGradient;\n declare strokeGradient: ILinearGradient;\n declare fill: boolean;\n declare stroke: boolean;\n constructor(\n from: any,\n to: any,\n duration: number,\n easing: EasingType,\n params?: { direction?: number; fill?: boolean; stroke?: boolean }\n ) {\n super(from, to, duration, easing, params);\n const { direction = Direction.LEFT_TO_RIGHT, fill = true, stroke = true } = params || {};\n this.direction = direction;\n this.fill = fill;\n this.stroke = stroke;\n this.fillGradient = {\n gradient: 'linear',\n stops: []\n };\n this.strokeGradient = {\n gradient: 'linear',\n stops: []\n };\n }\n\n getEndProps(): Record<string, any> {\n return {\n fillColor: this.toFillColor,\n strokeColor: this.toStrokeColor\n };\n }\n\n onBind(): void {\n // this.to = parseFloat(this.target.getAnimatePropByName('text'));\n this.toFillColor = this.target.getComputedAttribute('fillColor');\n this.toStrokeColor = this.target.getComputedAttribute('strokeColor');\n }\n\n onEnd(): void {\n return;\n }\n\n onUpdate(end: boolean, ratio: number, out: Record<string, any>): void {\n switch (this.direction) {\n case Direction.RIGHT_TO_LEFT:\n this.rightToLeft(end, ratio, out);\n break;\n case Direction.TOP_TO_BOTTOM:\n this.topToBottom(end, ratio, out);\n break;\n case Direction.BOTTOM_TO_TOP:\n this.bottomToTop(end, ratio, out);\n break;\n case Direction.STROKE:\n this.strokePath(end, ratio, out);\n break;\n default:\n this.leftToRight(end, ratio, out);\n break;\n }\n }\n\n leftToRight(end: boolean, ratio: number, out: Record<string, any>) {\n if (this.fill) {\n const toFillColor = this.toFillColor;\n this.fillGradient.x0 = 0;\n this.fillGradient.y0 = 0;\n this.fillGradient.x1 = 1;\n this.fillGradient.y1 = 0;\n this.fillGradient.stops = [\n { offset: 0, color: toFillColor },\n { offset: ratio, color: toFillColor },\n { offset: Math.min(1, ratio * 2), color: 'transparent' }\n ];\n out.fillColor = this.fillGradient;\n }\n if (this.stroke) {\n const toStrokeColor = this.toStrokeColor;\n this.strokeGradient.x0 = 0;\n this.strokeGradient.y0 = 0;\n this.strokeGradient.x1 = 1;\n this.strokeGradient.y1 = 0;\n this.strokeGradient.stops = [\n { offset: 0, color: toStrokeColor },\n { offset: ratio, color: toStrokeColor },\n { offset: Math.min(1, ratio * 6), color: 'transparent' }\n ];\n out.strokeColor = this.strokeGradient;\n // const dashLen = 300;\n // const offset = ratio * dashLen;\n // out.lineDash = [offset, dashLen - offset];\n }\n return;\n }\n\n strokePath(end: boolean, ratio: number, out: Record<string, any>) {\n if (this.fill) {\n const toFillColor = this.toFillColor;\n this.fillGradient.x0 = 0;\n this.fillGradient.y0 = 0;\n this.fillGradient.x1 = 1;\n this.fillGradient.y1 = 0;\n this.fillGradient.stops = [\n { offset: 0, color: toFillColor },\n { offset: ratio, color: toFillColor },\n { offset: Math.min(1, ratio * 2), color: 'transparent' }\n ];\n out.fillColor = this.fillGradient;\n }\n if (this.stroke) {\n const dashLen = 300;\n const offset = ratio * dashLen;\n out.lineDash = [offset, dashLen - offset];\n }\n return;\n }\n rightToLeft(end: boolean, ratio: number, out: Record<string, any>) {\n return;\n }\n topToBottom(end: boolean, ratio: number, out: Record<string, any>) {\n return;\n }\n bottomToTop(end: boolean, ratio: number, out: Record<string, any>) {\n return;\n }\n}\n\nexport class InputText extends ACustomAnimate<{ text: string }> {\n declare valid: boolean;\n declare target: IGraphic;\n\n private fromText: string = '';\n private toText: string = '';\n\n getEndProps(): Record<string, any> {\n if (this.valid === false) {\n return {};\n }\n return {\n text: this.to\n };\n }\n\n onBind(): void {\n this.fromText = this.from?.text ?? '';\n this.toText = this.to?.text ?? '';\n if (!this.toText || isArray(this.toText)) {\n this.valid = false;\n } else {\n this.toText = this.toText.toString();\n const root = this.target.attachShadow();\n const line = graphicService.creator.line({\n x: 0,\n y: 0,\n points: [\n { x: 0, y: 0 },\n { x: 0, y: this.target.getComputedAttribute('fontSize') }\n ],\n strokeColor: 'black',\n lineWidth: 1\n });\n root.add(line);\n }\n }\n\n onEnd(): void {\n this.target.detachShadow();\n return;\n }\n\n onUpdate(end: boolean, ratio: number, out: Record<string, any>): void {\n if (this.valid === false) {\n return;\n }\n // update text\n const fromCount = this.fromText.length;\n const toCount = this.toText.length;\n const count = Math.ceil(fromCount + (toCount - fromCount) * ratio);\n\n out.text = this.toText.substr(0, count);\n\n // update line position\n const line = this.target.shadowRoot?.at(0) as IGraphic;\n const endX = (this.target as any).clipedWidth + 2;\n line.setAttribute('x', endX);\n }\n}\n\nexport class StreamLight extends ACustomAnimate<any> {\n declare valid: boolean;\n declare target: IGraphic;\n\n declare rect: IRect;\n constructor(\n from: any,\n to: any,\n duration: number,\n easing: EasingType,\n params?: { attribute?: Partial<IRectAttribute>; streamLength?: number }\n ) {\n super(from, to, duration, easing, params);\n }\n\n getEndProps(): Record<string, any> {\n return {};\n }\n\n onStart(): void {\n const root = this.target.attachShadow();\n\n const height = this.target.AABBBounds.height();\n\n const rect = graphicService.creator.rect({\n height: height,\n fillColor: '#bcdeff',\n shadowBlur: 30,\n shadowColor: '#bcdeff',\n ...this.params?.attribute,\n x: 0,\n y: 0,\n width: 0\n });\n this.rect = rect;\n root.add(rect);\n }\n\n onBind(): void {\n return;\n }\n\n onEnd(): void {\n this.target.detachShadow();\n }\n\n onUpdate(end: boolean, ratio: number, out: Record<string, any>): void {\n const parentWidth = (this.target as any).attribute.width ?? 250;\n const streamLength = this.params?.streamLength ?? parentWidth;\n const maxLength = this.params?.attribute?.width ?? 60;\n const startX = -maxLength;\n const currentX = startX + (streamLength - startX) * ratio;\n const x = Math.max(currentX, 0);\n const w = Math.min(Math.min(currentX + maxLength, maxLength), streamLength - currentX);\n const width = w + x > parentWidth ? Math.max(parentWidth - x, 0) : w;\n this.rect.setAttributes(\n {\n x,\n width\n } as any,\n false,\n {\n type: AttributeUpdateType.ANIMATE_PLAY,\n animationState: {\n ratio,\n end\n }\n }\n );\n }\n}\n\nexport class Meteor extends ACustomAnimate<any> {\n declare size: number;\n declare target: IGraphic;\n declare root: IShadowRoot;\n declare posList: IPoint[];\n\n get lastPos(): IPoint {\n return this.posList[this.posList.length - 1];\n }\n\n constructor(size: number, duration: number, easing: EasingType, params?: any) {\n super(null, null, duration, easing, params);\n this.size = size;\n this.posList = [];\n }\n\n onBind(): void {\n const root = this.target.attachShadow();\n this.root = root;\n for (let i = 0; i < this.size; i++) {\n const g = this.target.clone();\n const scale = Math.min(((this.size - i) / this.size) * 3, 1);\n const opacity = Math.min(0.2 + 0.7 / this.size);\n g.setAttributes({ x: 0, y: 0, dx: 0, dy: 0, scaleX: scale, scaleY: scale, opacity }, false, {\n type: AttributeUpdateType.ANIMATE_BIND\n });\n root.add(g);\n }\n }\n\n onUpdate(end: boolean, ratio: number, out: Record<string, any>): void {\n if (end) {\n this.target.detachShadow();\n this.posList.length = 0;\n return;\n }\n\n const x = this.target.getComputedAttribute('x');\n const y = this.target.getComputedAttribute('y');\n\n const nextPos = new Point(x, y);\n if (!this.posList.length) {\n this.posList.push(nextPos);\n return;\n }\n\n this.target.shadowRoot.forEachChildren((g: IGraphic, i) => {\n const pos = this.posList[Math.max(this.posList.length - i - 1, 0)];\n g.setAttributes(\n {\n x: pos.x - x,\n y: pos.y - y\n },\n false\n );\n });\n\n this.posList.push(nextPos);\n }\n}\n\nexport class MotionPath extends ACustomAnimate<any> {\n declare valid: boolean;\n declare pathLength: number;\n declare path: CustomPath2D;\n declare distance: number;\n declare initAngle: number;\n declare changeAngle: boolean;\n declare cb?: (from: any, to: any, ratio: number, target: IGraphic) => void;\n constructor(\n from: any,\n to: any,\n duration: number,\n easing: EasingType,\n params?: {\n path: CustomPath2D;\n distance: number;\n cb?: (from: any, to: any, ratio: number, target: IGraphic) => void;\n initAngle?: number;\n changeAngle?: boolean;\n }\n ) {\n super(from, to, duration, easing, params);\n if (params) {\n this.pathLength = params.path.getLength();\n this.path = params.path;\n this.distance = params.distance;\n this.to = params.distance * this.pathLength;\n this.initAngle = params.initAngle ?? 0;\n this.changeAngle = !!params.changeAngle;\n this.cb = params.cb;\n }\n }\n\n onUpdate(end: boolean, ratio: number, out: Record<string, any>): void {\n // 计算位置\n const at = this.to * ratio;\n const { pos, angle } = this.path.getAttrAt(at);\n out.x = pos.x;\n out.y = pos.y;\n if (this.changeAngle) {\n out.angle = angle + this.initAngle;\n }\n this.cb && this.cb(this.from, this.to, ratio, this.target as IGraphic);\n // out.angle = angle + this.initAngle;\n }\n}\n\nexport class TagPointsUpdate extends ACustomAnimate<{ points: IPointLike[] }> {\n protected fromPoints: IPointLike[];\n protected toPoints: IPointLike[];\n protected points: IPointLike[];\n protected interpolatePoints: [IPointLike, IPointLike][];\n protected newPointAnimateType: 'grow' | 'appear';\n\n constructor(\n from: any,\n to: any,\n duration: number,\n easing: EasingType,\n params?: { newPointAnimateType?: 'grow' | 'appear' }\n ) {\n super(from, to, duration, easing, params);\n this.newPointAnimateType = params?.newPointAnimateType === 'appear' ? 'appear' : 'grow';\n }\n\n onBind(): void {\n const originFromPoints = this.from?.points;\n const originToPoints = this.to?.points;\n this.fromPoints = !originFromPoints ? [] : !Array.isArray(originFromPoints) ? [originFromPoints] : originFromPoints;\n this.toPoints = !originToPoints ? [] : !Array.isArray(originToPoints) ? [originToPoints] : originToPoints;\n\n const tagMap = new Map<string, IPointLike>();\n this.fromPoints.forEach(point => {\n if (point.context) {\n tagMap.set(point.context, point);\n }\n });\n let firstMatchedIndex = Infinity;\n let lastMatchedIndex = -Infinity;\n let firstMatchedPoint: IPointLike;\n let lastMatchedPoint: IPointLike;\n for (let i = 0; i < this.toPoints.length; i += 1) {\n if (tagMap.has(this.toPoints[i].context)) {\n firstMatchedIndex = i;\n firstMatchedPoint = tagMap.get(this.toPoints[i].context);\n break;\n }\n }\n for (let i = this.toPoints.length - 1; i >= 0; i -= 1) {\n if (tagMap.has(this.toPoints[i].context)) {\n lastMatchedIndex = i;\n lastMatchedPoint = tagMap.get(this.toPoints[i].context);\n break;\n }\n }\n // TODO: shrink removed points\n // if no point is matched, animation should start from toPoint[0]\n let prevMatchedPoint = this.toPoints[0];\n this.interpolatePoints = this.toPoints.map((point, index) => {\n const matchedPoint = tagMap.get(point.context);\n if (matchedPoint) {\n prevMatchedPoint = matchedPoint;\n return [matchedPoint, point];\n }\n // appear new point\n if (this.newPointAnimateType === 'appear') {\n return [point, point];\n }\n // grow new point\n if (index < firstMatchedIndex && firstMatchedPoint) {\n return [firstMatchedPoint, point];\n } else if (index > lastMatchedIndex && lastMatchedPoint) {\n return [lastMatchedPoint, point];\n }\n return [prevMatchedPoint, point];\n });\n this.points = this.interpolatePoints.map(interpolate => {\n const fromPoint = interpolate[0];\n const toPoint = interpolate[1];\n const newPoint = new Point(fromPoint.x, fromPoint.y, fromPoint.x1, fromPoint.y1);\n newPoint.defined = toPoint.defined;\n newPoint.context = toPoint.context;\n return newPoint;\n });\n }\n\n onUpdate(end: boolean, ratio: number, out: Record<string, any>): void {\n // if not create new points, multi points animation might not work well.\n this.points = this.points.map((point, index) => {\n const newPoint = pointInterpolation(this.interpolatePoints[index][0], this.interpolatePoints[index][1], ratio);\n newPoint.context = point.context;\n return newPoint;\n });\n out.points = this.points;\n }\n}\n\nexport class GraphicAnimate extends ACustomAnimate<any> {\n graphic: IGraphic;\n\n constructor(from: any, to: any, duration: number, easing: EasingType, params?: { graphic: IGraphic }) {\n super(from, to, duration, easing, params);\n this.graphic = params?.graphic;\n }\n\n onUpdate(end: boolean, ratio: number, out: Record<string, any>): void {\n if (!this.graphic) {\n return;\n }\n Object.keys(this.from).forEach(k => {\n out[k] = this.from[k] + (this.to[k] - this.from[k]) * ratio;\n });\n }\n}\n\nexport class ClipGraphicAnimate extends ACustomAnimate<any> {\n private _group?: IGroup;\n private _clipGraphic?: IGraphic;\n protected clipFromAttribute?: any;\n protected clipToAttribute?: any;\n\n private _lastClip?: boolean;\n private _lastPath?: IGraphic[];\n\n constructor(\n from: any,\n to: any,\n duration: number,\n easing: EasingType,\n params: { group: IGroup; clipGraphic: IGraphic }\n ) {\n super(null, null, duration, easing, params);\n this.clipFromAttribute = from;\n this.clipToAttribute = to;\n this._group = params?.group;\n this._clipGraphic = params?.clipGraphic;\n }\n\n onBind() {\n if (this._group && this._clipGraphic) {\n this._lastClip = this._group.attribute.clip;\n this._lastPath = this._group.attribute.path;\n this._group.setAttributes(\n {\n clip: true,\n path: [this._clipGraphic]\n },\n false,\n { type: AttributeUpdateType.ANIMATE_BIND }\n );\n }\n }\n\n onEnd() {\n if (this._group) {\n this._group.setAttributes(\n {\n clip: this._lastClip,\n path: this._lastPath\n },\n false,\n { type: AttributeUpdateType.ANIMATE_END }\n );\n }\n return;\n }\n\n onUpdate(end: boolean, ratio: number, out: Record<string, any>): void {\n if (!this._clipGraphic) {\n return;\n }\n const res: any = {};\n Object.keys(this.clipFromAttribute).forEach(k => {\n res[k] = this.clipFromAttribute[k] + (this.clipToAttribute[k] - this.clipFromAttribute[k]) * ratio;\n });\n this._clipGraphic.setAttributes(res, false, {\n type: AttributeUpdateType.ANIMATE_UPDATE,\n animationState: { ratio, end }\n });\n }\n}\n\nexport class ClipAngleAnimate extends ClipGraphicAnimate {\n constructor(\n from: any,\n to: any,\n duration: number,\n easing: EasingType,\n params: {\n group: IGroup;\n center?: { x: number; y: number };\n startAngle?: number;\n radius?: number;\n orient?: 'clockwise' | 'anticlockwise';\n animationType?: 'in' | 'out';\n }\n ) {\n const groupAttribute = params?.group?.attribute ?? {};\n const width = groupAttribute.width ?? 0;\n const height = groupAttribute.height ?? 0;\n\n const animationType = params?.animationType ?? 'in';\n const startAngle = params?.startAngle ?? 0;\n const orient = params?.orient ?? 'clockwise';\n\n let arcStartAngle = 0;\n let arcEndAngle = 0;\n if (orient === 'anticlockwise') {\n arcEndAngle = animationType === 'in' ? startAngle + Math.PI * 2 : startAngle;\n arcEndAngle = startAngle + Math.PI * 2;\n } else {\n arcStartAngle = startAngle;\n arcEndAngle = animationType === 'out' ? startAngle + Math.PI * 2 : startAngle;\n }\n const arc = createArc({\n x: params?.center?.x ?? width / 2,\n y: params?.center?.y ?? height / 2,\n outerRadius: params?.radius ?? (width + height) / 2,\n innerRadius: 0,\n startAngle: arcStartAngle,\n endAngle: arcEndAngle,\n fill: true\n });\n let fromAttributes: Partial<IArcGraphicAttribute>;\n let toAttributes: Partial<IArcGraphicAttribute>;\n if (orient === 'anticlockwise') {\n fromAttributes = { startAngle: startAngle + Math.PI * 2 };\n toAttributes = { startAngle: startAngle };\n } else {\n fromAttributes = { endAngle: startAngle };\n toAttributes = { endAngle: startAngle + Math.PI * 2 };\n }\n super(\n animationType === 'in' ? fromAttributes : toAttributes,\n animationType === 'in' ? toAttributes : fromAttributes,\n duration,\n easing,\n { group: params?.group, clipGraphic: arc }\n );\n }\n}\n\nexport class ClipRadiusAnimate extends ClipGraphicAnimate {\n constructor(\n from: any,\n to: any,\n duration: number,\n easing: EasingType,\n params: {\n group: IGroup;\n center?: { x: number; y: number };\n startRadius?: number;\n endRadius?: number;\n animationType?: 'in' | 'out';\n }\n ) {\n const groupAttribute = params?.group?.attribute ?? {};\n const width = groupAttribute.width ?? 0;\n const height = groupAttribute.height ?? 0;\n\n const animationType = params?.animationType ?? 'in';\n const startRadius = params?.startRadius ?? 0;\n const endRadius = params?.endRadius ?? Math.sqrt((width / 2) ** 2 + (height / 2) ** 2);\n\n const arc = createArc({\n x: params?.center?.x ?? width / 2,\n y: params?.center?.y ?? height / 2,\n outerRadius: animationType === 'out' ? endRadius : startRadius,\n innerRadius: 0,\n startAngle: 0,\n endAngle: Math.PI * 2,\n fill: true\n });\n const fromAttributes: Partial<IArcGraphicAttribute> = { outerRadius: startRadius };\n const toAttributes: Partial<IArcGraphicAttribute> = { outerRadius: endRadius };\n super(\n animationType === 'in' ? fromAttributes : toAttributes,\n animationType === 'in' ? toAttributes : fromAttributes,\n duration,\n easing,\n { group: params?.group, clipGraphic: arc }\n );\n }\n}\n\nexport class ClipDirectionAnimate extends ClipGraphicAnimate {\n constructor(\n from: any,\n to: any,\n duration: number,\n easing: EasingType,\n params: {\n group: IGroup;\n direction?: 'x' | 'y';\n orient?: 'positive' | 'negative';\n width?: number;\n height?: number;\n animationType?: 'in' | 'out';\n }\n ) {\n const groupAttribute = params?.group?.attribute ?? {};\n const width = params?.width ?? groupAttribute.width ?? 0;\n const height = params?.height ?? groupAttribute.height ?? 0;\n\n const animationType = params?.animationType ?? 'in';\n const direction = params?.direction ?? 'x';\n const orient = params?.orient ?? 'positive';\n\n const rect = createRect({\n x: 0,\n y: 0,\n width: animationType === 'in' && direction === 'x' ? 0 : width,\n height: animationType === 'in' && direction === 'y' ? 0 : height,\n fill: true\n });\n let fromAttributes: Partial<IRectGraphicAttribute> = {};\n let toAttributes: Partial<IRectGraphicAttribute> = {};\n if (direction === 'y') {\n if (orient === 'negative') {\n fromAttributes = { y: height, height: 0 };\n toAttributes = { y: 0, height: height };\n } else {\n fromAttributes = { height: 0 };\n toAttributes = { height: height };\n }\n } else {\n if (orient === 'negative') {\n fromAttributes = { x: width, width: 0 };\n toAttributes = { x: 0, width: width };\n } else {\n fromAttributes = { width: 0 };\n toAttributes = { width: width };\n }\n }\n super(\n animationType === 'in' ? fromAttributes : toAttributes,\n animationType === 'in' ? toAttributes : fromAttributes,\n duration,\n easing,\n { group: params?.group, clipGraphic: rect }\n );\n }\n}\n\ntype RotateSphereParams =\n | {\n center: { x: number; y: number; z: number };\n r: number;\n }\n | (() => any);\n\nexport class RotateBySphereAnimate extends ACustomAnimate<any> {\n declare params: RotateSphereParams;\n declare theta: number;\n declare phi: number;\n\n onStart(): void {\n const { center, r } = typeof this.params === 'function' ? this.params() : this.params;\n const startX = this.target.getComputedAttribute('x');\n const startY = this.target.getComputedAttribute('y');\n const startZ = this.target.getComputedAttribute('z');\n const phi = Math.acos((startY - center.y) / r);\n let theta = Math.acos((startX - center.x) / r / Math.sin(phi));\n if (startZ - center.z < 0) {\n theta = pi2 - theta;\n }\n this.theta = theta;\n this.phi = phi;\n }\n\n onBind() {\n return;\n }\n\n onEnd() {\n return;\n }\n\n onUpdate(end: boolean, ratio: number, out: Record<string, any>): void {\n if (this.phi == null || this.theta == null) {\n return;\n }\n const { center, r } = typeof this.params === 'function' ? this.params() : this.params;\n const deltaAngle = Math.PI * 2 * ratio;\n const theta = this.theta + deltaAngle;\n const phi = this.phi;\n const x = r * Math.sin(phi) * Math.cos(theta) + center.x;\n const y = r * Math.cos(phi) + center.y;\n const z = r * Math.sin(phi) * Math.sin(theta) + center.z;\n out.x = x;\n out.y = y;\n out.z = z;\n // out.beta = phi;\n out.alpha = theta + pi / 2;\n while (out.alpha > pi2) {\n out.alpha -= pi2;\n }\n out.alpha = pi2 - out.alpha;\n\n out.zIndex = out.z * -10000;\n }\n}\n\nexport class GroupFadeIn extends ACustomAnimate<any> {\n declare target: IGroup;\n\n getEndProps(): Record<string, any> {\n return {};\n }\n\n onBind(): void {\n this.target.setTheme({\n common: {\n opacity: 0\n }\n });\n return;\n }\n\n onEnd(): void {\n this.target.setTheme({\n common: {\n opacity: 1\n }\n });\n return;\n }\n\n onUpdate(end: boolean, ratio: number, out: Record<string, any>): void {\n this.target.setTheme({\n common: {\n opacity: ratio\n }\n });\n }\n}\n\nexport class GroupFadeOut extends ACustomAnimate<any> {\n declare target: IGroup;\n\n getEndProps(): Record<string, any> {\n return {};\n }\n\n onBind(): void {\n this.target.setTheme({\n common: {\n opacity: 1\n }\n });\n return;\n }\n\n onEnd(): void {\n this.target.setTheme({\n common: {\n opacity: 0\n }\n });\n return;\n }\n\n onUpdate(end: boolean, ratio: number, out: Record<string, any>): void {\n this.target.setTheme({\n common: {\n opacity: 1 - ratio\n }\n });\n }\n}\n\nexport class AttributeAnimate extends ACustomAnimate<any> {\n declare target: IGroup;\n\n constructor(to: Record<string, any>, duration: number, easing: EasingType) {\n super({}, to, duration, easing);\n }\n\n getEndProps(): Record<string, any> {\n return this.to;\n }\n\n onBind(): void {\n Object.keys(this.to).forEach(k => {\n this.from[k] = this.target.getComputedAttribute(k);\n });\n return;\n }\n\n onEnd(): void {\n return;\n }\n\n onUpdate(end: boolean, ratio: number, out: Record<string, any>): void {\n this.target.stepInterpolate(\n this.subAnimate,\n this.subAnimate.animate,\n out,\n this.step,\n ratio,\n end,\n this.to,\n this.from\n );\n }\n}\n\nexport class AnimateGroup extends ACustomAnimate<any> {\n declare customAnimates: ACustomAnimate<any>[];\n declare updating: boolean;\n\n constructor(duration: number, customAnimates: ACustomAnimate<any>[]) {\n super(null, null, duration, 'linear');\n this.customAnimates = customAnimates;\n }\n\n initAnimates() {\n this.customAnimates.forEach(a => {\n a.step = this.step;\n a.subAnimate = this.subAnimate;\n a.target = this.target;\n });\n }\n\n getEndProps(): Record<string, any> {\n const props = {};\n this.customAnimates.forEach(a => {\n Object.assign(props, a.getEndProps());\n });\n return props;\n }\n\n onBind(): void {\n this.initAnimates();\n this.customAnimates.forEach(a => {\n a.onBind();\n });\n return;\n }\n\n onEnd(): void {\n this.customAnimates.forEach(a => {\n a.onEnd();\n });\n return;\n }\n\n onUpdate(end: boolean, ratio: number, out: Record<string, any>): void {\n if (this.updating) {\n return;\n }\n this.updating = true;\n this.customAnimates.forEach(a => {\n const easing = a.easing;\n const easingFunc = typeof easing === 'string' ? Easing[easing] : easing;\n ratio = easingFunc(ratio);\n a.onUpdate(end, ratio, out);\n });\n this.updating = false;\n return;\n }\n}\n\nexport class AnimateGroup1 extends ACustomAnimate<any> {\n declare customAnimates: ACustomAnimate<any>[];\n declare updating: boolean;\n\n constructor(duration: number, customAnimates: ACustomAnimate<any>[]) {\n super(null, null, duration, 'linear');\n this.customAnimates = customAnimates;\n }\n\n initAnimates() {\n this.customAnimates.forEach(a => {\n a.step = this.step;\n a.subAnimate = this.subAnimate;\n a.target = this.target;\n });\n }\n\n getEndProps(): Record<string, any> {\n const props = {};\n this.customAnimates.forEach(a => {\n Object.assign(props, a.getEndProps());\n });\n return props;\n }\n\n onBind(): void {\n this.initAnimates();\n this.customAnimates.forEach(a => {\n a.onBind();\n });\n return;\n }\n\n onEnd(): void {\n this.customAnimates.forEach(a => {\n a.onEnd();\n });\n return;\n }\n\n onUpdate(end: boolean, ratio: number, out: Record<string, any>): void {\n if (this.updating) {\n return;\n }\n this.updating = true;\n this.customAnimates.forEach(a => {\n const easing = a.easing;\n const easingFunc = typeof easing === 'string' ? Easing[easing] : easing;\n ratio = easingFunc(ratio);\n a.onUpdate(end, ratio, out);\n });\n this.updating = false;\n return;\n }\n}\n"]}
1
+ {"version":3,"sources":["../../src/animate/custom-animate.ts"],"names":[],"mappings":"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","file":"custom-animate.js","sourcesContent":["import { IPoint, IPointLike, isArray, isNumber, pi, pi2, Point } from '@visactor/vutils';\nimport { application } from '../application';\nimport { AttributeUpdateType } from '../common/enums';\nimport { CustomPath2D } from '../common/custom-path2d';\nimport {\n EasingType,\n IArcGraphicAttribute,\n IGraphic,\n IGroup,\n ILinearGradient,\n IRect,\n IRectAttribute,\n IRectGraphicAttribute,\n IShadowRoot\n} from '../interface';\nimport { ACustomAnimate } from './animate';\nimport { Easing } from './easing';\nimport { pointInterpolation } from '../common/utils';\n\nexport class IncreaseCount extends ACustomAnimate<{ text: string | number }> {\n declare valid: boolean;\n\n private fromNumber: number;\n private toNumber: number;\n\n constructor(\n from: { text: string | number },\n to: { text: string | number },\n duration: number,\n easing: EasingType,\n params?: { fixed?: boolean }\n ) {\n super(from, to, duration, easing, params);\n }\n\n getEndProps(): Record<string, any> | void {\n if (this.valid === false) {\n return {};\n }\n return {\n text: this.to\n };\n }\n\n onBind(): void {\n this.fromNumber = isNumber(this.from?.text) ? this.from?.text : Number.parseFloat(this.from?.text);\n this.toNumber = isNumber(this.to?.text) ? this.to?.text : Number.parseFloat(this.to?.text);\n if (!Number.isFinite(this.toNumber)) {\n this.fromNumber = 0;\n }\n if (!Number.isFinite(this.toNumber)) {\n this.valid = false;\n }\n }\n\n onEnd(): void {\n return;\n }\n\n onUpdate(end: boolean, ratio: number, out: Record<string, any>): void {\n if (this.valid === false) {\n return;\n }\n if (end) {\n out.text = this.toNumber.toFixed();\n } else {\n out.text = (this.fromNumber + (this.toNumber - this.fromNumber) * ratio).toFixed(this.params?.fixed ?? 0);\n }\n }\n}\n\nenum Direction {\n LEFT_TO_RIGHT = 0,\n RIGHT_TO_LEFT = 1,\n TOP_TO_BOTTOM = 2,\n BOTTOM_TO_TOP = 3,\n STROKE = 4\n}\nexport class FadeInPlus extends ACustomAnimate<any> {\n declare direction: number;\n declare toFill: string;\n declare toStroke: string;\n declare fillGradient: ILinearGradient;\n declare strokeGradient: ILinearGradient;\n declare fill: boolean;\n declare stroke: boolean;\n constructor(\n from: any,\n to: any,\n duration: number,\n easing: EasingType,\n params?: { direction?: number; fill?: boolean; stroke?: boolean }\n ) {\n super(from, to, duration, easing, params);\n const { direction = Direction.LEFT_TO_RIGHT, fill = true, stroke = true } = params || {};\n this.direction = direction;\n this.fill = fill;\n this.stroke = stroke;\n this.fillGradient = {\n gradient: 'linear',\n stops: []\n };\n this.strokeGradient = {\n gradient: 'linear',\n stops: []\n };\n }\n\n getEndProps(): Record<string, any> {\n return {\n fill: this.toFill,\n stroke: this.toStroke\n };\n }\n\n onBind(): void {\n // this.to = parseFloat(this.target.getAnimatePropByName('text'));\n this.toFill = this.target.getComputedAttribute('fill');\n this.toStroke = this.target.getComputedAttribute('stroke');\n }\n\n onEnd(): void {\n return;\n }\n\n onUpdate(end: boolean, ratio: number, out: Record<string, any>): void {\n switch (this.direction) {\n case Direction.RIGHT_TO_LEFT:\n this.rightToLeft(end, ratio, out);\n break;\n case Direction.TOP_TO_BOTTOM:\n this.topToBottom(end, ratio, out);\n break;\n case Direction.BOTTOM_TO_TOP:\n this.bottomToTop(end, ratio, out);\n break;\n case Direction.STROKE:\n this.strokePath(end, ratio, out);\n break;\n default:\n this.leftToRight(end, ratio, out);\n break;\n }\n }\n\n leftToRight(end: boolean, ratio: number, out: Record<string, any>) {\n if (this.fill) {\n const toFillColor = this.toFill;\n this.fillGradient.x0 = 0;\n this.fillGradient.y0 = 0;\n this.fillGradient.x1 = 1;\n this.fillGradient.y1 = 0;\n this.fillGradient.stops = [\n { offset: 0, color: toFillColor },\n { offset: ratio, color: toFillColor },\n { offset: Math.min(1, ratio * 2), color: 'transparent' }\n ];\n out.fill = this.fillGradient;\n }\n if (this.stroke) {\n const toStrokeColor = this.toStroke;\n this.strokeGradient.x0 = 0;\n this.strokeGradient.y0 = 0;\n this.strokeGradient.x1 = 1;\n this.strokeGradient.y1 = 0;\n this.strokeGradient.stops = [\n { offset: 0, color: toStrokeColor },\n { offset: ratio, color: toStrokeColor },\n { offset: Math.min(1, ratio * 6), color: 'transparent' }\n ];\n out.stroke = this.strokeGradient;\n // const dashLen = 300;\n // const offset = ratio * dashLen;\n // out.lineDash = [offset, dashLen - offset];\n }\n return;\n }\n\n strokePath(end: boolean, ratio: number, out: Record<string, any>) {\n if (this.fill) {\n const toFillColor = this.toFill;\n this.fillGradient.x0 = 0;\n this.fillGradient.y0 = 0;\n this.fillGradient.x1 = 1;\n this.fillGradient.y1 = 0;\n this.fillGradient.stops = [\n { offset: 0, color: toFillColor },\n { offset: ratio, color: toFillColor },\n { offset: Math.min(1, ratio * 2), color: 'transparent' }\n ];\n out.fill = this.fillGradient;\n }\n if (this.stroke) {\n const dashLen = 300;\n const offset = ratio * dashLen;\n out.lineDash = [offset, dashLen - offset];\n }\n return;\n }\n rightToLeft(end: boolean, ratio: number, out: Record<string, any>) {\n return;\n }\n topToBottom(end: boolean, ratio: number, out: Record<string, any>) {\n return;\n }\n bottomToTop(end: boolean, ratio: number, out: Record<string, any>) {\n return;\n }\n}\n\nexport class InputText extends ACustomAnimate<{ text: string }> {\n declare valid: boolean;\n declare target: IGraphic;\n\n private fromText: string = '';\n private toText: string = '';\n\n getEndProps(): Record<string, any> {\n if (this.valid === false) {\n return {};\n }\n return {\n text: this.to\n };\n }\n\n onBind(): void {\n this.fromText = this.from?.text ?? '';\n this.toText = this.to?.text ?? '';\n if (!this.toText || isArray(this.toText)) {\n this.valid = false;\n } else {\n this.toText = this.toText.toString();\n const root = this.target.attachShadow();\n const line = application.graphicService.creator.line({\n x: 0,\n y: 0,\n points: [\n { x: 0, y: 0 },\n { x: 0, y: this.target.getComputedAttribute('fontSize') }\n ],\n stroke: 'black',\n lineWidth: 1\n });\n root.add(line);\n }\n }\n\n onEnd(): void {\n this.target.detachShadow();\n return;\n }\n\n onUpdate(end: boolean, ratio: number, out: Record<string, any>): void {\n if (this.valid === false) {\n return;\n }\n // update text\n const fromCount = this.fromText.length;\n const toCount = this.toText.length;\n const count = Math.ceil(fromCount + (toCount - fromCount) * ratio);\n\n out.text = this.toText.substr(0, count);\n\n // update line position\n const line = this.target.shadowRoot?.at(0) as IGraphic;\n const endX = (this.target as any).clipedWidth + 2;\n line.setAttribute('x', endX);\n }\n}\n\nexport class StreamLight extends ACustomAnimate<any> {\n declare valid: boolean;\n declare target: IGraphic;\n\n declare rect: IRect;\n constructor(\n from: any,\n to: any,\n duration: number,\n easing: EasingType,\n params?: { attribute?: Partial<IRectAttribute>; streamLength?: number }\n ) {\n super(from, to, duration, easing, params);\n }\n\n getEndProps(): Record<string, any> {\n return {};\n }\n\n onStart(): void {\n const root = this.target.attachShadow();\n\n const height = this.target.AABBBounds.height();\n\n const rect = application.graphicService.creator.rect({\n height: height,\n fill: '#bcdeff',\n shadowBlur: 30,\n shadowColor: '#bcdeff',\n ...this.params?.attribute,\n x: 0,\n y: 0,\n width: 0\n });\n this.rect = rect;\n root.add(rect);\n }\n\n onBind(): void {\n return;\n }\n\n onEnd(): void {\n this.target.detachShadow();\n }\n\n onUpdate(end: boolean, ratio: number, out: Record<string, any>): void {\n const parentWidth = (this.target as any).attribute.width ?? 250;\n const streamLength = this.params?.streamLength ?? parentWidth;\n const maxLength = this.params?.attribute?.width ?? 60;\n const startX = -maxLength;\n const currentX = startX + (streamLength - startX) * ratio;\n const x = Math.max(currentX, 0);\n const w = Math.min(Math.min(currentX + maxLength, maxLength), streamLength - currentX);\n const width = w + x > parentWidth ? Math.max(parentWidth - x, 0) : w;\n this.rect.setAttributes(\n {\n x,\n width\n } as any,\n false,\n {\n type: AttributeUpdateType.ANIMATE_PLAY,\n animationState: {\n ratio,\n end\n }\n }\n );\n }\n}\n\nexport class Meteor extends ACustomAnimate<any> {\n declare size: number;\n declare target: IGraphic;\n declare root: IShadowRoot;\n declare posList: IPoint[];\n\n get lastPos(): IPoint {\n return this.posList[this.posList.length - 1];\n }\n\n constructor(size: number, duration: number, easing: EasingType, params?: any) {\n super(null, null, duration, easing, params);\n this.size = size;\n this.posList = [];\n }\n\n onBind(): void {\n const root = this.target.attachShadow();\n this.root = root;\n for (let i = 0; i < this.size; i++) {\n const g = this.target.clone();\n const scale = Math.min(((this.size - i) / this.size) * 3, 1);\n const opacity = Math.min(0.2 + 0.7 / this.size);\n g.setAttributes({ x: 0, y: 0, dx: 0, dy: 0, scaleX: scale, scaleY: scale, opacity }, false, {\n type: AttributeUpdateType.ANIMATE_BIND\n });\n root.add(g);\n }\n }\n\n onUpdate(end: boolean, ratio: number, out: Record<string, any>): void {\n if (end) {\n this.target.detachShadow();\n this.posList.length = 0;\n return;\n }\n\n const x = this.target.getComputedAttribute('x');\n const y = this.target.getComputedAttribute('y');\n\n const nextPos = new Point(x, y);\n if (!this.posList.length) {\n this.posList.push(nextPos);\n return;\n }\n\n this.target.shadowRoot.forEachChildren((g: IGraphic, i) => {\n const pos = this.posList[Math.max(this.posList.length - i - 1, 0)];\n g.setAttributes(\n {\n x: pos.x - x,\n y: pos.y - y\n },\n false\n );\n });\n\n this.posList.push(nextPos);\n }\n}\n\nexport class MotionPath extends ACustomAnimate<any> {\n declare valid: boolean;\n declare pathLength: number;\n declare path: CustomPath2D;\n declare distance: number;\n declare initAngle: number;\n declare changeAngle: boolean;\n declare cb?: (from: any, to: any, ratio: number, target: IGraphic) => void;\n constructor(\n from: any,\n to: any,\n duration: number,\n easing: EasingType,\n params?: {\n path: CustomPath2D;\n distance: number;\n cb?: (from: any, to: any, ratio: number, target: IGraphic) => void;\n initAngle?: number;\n changeAngle?: boolean;\n }\n ) {\n super(from, to, duration, easing, params);\n if (params) {\n this.pathLength = params.path.getLength();\n this.path = params.path;\n this.distance = params.distance;\n this.to = params.distance * this.pathLength;\n this.initAngle = params.initAngle ?? 0;\n this.changeAngle = !!params.changeAngle;\n this.cb = params.cb;\n }\n }\n\n onUpdate(end: boolean, ratio: number, out: Record<string, any>): void {\n // 计算位置\n const at = this.to * ratio;\n const { pos, angle } = this.path.getAttrAt(at);\n out.x = pos.x;\n out.y = pos.y;\n if (this.changeAngle) {\n out.angle = angle + this.initAngle;\n }\n this.cb && this.cb(this.from, this.to, ratio, this.target as IGraphic);\n // out.angle = angle + this.initAngle;\n }\n}\n\nexport class TagPointsUpdate extends ACustomAnimate<{ points: IPointLike[] }> {\n protected fromPoints: IPointLike[];\n protected toPoints: IPointLike[];\n protected points: IPointLike[];\n protected interpolatePoints: [IPointLike, IPointLike][];\n protected newPointAnimateType: 'grow' | 'appear';\n\n constructor(\n from: any,\n to: any,\n duration: number,\n easing: EasingType,\n params?: { newPointAnimateType?: 'grow' | 'appear' }\n ) {\n super(from, to, duration, easing, params);\n this.newPointAnimateType = params?.newPointAnimateType === 'appear' ? 'appear' : 'grow';\n }\n\n onBind(): void {\n const originFromPoints = this.from?.points;\n const originToPoints = this.to?.points;\n this.fromPoints = !originFromPoints ? [] : !Array.isArray(originFromPoints) ? [originFromPoints] : originFromPoints;\n this.toPoints = !originToPoints ? [] : !Array.isArray(originToPoints) ? [originToPoints] : originToPoints;\n\n const tagMap = new Map<string, IPointLike>();\n this.fromPoints.forEach(point => {\n if (point.context) {\n tagMap.set(point.context, point);\n }\n });\n let firstMatchedIndex = Infinity;\n let lastMatchedIndex = -Infinity;\n let firstMatchedPoint: IPointLike;\n let lastMatchedPoint: IPointLike;\n for (let i = 0; i < this.toPoints.length; i += 1) {\n if (tagMap.has(this.toPoints[i].context)) {\n firstMatchedIndex = i;\n firstMatchedPoint = tagMap.get(this.toPoints[i].context);\n break;\n }\n }\n for (let i = this.toPoints.length - 1; i >= 0; i -= 1) {\n if (tagMap.has(this.toPoints[i].context)) {\n lastMatchedIndex = i;\n lastMatchedPoint = tagMap.get(this.toPoints[i].context);\n break;\n }\n }\n // TODO: shrink removed points\n // if no point is matched, animation should start from toPoint[0]\n let prevMatchedPoint = this.toPoints[0];\n this.interpolatePoints = this.toPoints.map((point, index) => {\n const matchedPoint = tagMap.get(point.context);\n if (matchedPoint) {\n prevMatchedPoint = matchedPoint;\n return [matchedPoint, point];\n }\n // appear new point\n if (this.newPointAnimateType === 'appear') {\n return [point, point];\n }\n // grow new point\n if (index < firstMatchedIndex && firstMatchedPoint) {\n return [firstMatchedPoint, point];\n } else if (index > lastMatchedIndex && lastMatchedPoint) {\n return [lastMatchedPoint, point];\n }\n return [prevMatchedPoint, point];\n });\n this.points = this.interpolatePoints.map(interpolate => {\n const fromPoint = interpolate[0];\n const toPoint = interpolate[1];\n const newPoint = new Point(fromPoint.x, fromPoint.y, fromPoint.x1, fromPoint.y1);\n newPoint.defined = toPoint.defined;\n newPoint.context = toPoint.context;\n return newPoint;\n });\n }\n\n onUpdate(end: boolean, ratio: number, out: Record<string, any>): void {\n // if not create new points, multi points animation might not work well.\n this.points = this.points.map((point, index) => {\n const newPoint = pointInterpolation(this.interpolatePoints[index][0], this.interpolatePoints[index][1], ratio);\n newPoint.context = point.context;\n return newPoint;\n });\n out.points = this.points;\n }\n}\n\nexport class GraphicAnimate extends ACustomAnimate<any> {\n graphic: IGraphic;\n\n constructor(from: any, to: any, duration: number, easing: EasingType, params?: { graphic: IGraphic }) {\n super(from, to, duration, easing, params);\n this.graphic = params?.graphic;\n }\n\n onUpdate(end: boolean, ratio: number, out: Record<string, any>): void {\n if (!this.graphic) {\n return;\n }\n Object.keys(this.from).forEach(k => {\n out[k] = this.from[k] + (this.to[k] - this.from[k]) * ratio;\n });\n }\n}\n\nexport class ClipGraphicAnimate extends ACustomAnimate<any> {\n private _group?: IGroup;\n private _clipGraphic?: IGraphic;\n protected clipFromAttribute?: any;\n protected clipToAttribute?: any;\n\n private _lastClip?: boolean;\n private _lastPath?: IGraphic[];\n\n constructor(\n from: any,\n to: any,\n duration: number,\n easing: EasingType,\n params: { group: IGroup; clipGraphic: IGraphic }\n ) {\n super(null, null, duration, easing, params);\n this.clipFromAttribute = from;\n this.clipToAttribute = to;\n this._group = params?.group;\n this._clipGraphic = params?.clipGraphic;\n }\n\n onBind() {\n if (this._group && this._clipGraphic) {\n this._lastClip = this._group.attribute.clip;\n this._lastPath = this._group.attribute.path;\n this._group.setAttributes(\n {\n clip: true,\n path: [this._clipGraphic]\n },\n false,\n { type: AttributeUpdateType.ANIMATE_BIND }\n );\n }\n }\n\n onEnd() {\n if (this._group) {\n this._group.setAttributes(\n {\n clip: this._lastClip,\n path: this._lastPath\n },\n false,\n { type: AttributeUpdateType.ANIMATE_END }\n );\n }\n return;\n }\n\n onUpdate(end: boolean, ratio: number, out: Record<string, any>): void {\n if (!this._clipGraphic) {\n return;\n }\n const res: any = {};\n Object.keys(this.clipFromAttribute).forEach(k => {\n res[k] = this.clipFromAttribute[k] + (this.clipToAttribute[k] - this.clipFromAttribute[k]) * ratio;\n });\n this._clipGraphic.setAttributes(res, false, {\n type: AttributeUpdateType.ANIMATE_UPDATE,\n animationState: { ratio, end }\n });\n }\n}\n\nexport class ClipAngleAnimate extends ClipGraphicAnimate {\n constructor(\n from: any,\n to: any,\n duration: number,\n easing: EasingType,\n params: {\n group: IGroup;\n center?: { x: number; y: number };\n startAngle?: number;\n radius?: number;\n orient?: 'clockwise' | 'anticlockwise';\n animationType?: 'in' | 'out';\n }\n ) {\n const groupAttribute = params?.group?.attribute ?? {};\n const width = groupAttribute.width ?? 0;\n const height = groupAttribute.height ?? 0;\n\n const animationType = params?.animationType ?? 'in';\n const startAngle = params?.startAngle ?? 0;\n const orient = params?.orient ?? 'clockwise';\n\n let arcStartAngle = 0;\n let arcEndAngle = 0;\n if (orient === 'anticlockwise') {\n arcEndAngle = animationType === 'in' ? startAngle + Math.PI * 2 : startAngle;\n arcEndAngle = startAngle + Math.PI * 2;\n } else {\n arcStartAngle = startAngle;\n arcEndAngle = animationType === 'out' ? startAngle + Math.PI * 2 : startAngle;\n }\n const arc = application.graphicService.creator.arc({\n x: params?.center?.x ?? width / 2,\n y: params?.center?.y ?? height / 2,\n outerRadius: params?.radius ?? (width + height) / 2,\n innerRadius: 0,\n startAngle: arcStartAngle,\n endAngle: arcEndAngle,\n fill: true\n });\n let fromAttributes: Partial<IArcGraphicAttribute>;\n let toAttributes: Partial<IArcGraphicAttribute>;\n if (orient === 'anticlockwise') {\n fromAttributes = { startAngle: startAngle + Math.PI * 2 };\n toAttributes = { startAngle: startAngle };\n } else {\n fromAttributes = { endAngle: startAngle };\n toAttributes = { endAngle: startAngle + Math.PI * 2 };\n }\n super(\n animationType === 'in' ? fromAttributes : toAttributes,\n animationType === 'in' ? toAttributes : fromAttributes,\n duration,\n easing,\n { group: params?.group, clipGraphic: arc }\n );\n }\n}\n\nexport class ClipRadiusAnimate extends ClipGraphicAnimate {\n constructor(\n from: any,\n to: any,\n duration: number,\n easing: EasingType,\n params: {\n group: IGroup;\n center?: { x: number; y: number };\n startRadius?: number;\n endRadius?: number;\n animationType?: 'in' | 'out';\n }\n ) {\n const groupAttribute = params?.group?.attribute ?? {};\n const width = groupAttribute.width ?? 0;\n const height = groupAttribute.height ?? 0;\n\n const animationType = params?.animationType ?? 'in';\n const startRadius = params?.startRadius ?? 0;\n const endRadius = params?.endRadius ?? Math.sqrt((width / 2) ** 2 + (height / 2) ** 2);\n\n const arc = application.graphicService.creator.arc({\n x: params?.center?.x ?? width / 2,\n y: params?.center?.y ?? height / 2,\n outerRadius: animationType === 'out' ? endRadius : startRadius,\n innerRadius: 0,\n startAngle: 0,\n endAngle: Math.PI * 2,\n fill: true\n });\n const fromAttributes: Partial<IArcGraphicAttribute> = { outerRadius: startRadius };\n const toAttributes: Partial<IArcGraphicAttribute> = { outerRadius: endRadius };\n super(\n animationType === 'in' ? fromAttributes : toAttributes,\n animationType === 'in' ? toAttributes : fromAttributes,\n duration,\n easing,\n { group: params?.group, clipGraphic: arc }\n );\n }\n}\n\nexport class ClipDirectionAnimate extends ClipGraphicAnimate {\n constructor(\n from: any,\n to: any,\n duration: number,\n easing: EasingType,\n params: {\n group: IGroup;\n direction?: 'x' | 'y';\n orient?: 'positive' | 'negative';\n width?: number;\n height?: number;\n animationType?: 'in' | 'out';\n }\n ) {\n const groupAttribute = params?.group?.attribute ?? {};\n const width = params?.width ?? groupAttribute.width ?? 0;\n const height = params?.height ?? groupAttribute.height ?? 0;\n\n const animationType = params?.animationType ?? 'in';\n const direction = params?.direction ?? 'x';\n const orient = params?.orient ?? 'positive';\n\n const rect = application.graphicService.creator.rect({\n x: 0,\n y: 0,\n width: animationType === 'in' && direction === 'x' ? 0 : width,\n height: animationType === 'in' && direction === 'y' ? 0 : height,\n fill: true\n });\n let fromAttributes: Partial<IRectGraphicAttribute> = {};\n let toAttributes: Partial<IRectGraphicAttribute> = {};\n if (direction === 'y') {\n if (orient === 'negative') {\n fromAttributes = { y: height, height: 0 };\n toAttributes = { y: 0, height: height };\n } else {\n fromAttributes = { height: 0 };\n toAttributes = { height: height };\n }\n } else {\n if (orient === 'negative') {\n fromAttributes = { x: width, width: 0 };\n toAttributes = { x: 0, width: width };\n } else {\n fromAttributes = { width: 0 };\n toAttributes = { width: width };\n }\n }\n super(\n animationType === 'in' ? fromAttributes : toAttributes,\n animationType === 'in' ? toAttributes : fromAttributes,\n duration,\n easing,\n { group: params?.group, clipGraphic: rect }\n );\n }\n}\n\ntype RotateSphereParams =\n | {\n center: { x: number; y: number; z: number };\n r: number;\n }\n | (() => any);\n\nexport class RotateBySphereAnimate extends ACustomAnimate<any> {\n declare params: RotateSphereParams;\n declare theta: number;\n declare phi: number;\n\n onStart(): void {\n const { center, r } = typeof this.params === 'function' ? this.params() : this.params;\n const startX = this.target.getComputedAttribute('x');\n const startY = this.target.getComputedAttribute('y');\n const startZ = this.target.getComputedAttribute('z');\n const phi = Math.acos((startY - center.y) / r);\n let theta = Math.acos((startX - center.x) / r / Math.sin(phi));\n if (startZ - center.z < 0) {\n theta = pi2 - theta;\n }\n this.theta = theta;\n this.phi = phi;\n }\n\n onBind() {\n return;\n }\n\n onEnd() {\n return;\n }\n\n onUpdate(end: boolean, ratio: number, out: Record<string, any>): void {\n if (this.phi == null || this.theta == null) {\n return;\n }\n const { center, r } = typeof this.params === 'function' ? this.params() : this.params;\n const deltaAngle = Math.PI * 2 * ratio;\n const theta = this.theta + deltaAngle;\n const phi = this.phi;\n const x = r * Math.sin(phi) * Math.cos(theta) + center.x;\n const y = r * Math.cos(phi) + center.y;\n const z = r * Math.sin(phi) * Math.sin(theta) + center.z;\n out.x = x;\n out.y = y;\n out.z = z;\n // out.beta = phi;\n out.alpha = theta + pi / 2;\n while (out.alpha > pi2) {\n out.alpha -= pi2;\n }\n out.alpha = pi2 - out.alpha;\n\n out.zIndex = out.z * -10000;\n }\n}\n\nexport class GroupFadeIn extends ACustomAnimate<any> {\n declare target: IGroup;\n\n getEndProps(): Record<string, any> {\n return {};\n }\n\n onBind(): void {\n this.target.setTheme({\n common: {\n opacity: 0\n }\n });\n return;\n }\n\n onEnd(): void {\n this.target.setTheme({\n common: {\n opacity: 1\n }\n });\n return;\n }\n\n onUpdate(end: boolean, ratio: number, out: Record<string, any>): void {\n this.target.setTheme({\n common: {\n opacity: ratio\n }\n });\n }\n}\n\nexport class GroupFadeOut extends ACustomAnimate<any> {\n declare target: IGroup;\n\n getEndProps(): Record<string, any> {\n return {};\n }\n\n onBind(): void {\n this.target.setTheme({\n common: {\n opacity: 1\n }\n });\n return;\n }\n\n onEnd(): void {\n this.target.setTheme({\n common: {\n opacity: 0\n }\n });\n return;\n }\n\n onUpdate(end: boolean, ratio: number, out: Record<string, any>): void {\n this.target.setTheme({\n common: {\n opacity: 1 - ratio\n }\n });\n }\n}\n\nexport class AttributeAnimate extends ACustomAnimate<any> {\n declare target: IGroup;\n\n constructor(to: Record<string, any>, duration: number, easing: EasingType) {\n super({}, to, duration, easing);\n }\n\n getEndProps(): Record<string, any> {\n return this.to;\n }\n\n onBind(): void {\n Object.keys(this.to).forEach(k => {\n this.from[k] = this.target.getComputedAttribute(k);\n });\n return;\n }\n\n onEnd(): void {\n return;\n }\n\n onUpdate(end: boolean, ratio: number, out: Record<string, any>): void {\n this.target.stepInterpolate(\n this.subAnimate,\n this.subAnimate.animate,\n out,\n this.step,\n ratio,\n end,\n this.to,\n this.from\n );\n }\n}\n\nexport class AnimateGroup extends ACustomAnimate<any> {\n declare customAnimates: ACustomAnimate<any>[];\n declare updating: boolean;\n\n constructor(duration: number, customAnimates: ACustomAnimate<any>[]) {\n super(null, null, duration, 'linear');\n this.customAnimates = customAnimates;\n }\n\n initAnimates() {\n this.customAnimates.forEach(a => {\n a.step = this.step;\n a.subAnimate = this.subAnimate;\n a.target = this.target;\n });\n }\n\n getEndProps(): Record<string, any> {\n const props = {};\n this.customAnimates.forEach(a => {\n Object.assign(props, a.getEndProps());\n });\n return props;\n }\n\n onBind(): void {\n this.initAnimates();\n this.customAnimates.forEach(a => {\n a.onBind();\n });\n return;\n }\n\n onEnd(): void {\n this.customAnimates.forEach(a => {\n a.onEnd();\n });\n return;\n }\n\n onUpdate(end: boolean, ratio: number, out: Record<string, any>): void {\n if (this.updating) {\n return;\n }\n this.updating = true;\n this.customAnimates.forEach(a => {\n const easing = a.easing;\n const easingFunc = typeof easing === 'string' ? Easing[easing] : easing;\n ratio = easingFunc(ratio);\n a.onUpdate(end, ratio, out);\n });\n this.updating = false;\n return;\n }\n}\n\nexport class AnimateGroup1 extends ACustomAnimate<any> {\n declare customAnimates: ACustomAnimate<any>[];\n declare updating: boolean;\n\n constructor(duration: number, customAnimates: ACustomAnimate<any>[]) {\n super(null, null, duration, 'linear');\n this.customAnimates = customAnimates;\n }\n\n initAnimates() {\n this.customAnimates.forEach(a => {\n a.step = this.step;\n a.subAnimate = this.subAnimate;\n a.target = this.target;\n });\n }\n\n getEndProps(): Record<string, any> {\n const props = {};\n this.customAnimates.forEach(a => {\n Object.assign(props, a.getEndProps());\n });\n return props;\n }\n\n onBind(): void {\n this.initAnimates();\n this.customAnimates.forEach(a => {\n a.onBind();\n });\n return;\n }\n\n onEnd(): void {\n this.customAnimates.forEach(a => {\n a.onEnd();\n });\n return;\n }\n\n onUpdate(end: boolean, ratio: number, out: Record<string, any>): void {\n if (this.updating) {\n return;\n }\n this.updating = true;\n this.customAnimates.forEach(a => {\n const easing = a.easing;\n const easingFunc = typeof easing === 'string' ? Easing[easing] : easing;\n ratio = easingFunc(ratio);\n a.onUpdate(end, ratio, out);\n });\n this.updating = false;\n return;\n }\n}\n"]}
@@ -0,0 +1,2 @@
1
+ import { DefaultTicker } from './Ticker/default-ticker';
2
+ export declare const defaultTicker: DefaultTicker;
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: !0
5
+ }), exports.defaultTicker = void 0;
6
+
7
+ const default_ticker_1 = require("./Ticker/default-ticker"), timeline_1 = require("./timeline");
8
+
9
+ exports.defaultTicker = new default_ticker_1.DefaultTicker, exports.defaultTicker.addTimeline(timeline_1.defaultTimeline);
10
+
11
+ const DEFAULT_TICKER_FPS = 60;
12
+
13
+ exports.defaultTicker.setFPS(60);
14
+ //# sourceMappingURL=default-ticker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/animate/default-ticker.ts"],"names":[],"mappings":";;;AAAA,4DAAwD;AACxD,yCAA6C;AAEhC,QAAA,aAAa,GAAG,IAAI,8BAAa,EAAE,CAAC;AACjD,qBAAa,CAAC,WAAW,CAAC,0BAAe,CAAC,CAAC;AAC3C,MAAM,kBAAkB,GAAG,EAAE,CAAC;AAC9B,qBAAa,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC","file":"default-ticker.js","sourcesContent":["import { DefaultTicker } from './Ticker/default-ticker';\nimport { defaultTimeline } from './timeline';\n\nexport const defaultTicker = new DefaultTicker();\ndefaultTicker.addTimeline(defaultTimeline);\nconst DEFAULT_TICKER_FPS = 60;\ndefaultTicker.setFPS(DEFAULT_TICKER_FPS);\n"]}
@@ -1,5 +1,5 @@
1
1
  import { IGraphic, MorphingAnimateConfig, EasingType, MultiMorphingAnimateConfig, IGraphicAttribute } from './../interface';
2
- import { CustomPath2D } from '../common/path';
2
+ import { CustomPath2D } from '../common/custom-path2d';
3
3
  import { ACustomAnimate } from './animate';
4
4
  import { IMatrix } from '@visactor/vutils';
5
5
  interface MorphingDataItem {
@@ -4,9 +4,9 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: !0
5
5
  }), exports.multiToOneMorph = exports.splitGraphic = exports.cloneGraphic = exports.MultiToOneMorphingPath = exports.oneToMultiMorph = exports.morphPath = exports.MorphingPath = void 0;
6
6
 
7
- const split_path_1 = require("./../common/split-path"), path_1 = require("../common/path"), animate_1 = require("./animate"), morphing_utils_1 = require("../common/morphing-utils"), graphic_creator_1 = require("../graphic/graphic-creator"), vutils_1 = require("@visactor/vutils"), interpolate_1 = require("../color-string/interpolate"), color_string_1 = require("../color-string"), config_1 = require("./config"), utils_1 = require("../common/utils"), enums_1 = require("../common/enums"), interpolateOtherAttrs = (attrs, out, ratio) => {
7
+ const split_path_1 = require("./../common/split-path"), custom_path2d_1 = require("../common/custom-path2d"), animate_1 = require("./animate"), morphing_utils_1 = require("../common/morphing-utils"), application_1 = require("../application"), vutils_1 = require("@visactor/vutils"), interpolate_1 = require("../color-string/interpolate"), color_string_1 = require("../color-string"), config_1 = require("./config"), utils_1 = require("../common/utils"), enums_1 = require("../common/enums"), interpolateOtherAttrs = (attrs, out, ratio) => {
8
8
  attrs.forEach((entry => {
9
- if (Number.isFinite(entry.to)) out[entry.key] = entry.from + (entry.to - entry.from) * ratio; else if ("fillColor" === entry.key || "strokeColor" === entry.key) {
9
+ if (Number.isFinite(entry.to)) out[entry.key] = entry.from + (entry.to - entry.from) * ratio; else if ("fill" === entry.key || "stroke" === entry.key) {
10
10
  const color = (0, interpolate_1.interpolateColor)(entry.from, entry.to, ratio, !1);
11
11
  color && (out[entry.key] = color);
12
12
  }
@@ -42,14 +42,14 @@ const split_path_1 = require("./../common/split-path"), path_1 = require("../com
42
42
  toCp: [ 0, 0 ],
43
43
  rotation: 0
44
44
  })));
45
- }, validateOtherAttrs = [ "fillColor", "fillOpacity", "shadowBlur", "shadowColor", "shadowOffsetX", "shadowOffsetY", "strokeColor", "strokeOpacity", "lineDashOffset" ], parseOtherAnimateAttrs = (fromAttrs, toAttrs) => {
45
+ }, validateOtherAttrs = [ "fill", "fillOpacity", "shadowBlur", "shadowColor", "shadowOffsetX", "shadowOffsetY", "stroke", "strokeOpacity", "lineDashOffset" ], parseOtherAnimateAttrs = (fromAttrs, toAttrs) => {
46
46
  if (!fromAttrs || !toAttrs) return null;
47
47
  const res = [];
48
48
  let hasAttr = !1;
49
49
  return Object.keys(fromAttrs).forEach((fromKey => {
50
50
  if (!validateOtherAttrs.includes(fromKey)) return;
51
51
  const toValue = toAttrs[fromKey];
52
- (0, vutils_1.isNil)(toValue) || (0, vutils_1.isNil)(fromAttrs[fromKey]) || toValue === fromAttrs[fromKey] || ("fillColor" === fromKey || "strokeColor" === fromKey ? res.push({
52
+ (0, vutils_1.isNil)(toValue) || (0, vutils_1.isNil)(fromAttrs[fromKey]) || toValue === fromAttrs[fromKey] || ("fill" === fromKey || "stroke" === fromKey ? res.push({
53
53
  from: "string" == typeof fromAttrs[fromKey] ? color_string_1.ColorStore.Get(fromAttrs[fromKey], color_string_1.ColorType.Color255) : fromAttrs[fromKey],
54
54
  to: "string" == typeof toValue ? color_string_1.ColorStore.Get(toValue, color_string_1.ColorType.Color255) : toValue,
55
55
  key: fromKey
@@ -162,8 +162,7 @@ const parseShadowChildAttrs = graphicAttrs => {
162
162
  const attrs = {};
163
163
  return Object.keys(graphicAttrs).forEach((key => {
164
164
  (0, utils_1.isTransformKey)(key) || (attrs[key] = graphicAttrs[key]);
165
- })), null == attrs.fill && (attrs.fill = !!attrs.fillColor), null == attrs.stroke && (attrs.stroke = !!attrs.strokeColor),
166
- attrs;
165
+ })), attrs;
167
166
  }, appendShadowChildrenToGraphic = (graphic, children, count) => {
168
167
  const childAttrs = parseShadowChildAttrs(graphic.attribute), shadowRoot = graphic.attachShadow();
169
168
  if (children.length) shadowRoot.setTheme({
@@ -175,7 +174,7 @@ const parseShadowChildAttrs = graphicAttrs => {
175
174
  shadowRoot.setTheme({
176
175
  rect: childAttrs
177
176
  }), new Array(count).fill(0).forEach((el => {
178
- const child = (0, graphic_creator_1.createRect)({
177
+ const child = application_1.application.graphicService.creator.rect({
179
178
  x: 0,
180
179
  y: 0,
181
180
  width: width,
@@ -188,9 +187,9 @@ const parseShadowChildAttrs = graphicAttrs => {
188
187
  const children = [], childAttrs = needAppend ? null : parseShadowChildAttrs(graphic.attribute), path = graphic.toCustomPath();
189
188
  for (let i = 0; i < count; i++) {
190
189
  const element = {
191
- path: (new path_1.CustomPath2D).fromCustomPath2D(path)
190
+ path: (new custom_path2d_1.CustomPath2D).fromCustomPath2D(path)
192
191
  };
193
- children.push((0, graphic_creator_1.createPath)(needAppend ? element : Object.assign({}, childAttrs, element)));
192
+ children.push(application_1.application.graphicService.creator.path(needAppend ? element : Object.assign({}, childAttrs, element)));
194
193
  }
195
194
  return needAppend && appendShadowChildrenToGraphic(graphic, children, count), children;
196
195
  };
@@ -201,15 +200,15 @@ const splitGraphic = (graphic, count, needAppend) => {
201
200
  const children = [], childAttrs = needAppend ? null : parseShadowChildAttrs(graphic.attribute);
202
201
  if ("rect" === graphic.type) {
203
202
  (0, split_path_1.splitRect)(graphic, count).forEach((element => {
204
- children.push((0, graphic_creator_1.createRect)(needAppend ? element : Object.assign({}, childAttrs, element)));
203
+ children.push(application_1.application.graphicService.creator.rect(needAppend ? element : Object.assign({}, childAttrs, element)));
205
204
  }));
206
205
  } else if ("arc" === graphic.type) {
207
206
  (0, split_path_1.splitArc)(graphic, count).forEach((element => {
208
- children.push((0, graphic_creator_1.createArc)(needAppend ? element : Object.assign({}, childAttrs, element)));
207
+ children.push(application_1.application.graphicService.creator.arc(needAppend ? element : Object.assign({}, childAttrs, element)));
209
208
  }));
210
209
  } else if ("circle" === graphic.type) {
211
210
  (0, split_path_1.splitCircle)(graphic, count).forEach((element => {
212
- children.push((0, graphic_creator_1.createArc)(needAppend ? element : Object.assign({}, childAttrs, element)));
211
+ children.push(application_1.application.graphicService.creator.arc(needAppend ? element : Object.assign({}, childAttrs, element)));
213
212
  }));
214
213
  } else if ("line" === graphic.type) {
215
214
  const childrenAttrs = (0, split_path_1.splitLine)(graphic, count), defaultSymbol = {
@@ -217,20 +216,19 @@ const splitGraphic = (graphic, count, needAppend) => {
217
216
  symbolType: "circle"
218
217
  };
219
218
  childrenAttrs.forEach((element => {
220
- children.push((0, graphic_creator_1.createSymbol)(needAppend ? Object.assign({}, element, defaultSymbol) : Object.assign({}, childAttrs, element, defaultSymbol)));
219
+ children.push(application_1.application.graphicService.creator.symbol(needAppend ? Object.assign({}, element, defaultSymbol) : Object.assign({}, childAttrs, element, defaultSymbol)));
221
220
  }));
222
221
  } else if ("polygon" === graphic.type) {
223
222
  (0, split_path_1.splitPolygon)(graphic, count).forEach((element => {
224
- children.push((0, graphic_creator_1.createPolygon)(needAppend ? element : Object.assign({}, childAttrs, element)));
223
+ children.push(application_1.application.graphicService.creator.polygon(needAppend ? element : Object.assign({}, childAttrs, element)));
225
224
  }));
226
225
  } else if ("area" === graphic.type) {
227
226
  (0, split_path_1.splitArea)(graphic, count).forEach((element => {
228
- children.push((0, graphic_creator_1.createPolygon)(needAppend ? element : Object.assign({}, childAttrs, element)));
227
+ children.push(application_1.application.graphicService.creator.polygon(needAppend ? element : Object.assign({}, childAttrs, element)));
229
228
  }));
230
229
  } else if ("path" === graphic.type) {
231
230
  (0, split_path_1.splitPath)(graphic, count).forEach((element => {
232
- "path" in element ? children.push((0, graphic_creator_1.createPath)(needAppend ? element : Object.assign({}, childAttrs, element))) : children.push((0,
233
- graphic_creator_1.createPolygon)(needAppend ? element : Object.assign({}, childAttrs, element)));
231
+ "path" in element ? children.push(application_1.application.graphicService.creator.path(needAppend ? element : Object.assign({}, childAttrs, element))) : children.push(application_1.application.graphicService.creator.polygon(needAppend ? element : Object.assign({}, childAttrs, element)));
234
232
  }));
235
233
  }
236
234
  return needAppend && appendShadowChildrenToGraphic(graphic, children, count), children;