@visactor/vstory 0.0.4-alpha.1 → 0.0.4

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 (531) hide show
  1. package/cjs/animate/typewirter.d.ts +3 -4
  2. package/cjs/animate/typewirter.js +44 -30
  3. package/cjs/animate/typewirter.js.map +1 -1
  4. package/cjs/constants/action.d.ts +9 -0
  5. package/cjs/constants/action.js +10 -2
  6. package/cjs/constants/action.js.map +1 -1
  7. package/cjs/constants/character.d.ts +0 -1
  8. package/cjs/constants/character.js +1 -2
  9. package/cjs/constants/character.js.map +1 -1
  10. package/cjs/dsl/constant/index.d.ts +13 -0
  11. package/cjs/dsl/constant/index.js +6 -1
  12. package/cjs/dsl/constant/index.js.map +1 -1
  13. package/cjs/dsl/story-chart/area.d.ts +2 -0
  14. package/cjs/dsl/story-chart/area.js +5 -1
  15. package/cjs/dsl/story-chart/area.js.map +1 -1
  16. package/cjs/dsl/story-chart/bar.d.ts +2 -0
  17. package/cjs/dsl/story-chart/bar.js +1 -1
  18. package/cjs/dsl/story-chart/bar.js.map +1 -1
  19. package/cjs/dsl/story-chart/chart.js +1 -2
  20. package/cjs/dsl/story-chart/line.d.ts +2 -0
  21. package/cjs/dsl/story-chart/line.js +1 -1
  22. package/cjs/dsl/story-chart/line.js.map +1 -1
  23. package/cjs/dsl/story-chart/pie.d.ts +2 -0
  24. package/cjs/dsl/story-chart/pie.js +3 -0
  25. package/cjs/dsl/story-chart/pie.js.map +1 -1
  26. package/cjs/dsl/story-processor/graphic/appear.js.map +1 -1
  27. package/cjs/dsl/story-processor/graphic/effect/appear.js +2 -7
  28. package/cjs/dsl/story-processor/graphic/effect/appear.js.map +1 -1
  29. package/cjs/dsl/story-processor/graphic/effect/typewriter.js +1 -1
  30. package/cjs/dsl/story-processor/graphic/effect/typewriter.js.map +1 -1
  31. package/cjs/dsl/story-processor/processor.js +1 -1
  32. package/cjs/dsl/types/Datum.js +2 -1
  33. package/cjs/dsl/types/index.js +1 -1
  34. package/cjs/dsl/utils/datum.js +1 -1
  35. package/cjs/dsl/utils/flicker.js +1 -1
  36. package/cjs/edit/edit-component/image-selection.js +1 -1
  37. package/cjs/edit/edit-component/index.js +1 -1
  38. package/cjs/edit/edit-component/layer-edit.js +0 -2
  39. package/cjs/edit/edit-component/rect-selection.js +1 -1
  40. package/cjs/edit/edit-component/richtext-selection.js +1 -1
  41. package/cjs/edit/edit-component/text-selection.js +1 -1
  42. package/cjs/index.d.ts +0 -1
  43. package/cjs/index.js +1 -2
  44. package/cjs/index.js.map +1 -1
  45. package/cjs/interface/type.js +1 -2
  46. package/cjs/player/interface/player.d.ts +5 -2
  47. package/cjs/player/interface/player.js.map +1 -1
  48. package/cjs/player/interface/scheduler.d.ts +1 -1
  49. package/cjs/player/interface/scheduler.js.map +1 -1
  50. package/cjs/player/player.d.ts +7 -2
  51. package/cjs/player/player.js +25 -19
  52. package/cjs/player/player.js.map +1 -1
  53. package/cjs/player/processor/chart/common/chartAppear.d.ts +5 -0
  54. package/cjs/player/processor/chart/common/chartAppear.js +11 -0
  55. package/cjs/player/processor/chart/common/chartAppear.js.map +1 -0
  56. package/cjs/player/processor/chart/common/commonAppear.d.ts +8 -0
  57. package/cjs/player/processor/chart/common/commonAppear.js +46 -0
  58. package/cjs/player/processor/chart/common/commonAppear.js.map +1 -0
  59. package/cjs/player/processor/chart/component/axisAppear.d.ts +2 -2
  60. package/cjs/player/processor/chart/component/axisAppear.js +2 -2
  61. package/cjs/player/processor/chart/component/axisAppear.js.map +1 -1
  62. package/cjs/player/processor/chart/component/commonAppear.d.ts +3 -3
  63. package/cjs/player/processor/chart/component/commonAppear.js +5 -17
  64. package/cjs/player/processor/chart/component/commonAppear.js.map +1 -1
  65. package/cjs/player/processor/chart/component/labelAppear.d.ts +2 -2
  66. package/cjs/player/processor/chart/component/labelAppear.js +1 -1
  67. package/cjs/player/processor/chart/component/labelAppear.js.map +1 -1
  68. package/cjs/player/processor/chart/component/legendsAppear.d.ts +4 -3
  69. package/cjs/player/processor/chart/component/legendsAppear.js +2 -3
  70. package/cjs/player/processor/chart/component/legendsAppear.js.map +1 -1
  71. package/cjs/player/processor/chart/component/titleAppear.d.ts +4 -3
  72. package/cjs/player/processor/chart/component/titleAppear.js +2 -3
  73. package/cjs/player/processor/chart/component/titleAppear.js.map +1 -1
  74. package/cjs/player/processor/chart/seriesmark/commonTransformMarkAppear.d.ts +3 -3
  75. package/cjs/player/processor/chart/seriesmark/commonTransformMarkAppear.js.map +1 -1
  76. package/cjs/player/processor/chart/seriesmark/{transformArcAppear.d.ts → transformArcVisibility.d.ts} +2 -2
  77. package/cjs/player/processor/chart/seriesmark/{transformArcAppear.js → transformArcVisibility.js} +5 -6
  78. package/cjs/player/processor/chart/seriesmark/transformArcVisibility.js.map +1 -0
  79. package/cjs/player/processor/chart/seriesmark/{transformRectAppear.d.ts → transformLineVisibility.d.ts} +2 -2
  80. package/cjs/player/processor/chart/seriesmark/transformLineVisibility.js +12 -0
  81. package/cjs/player/processor/chart/seriesmark/transformLineVisibility.js.map +1 -0
  82. package/cjs/player/processor/chart/seriesmark/{transformLineAppear.d.ts → transformRectVisibility.d.ts} +2 -2
  83. package/cjs/player/processor/chart/seriesmark/{transformRectAppear.js → transformRectVisibility.js} +6 -7
  84. package/cjs/player/processor/chart/seriesmark/transformRectVisibility.js.map +1 -0
  85. package/cjs/player/processor/chart/seriesmark/transformSymbolVisibility.d.ts +12 -0
  86. package/cjs/player/processor/chart/seriesmark/transformSymbolVisibility.js +12 -0
  87. package/cjs/player/processor/chart/seriesmark/transformSymbolVisibility.js.map +1 -0
  88. package/cjs/player/processor/chart/seriesmark/transformTextVisibility.d.ts +12 -0
  89. package/cjs/player/processor/chart/seriesmark/transformTextVisibility.js +12 -0
  90. package/cjs/player/processor/chart/seriesmark/transformTextVisibility.js.map +1 -0
  91. package/cjs/player/processor/chart/transformMap.d.ts +24 -18
  92. package/cjs/player/processor/chart/transformMap.js +8 -7
  93. package/cjs/player/processor/chart/transformMap.js.map +1 -1
  94. package/cjs/player/processor/chart/vchart.d.ts +62 -15
  95. package/cjs/player/processor/chart/vchart.js +98 -11
  96. package/cjs/player/processor/chart/vchart.js.map +1 -1
  97. package/cjs/player/processor/common/bounce-processor.d.ts +3 -0
  98. package/cjs/player/processor/common/bounce-processor.js +24 -0
  99. package/cjs/player/processor/common/bounce-processor.js.map +1 -0
  100. package/cjs/player/processor/common/common.d.ts +5 -0
  101. package/cjs/player/processor/common/common.js +20 -0
  102. package/cjs/player/processor/common/common.js.map +1 -0
  103. package/cjs/player/processor/common/fade-processor.d.ts +4 -0
  104. package/cjs/player/processor/common/fade-processor.js +36 -0
  105. package/cjs/player/processor/common/fade-processor.js.map +1 -0
  106. package/cjs/player/processor/common/move-processor.d.ts +8 -0
  107. package/cjs/player/processor/common/move-processor.js +155 -0
  108. package/cjs/player/processor/common/move-processor.js.map +1 -0
  109. package/cjs/player/processor/common/scale-processor.d.ts +8 -0
  110. package/cjs/player/processor/common/scale-processor.js +49 -0
  111. package/cjs/player/processor/common/scale-processor.js.map +1 -0
  112. package/cjs/player/processor/common/wipe-processor.d.ts +4 -0
  113. package/cjs/player/processor/common/wipe-processor.js +40 -0
  114. package/cjs/player/processor/common/wipe-processor.js.map +1 -0
  115. package/cjs/player/processor/common-processor.js +3 -0
  116. package/cjs/player/processor/common-processor.js.map +1 -0
  117. package/cjs/player/processor/component/common-component.d.ts +45 -9
  118. package/cjs/player/processor/component/common-component.js +98 -77
  119. package/cjs/player/processor/component/common-component.js.map +1 -1
  120. package/cjs/player/processor/component/image/image-visibility.d.ts +5 -0
  121. package/cjs/player/processor/component/image/image-visibility.js +16 -0
  122. package/cjs/player/processor/component/image/image-visibility.js.map +1 -0
  123. package/cjs/player/processor/component/line/line-visibility.d.ts +5 -0
  124. package/cjs/player/processor/component/line/line-visibility.js +16 -0
  125. package/cjs/player/processor/component/line/line-visibility.js.map +1 -0
  126. package/cjs/player/processor/component/rect/rect-visibility.d.ts +5 -0
  127. package/cjs/player/processor/component/rect/rect-visibility.js +16 -0
  128. package/cjs/player/processor/component/rect/rect-visibility.js.map +1 -0
  129. package/cjs/player/processor/component/shape/shape-visibility.d.ts +5 -0
  130. package/cjs/player/processor/component/shape/shape-visibility.js +16 -0
  131. package/cjs/player/processor/component/shape/shape-visibility.js.map +1 -0
  132. package/cjs/player/processor/component/text/text-visibility.d.ts +6 -0
  133. package/cjs/player/processor/component/text/text-visibility.js +41 -0
  134. package/cjs/player/processor/component/text/text-visibility.js.map +1 -0
  135. package/cjs/player/processor/component/timeline/timeline-visibility.d.ts +15 -0
  136. package/cjs/player/processor/component/timeline/timeline-visibility.js +79 -0
  137. package/cjs/player/processor/component/timeline/timeline-visibility.js.map +1 -0
  138. package/cjs/player/processor/component/utils.d.ts +3 -1
  139. package/cjs/player/processor/component/utils.js +16 -1
  140. package/cjs/player/processor/component/utils.js.map +1 -1
  141. package/cjs/player/processor/interface/action-processor.d.ts +6 -6
  142. package/cjs/player/processor/interface/action-processor.js.map +1 -1
  143. package/cjs/player/processor/interface/appear-action.d.ts +30 -18
  144. package/cjs/player/processor/interface/appear-action.js.map +1 -1
  145. package/cjs/player/processor/interface/common-action.d.ts +14 -0
  146. package/cjs/player/processor/interface/common-action.js +6 -0
  147. package/cjs/player/processor/interface/common-action.js.map +1 -0
  148. package/cjs/player/processor/interface/style-action.d.ts +34 -0
  149. package/cjs/player/processor/interface/style-action.js +6 -0
  150. package/cjs/player/processor/interface/style-action.js.map +1 -0
  151. package/cjs/player/processor/processor-item.d.ts +5 -5
  152. package/cjs/player/processor/processor-item.js.map +1 -1
  153. package/cjs/player/processor/processor.d.ts +3 -3
  154. package/cjs/player/processor/processor.js +2 -2
  155. package/cjs/player/processor/processor.js.map +1 -1
  156. package/cjs/player/processor/processorMap.d.ts +22 -21
  157. package/cjs/player/processor/processorMap.js +42 -8
  158. package/cjs/player/processor/processorMap.js.map +1 -1
  159. package/cjs/player/scheduler.d.ts +4 -3
  160. package/cjs/player/scheduler.js +7 -5
  161. package/cjs/player/scheduler.js.map +1 -1
  162. package/cjs/scene/action.js +0 -2
  163. package/cjs/story/canvas/canvas.js +1 -1
  164. package/cjs/story/character/base/base.d.ts +3 -4
  165. package/cjs/story/character/base/base.js +6 -3
  166. package/cjs/story/character/base/base.js.map +1 -1
  167. package/cjs/story/character/chart/character.d.ts +1 -0
  168. package/cjs/story/character/chart/character.js +3 -0
  169. package/cjs/story/character/chart/character.js.map +1 -1
  170. package/cjs/story/character/chart/graphic/vchart-graphic-render.js +3 -3
  171. package/cjs/story/character/chart/graphic/vchart-graphic-render.js.map +1 -1
  172. package/cjs/story/character/chart/graphic/vchart-graphic.d.ts +1 -0
  173. package/cjs/story/character/chart/graphic/vchart-graphic.js +5 -1
  174. package/cjs/story/character/chart/graphic/vchart-graphic.js.map +1 -1
  175. package/cjs/story/character/component/character-group/component-group-graphic.d.ts +1 -0
  176. package/cjs/story/character/component/character-group/component-group-graphic.js +8 -2
  177. package/cjs/story/character/component/character-group/component-group-graphic.js.map +1 -1
  178. package/cjs/story/character/component/character.d.ts +4 -3
  179. package/cjs/story/character/component/character.js +8 -5
  180. package/cjs/story/character/component/character.js.map +1 -1
  181. package/cjs/story/character/component/characters/character-richtext.d.ts +1 -6
  182. package/cjs/story/character/component/characters/character-richtext.js +0 -16
  183. package/cjs/story/character/component/characters/character-richtext.js.map +1 -1
  184. package/cjs/story/character/component/characters/character-text.js +1 -1
  185. package/cjs/story/character/component/characters/character-text.js.map +1 -1
  186. package/cjs/story/character/component/graphic/graphic-base-text.d.ts +23 -0
  187. package/cjs/story/character/component/graphic/{graphic-text.js → graphic-base-text.js} +38 -22
  188. package/cjs/story/character/component/graphic/graphic-base-text.js.map +1 -0
  189. package/cjs/story/character/component/graphic/graphic.d.ts +1 -1
  190. package/cjs/story/character/component/graphic/graphic.js.map +1 -1
  191. package/cjs/story/character/component/graphic/richtext.d.ts +1 -9
  192. package/cjs/story/character/component/graphic/richtext.js +0 -45
  193. package/cjs/story/character/component/graphic/richtext.js.map +1 -1
  194. package/cjs/story/character/component/graphic/text.d.ts +4 -3
  195. package/cjs/story/character/component/graphic/text.js +21 -6
  196. package/cjs/story/character/component/graphic/text.js.map +1 -1
  197. package/cjs/story/character/component/graphic/timeline.d.ts +6 -0
  198. package/cjs/story/character/component/graphic/timeline.js +7 -1
  199. package/cjs/story/character/component/graphic/timeline.js.map +1 -1
  200. package/cjs/story/character/dsl-interface.d.ts +2 -2
  201. package/cjs/story/character/dsl-interface.js.map +1 -1
  202. package/cjs/story/character/runtime-interface.d.ts +1 -0
  203. package/cjs/story/character/runtime-interface.js.map +1 -1
  204. package/cjs/story/character/visactor/character.d.ts +2 -3
  205. package/cjs/story/character/visactor/character.js.map +1 -1
  206. package/cjs/story/character/visactor/interface.d.ts +1 -0
  207. package/cjs/story/character/visactor/interface.js.map +1 -1
  208. package/cjs/story/character-tree/character-tree.d.ts +1 -0
  209. package/cjs/story/character-tree/character-tree.js +6 -0
  210. package/cjs/story/character-tree/character-tree.js.map +1 -1
  211. package/cjs/story/index.js +1 -2
  212. package/cjs/story/index.js.map +1 -1
  213. package/cjs/story/interface/dsl-interface.d.ts +5 -8
  214. package/cjs/story/interface/dsl-interface.js.map +1 -1
  215. package/cjs/story/interface/player.d.ts +1 -13
  216. package/cjs/story/interface/player.js +1 -4
  217. package/cjs/story/interface/player.js.map +1 -1
  218. package/cjs/story/interface/runtime-interface.d.ts +2 -0
  219. package/cjs/story/interface/runtime-interface.js.map +1 -1
  220. package/cjs/story/story.d.ts +2 -1
  221. package/cjs/story/story.js +7 -5
  222. package/cjs/story/story.js.map +1 -1
  223. package/cjs/util/space.js +1 -2
  224. package/cjs/util/vrender-api.js +2 -1
  225. package/dist/index.js +6584 -14631
  226. package/dist/index.min.js +20 -1
  227. package/es/animate/typewirter.d.ts +3 -4
  228. package/es/animate/typewirter.js +46 -30
  229. package/es/animate/typewirter.js.map +1 -1
  230. package/es/constants/action.d.ts +9 -0
  231. package/es/constants/action.js +11 -1
  232. package/es/constants/action.js.map +1 -1
  233. package/es/constants/character.d.ts +0 -1
  234. package/es/constants/character.js +1 -2
  235. package/es/constants/character.js.map +1 -1
  236. package/es/dsl/constant/index.d.ts +13 -0
  237. package/es/dsl/constant/index.js +6 -1
  238. package/es/dsl/constant/index.js.map +1 -1
  239. package/es/dsl/story-chart/area.d.ts +2 -0
  240. package/es/dsl/story-chart/area.js +5 -1
  241. package/es/dsl/story-chart/area.js.map +1 -1
  242. package/es/dsl/story-chart/bar.d.ts +2 -0
  243. package/es/dsl/story-chart/bar.js +1 -1
  244. package/es/dsl/story-chart/bar.js.map +1 -1
  245. package/es/dsl/story-chart/chart.js +1 -2
  246. package/es/dsl/story-chart/line.d.ts +2 -0
  247. package/es/dsl/story-chart/line.js +1 -1
  248. package/es/dsl/story-chart/line.js.map +1 -1
  249. package/es/dsl/story-chart/pie.d.ts +2 -0
  250. package/es/dsl/story-chart/pie.js +3 -0
  251. package/es/dsl/story-chart/pie.js.map +1 -1
  252. package/es/dsl/story-processor/graphic/appear.js.map +1 -1
  253. package/es/dsl/story-processor/graphic/effect/appear.js +1 -8
  254. package/es/dsl/story-processor/graphic/effect/appear.js.map +1 -1
  255. package/es/dsl/story-processor/graphic/effect/typewriter.js +1 -1
  256. package/es/dsl/story-processor/graphic/effect/typewriter.js.map +1 -1
  257. package/es/dsl/story-processor/processor.js +1 -1
  258. package/es/dsl/types/Datum.js +2 -1
  259. package/es/dsl/types/index.js +1 -1
  260. package/es/dsl/utils/datum.js +1 -1
  261. package/es/dsl/utils/flicker.js +1 -1
  262. package/es/edit/edit-component/image-selection.js +1 -1
  263. package/es/edit/edit-component/index.js +1 -1
  264. package/es/edit/edit-component/layer-edit.js +0 -2
  265. package/es/edit/edit-component/rect-selection.js +1 -1
  266. package/es/edit/edit-component/richtext-selection.js +1 -1
  267. package/es/edit/edit-component/text-selection.js +1 -1
  268. package/es/index.d.ts +0 -1
  269. package/es/index.js +1 -3
  270. package/es/index.js.map +1 -1
  271. package/es/interface/type.js +1 -2
  272. package/es/player/interface/player.d.ts +5 -2
  273. package/es/player/interface/player.js.map +1 -1
  274. package/es/player/interface/scheduler.d.ts +1 -1
  275. package/es/player/interface/scheduler.js.map +1 -1
  276. package/es/player/player.d.ts +7 -2
  277. package/es/player/player.js +27 -18
  278. package/es/player/player.js.map +1 -1
  279. package/es/player/processor/chart/common/chartAppear.d.ts +5 -0
  280. package/es/player/processor/chart/common/chartAppear.js +4 -0
  281. package/es/player/processor/chart/common/chartAppear.js.map +1 -0
  282. package/es/player/processor/chart/common/commonAppear.d.ts +8 -0
  283. package/es/player/processor/chart/common/commonAppear.js +36 -0
  284. package/es/player/processor/chart/common/commonAppear.js.map +1 -0
  285. package/es/player/processor/chart/component/axisAppear.d.ts +2 -2
  286. package/es/player/processor/chart/component/axisAppear.js +3 -1
  287. package/es/player/processor/chart/component/axisAppear.js.map +1 -1
  288. package/es/player/processor/chart/component/commonAppear.d.ts +3 -3
  289. package/es/player/processor/chart/component/commonAppear.js +3 -14
  290. package/es/player/processor/chart/component/commonAppear.js.map +1 -1
  291. package/es/player/processor/chart/component/labelAppear.d.ts +2 -2
  292. package/es/player/processor/chart/component/labelAppear.js +1 -1
  293. package/es/player/processor/chart/component/labelAppear.js.map +1 -1
  294. package/es/player/processor/chart/component/legendsAppear.d.ts +4 -3
  295. package/es/player/processor/chart/component/legendsAppear.js +2 -2
  296. package/es/player/processor/chart/component/legendsAppear.js.map +1 -1
  297. package/es/player/processor/chart/component/titleAppear.d.ts +4 -3
  298. package/es/player/processor/chart/component/titleAppear.js +2 -2
  299. package/es/player/processor/chart/component/titleAppear.js.map +1 -1
  300. package/es/player/processor/chart/seriesmark/commonTransformMarkAppear.d.ts +3 -3
  301. package/es/player/processor/chart/seriesmark/commonTransformMarkAppear.js.map +1 -1
  302. package/{cjs/player/processor/chart/seriesmark/transformSymbolAppear.d.ts → es/player/processor/chart/seriesmark/transformArcVisibility.d.ts} +3 -3
  303. package/es/player/processor/chart/seriesmark/{transformArcAppear.js → transformArcVisibility.js} +3 -4
  304. package/es/player/processor/chart/seriesmark/transformArcVisibility.js.map +1 -0
  305. package/es/player/processor/chart/seriesmark/transformLineVisibility.d.ts +12 -0
  306. package/es/player/processor/chart/seriesmark/transformLineVisibility.js +4 -0
  307. package/es/player/processor/chart/seriesmark/transformLineVisibility.js.map +1 -0
  308. package/es/player/processor/chart/seriesmark/transformRectVisibility.d.ts +12 -0
  309. package/es/player/processor/chart/seriesmark/{transformRectAppear.js → transformRectVisibility.js} +4 -5
  310. package/es/player/processor/chart/seriesmark/transformRectVisibility.js.map +1 -0
  311. package/es/player/processor/chart/seriesmark/transformSymbolVisibility.d.ts +12 -0
  312. package/es/player/processor/chart/seriesmark/transformSymbolVisibility.js +4 -0
  313. package/es/player/processor/chart/seriesmark/transformSymbolVisibility.js.map +1 -0
  314. package/es/player/processor/chart/seriesmark/transformTextVisibility.d.ts +12 -0
  315. package/es/player/processor/chart/seriesmark/transformTextVisibility.js +4 -0
  316. package/es/player/processor/chart/seriesmark/transformTextVisibility.js.map +1 -0
  317. package/es/player/processor/chart/transformMap.d.ts +24 -18
  318. package/es/player/processor/chart/transformMap.js +14 -11
  319. package/es/player/processor/chart/transformMap.js.map +1 -1
  320. package/es/player/processor/chart/vchart.d.ts +62 -15
  321. package/es/player/processor/chart/vchart.js +92 -9
  322. package/es/player/processor/chart/vchart.js.map +1 -1
  323. package/es/player/processor/common/bounce-processor.d.ts +3 -0
  324. package/es/player/processor/common/bounce-processor.js +20 -0
  325. package/es/player/processor/common/bounce-processor.js.map +1 -0
  326. package/es/player/processor/common/common.d.ts +5 -0
  327. package/es/player/processor/common/common.js +12 -0
  328. package/es/player/processor/common/common.js.map +1 -0
  329. package/es/player/processor/common/fade-processor.d.ts +4 -0
  330. package/es/player/processor/common/fade-processor.js +30 -0
  331. package/es/player/processor/common/fade-processor.js.map +1 -0
  332. package/es/player/processor/common/move-processor.d.ts +8 -0
  333. package/es/player/processor/common/move-processor.js +148 -0
  334. package/es/player/processor/common/move-processor.js.map +1 -0
  335. package/es/player/processor/common/scale-processor.d.ts +8 -0
  336. package/es/player/processor/common/scale-processor.js +43 -0
  337. package/es/player/processor/common/scale-processor.js.map +1 -0
  338. package/es/player/processor/common/wipe-processor.d.ts +4 -0
  339. package/es/player/processor/common/wipe-processor.js +36 -0
  340. package/es/player/processor/common/wipe-processor.js.map +1 -0
  341. package/es/player/processor/common-processor.js +3 -0
  342. package/es/player/processor/common-processor.js.map +1 -0
  343. package/es/player/processor/component/common-component.d.ts +45 -9
  344. package/es/player/processor/component/common-component.js +97 -73
  345. package/es/player/processor/component/common-component.js.map +1 -1
  346. package/es/player/processor/component/image/image-visibility.d.ts +5 -0
  347. package/es/player/processor/component/image/image-visibility.js +8 -0
  348. package/es/player/processor/component/image/image-visibility.js.map +1 -0
  349. package/es/player/processor/component/line/line-visibility.d.ts +5 -0
  350. package/es/player/processor/component/line/line-visibility.js +8 -0
  351. package/es/player/processor/component/line/line-visibility.js.map +1 -0
  352. package/es/player/processor/component/rect/rect-visibility.d.ts +5 -0
  353. package/es/player/processor/component/rect/rect-visibility.js +8 -0
  354. package/es/player/processor/component/rect/rect-visibility.js.map +1 -0
  355. package/es/player/processor/component/shape/shape-visibility.d.ts +5 -0
  356. package/es/player/processor/component/shape/shape-visibility.js +8 -0
  357. package/es/player/processor/component/shape/shape-visibility.js.map +1 -0
  358. package/es/player/processor/component/text/text-visibility.d.ts +6 -0
  359. package/es/player/processor/component/text/text-visibility.js +39 -0
  360. package/es/player/processor/component/text/text-visibility.js.map +1 -0
  361. package/es/player/processor/component/timeline/timeline-visibility.d.ts +15 -0
  362. package/es/player/processor/component/timeline/timeline-visibility.js +71 -0
  363. package/es/player/processor/component/timeline/timeline-visibility.js.map +1 -0
  364. package/es/player/processor/component/utils.d.ts +3 -1
  365. package/es/player/processor/component/utils.js +13 -0
  366. package/es/player/processor/component/utils.js.map +1 -1
  367. package/es/player/processor/interface/action-processor.d.ts +6 -6
  368. package/es/player/processor/interface/action-processor.js.map +1 -1
  369. package/es/player/processor/interface/appear-action.d.ts +30 -18
  370. package/es/player/processor/interface/appear-action.js.map +1 -1
  371. package/es/player/processor/interface/common-action.d.ts +14 -0
  372. package/es/player/processor/interface/common-action.js +2 -0
  373. package/es/player/processor/interface/common-action.js.map +1 -0
  374. package/es/player/processor/interface/style-action.d.ts +34 -0
  375. package/es/player/processor/interface/style-action.js +2 -0
  376. package/es/player/processor/interface/style-action.js.map +1 -0
  377. package/es/player/processor/processor-item.d.ts +5 -5
  378. package/es/player/processor/processor-item.js.map +1 -1
  379. package/es/player/processor/processor.d.ts +3 -3
  380. package/es/player/processor/processor.js +2 -2
  381. package/es/player/processor/processor.js.map +1 -1
  382. package/es/player/processor/processorMap.d.ts +22 -21
  383. package/es/player/processor/processorMap.js +51 -15
  384. package/es/player/processor/processorMap.js.map +1 -1
  385. package/es/player/scheduler.d.ts +4 -3
  386. package/es/player/scheduler.js +7 -5
  387. package/es/player/scheduler.js.map +1 -1
  388. package/es/scene/action.js +0 -2
  389. package/es/story/canvas/canvas.js +1 -1
  390. package/es/story/character/base/base.d.ts +3 -4
  391. package/es/story/character/base/base.js +6 -3
  392. package/es/story/character/base/base.js.map +1 -1
  393. package/es/story/character/chart/character.d.ts +1 -0
  394. package/es/story/character/chart/character.js +3 -0
  395. package/es/story/character/chart/character.js.map +1 -1
  396. package/es/story/character/chart/graphic/vchart-graphic-render.js +3 -3
  397. package/es/story/character/chart/graphic/vchart-graphic-render.js.map +1 -1
  398. package/es/story/character/chart/graphic/vchart-graphic.d.ts +1 -0
  399. package/es/story/character/chart/graphic/vchart-graphic.js +5 -1
  400. package/es/story/character/chart/graphic/vchart-graphic.js.map +1 -1
  401. package/es/story/character/component/character-group/component-group-graphic.d.ts +1 -0
  402. package/es/story/character/component/character-group/component-group-graphic.js +8 -2
  403. package/es/story/character/component/character-group/component-group-graphic.js.map +1 -1
  404. package/es/story/character/component/character.d.ts +4 -3
  405. package/es/story/character/component/character.js +8 -4
  406. package/es/story/character/component/character.js.map +1 -1
  407. package/es/story/character/component/characters/character-richtext.d.ts +1 -6
  408. package/es/story/character/component/characters/character-richtext.js +0 -12
  409. package/es/story/character/component/characters/character-richtext.js.map +1 -1
  410. package/es/story/character/component/characters/character-text.js +2 -2
  411. package/es/story/character/component/characters/character-text.js.map +1 -1
  412. package/es/story/character/component/graphic/graphic-base-text.d.ts +23 -0
  413. package/es/story/character/component/graphic/{graphic-text.js → graphic-base-text.js} +37 -21
  414. package/es/story/character/component/graphic/graphic-base-text.js.map +1 -0
  415. package/es/story/character/component/graphic/graphic.d.ts +1 -1
  416. package/es/story/character/component/graphic/graphic.js.map +1 -1
  417. package/es/story/character/component/graphic/richtext.d.ts +1 -9
  418. package/es/story/character/component/graphic/richtext.js +0 -41
  419. package/es/story/character/component/graphic/richtext.js.map +1 -1
  420. package/es/story/character/component/graphic/text.d.ts +4 -3
  421. package/es/story/character/component/graphic/text.js +21 -4
  422. package/es/story/character/component/graphic/text.js.map +1 -1
  423. package/es/story/character/component/graphic/timeline.d.ts +6 -0
  424. package/es/story/character/component/graphic/timeline.js +7 -1
  425. package/es/story/character/component/graphic/timeline.js.map +1 -1
  426. package/es/story/character/dsl-interface.d.ts +2 -2
  427. package/es/story/character/dsl-interface.js.map +1 -1
  428. package/es/story/character/runtime-interface.d.ts +1 -0
  429. package/es/story/character/runtime-interface.js.map +1 -1
  430. package/es/story/character/visactor/character.d.ts +2 -3
  431. package/es/story/character/visactor/character.js.map +1 -1
  432. package/es/story/character/visactor/interface.d.ts +1 -0
  433. package/es/story/character/visactor/interface.js.map +1 -1
  434. package/es/story/character-tree/character-tree.d.ts +1 -0
  435. package/es/story/character-tree/character-tree.js +6 -0
  436. package/es/story/character-tree/character-tree.js.map +1 -1
  437. package/es/story/index.js +0 -3
  438. package/es/story/index.js.map +1 -1
  439. package/es/story/interface/dsl-interface.d.ts +5 -8
  440. package/es/story/interface/dsl-interface.js.map +1 -1
  441. package/es/story/interface/player.d.ts +1 -13
  442. package/es/story/interface/player.js +2 -1
  443. package/es/story/interface/player.js.map +1 -1
  444. package/es/story/interface/runtime-interface.d.ts +2 -0
  445. package/es/story/interface/runtime-interface.js.map +1 -1
  446. package/es/story/story.d.ts +2 -1
  447. package/es/story/story.js +7 -5
  448. package/es/story/story.js.map +1 -1
  449. package/es/util/space.js +1 -2
  450. package/es/util/vrender-api.js +2 -1
  451. package/package.json +7 -7
  452. package/cjs/player/processor/chart/seriesmark/transformArcAppear.js.map +0 -1
  453. package/cjs/player/processor/chart/seriesmark/transformLineAppear.js +0 -14
  454. package/cjs/player/processor/chart/seriesmark/transformLineAppear.js.map +0 -1
  455. package/cjs/player/processor/chart/seriesmark/transformRectAppear.js.map +0 -1
  456. package/cjs/player/processor/chart/seriesmark/transformSymbolAppear.js +0 -14
  457. package/cjs/player/processor/chart/seriesmark/transformSymbolAppear.js.map +0 -1
  458. package/cjs/player/processor/chart/seriesmark/transformTextAppear.d.ts +0 -12
  459. package/cjs/player/processor/chart/seriesmark/transformTextAppear.js +0 -14
  460. package/cjs/player/processor/chart/seriesmark/transformTextAppear.js.map +0 -1
  461. package/cjs/player/processor/component/image/image-appear.d.ts +0 -5
  462. package/cjs/player/processor/component/image/image-appear.js +0 -16
  463. package/cjs/player/processor/component/image/image-appear.js.map +0 -1
  464. package/cjs/player/processor/component/line/line-appear.d.ts +0 -5
  465. package/cjs/player/processor/component/line/line-appear.js +0 -16
  466. package/cjs/player/processor/component/line/line-appear.js.map +0 -1
  467. package/cjs/player/processor/component/rect/rect-appear.d.ts +0 -5
  468. package/cjs/player/processor/component/rect/rect-appear.js +0 -16
  469. package/cjs/player/processor/component/rect/rect-appear.js.map +0 -1
  470. package/cjs/player/processor/component/shape/shape-appear.d.ts +0 -5
  471. package/cjs/player/processor/component/shape/shape-appear.js +0 -16
  472. package/cjs/player/processor/component/shape/shape-appear.js.map +0 -1
  473. package/cjs/player/processor/component/text/text-appear.d.ts +0 -7
  474. package/cjs/player/processor/component/text/text-appear.js +0 -34
  475. package/cjs/player/processor/component/text/text-appear.js.map +0 -1
  476. package/cjs/player/processor/component/timeline/timeline-appear.d.ts +0 -7
  477. package/cjs/player/processor/component/timeline/timeline-appear.js +0 -33
  478. package/cjs/player/processor/component/timeline/timeline-appear.js.map +0 -1
  479. package/cjs/story/character/component/graphic/graphic-text.d.ts +0 -18
  480. package/cjs/story/character/component/graphic/graphic-text.js.map +0 -1
  481. package/cjs/story/player/encode.js +0 -3
  482. package/cjs/story/player/encode.js.map +0 -1
  483. package/cjs/story/player/index.js +0 -3
  484. package/cjs/story/player/index.js.map +0 -1
  485. package/cjs/story/player/ticker.d.ts +0 -1
  486. package/cjs/story/player/ticker.js +0 -3
  487. package/cjs/story/player/ticker.js.map +0 -1
  488. package/es/player/processor/chart/seriesmark/transformArcAppear.d.ts +0 -12
  489. package/es/player/processor/chart/seriesmark/transformArcAppear.js.map +0 -1
  490. package/es/player/processor/chart/seriesmark/transformLineAppear.d.ts +0 -12
  491. package/es/player/processor/chart/seriesmark/transformLineAppear.js +0 -7
  492. package/es/player/processor/chart/seriesmark/transformLineAppear.js.map +0 -1
  493. package/es/player/processor/chart/seriesmark/transformRectAppear.d.ts +0 -12
  494. package/es/player/processor/chart/seriesmark/transformRectAppear.js.map +0 -1
  495. package/es/player/processor/chart/seriesmark/transformSymbolAppear.d.ts +0 -12
  496. package/es/player/processor/chart/seriesmark/transformSymbolAppear.js +0 -7
  497. package/es/player/processor/chart/seriesmark/transformSymbolAppear.js.map +0 -1
  498. package/es/player/processor/chart/seriesmark/transformTextAppear.d.ts +0 -12
  499. package/es/player/processor/chart/seriesmark/transformTextAppear.js +0 -7
  500. package/es/player/processor/chart/seriesmark/transformTextAppear.js.map +0 -1
  501. package/es/player/processor/component/image/image-appear.d.ts +0 -5
  502. package/es/player/processor/component/image/image-appear.js +0 -8
  503. package/es/player/processor/component/image/image-appear.js.map +0 -1
  504. package/es/player/processor/component/line/line-appear.d.ts +0 -5
  505. package/es/player/processor/component/line/line-appear.js +0 -8
  506. package/es/player/processor/component/line/line-appear.js.map +0 -1
  507. package/es/player/processor/component/rect/rect-appear.d.ts +0 -5
  508. package/es/player/processor/component/rect/rect-appear.js +0 -8
  509. package/es/player/processor/component/rect/rect-appear.js.map +0 -1
  510. package/es/player/processor/component/shape/shape-appear.d.ts +0 -5
  511. package/es/player/processor/component/shape/shape-appear.js +0 -8
  512. package/es/player/processor/component/shape/shape-appear.js.map +0 -1
  513. package/es/player/processor/component/text/text-appear.d.ts +0 -7
  514. package/es/player/processor/component/text/text-appear.js +0 -32
  515. package/es/player/processor/component/text/text-appear.js.map +0 -1
  516. package/es/player/processor/component/timeline/timeline-appear.d.ts +0 -7
  517. package/es/player/processor/component/timeline/timeline-appear.js +0 -27
  518. package/es/player/processor/component/timeline/timeline-appear.js.map +0 -1
  519. package/es/story/character/component/graphic/graphic-text.d.ts +0 -18
  520. package/es/story/character/component/graphic/graphic-text.js.map +0 -1
  521. package/es/story/player/encode.d.ts +0 -1
  522. package/es/story/player/encode.js +0 -3
  523. package/es/story/player/encode.js.map +0 -1
  524. package/es/story/player/index.d.ts +0 -1
  525. package/es/story/player/index.js +0 -3
  526. package/es/story/player/index.js.map +0 -1
  527. package/es/story/player/ticker.d.ts +0 -1
  528. package/es/story/player/ticker.js +0 -3
  529. package/es/story/player/ticker.js.map +0 -1
  530. /package/cjs/{story/player/encode.d.ts → player/processor/common-processor.d.ts} +0 -0
  531. /package/{cjs/story/player/index.d.ts → es/player/processor/common-processor.d.ts} +0 -0
@@ -1,4 +1,4 @@
1
- import type { IAction, IActSpec, ISceneSpec } from '../story/interface';
1
+ import type { IActionSpec, IActSpec, ISceneSpec } from '../story/interface';
2
2
  import type { IActionProcessor } from './processor/interface/action-processor';
3
3
  import type { IScheduler } from './interface/scheduler';
4
4
  interface IActInfo {
@@ -16,7 +16,7 @@ interface ISceneInfo {
16
16
  export interface IActionItem {
17
17
  startTime: number;
18
18
  duration: number;
19
- actionSpec: IAction;
19
+ actionSpec: IActionSpec;
20
20
  characterId: string;
21
21
  }
22
22
  export declare class Scheduler implements IScheduler {
@@ -24,6 +24,7 @@ export declare class Scheduler implements IScheduler {
24
24
  protected _actsInfo: IActInfo[];
25
25
  protected _runnedAct: Set<IActionItem>;
26
26
  constructor(actionProcessor: IActionProcessor);
27
+ init(acts: IActSpec[]): void;
27
28
  clearState(): void;
28
29
  getTotalTime(): number;
29
30
  findActByTime(t: number): {
@@ -31,7 +32,7 @@ export declare class Scheduler implements IScheduler {
31
32
  t: number;
32
33
  };
33
34
  getActionsInRange(fromTime: number, toTime: number): IActionItem[];
34
- initActs(acts: IActSpec[]): void;
35
+ protected initActs(acts: IActSpec[]): void;
35
36
  protected _getActInfo(act: IActSpec, actStartTime: number): IActInfo;
36
37
  protected _getSceneInfo(scene: ISceneSpec, sceneStartTime: number): ISceneInfo;
37
38
  }
@@ -14,6 +14,9 @@ class Scheduler {
14
14
  constructor(actionProcessor) {
15
15
  this._actionProcessor = actionProcessor, this._runnedAct = new Set;
16
16
  }
17
+ init(acts) {
18
+ this.clearState(), this.initActs(acts);
19
+ }
17
20
  clearState() {
18
21
  this._runnedAct.clear();
19
22
  }
@@ -42,7 +45,7 @@ class Scheduler {
42
45
  return toAct.sceneInfoList.forEach((sceneInfo => {
43
46
  const {startTime: sceneStartTime} = sceneInfo;
44
47
  sceneInfo.actionList.forEach((actionInfo => {
45
- sceneStartTime + actionInfo.startTime <= formatToTime && (this._runnedAct.has(actionInfo) || (this._runnedAct.add(actionInfo),
48
+ sceneStartTime + actionInfo.startTime < formatToTime && (this._runnedAct.has(actionInfo) || (this._runnedAct.add(actionInfo),
46
49
  actions.push(actionInfo)));
47
50
  }));
48
51
  })), actions;
@@ -58,9 +61,8 @@ class Scheduler {
58
61
  let sceneStartTime = 0;
59
62
  const sceneInfoList = act.scenes.map((scene => {
60
63
  var _a;
61
- const sceneInfo = this._getSceneInfo(scene, sceneStartTime);
62
- return sceneStartTime = sceneInfo.startTime + (null !== (_a = scene.delay) && void 0 !== _a ? _a : 0) + sceneInfo.duration,
63
- sceneInfo;
64
+ const sceneInfo = this._getSceneInfo(scene, sceneStartTime + (null !== (_a = scene.delay) && void 0 !== _a ? _a : 0));
65
+ return sceneStartTime = sceneInfo.startTime + sceneInfo.duration, sceneInfo;
64
66
  })), startTime = sceneInfoList.reduce(((st, info) => Math.min(info.startTime, st)), 0);
65
67
  return {
66
68
  startTime: actStartTime,
@@ -85,7 +87,7 @@ class Scheduler {
85
87
  }));
86
88
  return {
87
89
  startTime: sceneStartTime + scene_st,
88
- duration: sceneStartTime + scene_et - scene_st,
90
+ duration: scene_et - scene_st,
89
91
  id: scene.id,
90
92
  actionList: actionList
91
93
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/player/scheduler.ts"],"names":[],"mappings":";;;AA0BA,MAAM,UAAU;IAMd,YAAY,EAAU,EAAE,CAAS,EAAE,EAAW,EAAE,EAAU;QACxD,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACpB,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;QAClB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;IACxB,CAAC;CACF;AAED,MAAa,SAAS;IAKpB,YAAY,eAAiC;QAC3C,IAAI,CAAC,gBAAgB,GAAG,eAAe,CAAC;QACxC,IAAI,CAAC,UAAU,GAAG,IAAI,GAAG,EAAE,CAAC;IAC9B,CAAC;IAED,UAAU;QACR,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;IAC1B,CAAC;IAED,YAAY;QACV,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;IACrG,CAAC;IAED,aAAa,CAAC,CAAS;QAErB,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACtC,IAAI,SAAS,IAAI,CAAC,EAAE;YAClB,OAAO;gBACL,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;gBAC1B,CAAC,EAAE,CAAC;aACL,CAAC;SACH;QACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC9C,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YAClC,IAAI,OAAO,CAAC,SAAS,IAAI,CAAC,IAAI,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,QAAQ,GAAG,CAAC,EAAE;gBACtE,OAAO;oBACL,OAAO,EAAE,OAAO;oBAChB,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,SAAS;iBACzB,CAAC;aACH;SACF;QACD,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;YAClD,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,SAAS;SAC3D,CAAC;IACJ,CAAC;IAQD,iBAAiB,CAAC,QAAgB,EAAE,MAAc;QAEhD,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAC7E,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QACvE,IAAI,OAAO,KAAK,KAAK,EAAE;SAEtB;QAID,MAAM,OAAO,GAAkB,EAAE,CAAC;QAClC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;YACtC,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,GAAG,SAAS,CAAC;YAChD,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;gBACxC,MAAM,SAAS,GAAG,cAAc,GAAG,UAAU,CAAC,SAAS,CAAC;gBACxD,IAAI,SAAS,IAAI,YAAY,EAAE;oBAC7B,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE;wBACpC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;wBAChC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;qBAC1B;iBACF;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QACH,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,QAAQ,CAAC,IAAgB;QAEvB,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;YAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;YACjD,SAAS,IAAI,OAAO,CAAC,QAAQ,CAAC;YAC9B,OAAO,OAAO,CAAC;QACjB,CAAC,CAAC,CAAC;IACL,CAAC;IAES,WAAW,CAAC,GAAa,EAAE,YAAoB;QACvD,IAAI,cAAc,GAAG,CAAC,CAAC;QACvB,MAAM,aAAa,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;;YAC3C,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;YAC5D,cAAc,GAAG,SAAS,CAAC,SAAS,GAAG,CAAC,MAAA,KAAK,CAAC,KAAK,mCAAI,CAAC,CAAC,GAAG,SAAS,CAAC,QAAQ,CAAC;YAC/E,OAAO,SAAS,CAAC;QACnB,CAAC,CAAC,CAAC;QACH,MAAM,SAAS,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACtF,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACpG,OAAO;YACL,SAAS,EAAE,YAAY;YACvB,QAAQ,EAAE,SAAS,GAAG,OAAO,GAAG,SAAS;YACzC,EAAE,EAAE,GAAG,CAAC,EAAE;YACV,aAAa;SACd,CAAC;IACJ,CAAC;IAES,aAAa,CAAC,KAAiB,EAAE,cAAsB;QAC/D,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,MAAM,UAAU,GAAkB,EAAE,CAAC;QACrC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE;YACvC,IAAI,YAAY,GAAG,QAAQ,CAAC;YAC5B,IAAI,YAAY,GAAG,CAAC,QAAQ,CAAC;YAC7B,MAAM,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;gBACnC,MAAM,IAAI,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;gBACtE,IAAI,CAAC,IAAI,EAAE;oBACT,OAAO;iBACR;gBACD,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;gBAEnF,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC;gBACnE,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;gBACtE,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxB,CAAC,CAAC,CAAC;YAEH,QAAQ,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;YAClF,QAAQ,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;QACvE,CAAC,CAAC,CAAC;QAEH,MAAM,SAAS,GAAe;YAC5B,SAAS,EAAE,cAAc,GAAG,QAAQ;YACpC,QAAQ,EAAE,cAAc,GAAG,QAAQ,GAAG,QAAQ;YAC9C,EAAE,EAAE,KAAK,CAAC,EAAE;YACZ,UAAU;SACX,CAAC;QAEF,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AArID,8BAqIC","file":"scheduler.js","sourcesContent":["import { isNumber } from '@visactor/vutils';\nimport type { IAction, IActSpec, ISceneSpec } from '../story/interface';\nimport { IStory } from '../story/interface';\nimport type { IActionProcessor } from './processor/interface/action-processor';\nimport type { IScheduler } from './interface/scheduler';\n\ninterface IActInfo {\n startTime: number;\n duration: number;\n id: string;\n sceneInfoList: ISceneInfo[];\n}\ninterface ISceneInfo {\n startTime: number;\n duration: number;\n id: string;\n actionList: IActionItem[];\n}\n\nexport interface IActionItem {\n startTime: number;\n duration: number;\n actionSpec: IAction;\n characterId: string;\n}\n\nclass ActionItem implements IActionItem {\n startTime: number;\n duration: number;\n actionSpec: IAction;\n characterId: string;\n\n constructor(st: number, d: number, as: IAction, ci: string) {\n this.startTime = st;\n this.duration = d;\n this.actionSpec = as;\n this.characterId = ci;\n }\n}\n\nexport class Scheduler implements IScheduler {\n protected _actionProcessor: IActionProcessor;\n protected _actsInfo: IActInfo[];\n protected _runnedAct: Set<IActionItem>;\n\n constructor(actionProcessor: IActionProcessor) {\n this._actionProcessor = actionProcessor;\n this._runnedAct = new Set();\n }\n\n clearState(): void {\n this._runnedAct.clear();\n }\n\n getTotalTime(): number {\n return this._actsInfo.reduce((t, actInfo) => Math.max(t, actInfo.startTime + actInfo.duration), 0);\n }\n\n findActByTime(t: number) {\n // 规范化t\n const totalTime = this.getTotalTime();\n if (totalTime <= 0) {\n return {\n actInfo: this._actsInfo[0],\n t: 0\n };\n }\n for (let i = 0; i < this._actsInfo.length; i++) {\n const actInfo = this._actsInfo[i];\n if (actInfo.startTime <= t && actInfo.startTime + actInfo.duration > t) {\n return {\n actInfo: actInfo,\n t: t - actInfo.startTime\n };\n }\n }\n return {\n actInfo: this._actsInfo[this._actsInfo.length - 1],\n t: t - this._actsInfo[this._actsInfo.length - 1].startTime\n };\n }\n\n /**\n * 获取某个时间区间的所有Action,toTime实际上是当前时间,fromTime是上一次的时间\n * 避免跳帧\n * @param fromTime 上一次的时间\n * @param toTime 当前时间\n */\n getActionsInRange(fromTime: number, toTime: number) {\n // 先找到目前是在哪个幕中\n const { actInfo: fromAct, t: formatFromTime } = this.findActByTime(fromTime);\n const { actInfo: toAct, t: formatToTime } = this.findActByTime(toTime);\n if (fromAct !== toAct) {\n // TODO 跳帧了\n }\n // const formatFromTime = Scheduler.formatTimeInAction(fromTime, toAct);\n // const formatToTime = Scheduler.formatTimeInAction(toTime, toAct);\n\n const actions: IActionItem[] = [];\n toAct.sceneInfoList.forEach(sceneInfo => {\n const { startTime: sceneStartTime } = sceneInfo;\n sceneInfo.actionList.forEach(actionInfo => {\n const startTime = sceneStartTime + actionInfo.startTime;\n if (startTime <= formatToTime) {\n if (!this._runnedAct.has(actionInfo)) {\n this._runnedAct.add(actionInfo);\n actions.push(actionInfo);\n }\n }\n });\n });\n return actions;\n }\n\n initActs(acts: IActSpec[]) {\n // act与act之间是串联的\n let startTime = 0;\n this._actsInfo = acts.map(act => {\n const actInfo = this._getActInfo(act, startTime);\n startTime += actInfo.duration;\n return actInfo;\n });\n }\n\n protected _getActInfo(act: IActSpec, actStartTime: number): IActInfo {\n let sceneStartTime = 0;\n const sceneInfoList = act.scenes.map(scene => {\n const sceneInfo = this._getSceneInfo(scene, sceneStartTime);\n sceneStartTime = sceneInfo.startTime + (scene.delay ?? 0) + sceneInfo.duration;\n return sceneInfo;\n });\n const startTime = sceneInfoList.reduce((st, info) => Math.min(info.startTime, st), 0);\n const endTime = sceneInfoList.reduce((et, info) => Math.max(info.startTime + info.duration, et), 0);\n return {\n startTime: actStartTime,\n duration: startTime + endTime - startTime,\n id: act.id,\n sceneInfoList\n };\n }\n\n protected _getSceneInfo(scene: ISceneSpec, sceneStartTime: number): ISceneInfo {\n let scene_st = 0;\n let scene_et = 0;\n const actionList: IActionItem[] = [];\n scene.actions.forEach((action, actIdx) => {\n let character_st = Infinity;\n let character_et = -Infinity;\n action.characterActions.forEach(ca => {\n const info = this._actionProcessor.getActInfo(action.characterId, ca);\n if (!info) {\n return;\n }\n const item = new ActionItem(info.startTime, info.duration, ca, action.characterId);\n\n character_st = Math.max(Math.min(item.startTime, character_st), 0);\n character_et = Math.max(item.startTime + item.duration, character_et);\n actionList.push(item);\n });\n\n scene_st = !actIdx ? character_st : Math.max(Math.min(character_st, scene_st), 0);\n scene_et = !actIdx ? character_et : Math.max(character_et, scene_et);\n });\n\n const sceneInfo: ISceneInfo = {\n startTime: sceneStartTime + scene_st,\n duration: sceneStartTime + scene_et - scene_st,\n id: scene.id,\n actionList\n };\n\n return sceneInfo;\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/player/scheduler.ts"],"names":[],"mappings":"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","file":"scheduler.js","sourcesContent":["import { isNumber } from '@visactor/vutils';\nimport type { IActionSpec, IActSpec, ISceneSpec } from '../story/interface';\nimport { IStory } from '../story/interface';\nimport type { IActionProcessor } from './processor/interface/action-processor';\nimport type { IScheduler } from './interface/scheduler';\n\ninterface IActInfo {\n startTime: number;\n duration: number;\n id: string;\n sceneInfoList: ISceneInfo[];\n}\ninterface ISceneInfo {\n startTime: number;\n duration: number;\n id: string;\n actionList: IActionItem[];\n}\n\nexport interface IActionItem {\n startTime: number;\n duration: number;\n actionSpec: IActionSpec;\n characterId: string;\n}\n\nclass ActionItem implements IActionItem {\n startTime: number;\n duration: number;\n actionSpec: IActionSpec;\n characterId: string;\n\n constructor(st: number, d: number, as: IActionSpec, ci: string) {\n this.startTime = st;\n this.duration = d;\n this.actionSpec = as;\n this.characterId = ci;\n }\n}\n\nexport class Scheduler implements IScheduler {\n protected _actionProcessor: IActionProcessor;\n protected _actsInfo: IActInfo[];\n protected _runnedAct: Set<IActionItem>;\n\n constructor(actionProcessor: IActionProcessor) {\n this._actionProcessor = actionProcessor;\n this._runnedAct = new Set();\n }\n\n init(acts: IActSpec[]) {\n this.clearState();\n this.initActs(acts);\n }\n\n clearState(): void {\n this._runnedAct.clear();\n }\n\n getTotalTime(): number {\n return this._actsInfo.reduce((t, actInfo) => Math.max(t, actInfo.startTime + actInfo.duration), 0);\n }\n\n findActByTime(t: number) {\n // 规范化t\n const totalTime = this.getTotalTime();\n if (totalTime <= 0) {\n return {\n actInfo: this._actsInfo[0],\n t: 0\n };\n }\n for (let i = 0; i < this._actsInfo.length; i++) {\n const actInfo = this._actsInfo[i];\n if (actInfo.startTime <= t && actInfo.startTime + actInfo.duration > t) {\n return {\n actInfo: actInfo,\n t: t - actInfo.startTime\n };\n }\n }\n return {\n actInfo: this._actsInfo[this._actsInfo.length - 1],\n t: t - this._actsInfo[this._actsInfo.length - 1].startTime\n };\n }\n\n /**\n * 获取某个时间区间的所有Action,toTime实际上是当前时间,fromTime是上一次的时间\n * 避免跳帧\n * @param fromTime 上一次的时间\n * @param toTime 当前时间\n */\n getActionsInRange(fromTime: number, toTime: number) {\n // 先找到目前是在哪个幕中\n const { actInfo: fromAct, t: formatFromTime } = this.findActByTime(fromTime);\n const { actInfo: toAct, t: formatToTime } = this.findActByTime(toTime);\n if (fromAct !== toAct) {\n // TODO 跳帧了\n }\n // const formatFromTime = Scheduler.formatTimeInAction(fromTime, toAct);\n // const formatToTime = Scheduler.formatTimeInAction(toTime, toAct);\n\n const actions: IActionItem[] = [];\n toAct.sceneInfoList.forEach(sceneInfo => {\n const { startTime: sceneStartTime } = sceneInfo;\n sceneInfo.actionList.forEach(actionInfo => {\n const startTime = sceneStartTime + actionInfo.startTime;\n if (startTime < formatToTime) {\n if (!this._runnedAct.has(actionInfo)) {\n this._runnedAct.add(actionInfo);\n actions.push(actionInfo);\n }\n }\n });\n });\n // actions.length && console.log('找到', fromTime, toTime, actions);\n return actions;\n }\n\n protected initActs(acts: IActSpec[]) {\n // act与act之间是串联的\n let startTime = 0;\n this._actsInfo = acts.map(act => {\n const actInfo = this._getActInfo(act, startTime);\n startTime += actInfo.duration;\n return actInfo;\n });\n }\n\n protected _getActInfo(act: IActSpec, actStartTime: number): IActInfo {\n let sceneStartTime = 0;\n const sceneInfoList = act.scenes.map(scene => {\n const sceneInfo = this._getSceneInfo(scene, sceneStartTime + (scene.delay ?? 0));\n sceneStartTime = sceneInfo.startTime + sceneInfo.duration;\n return sceneInfo;\n });\n const startTime = sceneInfoList.reduce((st, info) => Math.min(info.startTime, st), 0);\n const endTime = sceneInfoList.reduce((et, info) => Math.max(info.startTime + info.duration, et), 0);\n return {\n startTime: actStartTime,\n duration: startTime + endTime - startTime,\n id: act.id,\n sceneInfoList\n };\n }\n\n protected _getSceneInfo(scene: ISceneSpec, sceneStartTime: number): ISceneInfo {\n let scene_st = 0;\n let scene_et = 0;\n const actionList: IActionItem[] = [];\n scene.actions.forEach((action, actIdx) => {\n let character_st = Infinity;\n let character_et = -Infinity;\n action.characterActions.forEach(ca => {\n const info = this._actionProcessor.getActInfo(action.characterId, ca);\n if (!info) {\n return;\n }\n const item = new ActionItem(info.startTime, info.duration, ca, action.characterId);\n\n character_st = Math.max(Math.min(item.startTime, character_st), 0);\n character_et = Math.max(item.startTime + item.duration, character_et);\n actionList.push(item);\n });\n\n scene_st = !actIdx ? character_st : Math.max(Math.min(character_st, scene_st), 0);\n scene_et = !actIdx ? character_et : Math.max(character_et, scene_et);\n });\n\n const sceneInfo: ISceneInfo = {\n startTime: sceneStartTime + scene_st,\n duration: scene_et - scene_st,\n id: scene.id,\n actionList\n };\n\n return sceneInfo;\n }\n}\n"]}
@@ -1,3 +1 @@
1
-
2
-
3
1
  //# sourceMappingURL=action.js.map
@@ -62,4 +62,4 @@ class StoryCanvas {
62
62
  }
63
63
 
64
64
  exports.StoryCanvas = StoryCanvas;
65
- //# sourceMappingURL=canvas.js.map
65
+ //# sourceMappingURL=canvas.js.map
@@ -2,14 +2,12 @@ import type { ICharacterInitOption, ICharacterPickInfo } from '../runtime-interf
2
2
  import type { ICharacter, ICharacterSpec } from '..';
3
3
  import type { IGroup } from '@visactor/vrender';
4
4
  import type { StoryEvent } from '../../interface';
5
- import { Graphic } from '../component/graphic/graphic';
6
- import { IVisactorGraphic } from '../visactor/interface';
7
5
  export declare abstract class CharacterBase implements ICharacter {
8
6
  readonly id: string;
9
- protected _graphic: Graphic | IVisactorGraphic;
10
- get graphic(): IVisactorGraphic | Graphic;
11
7
  protected _spec: ICharacterSpec;
12
8
  get spec(): ICharacterSpec;
9
+ protected _graphic: any;
10
+ get graphic(): any;
13
11
  protected _option: ICharacterInitOption;
14
12
  get option(): ICharacterInitOption;
15
13
  constructor(spec: ICharacterSpec, option: ICharacterInitOption);
@@ -27,4 +25,5 @@ export declare abstract class CharacterBase implements ICharacter {
27
25
  abstract getGraphicParent(): IGroup;
28
26
  abstract clearCharacter(): void;
29
27
  abstract checkEvent(event: StoryEvent): false | ICharacterPickInfo;
28
+ release(): void;
30
29
  }
@@ -7,12 +7,12 @@ Object.defineProperty(exports, "__esModule", {
7
7
  const vutils_1 = require("@visactor/vutils");
8
8
 
9
9
  class CharacterBase {
10
- get graphic() {
11
- return this._graphic;
12
- }
13
10
  get spec() {
14
11
  return this._spec;
15
12
  }
13
+ get graphic() {
14
+ return this._graphic;
15
+ }
16
16
  get option() {
17
17
  return this._option;
18
18
  }
@@ -37,6 +37,9 @@ class CharacterBase {
37
37
  this.clearCharacter(), this.init();
38
38
  }
39
39
  getPositionData() {}
40
+ release() {
41
+ this.graphic && this.graphic.release && this.graphic.release();
42
+ }
40
43
  }
41
44
 
42
45
  exports.CharacterBase = CharacterBase;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/story/character/base/base.ts"],"names":[],"mappings":";;;AAAA,6CAAkD;AAQlD,MAAsB,aAAa;IAGjC,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAGD,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,YAAY,IAAoB,EAAE,MAA4B;QAC5D,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;QAClB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IACxB,CAAC;IACD,UAAU,CAAC,IAAkD;;QAC3D,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;SACrC;QACD,IAAI,IAAA,gBAAO,EAAC,IAAI,CAAC,MAAM,CAAC,EAAE;YACxB,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;SACjC;QACD,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,IAAA,cAAK,EAAC,MAAA,IAAI,CAAC,KAAK,CAAC,OAAO,mCAAI,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;SACpE;IACH,CAAC;IAED,aAAa,CAAC,IAAyB;QACrC,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;IACxC,CAAC;IAED,MAAM,CAAC,CAAS;QACd,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IAED,IAAI;QACF,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAED,KAAK;QACH,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,IAAI,EAAE,CAAC;IACd,CAAC;IASD,eAAe;QACb,OAAO;IACT,CAAC;CAOF;AApED,sCAoEC","file":"base.js","sourcesContent":["import { isValid, merge } from '@visactor/vutils';\nimport type { ICharacterInitOption, ICharacterPickInfo } from '../runtime-interface';\nimport type { ICharacter, ICharacterSpec } from '..';\nimport type { IGroup } from '@visactor/vrender';\nimport type { StoryEvent } from '../../interface';\nimport { Graphic } from '../component/graphic/graphic';\nimport { IVisactorGraphic } from '../visactor/interface';\n\nexport abstract class CharacterBase implements ICharacter {\n readonly id: string;\n protected declare _graphic: Graphic | IVisactorGraphic;\n get graphic() {\n return this._graphic;\n }\n protected _spec: ICharacterSpec;\n get spec() {\n return this._spec;\n }\n\n protected _option: ICharacterInitOption;\n get option() {\n return this._option;\n }\n\n constructor(spec: ICharacterSpec, option: ICharacterInitOption) {\n this.id = spec.id;\n this._spec = spec;\n this._option = option;\n }\n updateSpec(spec: Omit<Partial<ICharacterSpec>, 'id' | 'type'>): void {\n if (spec.position) {\n this._spec.position = spec.position;\n }\n if (isValid(spec.zIndex)) {\n this._spec.zIndex = spec.zIndex;\n }\n if (spec.options) {\n this._spec.options = merge(this._spec.options ?? {}, spec.options);\n }\n }\n\n setAttributes(attr: Record<string, any>) {\n throw new Error('请重载setAttributes函数');\n }\n\n tickTo(t: number): void {\n throw new Error('Method not implemented.');\n }\n\n init() {\n this._initRuntime();\n this._parserSpec();\n this._initGraphics();\n }\n\n reset() {\n this.clearCharacter();\n this.init();\n }\n\n protected abstract _initRuntime(): void;\n protected abstract _parserSpec(): void;\n protected abstract _initGraphics(): void;\n\n abstract show(): void;\n abstract hide(): void;\n\n getPositionData() {\n return;\n }\n\n abstract getGraphicParent(): IGroup;\n\n abstract clearCharacter(): void;\n\n abstract checkEvent(event: StoryEvent): false | ICharacterPickInfo;\n}\n"]}
1
+ {"version":3,"sources":["../src/story/character/base/base.ts"],"names":[],"mappings":";;;AAAA,6CAAkD;AAOlD,MAAsB,aAAa;IAGjC,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAGD,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,YAAY,IAAoB,EAAE,MAA4B;QAC5D,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;QAClB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IACxB,CAAC;IACD,UAAU,CAAC,IAAkD;;QAC3D,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;SACrC;QACD,IAAI,IAAA,gBAAO,EAAC,IAAI,CAAC,MAAM,CAAC,EAAE;YACxB,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;SACjC;QACD,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,IAAA,cAAK,EAAC,MAAA,IAAI,CAAC,KAAK,CAAC,OAAO,mCAAI,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;SACpE;IACH,CAAC;IAED,aAAa,CAAC,IAAyB;QACrC,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;IACxC,CAAC;IAED,MAAM,CAAC,CAAS;QACd,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IAED,IAAI;QACF,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAED,KAAK;QACH,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,IAAI,EAAE,CAAC;IACd,CAAC;IASD,eAAe;QACb,OAAO;IACT,CAAC;IAOD,OAAO;QACL,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;IACjE,CAAC;CACF;AAvED,sCAuEC","file":"base.js","sourcesContent":["import { isValid, merge } from '@visactor/vutils';\nimport type { ICharacterInitOption, ICharacterPickInfo } from '../runtime-interface';\nimport type { ICharacter, ICharacterSpec } from '..';\nimport type { IGroup } from '@visactor/vrender';\nimport type { StoryEvent } from '../../interface';\nimport { IVisactorGraphic } from '../visactor/interface';\n\nexport abstract class CharacterBase implements ICharacter {\n readonly id: string;\n protected _spec: ICharacterSpec;\n get spec() {\n return this._spec;\n }\n protected declare _graphic: any;\n get graphic() {\n return this._graphic;\n }\n\n protected _option: ICharacterInitOption;\n get option() {\n return this._option;\n }\n\n constructor(spec: ICharacterSpec, option: ICharacterInitOption) {\n this.id = spec.id;\n this._spec = spec;\n this._option = option;\n }\n updateSpec(spec: Omit<Partial<ICharacterSpec>, 'id' | 'type'>): void {\n if (spec.position) {\n this._spec.position = spec.position;\n }\n if (isValid(spec.zIndex)) {\n this._spec.zIndex = spec.zIndex;\n }\n if (spec.options) {\n this._spec.options = merge(this._spec.options ?? {}, spec.options);\n }\n }\n\n setAttributes(attr: Record<string, any>) {\n throw new Error('请重载setAttributes函数');\n }\n\n tickTo(t: number): void {\n throw new Error('Method not implemented.');\n }\n\n init() {\n this._initRuntime();\n this._parserSpec();\n this._initGraphics();\n }\n\n reset() {\n this.clearCharacter();\n this.init();\n }\n\n protected abstract _initRuntime(): void;\n protected abstract _parserSpec(): void;\n protected abstract _initGraphics(): void;\n\n abstract show(): void;\n abstract hide(): void;\n\n getPositionData() {\n return;\n }\n\n abstract getGraphicParent(): IGroup;\n\n abstract clearCharacter(): void;\n\n abstract checkEvent(event: StoryEvent): false | ICharacterPickInfo;\n release() {\n this.graphic && this.graphic.release && this.graphic.release();\n }\n}\n"]}
@@ -21,4 +21,5 @@ export declare class CharacterChart extends CharacterVisactor {
21
21
  clearCharacter(): void;
22
22
  tickTo(t: number): void;
23
23
  checkEvent(event: StoryEvent): false | ICharacterPickInfo;
24
+ release(): void;
24
25
  }
@@ -81,6 +81,9 @@ class CharacterChart extends character_1.CharacterVisactor {
81
81
  checkEvent(event) {
82
82
  return !1;
83
83
  }
84
+ release() {
85
+ this.option.graphicParent.removeChild(this._graphic), this._graphic.release && this._graphic.release();
86
+ }
84
87
  }
85
88
 
86
89
  exports.CharacterChart = CharacterChart, CharacterChart.type = "CharacterChart",
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/story/character/chart/character.ts"],"names":[],"mappings":"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","file":"character.js","sourcesContent":["import { CommonSpecRuntime } from './runtime/common-spec';\nimport { ComponentSpecRuntime } from './runtime/component-spec';\nimport type { IChartCharacterRuntimeConstructor } from './runtime/interface';\nimport { cloneDeep } from '@visactor/vutils';\nimport { VChart } from '@visactor/vchart';\nimport type { IChartCharacterSpec } from '../dsl-interface';\nimport { Chart } from './graphic/vchart-graphic';\nimport { getLayoutFromWidget } from '../../utils/layout';\nimport { CharacterVisactor } from '../visactor/character';\nimport { SpecProcess } from './spec-process/spec-process';\nimport { ChartDataTempTransform } from './spec-process/data-temp-transform';\nimport type { ITicker } from '@visactor/vrender';\nimport type { IChartTemp } from './temp/interface';\nimport { SeriesSpecRuntime } from './runtime/series-spec';\nimport type { StoryEvent } from '../../interface/runtime-interface';\nimport type { ICharacterPickInfo } from '../runtime-interface';\n\nexport class CharacterChart extends CharacterVisactor {\n static type = 'CharacterChart';\n static RunTime: IChartCharacterRuntimeConstructor[] = [\n ComponentSpecRuntime as unknown as IChartCharacterRuntimeConstructor,\n CommonSpecRuntime as unknown as IChartCharacterRuntimeConstructor,\n SeriesSpecRuntime as unknown as IChartCharacterRuntimeConstructor\n ];\n\n protected declare _specProcess: SpecProcess;\n protected _ticker: ITicker;\n\n protected declare _spec: IChartCharacterSpec;\n get spec() {\n return this._spec;\n }\n\n protected _initSpecProcess(): void {\n this._specProcess = new SpecProcess(this as any, ChartDataTempTransform, this.onSpecReady);\n }\n\n protected _initRuntime(): void {\n CharacterChart.RunTime.forEach(R => {\n this._runtime.push(new R(this));\n });\n }\n\n protected _parserSpec(): void {\n this._specProcess.updateConfig(this._spec);\n }\n protected _initGraphics(): void {\n // this._ticker = new ManualTicker([]);\n const layout = getLayoutFromWidget(this._spec.position);\n const viewBox = {\n x1: layout.x,\n x2: layout.x + layout.width,\n y1: layout.y,\n y2: layout.y + layout.height\n };\n const spec = cloneDeep(this._specProcess.getVisSpec());\n spec.width = layout.width;\n spec.height = layout.height;\n // @ts-ignore\n this._graphic = new Chart({\n renderCanvas: this._option.canvas.getCanvas(),\n spec: spec,\n ClassType: VChart,\n vchart: null,\n zIndex: this._spec.zIndex,\n mode: 'desktop-browser',\n dpr: window.devicePixelRatio,\n interactive: false,\n autoRender: false,\n disableDirtyBounds: true,\n viewBox,\n ticker: this._option.canvas.getStage().ticker,\n visibleAll: false,\n ...(this._spec.options.panel ?? {}),\n chartInitOptions: {\n animation: true,\n disableTriggerEvent: true,\n performanceHook: {\n afterInitializeChart: () => {\n (<IChartTemp>this.specProcess.dataTempTransform?.specTemp)?.afterInitializeChart({ character: this });\n this._runtime.forEach(r => r.afterInitializeChart?.());\n },\n afterVRenderDraw: () => {\n this._runtime.forEach(r => r.afterVRenderDraw?.());\n }\n }\n }\n });\n this.option.graphicParent.add(this._graphic as any);\n }\n\n protected _afterRender(): void {\n // console.log('afterRender');\n return;\n }\n protected _updateVisactorSpec(): void {\n // console.log('_updateVisactorSpec', this._specProcess.getVisSpec());\n this._graphic?.updateSpec(this._specProcess.getVisSpec());\n }\n\n clearCharacter(): void {\n this._graphic.vProduct.release();\n this._graphic.parent.removeChild(this._graphic);\n }\n\n tickTo(t: number): void {\n this._ticker.tickAt(t);\n }\n\n checkEvent(event: StoryEvent): false | ICharacterPickInfo {\n return false;\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/story/character/chart/character.ts"],"names":[],"mappings":";;;AAAA,uDAA0D;AAC1D,6DAAgE;AAEhE,6CAA6C;AAC7C,6CAA0C;AAE1C,6DAAiD;AACjD,+CAAyD;AACzD,qDAA0D;AAC1D,8DAA0D;AAC1D,4EAA4E;AAG5E,uDAA0D;AAI1D,MAAa,cAAe,SAAQ,6BAAiB;IAYnD,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAES,gBAAgB;QACxB,IAAI,CAAC,YAAY,GAAG,IAAI,0BAAW,CAAC,IAAW,EAAE,4CAAsB,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IAC7F,CAAC;IAES,YAAY;QACpB,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YACjC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;IACL,CAAC;IAES,WAAW;QACnB,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC7C,CAAC;IACS,aAAa;;QAErB,MAAM,MAAM,GAAG,IAAA,4BAAmB,EAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACxD,MAAM,OAAO,GAAG;YACd,EAAE,EAAE,MAAM,CAAC,CAAC;YACZ,EAAE,EAAE,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK;YAC3B,EAAE,EAAE,MAAM,CAAC,CAAC;YACZ,EAAE,EAAE,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM;SAC7B,CAAC;QACF,MAAM,IAAI,GAAG,IAAA,kBAAS,EAAC,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC,CAAC;QACvD,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QAC1B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAE5B,IAAI,CAAC,QAAQ,GAAG,IAAI,sBAAK,+BACvB,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,EAC7C,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,eAAM,EACjB,MAAM,EAAE,IAAI,EACZ,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,EACzB,IAAI,EAAE,iBAAiB,EACvB,GAAG,EAAE,MAAM,CAAC,gBAAgB,EAC5B,WAAW,EAAE,KAAK,EAClB,UAAU,EAAE,KAAK,EACjB,kBAAkB,EAAE,IAAI,EACxB,OAAO,EACP,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,MAAM,EAC7C,UAAU,EAAE,KAAK,IACd,CAAC,MAAA,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,mCAAI,EAAE,CAAC,KACnC,gBAAgB,EAAE;gBAChB,SAAS,EAAE,IAAI;gBACf,mBAAmB,EAAE,IAAI;gBACzB,eAAe,EAAE;oBACf,oBAAoB,EAAE,GAAG,EAAE;;wBACzB,MAAa,MAAA,IAAI,CAAC,WAAW,CAAC,iBAAiB,0CAAE,QAAS,0CAAE,oBAAoB,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;wBACtG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,WAAC,OAAA,MAAA,CAAC,CAAC,oBAAoB,iDAAI,CAAA,EAAA,CAAC,CAAC;oBACzD,CAAC;oBACD,gBAAgB,EAAE,GAAG,EAAE;wBACrB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,WAAC,OAAA,MAAA,CAAC,CAAC,gBAAgB,iDAAI,CAAA,EAAA,CAAC,CAAC;oBACrD,CAAC;iBACF;aACF,IACD,CAAC;QACH,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,QAAe,CAAC,CAAC;IACtD,CAAC;IAES,YAAY;QAEpB,OAAO;IACT,CAAC;IACS,mBAAmB;;QAE3B,MAAA,IAAI,CAAC,QAAQ,0CAAE,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC,CAAC;IAC5D,CAAC;IAED,cAAc;QACZ,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;QACjC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAClD,CAAC;IAED,MAAM,CAAC,CAAS;QACd,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACzB,CAAC;IAED,UAAU,CAAC,KAAiB;QAC1B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO;QACL,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,QAAe,CAAC,CAAC;QAC5D,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;IACnD,CAAC;;AAnGH,wCAoGC;AAnGQ,mBAAI,GAAG,gBAAgB,CAAC;AACxB,sBAAO,GAAwC;IACpD,qCAAoE;IACpE,+BAAiE;IACjE,+BAAiE;CAClE,CAAC","file":"character.js","sourcesContent":["import { CommonSpecRuntime } from './runtime/common-spec';\nimport { ComponentSpecRuntime } from './runtime/component-spec';\nimport type { IChartCharacterRuntimeConstructor } from './runtime/interface';\nimport { cloneDeep } from '@visactor/vutils';\nimport { VChart } from '@visactor/vchart';\nimport type { IChartCharacterSpec } from '../dsl-interface';\nimport { Chart } from './graphic/vchart-graphic';\nimport { getLayoutFromWidget } from '../../utils/layout';\nimport { CharacterVisactor } from '../visactor/character';\nimport { SpecProcess } from './spec-process/spec-process';\nimport { ChartDataTempTransform } from './spec-process/data-temp-transform';\nimport type { ITicker } from '@visactor/vrender';\nimport type { IChartTemp } from './temp/interface';\nimport { SeriesSpecRuntime } from './runtime/series-spec';\nimport type { StoryEvent } from '../../interface/runtime-interface';\nimport type { ICharacterPickInfo } from '../runtime-interface';\n\nexport class CharacterChart extends CharacterVisactor {\n static type = 'CharacterChart';\n static RunTime: IChartCharacterRuntimeConstructor[] = [\n ComponentSpecRuntime as unknown as IChartCharacterRuntimeConstructor,\n CommonSpecRuntime as unknown as IChartCharacterRuntimeConstructor,\n SeriesSpecRuntime as unknown as IChartCharacterRuntimeConstructor\n ];\n\n protected declare _specProcess: SpecProcess;\n protected _ticker: ITicker;\n\n protected declare _spec: IChartCharacterSpec;\n get spec() {\n return this._spec;\n }\n\n protected _initSpecProcess(): void {\n this._specProcess = new SpecProcess(this as any, ChartDataTempTransform, this.onSpecReady);\n }\n\n protected _initRuntime(): void {\n CharacterChart.RunTime.forEach(R => {\n this._runtime.push(new R(this));\n });\n }\n\n protected _parserSpec(): void {\n this._specProcess.updateConfig(this._spec);\n }\n protected _initGraphics(): void {\n // this._ticker = new ManualTicker([]);\n const layout = getLayoutFromWidget(this._spec.position);\n const viewBox = {\n x1: layout.x,\n x2: layout.x + layout.width,\n y1: layout.y,\n y2: layout.y + layout.height\n };\n const spec = cloneDeep(this._specProcess.getVisSpec());\n spec.width = layout.width;\n spec.height = layout.height;\n // @ts-ignore\n this._graphic = new Chart({\n renderCanvas: this._option.canvas.getCanvas(),\n spec: spec,\n ClassType: VChart,\n vchart: null,\n zIndex: this._spec.zIndex,\n mode: 'desktop-browser',\n dpr: window.devicePixelRatio,\n interactive: false,\n autoRender: false,\n disableDirtyBounds: true,\n viewBox,\n ticker: this._option.canvas.getStage().ticker,\n visibleAll: false,\n ...(this._spec.options.panel ?? {}),\n chartInitOptions: {\n animation: true,\n disableTriggerEvent: true,\n performanceHook: {\n afterInitializeChart: () => {\n (<IChartTemp>this.specProcess.dataTempTransform?.specTemp)?.afterInitializeChart({ character: this });\n this._runtime.forEach(r => r.afterInitializeChart?.());\n },\n afterVRenderDraw: () => {\n this._runtime.forEach(r => r.afterVRenderDraw?.());\n }\n }\n }\n });\n this.option.graphicParent.add(this._graphic as any);\n }\n\n protected _afterRender(): void {\n // console.log('afterRender');\n return;\n }\n protected _updateVisactorSpec(): void {\n // console.log('_updateVisactorSpec', this._specProcess.getVisSpec());\n this._graphic?.updateSpec(this._specProcess.getVisSpec());\n }\n\n clearCharacter(): void {\n this._graphic.vProduct.release();\n this._graphic.parent.removeChild(this._graphic);\n }\n\n tickTo(t: number): void {\n this._ticker.tickAt(t);\n }\n\n checkEvent(event: StoryEvent): false | ICharacterPickInfo {\n return false;\n }\n\n release(): void {\n this.option.graphicParent.removeChild(this._graphic as any);\n this._graphic.release && this._graphic.release();\n }\n}\n"]}
@@ -26,9 +26,9 @@ let VChartRender = class extends vrender_1.DefaultCanvasRectRender {
26
26
  context.baseGlobalAlpha /= baseOpacity;
27
27
  const chartStage = chart.vchart.getStage(), chartCtx = chartStage.window.getContext();
28
28
  chartCtx.baseGlobalAlpha *= baseOpacity, chartStage._editor_needRender = !0;
29
- const matrix = chart.globalTransMatrix.clone(), stageMatrix = chart.stage.window.getViewBoxTransform();
30
- matrix.multiply(stageMatrix.a, stageMatrix.b, stageMatrix.c, stageMatrix.d, stageMatrix.e, stageMatrix.f),
31
- chartStage.window.setViewBoxTransform(matrix.a, matrix.b, matrix.c, matrix.d, matrix.e, matrix.f),
29
+ const matrix = chart.globalTransMatrix.clone(), stageMatrix = chart.stage.window.getViewBoxTransform().clone();
30
+ stageMatrix.multiply(matrix.a, matrix.b, matrix.c, matrix.d, matrix.e, matrix.f),
31
+ chartStage.window.setViewBoxTransform(stageMatrix.a, stageMatrix.b, stageMatrix.c, stageMatrix.d, stageMatrix.e, stageMatrix.f),
32
32
  null === (_a = chartStage.dirtyBounds) || void 0 === _a || _a.clear(), chartStage.render(),
33
33
  chartCtx.baseGlobalAlpha /= baseOpacity;
34
34
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/story/character/chart/graphic/vchart-graphic-render.ts"],"names":[],"mappings":";;;;;;;;;AAWA,+CAAwE;AAExE,qDAAqD;AAExC,QAAA,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;AACxC,QAAA,uBAAuB,GAAG,MAAM,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;AAGtE,IAAM,YAAY,GAAlB,MAAM,YAAa,SAAQ,iCAAuB;IAAlD;;QAEL,eAAU,GAAW,kCAAiB,CAAC;IAiDzC,CAAC;IA/CC,SAAS,CACP,KAAU,EACV,OAAmB,EACnB,CAAS,EACT,CAAS,EACT,WAAyB,EACzB,MAAiC,EACjC,MAIY,EACZ,QAIY;;QAEZ,MAAM,EAAE,WAAW,GAAG,CAAC,EAAE,GAAG,KAAK,CAAC,SAAS,CAAC;QAC5C,IAAI,WAAW,IAAI,CAAC,EAAE;YACpB,OAAO;SACR;QACD,OAAO,CAAC,eAAe,IAAI,WAAW,CAAC;QACvC,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;QAC7E,OAAO,CAAC,eAAe,IAAI,WAAW,CAAC;QACvC,MAAM,MAAM,GAAI,KAAe,CAAC,MAAM,CAAC;QACvC,MAAM,UAAU,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QACrC,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;QAChD,QAAQ,CAAC,eAAe,IAAI,WAAW,CAAC;QAExC,UAAU,CAAC,kBAAkB,GAAG,IAAI,CAAC;QACrC,MAAM,MAAM,GAAG,KAAK,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC;QAC/C,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,mBAAmB,EAAE,CAAC;QAC7D,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;QAC1G,UAAU,CAAC,MAAM,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;QAClG,MAAA,UAAU,CAAC,WAAW,0CAAE,KAAK,EAAE,CAAC;QAChC,UAAU,CAAC,MAAM,EAAE,CAAC;QACpB,QAAQ,CAAC,eAAe,IAAI,WAAW,CAAC;IAI1C,CAAC;IAED,IAAI,CAAC,KAAU,EAAE,aAA6B,EAAE,WAAyB,EAAE,MAAiC;QAE1G,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,EAAS,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;IAC3D,CAAC;CACF,CAAA;AAnDY,YAAY;IADxB,IAAA,oBAAU,GAAE;GACA,YAAY,CAmDxB;AAnDY,oCAAY","file":"vchart-graphic-render.js","sourcesContent":["import type {\n IContext2d,\n IDrawContext,\n IGraphicAttribute,\n IGraphicRender,\n IGraphicRenderDrawParams,\n IMarkAttribute,\n IRenderService,\n IThemeAttribute,\n IGraphic\n} from '@visactor/vrender';\nimport { injectable, DefaultCanvasRectRender } from '@visactor/vrender';\nimport type { Chart } from './vchart-graphic';\nimport { CHART_NUMBER_TYPE } from './vchart-graphic';\n\nexport const ChartRender = Symbol.for('ChartRender');\nexport const ChartRenderContribution = Symbol.for('ChartRenderContribution');\n\n@injectable()\nexport class VChartRender extends DefaultCanvasRectRender implements IGraphicRender {\n type: 'chart';\n numberType: number = CHART_NUMBER_TYPE;\n\n drawShape(\n chart: any,\n context: IContext2d,\n x: number,\n y: number,\n drawContext: IDrawContext,\n params?: IGraphicRenderDrawParams,\n fillCb?: (\n ctx: IContext2d,\n markAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => boolean,\n strokeCb?: (\n ctx: IContext2d,\n markAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => boolean\n ) {\n const { baseOpacity = 1 } = chart.attribute;\n if (baseOpacity <= 0) {\n return;\n }\n context.baseGlobalAlpha *= baseOpacity;\n super.drawShape(chart, context, x, y, drawContext, params, fillCb, strokeCb);\n context.baseGlobalAlpha /= baseOpacity;\n const vChart = (chart as Chart).vchart;\n const chartStage = vChart.getStage();\n const chartCtx = chartStage.window.getContext();\n chartCtx.baseGlobalAlpha *= baseOpacity;\n // @ts-ignore\n chartStage._editor_needRender = true;\n const matrix = chart.globalTransMatrix.clone();\n const stageMatrix = chart.stage.window.getViewBoxTransform();\n matrix.multiply(stageMatrix.a, stageMatrix.b, stageMatrix.c, stageMatrix.d, stageMatrix.e, stageMatrix.f);\n chartStage.window.setViewBoxTransform(matrix.a, matrix.b, matrix.c, matrix.d, matrix.e, matrix.f);\n chartStage.dirtyBounds?.clear();\n chartStage.render();\n chartCtx.baseGlobalAlpha /= baseOpacity;\n // const ctx = chartStage.window.getContext();\n // ctx.fillStyle = 'green';\n // ctx.fillRect(0, 0, 100, 100);\n }\n\n draw(chart: any, renderService: IRenderService, drawContext: IDrawContext, params?: IGraphicRenderDrawParams) {\n // const chartAttribute = getTheme(chart, params?.theme).circle;\n this._draw(chart, {} as any, false, drawContext, params);\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/story/character/chart/graphic/vchart-graphic-render.ts"],"names":[],"mappings":";;;;;;;;;AAWA,+CAAwE;AAExE,qDAAqD;AAExC,QAAA,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;AACxC,QAAA,uBAAuB,GAAG,MAAM,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;AAGtE,IAAM,YAAY,GAAlB,MAAM,YAAa,SAAQ,iCAAuB;IAAlD;;QAEL,eAAU,GAAW,kCAAiB,CAAC;IAwDzC,CAAC;IAtDC,SAAS,CACP,KAAU,EACV,OAAmB,EACnB,CAAS,EACT,CAAS,EACT,WAAyB,EACzB,MAAiC,EACjC,MAIY,EACZ,QAIY;;QAEZ,MAAM,EAAE,WAAW,GAAG,CAAC,EAAE,GAAG,KAAK,CAAC,SAAS,CAAC;QAC5C,IAAI,WAAW,IAAI,CAAC,EAAE;YACpB,OAAO;SACR;QACD,OAAO,CAAC,eAAe,IAAI,WAAW,CAAC;QACvC,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;QAC7E,OAAO,CAAC,eAAe,IAAI,WAAW,CAAC;QACvC,MAAM,MAAM,GAAI,KAAe,CAAC,MAAM,CAAC;QACvC,MAAM,UAAU,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QACrC,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;QAChD,QAAQ,CAAC,eAAe,IAAI,WAAW,CAAC;QAExC,UAAU,CAAC,kBAAkB,GAAG,IAAI,CAAC;QACrC,MAAM,MAAM,GAAG,KAAK,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC;QAC/C,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,mBAAmB,EAAE,CAAC,KAAK,EAAE,CAAC;QACrE,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;QACjF,UAAU,CAAC,MAAM,CAAC,mBAAmB,CACnC,WAAW,CAAC,CAAC,EACb,WAAW,CAAC,CAAC,EACb,WAAW,CAAC,CAAC,EACb,WAAW,CAAC,CAAC,EACb,WAAW,CAAC,CAAC,EACb,WAAW,CAAC,CAAC,CACd,CAAC;QACF,MAAA,UAAU,CAAC,WAAW,0CAAE,KAAK,EAAE,CAAC;QAChC,UAAU,CAAC,MAAM,EAAE,CAAC;QACpB,QAAQ,CAAC,eAAe,IAAI,WAAW,CAAC;IAI1C,CAAC;IAED,IAAI,CAAC,KAAU,EAAE,aAA6B,EAAE,WAAyB,EAAE,MAAiC;QAE1G,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,EAAS,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;IAC3D,CAAC;CACF,CAAA;AA1DY,YAAY;IADxB,IAAA,oBAAU,GAAE;GACA,YAAY,CA0DxB;AA1DY,oCAAY","file":"vchart-graphic-render.js","sourcesContent":["import type {\n IContext2d,\n IDrawContext,\n IGraphicAttribute,\n IGraphicRender,\n IGraphicRenderDrawParams,\n IMarkAttribute,\n IRenderService,\n IThemeAttribute,\n IGraphic\n} from '@visactor/vrender';\nimport { injectable, DefaultCanvasRectRender } from '@visactor/vrender';\nimport type { Chart } from './vchart-graphic';\nimport { CHART_NUMBER_TYPE } from './vchart-graphic';\n\nexport const ChartRender = Symbol.for('ChartRender');\nexport const ChartRenderContribution = Symbol.for('ChartRenderContribution');\n\n@injectable()\nexport class VChartRender extends DefaultCanvasRectRender implements IGraphicRender {\n type: 'chart';\n numberType: number = CHART_NUMBER_TYPE;\n\n drawShape(\n chart: any,\n context: IContext2d,\n x: number,\n y: number,\n drawContext: IDrawContext,\n params?: IGraphicRenderDrawParams,\n fillCb?: (\n ctx: IContext2d,\n markAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => boolean,\n strokeCb?: (\n ctx: IContext2d,\n markAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => boolean\n ) {\n const { baseOpacity = 1 } = chart.attribute;\n if (baseOpacity <= 0) {\n return;\n }\n context.baseGlobalAlpha *= baseOpacity;\n super.drawShape(chart, context, x, y, drawContext, params, fillCb, strokeCb);\n context.baseGlobalAlpha /= baseOpacity;\n const vChart = (chart as Chart).vchart;\n const chartStage = vChart.getStage();\n const chartCtx = chartStage.window.getContext();\n chartCtx.baseGlobalAlpha *= baseOpacity;\n // @ts-ignore\n chartStage._editor_needRender = true;\n const matrix = chart.globalTransMatrix.clone();\n const stageMatrix = chart.stage.window.getViewBoxTransform().clone();\n stageMatrix.multiply(matrix.a, matrix.b, matrix.c, matrix.d, matrix.e, matrix.f);\n chartStage.window.setViewBoxTransform(\n stageMatrix.a,\n stageMatrix.b,\n stageMatrix.c,\n stageMatrix.d,\n stageMatrix.e,\n stageMatrix.f\n );\n chartStage.dirtyBounds?.clear();\n chartStage.render();\n chartCtx.baseGlobalAlpha /= baseOpacity;\n // const ctx = chartStage.window.getContext();\n // ctx.fillStyle = 'green';\n // ctx.fillRect(0, 0, 100, 100);\n }\n\n draw(chart: any, renderService: IRenderService, drawContext: IDrawContext, params?: IGraphicRenderDrawParams) {\n // const chartAttribute = getTheme(chart, params?.theme).circle;\n this._draw(chart, {} as any, false, drawContext, params);\n }\n}\n"]}
@@ -32,4 +32,5 @@ export declare class Chart extends Group implements IVisactorGraphic {
32
32
  updateSpec(spec: ISpec, forceMerge?: boolean, morphConfig?: boolean): void;
33
33
  updateViewBox(viewBox: IBoundsLike): void;
34
34
  private _updateViewBox;
35
+ release(): void;
35
36
  }
@@ -41,8 +41,9 @@ class Chart extends vrender_1.Group {
41
41
  this._vchart && this.stage && (this._vchart.getStage()._editor_needRender = !1,
42
42
  this._vchart.getStage().stage.resumeRender());
43
43
  }
44
- }, null !== (_a = params.chartInitOptions) && void 0 !== _a ? _a : {})), this._vchart.renderSync();
44
+ }, null !== (_a = params.chartInitOptions) && void 0 !== _a ? _a : {}));
45
45
  const stage = this._vchart.getStage();
46
+ stage.stage.pauseRender(), this._vchart.renderSync(), stage.stage.resumeRender(),
46
47
  stage && (stage.background = !1, stage.pauseTriggerEvent()), params.viewBox && this.updateViewBox(params.viewBox);
47
48
  }
48
49
  updateSpec(spec, forceMerge = !1, morphConfig = !1) {
@@ -61,6 +62,9 @@ class Chart extends vrender_1.Group {
61
62
  }), viewBox.x2 -= viewBox.x1, viewBox.y2 -= viewBox.y1, viewBox.x1 = 0, viewBox.y1 = 0,
62
63
  this._vchart.resize(viewBox.x2 - viewBox.x1, viewBox.y2 - viewBox.y1), this._vchart.updateViewBox(viewBox);
63
64
  }
65
+ release() {
66
+ this._vchart && this._vchart.release();
67
+ }
64
68
  }
65
69
 
66
70
  exports.Chart = Chart;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/story/character/chart/graphic/vchart-graphic.ts"],"names":[],"mappings":"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","file":"vchart-graphic.js","sourcesContent":["import type { IVisactorGraphic } from '../../visactor/interface';\nimport type { IBoundsLike } from '@visactor/vutils';\nimport type { ISpec, IVChart } from '@visactor/vchart';\nimport type { GraphicType, IGroupGraphicAttribute, ITicker } from '@visactor/vrender';\nimport { genNumberType, Group } from '@visactor/vrender';\n\nexport interface IChartGraphicAttribute extends IGroupGraphicAttribute {\n renderCanvas: HTMLCanvasElement;\n spec: any;\n ClassType: any;\n vchart: IVChart;\n mode: string;\n modeParams?: any;\n dpr: number;\n interactive: boolean;\n animation: boolean;\n disableTriggerEvent: boolean;\n disableDirtyBounds: boolean;\n viewBox: IBoundsLike;\n ticker?: ITicker;\n autoRender?: boolean;\n chartInitOptions?: any;\n}\n\nexport const CHART_NUMBER_TYPE = genNumberType();\n\n// @ts-ignore\nexport class Chart extends Group implements IVisactorGraphic {\n type: GraphicType = 'chart' as any;\n declare attribute: IChartGraphicAttribute;\n protected _vchart: IVChart;\n get vchart() {\n return this._vchart;\n }\n get vProduct() {\n return this._vchart;\n }\n\n drawTag = false;\n\n constructor(params: IChartGraphicAttribute) {\n super(params);\n this.numberType = CHART_NUMBER_TYPE;\n\n // 创建chart\n if (!params.vchart) {\n params.vchart = this._vchart = new params.ClassType(params.spec, {\n renderCanvas: params.renderCanvas,\n mode: params.mode,\n modeParams: params.modeParams,\n canvasControled: false,\n // viewBox: params.vi\n dpr: params.dpr,\n interactive: params.interactive,\n animation: false,\n autoFit: false,\n disableTriggerEvent: params.disableTriggerEvent,\n disableDirtyBounds: params.disableDirtyBounds,\n ticker: params.ticker,\n beforeRender: () => {\n if (!this.stage) {\n return;\n }\n const chartStage = this._vchart.getStage();\n if (!(chartStage as any)._editor_needRender) {\n chartStage.pauseRender();\n this.stage.dirtyBounds?.union(this.globalAABBBounds);\n this.stage.renderNextFrame();\n }\n },\n afterRender: () => {\n if (!this._vchart) {\n return;\n }\n if (!this.stage) {\n return;\n }\n // @ts-ignore\n this._vchart.getStage()._editor_needRender = false;\n this._vchart.getStage().stage.resumeRender();\n },\n ...(params.chartInitOptions ?? {})\n });\n } else {\n this._vchart = params.vchart;\n }\n this._vchart.renderSync();\n // 背景设置为false后,不会擦除画布内容,可以实现元素正常堆叠绘制\n const stage = this._vchart.getStage();\n if (stage) {\n stage.background = false as any;\n // 关闭交互\n stage.pauseTriggerEvent();\n }\n if (params.viewBox) {\n this.updateViewBox(params.viewBox);\n }\n }\n\n updateSpec(spec: ISpec, forceMerge = false, morphConfig = false) {\n this._vchart.updateSpecSync(spec, forceMerge, morphConfig as any);\n }\n\n updateViewBox(viewBox: IBoundsLike) {\n this._updateViewBox(viewBox);\n }\n\n private _updateViewBox(_viewBox: IBoundsLike) {\n const viewBox = { ..._viewBox };\n this.setAttributes({\n x: viewBox.x1,\n y: viewBox.y1,\n width: viewBox.x2 - viewBox.x1,\n height: viewBox.y2 - viewBox.y1\n });\n //\n viewBox.x2 -= viewBox.x1;\n viewBox.y2 -= viewBox.y1;\n viewBox.x1 = 0;\n viewBox.y1 = 0;\n this._vchart.resize(viewBox.x2 - viewBox.x1, viewBox.y2 - viewBox.y1);\n this._vchart.updateViewBox(viewBox);\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/story/character/chart/graphic/vchart-graphic.ts"],"names":[],"mappings":"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","file":"vchart-graphic.js","sourcesContent":["import type { IVisactorGraphic } from '../../visactor/interface';\nimport type { IBoundsLike } from '@visactor/vutils';\nimport type { ISpec, IVChart } from '@visactor/vchart';\nimport type { GraphicType, IGroupGraphicAttribute, ITicker } from '@visactor/vrender';\nimport { genNumberType, Group } from '@visactor/vrender';\n\nexport interface IChartGraphicAttribute extends IGroupGraphicAttribute {\n renderCanvas: HTMLCanvasElement;\n spec: any;\n ClassType: any;\n vchart: IVChart;\n mode: string;\n modeParams?: any;\n dpr: number;\n interactive: boolean;\n animation: boolean;\n disableTriggerEvent: boolean;\n disableDirtyBounds: boolean;\n viewBox: IBoundsLike;\n ticker?: ITicker;\n autoRender?: boolean;\n chartInitOptions?: any;\n}\n\nexport const CHART_NUMBER_TYPE = genNumberType();\n\n// @ts-ignore\nexport class Chart extends Group implements IVisactorGraphic {\n type: GraphicType = 'chart' as any;\n declare attribute: IChartGraphicAttribute;\n protected _vchart: IVChart;\n // 是否试一次空render,目的是只生成场景树,不会真实渲染\n // protected _emptyRenderCall: boolean;\n get vchart() {\n return this._vchart;\n }\n get vProduct() {\n return this._vchart;\n }\n\n drawTag = false;\n\n constructor(params: IChartGraphicAttribute) {\n super(params);\n this.numberType = CHART_NUMBER_TYPE;\n\n // 创建chart\n if (!params.vchart) {\n params.vchart = this._vchart = new params.ClassType(params.spec, {\n renderCanvas: params.renderCanvas,\n mode: params.mode,\n modeParams: params.modeParams,\n canvasControled: false,\n // viewBox: params.vi\n dpr: params.dpr,\n interactive: params.interactive,\n animation: false,\n autoFit: false,\n disableTriggerEvent: params.disableTriggerEvent,\n disableDirtyBounds: params.disableDirtyBounds,\n ticker: params.ticker,\n beforeRender: () => {\n if (!this.stage) {\n return;\n }\n const chartStage = this._vchart.getStage();\n if (!(chartStage as any)._editor_needRender) {\n chartStage.pauseRender();\n this.stage.dirtyBounds?.union(this.globalAABBBounds);\n this.stage.renderNextFrame();\n }\n },\n afterRender: () => {\n if (!this._vchart) {\n return;\n }\n if (!this.stage) {\n return;\n }\n // @ts-ignore\n this._vchart.getStage()._editor_needRender = false;\n this._vchart.getStage().stage.resumeRender();\n },\n ...(params.chartInitOptions ?? {})\n });\n } else {\n this._vchart = params.vchart;\n }\n // 背景设置为false后,不会擦除画布内容,可以实现元素正常堆叠绘制\n const stage = this._vchart.getStage();\n stage.stage.pauseRender();\n this._vchart.renderSync();\n stage.stage.resumeRender();\n if (stage) {\n stage.background = false as any;\n // 关闭交互\n stage.pauseTriggerEvent();\n }\n if (params.viewBox) {\n this.updateViewBox(params.viewBox);\n }\n }\n\n updateSpec(spec: ISpec, forceMerge = false, morphConfig = false) {\n this._vchart.updateSpecSync(spec, forceMerge, morphConfig as any);\n }\n\n updateViewBox(viewBox: IBoundsLike) {\n this._updateViewBox(viewBox);\n }\n\n private _updateViewBox(_viewBox: IBoundsLike) {\n const viewBox = { ..._viewBox };\n this.setAttributes({\n x: viewBox.x1,\n y: viewBox.y1,\n width: viewBox.x2 - viewBox.x1,\n height: viewBox.y2 - viewBox.y1\n });\n //\n viewBox.x2 -= viewBox.x1;\n viewBox.y2 -= viewBox.y1;\n viewBox.x1 = 0;\n viewBox.y1 = 0;\n this._vchart.resize(viewBox.x2 - viewBox.x1, viewBox.y2 - viewBox.y1);\n this._vchart.updateViewBox(viewBox);\n }\n\n release() {\n this._vchart && this._vchart.release();\n }\n}\n"]}
@@ -24,4 +24,5 @@ export declare const CHART_NUMBER_TYPE: number;
24
24
  export declare class ComponentGroup extends Group implements IVisactorGraphic {
25
25
  type: GraphicType;
26
26
  numberType: number;
27
+ constructor(attrs: IGroupGraphicAttribute);
27
28
  }
@@ -9,8 +9,14 @@ const vrender_1 = require("@visactor/vrender");
9
9
  exports.CHART_NUMBER_TYPE = (0, vrender_1.genNumberType)();
10
10
 
11
11
  class ComponentGroup extends vrender_1.Group {
12
- constructor() {
13
- super(...arguments), this.type = "vstory-component-group", this.numberType = exports.CHART_NUMBER_TYPE;
12
+ constructor(attrs) {
13
+ super(Object.assign({
14
+ scaleX: 1,
15
+ scaleY: 1,
16
+ x: 0,
17
+ y: 0,
18
+ angle: 0
19
+ }, attrs)), this.type = "vstory-component-group", this.numberType = exports.CHART_NUMBER_TYPE;
14
20
  }
15
21
  }
16
22
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/story/character/component/character-group/component-group-graphic.ts"],"names":[],"mappings":";;;AAIA,+CAAyD;AAoB5C,QAAA,iBAAiB,GAAG,IAAA,uBAAa,GAAE,CAAC;AAGjD,MAAa,cAAe,SAAQ,eAAK;IAAzC;;QACE,SAAI,GAAgB,wBAA+B,CAAC;QACpD,eAAU,GAAW,yBAAiB,CAAC;IACzC,CAAC;CAAA;AAHD,wCAGC","file":"component-group-graphic.js","sourcesContent":["import type { IVisactorGraphic } from '../../visactor/interface';\nimport type { IBoundsLike } from '@visactor/vutils';\nimport type { ISpec, IVChart } from '@visactor/vchart';\nimport type { GraphicType, IGroupGraphicAttribute, ITicker } from '@visactor/vrender';\nimport { genNumberType, Group } from '@visactor/vrender';\n\nexport interface IChartGraphicAttribute extends IGroupGraphicAttribute {\n renderCanvas: HTMLCanvasElement;\n spec: any;\n ClassType: any;\n vchart: IVChart;\n mode: string;\n modeParams?: any;\n dpr: number;\n interactive: boolean;\n animation: boolean;\n disableTriggerEvent: boolean;\n disableDirtyBounds: boolean;\n viewBox: IBoundsLike;\n ticker?: ITicker;\n autoRender?: boolean;\n chartInitOptions?: any;\n}\n\nexport const CHART_NUMBER_TYPE = genNumberType();\n\n// @ts-ignore\nexport class ComponentGroup extends Group implements IVisactorGraphic {\n type: GraphicType = 'vstory-component-group' as any;\n numberType: number = CHART_NUMBER_TYPE;\n}\n"]}
1
+ {"version":3,"sources":["../src/story/character/component/character-group/component-group-graphic.ts"],"names":[],"mappings":";;;AAIA,+CAAyD;AAoB5C,QAAA,iBAAiB,GAAG,IAAA,uBAAa,GAAE,CAAC;AAGjD,MAAa,cAAe,SAAQ,eAAK;IAIvC,YAAY,KAA6B;QAEvC,KAAK,iBAAG,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,IAAK,KAAK,EAAG,CAAC;QALlE,SAAI,GAAgB,wBAA+B,CAAC;QACpD,eAAU,GAAW,yBAAiB,CAAC;IAKvC,CAAC;CACF;AARD,wCAQC","file":"component-group-graphic.js","sourcesContent":["import type { IVisactorGraphic } from '../../visactor/interface';\nimport type { IBoundsLike } from '@visactor/vutils';\nimport type { ISpec, IVChart } from '@visactor/vchart';\nimport type { GraphicType, IGroupGraphicAttribute, ITicker } from '@visactor/vrender';\nimport { genNumberType, Group } from '@visactor/vrender';\n\nexport interface IChartGraphicAttribute extends IGroupGraphicAttribute {\n renderCanvas: HTMLCanvasElement;\n spec: any;\n ClassType: any;\n vchart: IVChart;\n mode: string;\n modeParams?: any;\n dpr: number;\n interactive: boolean;\n animation: boolean;\n disableTriggerEvent: boolean;\n disableDirtyBounds: boolean;\n viewBox: IBoundsLike;\n ticker?: ITicker;\n autoRender?: boolean;\n chartInitOptions?: any;\n}\n\nexport const CHART_NUMBER_TYPE = genNumberType();\n\n// @ts-ignore\nexport class ComponentGroup extends Group implements IVisactorGraphic {\n type: GraphicType = 'vstory-component-group' as any;\n numberType: number = CHART_NUMBER_TYPE;\n\n constructor(attrs: IGroupGraphicAttribute) {\n // vstory-component-group没有主题,必须都初始化,否则动画会找不到属性\n super({ scaleX: 1, scaleY: 1, x: 0, y: 0, angle: 0, ...attrs });\n }\n}\n"]}
@@ -1,5 +1,5 @@
1
1
  import type { IGroup } from '@visactor/vrender';
2
- import { GraphicText } from './graphic/graphic-text';
2
+ import { GraphicBaseText } from './graphic/graphic-base-text';
3
3
  import type { IComponentCharacterSpec } from '../dsl-interface';
4
4
  import { CharacterBase } from '../base/base';
5
5
  import type { Graphic } from './graphic/graphic';
@@ -8,8 +8,8 @@ import type { ICharacterPickInfo } from '../runtime-interface';
8
8
  export declare abstract class CharacterComponent extends CharacterBase {
9
9
  protected _spec: IComponentCharacterSpec;
10
10
  get spec(): IComponentCharacterSpec;
11
- protected _text: GraphicText;
12
- get text(): GraphicText;
11
+ protected _text: GraphicBaseText;
12
+ get text(): GraphicBaseText;
13
13
  protected _group: IGroup;
14
14
  get group(): IGroup;
15
15
  readonly graphicType: string;
@@ -29,4 +29,5 @@ export declare abstract class CharacterComponent extends CharacterBase {
29
29
  clearCharacter(): void;
30
30
  getGraphicParent(): IGroup;
31
31
  checkEvent(event: StoryEvent): false | ICharacterPickInfo;
32
+ release(): void;
32
33
  }
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: !0
5
5
  }), exports.CharacterComponent = void 0;
6
6
 
7
- const graphic_text_1 = require("./graphic/graphic-text"), base_1 = require("../base/base"), layout_1 = require("../../utils/layout"), component_group_graphic_1 = require("./character-group/component-group-graphic");
7
+ const graphic_base_text_1 = require("./graphic/graphic-base-text"), base_1 = require("../base/base"), layout_1 = require("../../utils/layout"), component_group_graphic_1 = require("./character-group/component-group-graphic");
8
8
 
9
9
  class CharacterComponent extends base_1.CharacterBase {
10
10
  constructor() {
@@ -26,10 +26,10 @@ class CharacterComponent extends base_1.CharacterBase {
26
26
  angle: this._spec.options.angle,
27
27
  zIndex: this._spec.zIndex
28
28
  })), this.option.graphicParent.add(this._group), this._graphic = this._createGraphic(),
29
- this._text = new graphic_text_1.GraphicText(this), this._graphic.init(), this._text.init(),
30
- this._graphic.applyGraphicAttribute(this._spec.options.graphic), this._text.applyGraphicAttribute(this._spec.options.text),
31
- this._graphic.applyLayoutData(this._spec.position), this._text.applyLayoutData(this._spec.position),
32
- this.hide();
29
+ this._text = new graphic_base_text_1.GraphicBaseText(this), this._graphic.init(),
30
+ this._text.init(), this._graphic.applyGraphicAttribute(this._spec.options.graphic),
31
+ this._text.applyGraphicAttribute(this._spec.options.text), this._graphic.applyLayoutData(this._spec.position),
32
+ this._text.applyLayoutData(this._spec.position), this.hide();
33
33
  }
34
34
  setAttributes(attr) {
35
35
  this.group.setAttributes(attr), this._graphic.setAttributes(Object.assign(Object.assign({}, attr), {
@@ -67,6 +67,9 @@ class CharacterComponent extends base_1.CharacterBase {
67
67
  graphicType: this.graphicType
68
68
  };
69
69
  }
70
+ release() {
71
+ this.option.graphicParent.removeChild(this._group);
72
+ }
70
73
  }
71
74
 
72
75
  exports.CharacterComponent = CharacterComponent;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/story/character/component/character.ts"],"names":[],"mappings":"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","file":"character.js","sourcesContent":["import type { IGroup } from '@visactor/vrender';\nimport { createGroup } from '@visactor/vrender';\nimport { GraphicText } from './graphic/graphic-text';\nimport type { IComponentCharacterSpec } from '../dsl-interface';\nimport { CharacterBase } from '../base/base';\nimport type { Graphic } from './graphic/graphic';\nimport { getLayoutFromWidget } from '../../utils/layout';\nimport type { StoryEvent } from '../../interface/runtime-interface';\nimport type { ICharacterPickInfo } from '../runtime-interface';\nimport { ComponentGroup } from './character-group/component-group-graphic';\n\nexport abstract class CharacterComponent extends CharacterBase {\n protected declare _spec: IComponentCharacterSpec;\n get spec() {\n return this._spec;\n }\n protected declare _text: GraphicText;\n get text() {\n return this._text;\n }\n\n protected declare _group: IGroup;\n get group() {\n return this._group;\n }\n\n readonly graphicType: string = 'rect';\n\n protected _parserSpec(): void {\n return;\n }\n\n protected _initGraphics(): void {\n this._group = new ComponentGroup({\n ...getLayoutFromWidget(this._spec.position),\n angle: this._spec.options.angle,\n zIndex: this._spec.zIndex\n });\n this.option.graphicParent.add(this._group);\n\n this._graphic = this._createGraphic();\n this._text = new GraphicText(this);\n this._graphic.init();\n this._text.init();\n\n this._graphic.applyGraphicAttribute(this._spec.options.graphic);\n this._text.applyGraphicAttribute(this._spec.options.text);\n\n this._graphic.applyLayoutData(this._spec.position);\n this._text.applyLayoutData(this._spec.position);\n this.hide();\n }\n\n setAttributes(attr: Record<string, any>): void {\n this.group.setAttributes(attr);\n this._graphic.setAttributes({ ...attr, x: 0, y: 0, angle: 0 });\n this._text.updateAttribute({});\n }\n\n protected abstract _createGraphic(): Graphic;\n\n protected _initRuntime(): void {\n return;\n }\n\n show(): void {\n this._group.setAttributes({ visible: true });\n this._text.show();\n this._graphic.show();\n }\n hide(): void {\n this._group.setAttributes({ visible: false });\n this._text.hide();\n this._graphic.hide();\n }\n\n getTextLayoutRatio(): { left: number; right: number; top: number; bottom: number } {\n return this._graphic.getTextLayoutRatio();\n }\n\n clearCharacter(): void {\n this._group?.parent.removeChild(this._group);\n this._group = null;\n }\n\n getGraphicParent() {\n return this._group;\n }\n\n checkEvent(event: StoryEvent): false | ICharacterPickInfo {\n if (!(event.detailPath ?? event.path).some(g => g === this._group)) {\n return false;\n }\n return {\n part: event.path[event.path.length - 1] === this._graphic.graphic ? 'graphic' : 'text',\n graphicType: this.graphicType\n };\n }\n}\n\n// export abstract class CharacterGraphicComponent extends CharacterBase {\n// protected declare _spec: IComponentCharacterSpec;\n\n// get spec() {\n// return this._spec;\n// }\n// protected declare _graphic: Graphic;\n// get graphic() {\n// return this._graphic;\n// }\n\n// protected declare _group: IGroup;\n// get group() {\n// return this._group;\n// }\n\n// protected abstract _createGraphic(): Graphic;\n\n// protected _initRuntime(): void {\n// return;\n// }\n\n// protected _parserSpec(): void {\n// return;\n// }\n\n// protected _initGraphics(): void {\n// this._group = createGroup({\n// ...getLayoutFromWidget(this._spec.position),\n// angle: this._spec.options.angle,\n// zIndex: this._spec.zIndex\n// });\n// this.option.graphicParent.add(this._group);\n\n// this._graphic = this._createGraphic();\n// this._graphic.init();\n\n// this._graphic.applyGraphicAttribute(this._spec.options.graphic);\n\n// this._graphic.applyLayoutData(this._spec.position);\n// this.hide();\n// }\n\n// show(): void {\n// this._graphic?.show();\n// }\n// hide(): void {\n// this._graphic?.hide();\n// }\n\n// getGraphicParent() {\n// return this._group;\n// }\n\n// clearCharacter(): void {\n// if (this._group) {\n// this._group.parent.removeChild(this._group);\n// this._graphic = null;\n// }\n// }\n// }\n"]}
1
+ {"version":3,"sources":["../src/story/character/component/character.ts"],"names":[],"mappings":"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","file":"character.js","sourcesContent":["import type { IGroup } from '@visactor/vrender';\nimport { createGroup } from '@visactor/vrender';\nimport { GraphicBaseText } from './graphic/graphic-base-text';\nimport type { IComponentCharacterSpec } from '../dsl-interface';\nimport { CharacterBase } from '../base/base';\nimport type { Graphic } from './graphic/graphic';\nimport { getLayoutFromWidget } from '../../utils/layout';\nimport type { StoryEvent } from '../../interface/runtime-interface';\nimport type { ICharacterPickInfo } from '../runtime-interface';\nimport { ComponentGroup } from './character-group/component-group-graphic';\n\nexport abstract class CharacterComponent extends CharacterBase {\n protected declare _spec: IComponentCharacterSpec;\n get spec() {\n return this._spec;\n }\n // protected declare _graphic: Graphic;\n // get graphic() {\n // return this._graphic;\n // }\n protected declare _text: GraphicBaseText;\n get text() {\n return this._text;\n }\n\n protected declare _group: IGroup;\n get group() {\n return this._group;\n }\n\n readonly graphicType: string = 'rect';\n\n protected _parserSpec(): void {\n return;\n }\n\n protected _initGraphics(): void {\n this._group = new ComponentGroup({\n ...getLayoutFromWidget(this._spec.position),\n angle: this._spec.options.angle,\n zIndex: this._spec.zIndex\n });\n this.option.graphicParent.add(this._group);\n\n this._graphic = this._createGraphic();\n this._text = new GraphicBaseText(this);\n this._graphic.init();\n this._text.init();\n\n this._graphic.applyGraphicAttribute(this._spec.options.graphic);\n this._text.applyGraphicAttribute(this._spec.options.text);\n\n this._graphic.applyLayoutData(this._spec.position);\n this._text.applyLayoutData(this._spec.position);\n this.hide();\n }\n\n setAttributes(attr: Record<string, any>): void {\n this.group.setAttributes(attr);\n this._graphic.setAttributes({ ...attr, x: 0, y: 0, angle: 0 });\n this._text.updateAttribute({});\n }\n\n protected abstract _createGraphic(): Graphic;\n\n protected _initRuntime(): void {\n return;\n }\n\n show(): void {\n this._group.setAttributes({ visible: true });\n this._text.show();\n this._graphic.show();\n }\n hide(): void {\n this._group.setAttributes({ visible: false });\n this._text.hide();\n this._graphic.hide();\n }\n\n getTextLayoutRatio(): { left: number; right: number; top: number; bottom: number } {\n return this._graphic.getTextLayoutRatio();\n }\n\n clearCharacter(): void {\n this._group?.parent.removeChild(this._group);\n this._group = null;\n }\n\n getGraphicParent() {\n return this._group;\n }\n\n checkEvent(event: StoryEvent): false | ICharacterPickInfo {\n if (!(event.detailPath ?? event.path).some(g => g === this._group)) {\n return false;\n }\n return {\n part: event.path[event.path.length - 1] === this._graphic.graphic ? 'graphic' : 'text',\n graphicType: this.graphicType\n };\n }\n\n release() {\n this.option.graphicParent.removeChild(this._group);\n }\n}\n\n// export abstract class CharacterGraphicComponent extends CharacterBase {\n// protected declare _spec: IComponentCharacterSpec;\n\n// get spec() {\n// return this._spec;\n// }\n// protected declare _graphic: Graphic;\n// get graphic() {\n// return this._graphic;\n// }\n\n// protected declare _group: IGroup;\n// get group() {\n// return this._group;\n// }\n\n// protected abstract _createGraphic(): Graphic;\n\n// protected _initRuntime(): void {\n// return;\n// }\n\n// protected _parserSpec(): void {\n// return;\n// }\n\n// protected _initGraphics(): void {\n// this._group = createGroup({\n// ...getLayoutFromWidget(this._spec.position),\n// angle: this._spec.options.angle,\n// zIndex: this._spec.zIndex\n// });\n// this.option.graphicParent.add(this._group);\n\n// this._graphic = this._createGraphic();\n// this._graphic.init();\n\n// this._graphic.applyGraphicAttribute(this._spec.options.graphic);\n\n// this._graphic.applyLayoutData(this._spec.position);\n// this.hide();\n// }\n\n// show(): void {\n// this._graphic?.show();\n// }\n// hide(): void {\n// this._graphic?.hide();\n// }\n\n// getGraphicParent() {\n// return this._group;\n// }\n\n// clearCharacter(): void {\n// if (this._group) {\n// this._group.parent.removeChild(this._group);\n// this._graphic = null;\n// }\n// }\n// }\n"]}
@@ -1,6 +1 @@
1
- import type { Graphic } from '../graphic/graphic';
2
- import { CharacterComponent } from '../character';
3
- export declare class CharacterComponentRichText extends CharacterComponent {
4
- readonly graphicType: string;
5
- protected _createGraphic(): Graphic;
6
- }
1
+
@@ -1,19 +1,3 @@
1
- "use strict";
2
1
 
3
- Object.defineProperty(exports, "__esModule", {
4
- value: !0
5
- }), exports.CharacterComponentRichText = void 0;
6
2
 
7
- const richtext_1 = require("../graphic/richtext"), character_1 = require("../character"), character_2 = require("../../../../constants/character");
8
-
9
- class CharacterComponentRichText extends character_1.CharacterComponent {
10
- constructor() {
11
- super(...arguments), this.graphicType = "richtext";
12
- }
13
- _createGraphic() {
14
- return new richtext_1.GraphicRichText(character_2.StoryComponentType.RICH_TEXT, this);
15
- }
16
- }
17
-
18
- exports.CharacterComponentRichText = CharacterComponentRichText;
19
3
  //# sourceMappingURL=character-richtext.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/story/character/component/characters/character-richtext.ts"],"names":[],"mappings":";;;AACA,kDAAsD;AACtD,4CAAkD;AAClD,+DAAqE;AAErE,MAAa,0BAA2B,SAAQ,8BAAkB;IAAlE;;QACW,gBAAW,GAAW,UAAU,CAAC;IAI5C,CAAC;IAHW,cAAc;QACtB,OAAO,IAAI,0BAAe,CAAC,8BAAkB,CAAC,SAAS,EAAE,IAAW,CAAC,CAAC;IACxE,CAAC;CACF;AALD,gEAKC","file":"character-richtext.js","sourcesContent":["import type { Graphic } from '../graphic/graphic';\nimport { GraphicRichText } from '../graphic/richtext';\nimport { CharacterComponent } from '../character';\nimport { StoryComponentType } from '../../../../constants/character';\n\nexport class CharacterComponentRichText extends CharacterComponent {\n readonly graphicType: string = 'richtext';\n protected _createGraphic(): Graphic {\n return new GraphicRichText(StoryComponentType.RICH_TEXT, this as any);\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/story/character/component/characters/character-richtext.ts"],"names":[],"mappings":"","file":"character-richtext.js","sourcesContent":["// import type { Graphic } from '../graphic/graphic';\n// import { GraphicRichText } from '../graphic/richtext';\n// import { CharacterComponent } from '../character';\n// import { StoryComponentType } from '../../../../constants/character';\n\n// export class CharacterComponentRichText extends CharacterComponent {\n// readonly graphicType: string = 'richtext';\n// protected _createGraphic(): Graphic {\n// return new GraphicRichText(StoryComponentType.RICH_TEXT, this as any);\n// }\n// }\n"]}
@@ -11,7 +11,7 @@ class CharacterComponentText extends character_1.CharacterComponent {
11
11
  super(...arguments), this.graphicType = "text";
12
12
  }
13
13
  _createGraphic() {
14
- return new text_1.GraphicPureText(character_2.StoryComponentType.TEXT, this);
14
+ return new text_1.GraphicText(character_2.StoryComponentType.TEXT, this);
15
15
  }
16
16
  }
17
17
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/story/character/component/characters/character-text.ts"],"names":[],"mappings":";;;AACA,0CAAkD;AAClD,4CAAkD;AAClD,+DAAqE;AAKrE,MAAa,sBAAuB,SAAQ,8BAAkB;IAA9D;;QACW,gBAAW,GAAW,MAAM,CAAC;IAIxC,CAAC;IAHW,cAAc;QACtB,OAAO,IAAI,sBAAe,CAAC,8BAAkB,CAAC,IAAI,EAAE,IAAW,CAAC,CAAC;IACnE,CAAC;CACF;AALD,wDAKC","file":"character-text.js","sourcesContent":["import type { Graphic } from '../graphic/graphic';\nimport { GraphicPureText } from '../graphic/text';\nimport { CharacterComponent } from '../character';\nimport { StoryComponentType } from '../../../../constants/character';\n\n/**\n * text component 没有关联 graphic,逻辑与 GraphicText 有所不同\n */\nexport class CharacterComponentText extends CharacterComponent {\n readonly graphicType: string = 'text';\n protected _createGraphic(): Graphic {\n return new GraphicPureText(StoryComponentType.TEXT, this as any);\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/story/character/component/characters/character-text.ts"],"names":[],"mappings":";;;AACA,0CAA8C;AAC9C,4CAAkD;AAClD,+DAAqE;AAKrE,MAAa,sBAAuB,SAAQ,8BAAkB;IAA9D;;QACW,gBAAW,GAAW,MAAM,CAAC;IAIxC,CAAC;IAHW,cAAc;QACtB,OAAO,IAAI,kBAAW,CAAC,8BAAkB,CAAC,IAAI,EAAE,IAAW,CAAC,CAAC;IAC/D,CAAC;CACF;AALD,wDAKC","file":"character-text.js","sourcesContent":["import type { Graphic } from '../graphic/graphic';\nimport { GraphicText } from '../graphic/text';\nimport { CharacterComponent } from '../character';\nimport { StoryComponentType } from '../../../../constants/character';\n\n/**\n * text component 没有关联 graphic,逻辑与 GraphicText 有所不同\n */\nexport class CharacterComponentText extends CharacterComponent {\n readonly graphicType: string = 'text';\n protected _createGraphic(): Graphic {\n return new GraphicText(StoryComponentType.TEXT, this as any);\n }\n}\n"]}
@@ -0,0 +1,23 @@
1
+ import type { IWidgetData } from '../../dsl-interface';
2
+ import type { IRichTextGraphicAttribute } from '@visactor/vrender';
3
+ import type { CharacterComponent } from '../character';
4
+ export declare const MAX_LAYOUT_SIZE = 999999;
5
+ export declare class GraphicBaseText {
6
+ private _character;
7
+ private _graphic;
8
+ constructor(graphicCharacter: CharacterComponent);
9
+ getInitialAttributes(): IRichTextGraphicAttribute & {
10
+ graphicAlign: string;
11
+ graphicBaseline: string;
12
+ };
13
+ show(): void;
14
+ hide(): void;
15
+ transformTextAttrsToRichTextConfig(): import("@visactor/vrender").IRichTextCharacter[];
16
+ init(): void;
17
+ applyGraphicAttribute(graphicAttribute: Partial<IRichTextGraphicAttribute>): void;
18
+ getGraphicAttribute(): IRichTextGraphicAttribute;
19
+ updateAttribute: (attribute: Partial<IRichTextGraphicAttribute>) => void;
20
+ applyLayoutData(w: Partial<IWidgetData>): void;
21
+ private _updateGraphicCharacterSize;
22
+ private _transformTextAttributes;
23
+ }