@visactor/vstory 0.0.4 → 0.0.5-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (402) hide show
  1. package/README.md +13 -0
  2. package/cjs/constants/character.d.ts +2 -1
  3. package/cjs/constants/character.js +1 -1
  4. package/cjs/constants/character.js.map +1 -1
  5. package/cjs/dsl/story-chart/chart.js +2 -1
  6. package/cjs/dsl/story-chart/line.js +1 -1
  7. package/cjs/dsl/story-chart/pie.js +1 -1
  8. package/cjs/dsl/story-processor/index.js +1 -1
  9. package/cjs/dsl/types/index.d.ts +1 -0
  10. package/cjs/dsl/types/index.js.map +1 -1
  11. package/cjs/edit/const.d.ts +1 -3
  12. package/cjs/edit/const.js +1 -0
  13. package/cjs/edit/const.js.map +1 -1
  14. package/cjs/edit/edit-action.d.ts +9 -0
  15. package/cjs/edit/edit-action.js +61 -5
  16. package/cjs/edit/edit-action.js.map +1 -1
  17. package/cjs/edit/edit-component/base-selection.d.ts +8 -3
  18. package/cjs/edit/edit-component/base-selection.js +30 -4
  19. package/cjs/edit/edit-component/base-selection.js.map +1 -1
  20. package/cjs/edit/edit-component/chart-selection.d.ts +15 -0
  21. package/cjs/edit/edit-component/chart-selection.js +39 -0
  22. package/cjs/edit/edit-component/chart-selection.js.map +1 -0
  23. package/cjs/edit/edit-component/common.d.ts +1 -11
  24. package/cjs/edit/edit-component/common.js +1 -32
  25. package/cjs/edit/edit-component/common.js.map +1 -1
  26. package/cjs/edit/edit-component/edit-control/richtext-control.d.ts +19 -0
  27. package/cjs/edit/edit-component/edit-control/richtext-control.js +34 -0
  28. package/cjs/edit/edit-component/edit-control/richtext-control.js.map +1 -0
  29. package/cjs/edit/edit-component/edit-control/richtext-transform-control.d.ts +2 -3
  30. package/cjs/edit/edit-component/edit-control/richtext-transform-control.js +30 -32
  31. package/cjs/edit/edit-component/edit-control/richtext-transform-control.js.map +1 -1
  32. package/cjs/edit/edit-component/edit-control/transform-control.d.ts +4 -2
  33. package/cjs/edit/edit-component/edit-control/transform-control.js +10 -6
  34. package/cjs/edit/edit-component/edit-control/transform-control.js.map +1 -1
  35. package/cjs/edit/edit-component/edit-control/transform-drag.d.ts +1 -0
  36. package/cjs/edit/edit-component/edit-control/transform-drag.js +4 -2
  37. package/cjs/edit/edit-component/edit-control/transform-drag.js.map +1 -1
  38. package/cjs/edit/edit-component/image-selection.d.ts +1 -2
  39. package/cjs/edit/edit-component/image-selection.js +2 -5
  40. package/cjs/edit/edit-component/image-selection.js.map +1 -1
  41. package/cjs/edit/edit-component/index.js +4 -5
  42. package/cjs/edit/edit-component/index.js.map +1 -1
  43. package/cjs/edit/edit-component/mixin/richtext.d.ts +21 -0
  44. package/cjs/edit/edit-component/mixin/richtext.js +26 -0
  45. package/cjs/edit/edit-component/mixin/richtext.js.map +1 -0
  46. package/cjs/edit/edit-component/rect-selection.d.ts +8 -12
  47. package/cjs/edit/edit-component/rect-selection.js +12 -17
  48. package/cjs/edit/edit-component/rect-selection.js.map +1 -1
  49. package/cjs/edit/edit-component/richtext-selection-common.d.ts +19 -0
  50. package/cjs/edit/edit-component/richtext-selection-common.js +35 -0
  51. package/cjs/edit/edit-component/richtext-selection-common.js.map +1 -0
  52. package/cjs/edit/edit-component/richtext-selection.d.ts +0 -2
  53. package/cjs/edit/edit-component/richtext-selection.js +0 -6
  54. package/cjs/edit/edit-component/richtext-selection.js.map +1 -1
  55. package/cjs/edit/edit-component/shape-selection.d.ts +11 -0
  56. package/cjs/edit/edit-component/shape-selection.js +36 -0
  57. package/cjs/edit/edit-component/shape-selection.js.map +1 -0
  58. package/cjs/edit/edit-component/text-selection.d.ts +0 -3
  59. package/cjs/edit/edit-component/text-selection.js +3 -11
  60. package/cjs/edit/edit-component/text-selection.js.map +1 -1
  61. package/cjs/edit/edit.d.ts +5 -2
  62. package/cjs/edit/edit.js +20 -5
  63. package/cjs/edit/edit.js.map +1 -1
  64. package/cjs/edit/interface.d.ts +6 -1
  65. package/cjs/edit/interface.js +3 -1
  66. package/cjs/edit/interface.js.map +1 -1
  67. package/cjs/index.d.ts +3 -0
  68. package/cjs/index.js +3 -1
  69. package/cjs/index.js.map +1 -1
  70. package/cjs/player/player.js +6 -2
  71. package/cjs/player/player.js.map +1 -1
  72. package/cjs/player/processor/chart/common/chartAppear.d.ts +2 -2
  73. package/cjs/player/processor/chart/common/chartAppear.js.map +1 -1
  74. package/cjs/player/processor/chart/common/commonAppear.d.ts +3 -3
  75. package/cjs/player/processor/chart/common/commonAppear.js.map +1 -1
  76. package/cjs/player/processor/chart/component/axisAppear.d.ts +2 -2
  77. package/cjs/player/processor/chart/component/axisAppear.js.map +1 -1
  78. package/cjs/player/processor/chart/component/commonAppear.d.ts +3 -3
  79. package/cjs/player/processor/chart/component/commonAppear.js.map +1 -1
  80. package/cjs/player/processor/chart/component/labelAppear.d.ts +2 -2
  81. package/cjs/player/processor/chart/component/labelAppear.js.map +1 -1
  82. package/cjs/player/processor/chart/rankingBar/rankingBar.d.ts +29 -0
  83. package/cjs/player/processor/chart/rankingBar/rankingBar.js +54 -0
  84. package/cjs/player/processor/chart/rankingBar/rankingBar.js.map +1 -0
  85. package/cjs/player/processor/chart/seriesmark/commonTransformMarkAppear.d.ts +3 -3
  86. package/cjs/player/processor/chart/seriesmark/commonTransformMarkAppear.js.map +1 -1
  87. package/cjs/player/processor/chart/seriesmark/transformArcVisibility.d.ts +2 -2
  88. package/cjs/player/processor/chart/seriesmark/transformArcVisibility.js.map +1 -1
  89. package/cjs/player/processor/chart/seriesmark/transformLineVisibility.d.ts +2 -2
  90. package/cjs/player/processor/chart/seriesmark/transformLineVisibility.js.map +1 -1
  91. package/cjs/player/processor/chart/seriesmark/transformRectVisibility.d.ts +2 -2
  92. package/cjs/player/processor/chart/seriesmark/transformRectVisibility.js.map +1 -1
  93. package/cjs/player/processor/chart/seriesmark/transformSymbolVisibility.d.ts +2 -2
  94. package/cjs/player/processor/chart/seriesmark/transformSymbolVisibility.js.map +1 -1
  95. package/cjs/player/processor/chart/seriesmark/transformTextVisibility.d.ts +2 -2
  96. package/cjs/player/processor/chart/seriesmark/transformTextVisibility.js.map +1 -1
  97. package/cjs/player/processor/chart/vchart.d.ts +35 -24
  98. package/cjs/player/processor/chart/vchart.js +88 -60
  99. package/cjs/player/processor/chart/vchart.js.map +1 -1
  100. package/cjs/player/processor/common/bounce-processor.js +2 -3
  101. package/cjs/player/processor/common/bounce-processor.js.map +1 -1
  102. package/cjs/player/processor/component/common-component.js +21 -21
  103. package/cjs/player/processor/component/common-component.js.map +1 -1
  104. package/cjs/player/processor/interface/action-processor.d.ts +1 -1
  105. package/cjs/player/processor/interface/action-processor.js.map +1 -1
  106. package/cjs/player/processor/interface/common-action.d.ts +3 -2
  107. package/cjs/player/processor/interface/common-action.js.map +1 -1
  108. package/cjs/player/processor/interface/style-action.d.ts +4 -5
  109. package/cjs/player/processor/interface/style-action.js.map +1 -1
  110. package/cjs/player/processor/processor.js +1 -1
  111. package/cjs/player/processor/processor.js.map +1 -1
  112. package/cjs/player/processor/processorMap.d.ts +9 -0
  113. package/cjs/player/processor/processorMap.js +7 -1
  114. package/cjs/player/processor/processorMap.js.map +1 -1
  115. package/cjs/player/scheduler.js +12 -8
  116. package/cjs/player/scheduler.js.map +1 -1
  117. package/cjs/scene/scene.js +2 -0
  118. package/cjs/story/canvas/canvas.js +3 -4
  119. package/cjs/story/canvas/canvas.js.map +1 -1
  120. package/cjs/story/character/base/base.d.ts +4 -0
  121. package/cjs/story/character/base/base.js +1 -1
  122. package/cjs/story/character/base/base.js.map +1 -1
  123. package/cjs/story/character/chart/character.d.ts +15 -0
  124. package/cjs/story/character/chart/character.js +54 -12
  125. package/cjs/story/character/chart/character.js.map +1 -1
  126. package/cjs/story/character/chart/characters/rankingBar.d.ts +4 -0
  127. package/cjs/story/character/chart/characters/rankingBar.js +15 -0
  128. package/cjs/story/character/chart/characters/rankingBar.js.map +1 -0
  129. package/cjs/story/character/chart/graphic/vchart-graphic-picker.js +6 -8
  130. package/cjs/story/character/chart/graphic/vchart-graphic-picker.js.map +1 -1
  131. package/cjs/story/character/chart/graphic/vchart-graphic-render.js +6 -6
  132. package/cjs/story/character/chart/graphic/vchart-graphic-render.js.map +1 -1
  133. package/cjs/story/character/chart/graphic/vchart-graphic.d.ts +12 -2
  134. package/cjs/story/character/chart/graphic/vchart-graphic.js +77 -13
  135. package/cjs/story/character/chart/graphic/vchart-graphic.js.map +1 -1
  136. package/cjs/story/character/chart/runtime/common-spec.d.ts +2 -4
  137. package/cjs/story/character/chart/runtime/common-spec.js +0 -2
  138. package/cjs/story/character/chart/runtime/common-spec.js.map +1 -1
  139. package/cjs/story/character/chart/runtime/component-spec.d.ts +4 -3
  140. package/cjs/story/character/chart/runtime/component-spec.js +7 -5
  141. package/cjs/story/character/chart/runtime/component-spec.js.map +1 -1
  142. package/cjs/story/character/chart/temp/constant.d.ts +1 -0
  143. package/cjs/story/character/chart/temp/constant.js +2 -1
  144. package/cjs/story/character/chart/temp/constant.js.map +1 -1
  145. package/cjs/story/character/chart/temp/templates/bar.d.ts +20 -0
  146. package/cjs/story/character/chart/temp/templates/bar.js +31 -0
  147. package/cjs/story/character/chart/temp/templates/bar.js.map +1 -0
  148. package/cjs/story/character/chart/temp/templates/base-temp.d.ts +6 -4
  149. package/cjs/story/character/chart/temp/templates/base-temp.js +1 -1
  150. package/cjs/story/character/chart/temp/templates/base-temp.js.map +1 -1
  151. package/cjs/story/character/chart/temp/templates/ranking-bar-temp.d.ts +8 -0
  152. package/cjs/story/character/chart/temp/templates/ranking-bar-temp.js +22 -0
  153. package/cjs/story/character/chart/temp/templates/ranking-bar-temp.js.map +1 -0
  154. package/cjs/story/character/component/character-group/component-group-graphic-render.d.ts +2 -2
  155. package/cjs/story/character/component/character-group/component-group-graphic-render.js +3 -3
  156. package/cjs/story/character/component/character-group/component-group-graphic-render.js.map +1 -1
  157. package/cjs/story/character/component/character-group/component-group-graphic.d.ts +1 -1
  158. package/cjs/story/character/component/character-group/component-group-graphic.js +6 -4
  159. package/cjs/story/character/component/character-group/component-group-graphic.js.map +1 -1
  160. package/cjs/story/character/component/character.d.ts +5 -1
  161. package/cjs/story/character/component/character.js +18 -1
  162. package/cjs/story/character/component/character.js.map +1 -1
  163. package/cjs/story/character/component/characters/character-image.d.ts +3 -0
  164. package/cjs/story/character/component/characters/character-image.js +4 -0
  165. package/cjs/story/character/component/characters/character-image.js.map +1 -1
  166. package/cjs/story/character/component/characters/character-rect.d.ts +3 -0
  167. package/cjs/story/character/component/characters/character-rect.js +4 -0
  168. package/cjs/story/character/component/characters/character-rect.js.map +1 -1
  169. package/cjs/story/character/component/characters/character-shape.d.ts +4 -0
  170. package/cjs/story/character/component/characters/character-shape.js +15 -0
  171. package/cjs/story/character/component/characters/character-shape.js.map +1 -1
  172. package/cjs/story/character/component/graphic/graphic-base-text.d.ts +2 -1
  173. package/cjs/story/character/component/graphic/graphic-base-text.js +7 -2
  174. package/cjs/story/character/component/graphic/graphic-base-text.js.map +1 -1
  175. package/cjs/story/character/component/graphic/symbol.d.ts +3 -0
  176. package/cjs/story/character/component/graphic/symbol.js +17 -3
  177. package/cjs/story/character/component/graphic/symbol.js.map +1 -1
  178. package/cjs/story/character/dsl-interface.d.ts +2 -0
  179. package/cjs/story/character/dsl-interface.js.map +1 -1
  180. package/cjs/story/character/runtime-interface.d.ts +9 -4
  181. package/cjs/story/character/runtime-interface.js.map +1 -1
  182. package/cjs/story/character/visactor/character.d.ts +18 -3
  183. package/cjs/story/character/visactor/character.js +17 -1
  184. package/cjs/story/character/visactor/character.js.map +1 -1
  185. package/cjs/story/character/visactor/interface.js.map +1 -1
  186. package/cjs/story/index.js +5 -2
  187. package/cjs/story/index.js.map +1 -1
  188. package/cjs/story/interface/dsl-interface.d.ts +3 -2
  189. package/cjs/story/interface/dsl-interface.js.map +1 -1
  190. package/cjs/story/interface/runtime-interface.d.ts +2 -0
  191. package/cjs/story/interface/runtime-interface.js.map +1 -1
  192. package/cjs/story/story.js +3 -2
  193. package/cjs/story/story.js.map +1 -1
  194. package/cjs/story/utils/layout.d.ts +2 -1
  195. package/cjs/story/utils/layout.js +2 -2
  196. package/cjs/story/utils/layout.js.map +1 -1
  197. package/cjs/story/utils/vchart-pick.d.ts +115 -0
  198. package/cjs/story/utils/vchart-pick.js +109 -0
  199. package/cjs/story/utils/vchart-pick.js.map +1 -0
  200. package/cjs/util/space.js +2 -1
  201. package/dist/index.js +23405 -26034
  202. package/dist/index.min.js +3 -3
  203. package/es/constants/character.d.ts +2 -1
  204. package/es/constants/character.js +1 -1
  205. package/es/constants/character.js.map +1 -1
  206. package/es/dsl/story-chart/chart.js +2 -1
  207. package/es/dsl/story-chart/line.js +1 -1
  208. package/es/dsl/story-chart/pie.js +1 -1
  209. package/es/dsl/story-processor/index.js +1 -1
  210. package/es/dsl/types/index.d.ts +1 -0
  211. package/es/dsl/types/index.js.map +1 -1
  212. package/es/edit/const.d.ts +1 -3
  213. package/es/edit/const.js +1 -0
  214. package/es/edit/const.js.map +1 -1
  215. package/es/edit/edit-action.d.ts +9 -0
  216. package/es/edit/edit-action.js +63 -5
  217. package/es/edit/edit-action.js.map +1 -1
  218. package/es/edit/edit-component/base-selection.d.ts +8 -3
  219. package/es/edit/edit-component/base-selection.js +31 -3
  220. package/es/edit/edit-component/base-selection.js.map +1 -1
  221. package/es/edit/edit-component/chart-selection.d.ts +15 -0
  222. package/es/edit/edit-component/chart-selection.js +31 -0
  223. package/es/edit/edit-component/chart-selection.js.map +1 -0
  224. package/es/edit/edit-component/common.d.ts +1 -11
  225. package/es/edit/edit-component/common.js +1 -26
  226. package/es/edit/edit-component/common.js.map +1 -1
  227. package/es/edit/edit-component/edit-control/richtext-control.d.ts +19 -0
  228. package/es/edit/edit-component/edit-control/richtext-control.js +28 -0
  229. package/es/edit/edit-component/edit-control/richtext-control.js.map +1 -0
  230. package/es/edit/edit-component/edit-control/richtext-transform-control.d.ts +2 -3
  231. package/es/edit/edit-component/edit-control/richtext-transform-control.js +29 -34
  232. package/es/edit/edit-component/edit-control/richtext-transform-control.js.map +1 -1
  233. package/es/edit/edit-component/edit-control/transform-control.d.ts +4 -2
  234. package/es/edit/edit-component/edit-control/transform-control.js +10 -6
  235. package/es/edit/edit-component/edit-control/transform-control.js.map +1 -1
  236. package/es/edit/edit-component/edit-control/transform-drag.d.ts +1 -0
  237. package/es/edit/edit-component/edit-control/transform-drag.js +4 -2
  238. package/es/edit/edit-component/edit-control/transform-drag.js.map +1 -1
  239. package/es/edit/edit-component/image-selection.d.ts +1 -2
  240. package/es/edit/edit-component/image-selection.js +2 -5
  241. package/es/edit/edit-component/image-selection.js.map +1 -1
  242. package/es/edit/edit-component/index.js +7 -9
  243. package/es/edit/edit-component/index.js.map +1 -1
  244. package/es/edit/edit-component/mixin/richtext.d.ts +21 -0
  245. package/es/edit/edit-component/mixin/richtext.js +18 -0
  246. package/es/edit/edit-component/mixin/richtext.js.map +1 -0
  247. package/es/edit/edit-component/rect-selection.d.ts +8 -12
  248. package/es/edit/edit-component/rect-selection.js +13 -20
  249. package/es/edit/edit-component/rect-selection.js.map +1 -1
  250. package/es/edit/edit-component/richtext-selection-common.d.ts +19 -0
  251. package/es/edit/edit-component/richtext-selection-common.js +33 -0
  252. package/es/edit/edit-component/richtext-selection-common.js.map +1 -0
  253. package/es/edit/edit-component/richtext-selection.d.ts +0 -2
  254. package/es/edit/edit-component/richtext-selection.js +0 -6
  255. package/es/edit/edit-component/richtext-selection.js.map +1 -1
  256. package/es/edit/edit-component/shape-selection.d.ts +11 -0
  257. package/es/edit/edit-component/shape-selection.js +30 -0
  258. package/es/edit/edit-component/shape-selection.js.map +1 -0
  259. package/es/edit/edit-component/text-selection.d.ts +0 -3
  260. package/es/edit/edit-component/text-selection.js +2 -12
  261. package/es/edit/edit-component/text-selection.js.map +1 -1
  262. package/es/edit/edit.d.ts +5 -2
  263. package/es/edit/edit.js +21 -4
  264. package/es/edit/edit.js.map +1 -1
  265. package/es/edit/interface.d.ts +6 -1
  266. package/es/edit/interface.js +3 -1
  267. package/es/edit/interface.js.map +1 -1
  268. package/es/index.d.ts +3 -0
  269. package/es/index.js +7 -1
  270. package/es/index.js.map +1 -1
  271. package/es/player/player.js +6 -2
  272. package/es/player/player.js.map +1 -1
  273. package/es/player/processor/chart/common/chartAppear.d.ts +2 -2
  274. package/es/player/processor/chart/common/chartAppear.js.map +1 -1
  275. package/es/player/processor/chart/common/commonAppear.d.ts +3 -3
  276. package/es/player/processor/chart/common/commonAppear.js.map +1 -1
  277. package/es/player/processor/chart/component/axisAppear.d.ts +2 -2
  278. package/es/player/processor/chart/component/axisAppear.js.map +1 -1
  279. package/es/player/processor/chart/component/commonAppear.d.ts +3 -3
  280. package/es/player/processor/chart/component/commonAppear.js.map +1 -1
  281. package/es/player/processor/chart/component/labelAppear.d.ts +2 -2
  282. package/es/player/processor/chart/component/labelAppear.js.map +1 -1
  283. package/es/player/processor/chart/rankingBar/rankingBar.d.ts +29 -0
  284. package/es/player/processor/chart/rankingBar/rankingBar.js +50 -0
  285. package/es/player/processor/chart/rankingBar/rankingBar.js.map +1 -0
  286. package/es/player/processor/chart/seriesmark/commonTransformMarkAppear.d.ts +3 -3
  287. package/es/player/processor/chart/seriesmark/commonTransformMarkAppear.js.map +1 -1
  288. package/es/player/processor/chart/seriesmark/transformArcVisibility.d.ts +2 -2
  289. package/es/player/processor/chart/seriesmark/transformArcVisibility.js.map +1 -1
  290. package/es/player/processor/chart/seriesmark/transformLineVisibility.d.ts +2 -2
  291. package/es/player/processor/chart/seriesmark/transformLineVisibility.js.map +1 -1
  292. package/es/player/processor/chart/seriesmark/transformRectVisibility.d.ts +2 -2
  293. package/es/player/processor/chart/seriesmark/transformRectVisibility.js.map +1 -1
  294. package/es/player/processor/chart/seriesmark/transformSymbolVisibility.d.ts +2 -2
  295. package/es/player/processor/chart/seriesmark/transformSymbolVisibility.js.map +1 -1
  296. package/es/player/processor/chart/seriesmark/transformTextVisibility.d.ts +2 -2
  297. package/es/player/processor/chart/seriesmark/transformTextVisibility.js.map +1 -1
  298. package/es/player/processor/chart/vchart.d.ts +35 -24
  299. package/es/player/processor/chart/vchart.js +89 -61
  300. package/es/player/processor/chart/vchart.js.map +1 -1
  301. package/es/player/processor/common/bounce-processor.js +2 -3
  302. package/es/player/processor/common/bounce-processor.js.map +1 -1
  303. package/es/player/processor/component/common-component.js +21 -21
  304. package/es/player/processor/component/common-component.js.map +1 -1
  305. package/es/player/processor/interface/action-processor.d.ts +1 -1
  306. package/es/player/processor/interface/action-processor.js.map +1 -1
  307. package/es/player/processor/interface/common-action.d.ts +3 -2
  308. package/es/player/processor/interface/common-action.js.map +1 -1
  309. package/es/player/processor/interface/style-action.d.ts +4 -5
  310. package/es/player/processor/interface/style-action.js.map +1 -1
  311. package/es/player/processor/processor.js +1 -1
  312. package/es/player/processor/processor.js.map +1 -1
  313. package/es/player/processor/processorMap.d.ts +9 -0
  314. package/es/player/processor/processorMap.js +8 -0
  315. package/es/player/processor/processorMap.js.map +1 -1
  316. package/es/player/scheduler.js +12 -8
  317. package/es/player/scheduler.js.map +1 -1
  318. package/es/scene/scene.js +2 -0
  319. package/es/story/canvas/canvas.js +3 -4
  320. package/es/story/canvas/canvas.js.map +1 -1
  321. package/es/story/character/base/base.d.ts +4 -0
  322. package/es/story/character/base/base.js +1 -1
  323. package/es/story/character/base/base.js.map +1 -1
  324. package/es/story/character/chart/character.d.ts +15 -0
  325. package/es/story/character/chart/character.js +57 -14
  326. package/es/story/character/chart/character.js.map +1 -1
  327. package/es/story/character/chart/characters/rankingBar.d.ts +4 -0
  328. package/es/story/character/chart/characters/rankingBar.js +14 -0
  329. package/es/story/character/chart/characters/rankingBar.js.map +1 -0
  330. package/es/story/character/chart/graphic/vchart-graphic-picker.js +6 -8
  331. package/es/story/character/chart/graphic/vchart-graphic-picker.js.map +1 -1
  332. package/es/story/character/chart/graphic/vchart-graphic-render.js +7 -7
  333. package/es/story/character/chart/graphic/vchart-graphic-render.js.map +1 -1
  334. package/es/story/character/chart/graphic/vchart-graphic.d.ts +12 -2
  335. package/es/story/character/chart/graphic/vchart-graphic.js +80 -12
  336. package/es/story/character/chart/graphic/vchart-graphic.js.map +1 -1
  337. package/es/story/character/chart/runtime/common-spec.d.ts +2 -4
  338. package/es/story/character/chart/runtime/common-spec.js +0 -2
  339. package/es/story/character/chart/runtime/common-spec.js.map +1 -1
  340. package/es/story/character/chart/runtime/component-spec.d.ts +4 -3
  341. package/es/story/character/chart/runtime/component-spec.js +7 -5
  342. package/es/story/character/chart/runtime/component-spec.js.map +1 -1
  343. package/es/story/character/chart/temp/constant.d.ts +1 -0
  344. package/es/story/character/chart/temp/constant.js +2 -1
  345. package/es/story/character/chart/temp/constant.js.map +1 -1
  346. package/es/story/character/chart/temp/templates/bar.d.ts +20 -0
  347. package/es/story/character/chart/temp/templates/bar.js +27 -0
  348. package/es/story/character/chart/temp/templates/bar.js.map +1 -0
  349. package/es/story/character/chart/temp/templates/base-temp.d.ts +6 -4
  350. package/es/story/character/chart/temp/templates/base-temp.js +1 -1
  351. package/es/story/character/chart/temp/templates/base-temp.js.map +1 -1
  352. package/es/story/character/chart/temp/templates/ranking-bar-temp.d.ts +8 -0
  353. package/es/story/character/chart/temp/templates/ranking-bar-temp.js +18 -0
  354. package/es/story/character/chart/temp/templates/ranking-bar-temp.js.map +1 -0
  355. package/es/story/character/component/character-group/component-group-graphic-render.d.ts +2 -2
  356. package/es/story/character/component/character-group/component-group-graphic-render.js +4 -4
  357. package/es/story/character/component/character-group/component-group-graphic-render.js.map +1 -1
  358. package/es/story/character/component/character-group/component-group-graphic.d.ts +1 -1
  359. package/es/story/character/component/character-group/component-group-graphic.js +5 -3
  360. package/es/story/character/component/character-group/component-group-graphic.js.map +1 -1
  361. package/es/story/character/component/character.d.ts +5 -1
  362. package/es/story/character/component/character.js +18 -1
  363. package/es/story/character/component/character.js.map +1 -1
  364. package/es/story/character/component/characters/character-image.d.ts +3 -0
  365. package/es/story/character/component/characters/character-image.js +4 -0
  366. package/es/story/character/component/characters/character-image.js.map +1 -1
  367. package/es/story/character/component/characters/character-rect.d.ts +3 -0
  368. package/es/story/character/component/characters/character-rect.js +4 -0
  369. package/es/story/character/component/characters/character-rect.js.map +1 -1
  370. package/es/story/character/component/characters/character-shape.d.ts +4 -0
  371. package/es/story/character/component/characters/character-shape.js +15 -0
  372. package/es/story/character/component/characters/character-shape.js.map +1 -1
  373. package/es/story/character/component/graphic/graphic-base-text.d.ts +2 -1
  374. package/es/story/character/component/graphic/graphic-base-text.js +7 -2
  375. package/es/story/character/component/graphic/graphic-base-text.js.map +1 -1
  376. package/es/story/character/component/graphic/symbol.d.ts +3 -0
  377. package/es/story/character/component/graphic/symbol.js +17 -2
  378. package/es/story/character/component/graphic/symbol.js.map +1 -1
  379. package/es/story/character/dsl-interface.d.ts +2 -0
  380. package/es/story/character/dsl-interface.js.map +1 -1
  381. package/es/story/character/runtime-interface.d.ts +9 -4
  382. package/es/story/character/runtime-interface.js.map +1 -1
  383. package/es/story/character/visactor/character.d.ts +18 -3
  384. package/es/story/character/visactor/character.js +18 -0
  385. package/es/story/character/visactor/character.js.map +1 -1
  386. package/es/story/character/visactor/interface.js.map +1 -1
  387. package/es/story/index.js +7 -3
  388. package/es/story/index.js.map +1 -1
  389. package/es/story/interface/dsl-interface.d.ts +3 -2
  390. package/es/story/interface/dsl-interface.js.map +1 -1
  391. package/es/story/interface/runtime-interface.d.ts +2 -0
  392. package/es/story/interface/runtime-interface.js.map +1 -1
  393. package/es/story/story.js +3 -2
  394. package/es/story/story.js.map +1 -1
  395. package/es/story/utils/layout.d.ts +2 -1
  396. package/es/story/utils/layout.js +2 -2
  397. package/es/story/utils/layout.js.map +1 -1
  398. package/es/story/utils/vchart-pick.d.ts +115 -0
  399. package/es/story/utils/vchart-pick.js +115 -0
  400. package/es/story/utils/vchart-pick.js.map +1 -0
  401. package/es/util/space.js +2 -1
  402. package/package.json +8 -7
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/player/processor/component/common-component.ts"],"names":[],"mappings":"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","file":"common-component.js","sourcesContent":["import type { ICharacter } from '../../../story/character';\nimport type { IActionSpec } from '../../../story/interface';\nimport { ActionProcessorItem } from '../processor-item';\nimport type { EasingType } from '@visactor/vrender-core';\nimport type {\n IComponentBounceAction,\n IComponentMoveToAction,\n IComponentScaleToAction,\n IComponentStyleAction\n} from '../interface/style-action';\nimport { fadeIn, fadeOut } from '../common/fade-processor';\nimport { scaleIn, scaleOut, scaleTo } from '../common/scale-processor';\nimport { wipeIn, wipeOut } from '../common/wipe-processor';\nimport { moveIn, moveOut, moveTo } from '../common/move-processor';\nimport { getCharacterGraphic } from '../common/common';\nimport { array } from '@visactor/vutils';\nimport { bounce } from '../common/bounce-processor';\n\nexport class CommonVisibilityActionProcessor extends ActionProcessorItem {\n name: string = 'appearOrDisAppear';\n\n constructor() {\n super();\n }\n\n getStartTimeAndDuration(action: IActionSpec): { startTime: number; duration: number } {\n const { startTime: globalStartTime = 0 } = action;\n const { startTime = 0, duration = 0 } = action.payload?.animation ?? ({} as any);\n\n const st = globalStartTime + startTime;\n const d = duration;\n return {\n startTime: st,\n duration: d\n };\n }\n\n run(character: ICharacter, actionSpec: IActionSpec): void {\n const { animation } = actionSpec.payload ?? {};\n const { effect = 'fade' } = animation ?? ({} as any);\n array(effect).forEach(_effect => {\n const effectFunc = this.getEffectFunc(_effect, actionSpec.action === 'appear');\n if (effectFunc) {\n effectFunc(character, animation as any, _effect);\n }\n });\n }\n\n getEffectFunc(effect: string, appear: boolean) {\n switch (effect) {\n case 'scale':\n return appear ? scaleIn : scaleOut;\n case 'wipe':\n return appear ? wipeIn : wipeOut;\n case 'fade':\n return appear ? fadeIn : fadeOut;\n case 'move':\n return appear ? moveIn : moveOut;\n }\n return fadeIn;\n }\n}\n\nexport class CommonStyleActionProcessor extends ActionProcessorItem {\n name: 'style';\n\n constructor() {\n super();\n }\n\n getStartTimeAndDuration(action: IActionSpec): { startTime: number; duration: number } {\n const { startTime: globalStartTime = 0 } = action;\n const { startTime = 0, duration = 0 } = action.payload?.animation ?? ({} as any);\n\n const st = globalStartTime + startTime;\n const d = duration;\n return {\n startTime: st,\n duration: d\n };\n }\n\n run(character: ICharacter, actionSpec: IComponentStyleAction): void {\n const { animation, graphic: graphicStyle, text: textStyle } = actionSpec.payload ?? {};\n\n const { duration, easing } = animation;\n const graphic = getCharacterGraphic(character)[0];\n const text = getCharacterGraphic(character)[1];\n\n if (graphic && graphicStyle) {\n graphic.animate().to(graphicStyle, duration, easing as EasingType);\n }\n if (text && textStyle) {\n graphic.animate().to(textStyle, duration, easing as EasingType);\n }\n }\n}\nexport class CommonMoveToActionProcessor extends ActionProcessorItem {\n name: 'moveTo';\n\n constructor() {\n super();\n }\n\n getStartTimeAndDuration(action: IActionSpec): { startTime: number; duration: number } {\n const { startTime: globalStartTime = 0 } = action;\n const { startTime = 0, duration = 0 } = action.payload?.animation ?? ({} as any);\n\n const st = globalStartTime + startTime;\n const d = duration;\n return {\n startTime: st,\n duration: d\n };\n }\n\n run(character: ICharacter, actionSpec: IComponentMoveToAction): void {\n const { animation, destination } = actionSpec.payload ?? {};\n\n moveTo(character, animation as any, destination);\n }\n}\nexport class CommonScaleToActionProcessor extends ActionProcessorItem {\n name: 'scaleTo';\n\n constructor() {\n super();\n }\n\n getStartTimeAndDuration(action: IActionSpec): { startTime: number; duration: number } {\n const { startTime: globalStartTime = 0 } = action;\n const { startTime = 0, duration = 0 } = action.payload?.animation ?? ({} as any);\n\n const st = globalStartTime + startTime;\n const d = duration;\n return {\n startTime: st,\n duration: d\n };\n }\n\n run(character: ICharacter, actionSpec: IComponentScaleToAction): void {\n const { animation, scale } = actionSpec.payload ?? {};\n\n scaleTo(character, animation as any, scale);\n }\n}\n\nexport class CommonBounceActionProcessor extends ActionProcessorItem {\n name: 'bounce';\n\n constructor() {\n super();\n }\n\n getStartTimeAndDuration(action: IActionSpec): { startTime: number; duration: number } {\n const { startTime: globalStartTime = 0 } = action;\n const { startTime = 0, duration = 0 } = action.payload?.animation ?? ({} as any);\n\n const st = globalStartTime + startTime;\n const d = duration;\n return {\n startTime: st,\n duration: d\n };\n }\n\n run(character: ICharacter, actionSpec: IComponentBounceAction): void {\n const { animation } = actionSpec.payload ?? {};\n bounce(character, animation as any, actionSpec.payload);\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/player/processor/component/common-component.ts"],"names":[],"mappings":"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","file":"common-component.js","sourcesContent":["import type { ICharacter } from '../../../story/character';\nimport type { IActionSpec } from '../../../story/interface';\nimport { ActionProcessorItem } from '../processor-item';\nimport type { EasingType } from '@visactor/vrender-core';\nimport type {\n IComponentBounceAction,\n IComponentMoveToAction,\n IComponentMoveToPayLoad,\n IComponentScaleToAction,\n IComponentScaleToPayLoad,\n IComponentStyleAction,\n IComponentStylePayLoad\n} from '../interface/style-action';\nimport { fadeIn, fadeOut } from '../common/fade-processor';\nimport { scaleIn, scaleOut, scaleTo } from '../common/scale-processor';\nimport { wipeIn, wipeOut } from '../common/wipe-processor';\nimport { moveIn, moveOut, moveTo } from '../common/move-processor';\nimport { getCharacterGraphic } from '../common/common';\nimport { array } from '@visactor/vutils';\nimport { bounce } from '../common/bounce-processor';\n\nfunction getPayload(action: IActionSpec) {\n return (Array.isArray(action.payload) ? action.payload[0] : action.payload) ?? {};\n}\n\nexport class CommonVisibilityActionProcessor extends ActionProcessorItem {\n name: string = 'appearOrDisAppear';\n\n constructor() {\n super();\n }\n\n getStartTimeAndDuration(action: IActionSpec): { startTime: number; duration: number } {\n const { startTime: globalStartTime = 0 } = action;\n const { startTime = 0, duration = 0 } = getPayload(action).animation ?? ({} as any);\n\n const st = globalStartTime + startTime;\n const d = duration;\n return {\n startTime: st,\n duration: d\n };\n }\n\n run(character: ICharacter, actionSpec: IActionSpec): void {\n const { animation } = getPayload(actionSpec);\n const { effect = 'fade' } = animation ?? ({} as any);\n array(effect).forEach(_effect => {\n const effectFunc = this.getEffectFunc(_effect, actionSpec.action === 'appear');\n if (effectFunc) {\n effectFunc(character, animation as any, _effect);\n }\n });\n }\n\n getEffectFunc(effect: string, appear: boolean) {\n switch (effect) {\n case 'scale':\n return appear ? scaleIn : scaleOut;\n case 'wipe':\n return appear ? wipeIn : wipeOut;\n case 'fade':\n return appear ? fadeIn : fadeOut;\n case 'move':\n return appear ? moveIn : moveOut;\n }\n return fadeIn;\n }\n}\n\nexport class CommonStyleActionProcessor extends ActionProcessorItem {\n name: 'style';\n\n constructor() {\n super();\n }\n\n getStartTimeAndDuration(action: IActionSpec): { startTime: number; duration: number } {\n const { startTime: globalStartTime = 0 } = action;\n const { startTime = 0, duration = 0 } = getPayload(action).animation ?? ({} as any);\n\n const st = globalStartTime + startTime;\n const d = duration;\n return {\n startTime: st,\n duration: d\n };\n }\n\n run(character: ICharacter, actionSpec: IComponentStyleAction): void {\n const { animation, graphic: graphicStyle, text: textStyle } = getPayload(actionSpec) as IComponentStylePayLoad;\n\n const { duration, easing } = animation;\n const graphic = getCharacterGraphic(character)[0];\n const text = getCharacterGraphic(character)[1];\n\n if (graphic && graphicStyle) {\n graphic.animate().to(graphicStyle, duration, easing as EasingType);\n }\n if (text && textStyle) {\n graphic.animate().to(textStyle, duration, easing as EasingType);\n }\n }\n}\nexport class CommonMoveToActionProcessor extends ActionProcessorItem {\n name: 'moveTo';\n\n constructor() {\n super();\n }\n\n getStartTimeAndDuration(action: IActionSpec): { startTime: number; duration: number } {\n const { startTime: globalStartTime = 0 } = action;\n const { startTime = 0, duration = 0 } = getPayload(action).animation ?? ({} as any);\n\n const st = globalStartTime + startTime;\n const d = duration;\n return {\n startTime: st,\n duration: d\n };\n }\n\n run(character: ICharacter, actionSpec: IComponentMoveToAction): void {\n const { animation, destination } = getPayload(actionSpec) as IComponentMoveToPayLoad;\n\n moveTo(character, animation as any, destination);\n }\n}\nexport class CommonScaleToActionProcessor extends ActionProcessorItem {\n name: 'scaleTo';\n\n constructor() {\n super();\n }\n\n getStartTimeAndDuration(action: IActionSpec): { startTime: number; duration: number } {\n const { startTime: globalStartTime = 0 } = action;\n const { startTime = 0, duration = 0 } = getPayload(action).animation ?? ({} as any);\n\n const st = globalStartTime + startTime;\n const d = duration;\n return {\n startTime: st,\n duration: d\n };\n }\n\n run(character: ICharacter, actionSpec: IComponentScaleToAction): void {\n const { animation, scale } = getPayload(actionSpec) as IComponentScaleToPayLoad;\n\n scaleTo(character, animation as any, scale);\n }\n}\n\nexport class CommonBounceActionProcessor extends ActionProcessorItem {\n name: 'bounce';\n\n constructor() {\n super();\n }\n\n getStartTimeAndDuration(action: IActionSpec): { startTime: number; duration: number } {\n const { startTime: globalStartTime = 0 } = action;\n const { startTime = 0, duration = 0 } = getPayload(action).animation ?? ({} as any);\n\n const st = globalStartTime + startTime;\n const d = duration;\n return {\n startTime: st,\n duration: d\n };\n }\n\n run(character: ICharacter, actionSpec: IComponentBounceAction): void {\n const payload = getPayload(actionSpec);\n const { animation } = payload;\n bounce(character, animation as any, payload);\n }\n}\n"]}
@@ -3,7 +3,7 @@ import type { IActionSpec } from '../../../story/interface';
3
3
  export interface IActionProcessorItem {
4
4
  getStartTime: (action: IActionSpec) => number;
5
5
  getDuration: (action: IActionSpec) => number;
6
- getStartTimeAndDuration: (action: IActionSpec) => {
6
+ getStartTimeAndDuration: (action: IActionSpec, character?: ICharacter) => {
7
7
  startTime: number;
8
8
  duration: number;
9
9
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/player/processor/interface/action-processor.ts"],"names":[],"mappings":"","file":"action-processor.js","sourcesContent":["import type { ICharacter } from '../../../story/character';\nimport type { IActionSpec } from '../../../story/interface';\n\nexport interface IActionProcessorItem {\n getStartTime: (action: IActionSpec) => number;\n getDuration: (action: IActionSpec) => number;\n getStartTimeAndDuration: (action: IActionSpec) => { startTime: number; duration: number };\n\n run: (...actionParams: any) => any;\n}\n\nexport interface IActionProcessor {\n getActInfo: (\n characterId: string,\n action: IActionSpec\n ) => {\n startTime: number;\n duration: number;\n } | null;\n\n doAction: (name: string, actionName: string, character: ICharacter, actionSpec: IActionSpec) => void;\n}\n"]}
1
+ {"version":3,"sources":["../src/player/processor/interface/action-processor.ts"],"names":[],"mappings":"","file":"action-processor.js","sourcesContent":["import type { ICharacter } from '../../../story/character';\nimport type { IActionSpec } from '../../../story/interface';\n\nexport interface IActionProcessorItem {\n getStartTime: (action: IActionSpec) => number;\n getDuration: (action: IActionSpec) => number;\n getStartTimeAndDuration: (action: IActionSpec, character?: ICharacter) => { startTime: number; duration: number };\n\n run: (...actionParams: any) => any;\n}\n\nexport interface IActionProcessor {\n getActInfo: (\n characterId: string,\n action: IActionSpec\n ) => {\n startTime: number;\n duration: number;\n } | null;\n\n doAction: (name: string, actionName: string, character: ICharacter, actionSpec: IActionSpec) => void;\n}\n"]}
@@ -1,8 +1,8 @@
1
1
  import type { EasingType } from '@visactor/vrender';
2
- export interface IAction<T> {
2
+ export interface IAction<T extends IActionPayload> {
3
3
  action: string;
4
4
  startTime?: number;
5
- payload: T;
5
+ payload?: T | T[];
6
6
  }
7
7
  export interface IAnimationParams {
8
8
  duration: number;
@@ -11,4 +11,5 @@ export interface IAnimationParams {
11
11
  }
12
12
  export interface IActionPayload {
13
13
  animation?: IAnimationParams;
14
+ selector?: string;
14
15
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/player/processor/interface/common-action.ts"],"names":[],"mappings":"","file":"common-action.js","sourcesContent":["import type { EasingType } from '@visactor/vrender';\n\nexport interface IAction<T> {\n action: string;\n startTime?: number;\n payload: T;\n}\n\nexport interface IAnimationParams {\n duration: number;\n easing?: EasingType;\n loop?: number | boolean;\n}\n\nexport interface IActionPayload {\n animation?: IAnimationParams;\n}\n"]}
1
+ {"version":3,"sources":["../src/player/processor/interface/common-action.ts"],"names":[],"mappings":"","file":"common-action.js","sourcesContent":["import type { EasingType } from '@visactor/vrender';\n\nexport interface IAction<T extends IActionPayload> {\n action: string;\n startTime?: number;\n payload?: T | T[];\n}\n\nexport interface IAnimationParams {\n duration: number;\n easing?: EasingType;\n loop?: number | boolean;\n}\n\nexport interface IActionPayload {\n animation?: IAnimationParams;\n selector?: string;\n}\n"]}
@@ -1,12 +1,12 @@
1
1
  import type { IAction, IActionPayload } from './common-action';
2
- interface IComponentStylePayLoad extends IActionPayload {
2
+ export interface IComponentStylePayLoad extends IActionPayload {
3
3
  graphic?: Record<string, any>;
4
4
  text?: Record<string, any>;
5
5
  }
6
6
  export interface IComponentStyleAction extends IAction<IComponentStylePayLoad> {
7
7
  action: 'style';
8
8
  }
9
- interface IComponentMoveToPayLoad extends IActionPayload {
9
+ export interface IComponentMoveToPayLoad extends IActionPayload {
10
10
  destination: {
11
11
  x: number;
12
12
  y: number;
@@ -15,7 +15,7 @@ interface IComponentMoveToPayLoad extends IActionPayload {
15
15
  export interface IComponentMoveToAction extends IAction<IComponentMoveToPayLoad> {
16
16
  action: 'moveTo';
17
17
  }
18
- interface IComponentScaleToPayLoad extends IActionPayload {
18
+ export interface IComponentScaleToPayLoad extends IActionPayload {
19
19
  scale: {
20
20
  scaleX: number;
21
21
  scaleY: number;
@@ -28,7 +28,6 @@ export interface IComponentBouncePayLoad extends IActionPayload {
28
28
  customEase?: string;
29
29
  dy?: number;
30
30
  }
31
- export interface IComponentBounceAction extends IAction<IComponentScaleToPayLoad> {
31
+ export interface IComponentBounceAction extends IAction<IComponentBouncePayLoad> {
32
32
  action: 'bounce';
33
33
  }
34
- export {};
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/player/processor/interface/style-action.ts"],"names":[],"mappings":"","file":"style-action.js","sourcesContent":["import type { IAction, IActionPayload } from './common-action';\n\ninterface IComponentStylePayLoad extends IActionPayload {\n graphic?: Record<string, any>;\n text?: Record<string, any>;\n}\n\nexport interface IComponentStyleAction extends IAction<IComponentStylePayLoad> {\n action: 'style';\n}\n\ninterface IComponentMoveToPayLoad extends IActionPayload {\n destination: { x: number; y: number };\n}\nexport interface IComponentMoveToAction extends IAction<IComponentMoveToPayLoad> {\n action: 'moveTo';\n}\ninterface IComponentScaleToPayLoad extends IActionPayload {\n scale: { scaleX: number; scaleY: number };\n}\nexport interface IComponentScaleToAction extends IAction<IComponentScaleToPayLoad> {\n action: 'scaleTo';\n}\n\nexport interface IComponentBouncePayLoad extends IActionPayload {\n /**\n * 自定义弹跳 easing path string\n */\n customEase?: string;\n /**\n * 跳跃高度\n */\n dy?: number;\n}\n\nexport interface IComponentBounceAction extends IAction<IComponentScaleToPayLoad> {\n action: 'bounce';\n}\n"]}
1
+ {"version":3,"sources":["../src/player/processor/interface/style-action.ts"],"names":[],"mappings":"","file":"style-action.js","sourcesContent":["import type { IAction, IActionPayload } from './common-action';\n\nexport interface IComponentStylePayLoad extends IActionPayload {\n graphic?: Record<string, any>;\n text?: Record<string, any>;\n}\n\nexport interface IComponentStyleAction extends IAction<IComponentStylePayLoad> {\n action: 'style';\n}\n\nexport interface IComponentMoveToPayLoad extends IActionPayload {\n destination: { x: number; y: number };\n}\nexport interface IComponentMoveToAction extends IAction<IComponentMoveToPayLoad> {\n action: 'moveTo';\n}\nexport interface IComponentScaleToPayLoad extends IActionPayload {\n scale: { scaleX: number; scaleY: number };\n}\nexport interface IComponentScaleToAction extends IAction<IComponentScaleToPayLoad> {\n action: 'scaleTo';\n}\n\nexport interface IComponentBouncePayLoad extends IActionPayload {\n /**\n * 自定义弹跳 easing path string\n */\n customEase?: string;\n /**\n * 跳跃高度\n */\n dy?: number;\n}\n\nexport interface IComponentBounceAction extends IAction<IComponentBouncePayLoad> {\n action: 'bounce';\n}\n"]}
@@ -21,7 +21,7 @@ class ActionProcessor {
21
21
  if (!character) return (0, output_1.logger)("error", `获取character失败,请检查 ${characterId} 是否绑定到一个合法的character`),
22
22
  null;
23
23
  const processor = this.getProcessor(character.spec.type, action.action);
24
- return processor ? processor.getStartTimeAndDuration(action) : ((0, output_1.logger)("error", `获取processor失败,请检查 ${character.spec.type} 是否支持 ${action.action}`),
24
+ return processor ? processor.getStartTimeAndDuration(action, character) : ((0, output_1.logger)("error", `获取processor失败,请检查 ${character.spec.type} 是否支持 ${action.action}`),
25
25
  null);
26
26
  }
27
27
  registerProcessor(name, processors) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/player/processor/processor.ts"],"names":[],"mappings":"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","file":"processor.js","sourcesContent":["import type { ICharacter } from '../../story/character';\nimport type { IActionSpec, IStory } from '../../story/interface';\nimport { IActionsLink } from '../../story/interface';\nimport { logger } from '../../util/output';\nimport type { IActionProcessor, IActionProcessorItem } from './interface/action-processor';\n\nexport type IProcessorMap = Record<string, Record<string, IActionProcessorItem>>;\n\nexport interface IProcessorReturnType {\n totalTime: number;\n revertActionParams?: {\n action: string;\n payload: Record<string, any>;\n };\n}\n\nexport class ActionProcessor implements IActionProcessor {\n protected _processorMap: Map<string, Record<string, IActionProcessorItem>>;\n\n private static _instance: ActionProcessor = null;\n protected _story: IStory;\n\n constructor(story: IStory, processorMap?: IProcessorMap) {\n if (!ActionProcessor._instance) {\n this.init(story, processorMap);\n ActionProcessor._instance = this;\n }\n return ActionProcessor._instance;\n }\n\n protected init(story: IStory, processorMap?: IProcessorMap) {\n this._processorMap = new Map();\n if (processorMap) {\n for (const key in processorMap) {\n logger('info', `register ${key} processor.`); // TODO: remove log\n this.registerProcessor(key, processorMap[key]);\n }\n }\n this._story = story;\n }\n\n /**\n * 添加Action,根据Action中的characterId添加对应的characterActions实例\n * @param action\n */\n getActInfo(\n characterId: string,\n action: IActionSpec\n ): {\n startTime: number;\n duration: number;\n } | null {\n const character = this._story.getCharactersById(characterId);\n if (!character) {\n logger('error', `获取character失败,请检查 ${characterId} 是否绑定到一个合法的character`);\n return null;\n }\n\n const processor = this.getProcessor(character.spec.type, action.action);\n\n if (!processor) {\n logger('error', `获取processor失败,请检查 ${character.spec.type} 是否支持 ${action.action}`);\n return null;\n }\n return processor.getStartTimeAndDuration(action);\n\n // characterActions.forEach(action => {\n // const processor = this.getProcessor(character.spec.type, action.action);\n // });\n }\n\n /**\n *\n * @param name 操作对象名称\n * @param processors 操作对象支持的 processor\n * @returns boolean 注册是否成功\n */\n registerProcessor(name: string, processors: Record<string, IActionProcessorItem>) {\n if (!this._processorMap) {\n return false;\n }\n // 重复注册,目前直接替代\n this._processorMap.set(name, processors);\n return true;\n }\n\n getProcessorList(name: string) {\n return this._processorMap && this._processorMap.get(name);\n }\n\n getProcessor(name: string, actionName: string) {\n return this._processorMap && this._processorMap.get(name)?.[actionName];\n }\n\n /**\n * Execute action\n * @param name\n * @param actionName\n * @param actionParams\n * @returns IProcessorReturnType\n */\n doAction(name: string, actionName: string, character: ICharacter, actionSpec: IActionSpec): void {\n const processor = this.getProcessor(name, actionName);\n if (processor) {\n // try {\n // eslint-disable-next-line no-console\n logger('info', `Execute action => ${actionName}, character => ${name}`); // TODO: remove log\n const actionResult = processor.run(character, actionSpec);\n // eslint-disable-next-line no-console\n logger('info', `Action Executed:`, actionResult); // TODO: remove log\n return actionResult;\n // } catch (err) {\n // logger('error', `Action Executed Error: ${err}`);\n // return null;\n // }\n }\n // eslint-disable-next-line no-console\n logger('error', `Action not found: character => ${name}, action => ${actionName} `); // TODO: remove log\n return undefined;\n }\n\n release() {\n ActionProcessor._instance = null;\n\n if (this._processorMap) {\n this._processorMap.clear();\n this._processorMap = null;\n }\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/player/processor/processor.ts"],"names":[],"mappings":"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","file":"processor.js","sourcesContent":["import type { ICharacter } from '../../story/character';\nimport type { IActionSpec, IStory } from '../../story/interface';\nimport { IActionsLink } from '../../story/interface';\nimport { logger } from '../../util/output';\nimport type { IActionProcessor, IActionProcessorItem } from './interface/action-processor';\n\nexport type IProcessorMap = Record<string, Record<string, IActionProcessorItem>>;\n\nexport interface IProcessorReturnType {\n totalTime: number;\n revertActionParams?: {\n action: string;\n payload: Record<string, any>;\n };\n}\n\nexport class ActionProcessor implements IActionProcessor {\n protected _processorMap: Map<string, Record<string, IActionProcessorItem>>;\n\n private static _instance: ActionProcessor = null;\n protected _story: IStory;\n\n constructor(story: IStory, processorMap?: IProcessorMap) {\n if (!ActionProcessor._instance) {\n this.init(story, processorMap);\n ActionProcessor._instance = this;\n }\n return ActionProcessor._instance;\n }\n\n protected init(story: IStory, processorMap?: IProcessorMap) {\n this._processorMap = new Map();\n if (processorMap) {\n for (const key in processorMap) {\n logger('info', `register ${key} processor.`); // TODO: remove log\n this.registerProcessor(key, processorMap[key]);\n }\n }\n this._story = story;\n }\n\n /**\n * 添加Action,根据Action中的characterId添加对应的characterActions实例\n * @param action\n */\n getActInfo(\n characterId: string,\n action: IActionSpec\n ): {\n startTime: number;\n duration: number;\n } | null {\n const character = this._story.getCharactersById(characterId);\n if (!character) {\n logger('error', `获取character失败,请检查 ${characterId} 是否绑定到一个合法的character`);\n return null;\n }\n\n const processor = this.getProcessor(character.spec.type, action.action);\n\n if (!processor) {\n logger('error', `获取processor失败,请检查 ${character.spec.type} 是否支持 ${action.action}`);\n return null;\n }\n return processor.getStartTimeAndDuration(action, character);\n\n // characterActions.forEach(action => {\n // const processor = this.getProcessor(character.spec.type, action.action);\n // });\n }\n\n /**\n *\n * @param name 操作对象名称\n * @param processors 操作对象支持的 processor\n * @returns boolean 注册是否成功\n */\n registerProcessor(name: string, processors: Record<string, IActionProcessorItem>) {\n if (!this._processorMap) {\n return false;\n }\n // 重复注册,目前直接替代\n this._processorMap.set(name, processors);\n return true;\n }\n\n getProcessorList(name: string) {\n return this._processorMap && this._processorMap.get(name);\n }\n\n getProcessor(name: string, actionName: string) {\n return this._processorMap && this._processorMap.get(name)?.[actionName];\n }\n\n /**\n * Execute action\n * @param name\n * @param actionName\n * @param actionParams\n * @returns IProcessorReturnType\n */\n doAction(name: string, actionName: string, character: ICharacter, actionSpec: IActionSpec): void {\n const processor = this.getProcessor(name, actionName);\n if (processor) {\n // try {\n // eslint-disable-next-line no-console\n logger('info', `Execute action => ${actionName}, character => ${name}`); // TODO: remove log\n const actionResult = processor.run(character, actionSpec);\n // eslint-disable-next-line no-console\n logger('info', `Action Executed:`, actionResult); // TODO: remove log\n return actionResult;\n // } catch (err) {\n // logger('error', `Action Executed Error: ${err}`);\n // return null;\n // }\n }\n // eslint-disable-next-line no-console\n logger('error', `Action not found: character => ${name}, action => ${actionName} `); // TODO: remove log\n return undefined;\n }\n\n release() {\n ActionProcessor._instance = null;\n\n if (this._processorMap) {\n this._processorMap.clear();\n this._processorMap = null;\n }\n }\n}\n"]}
@@ -6,10 +6,15 @@ import { ShapeVisibilityActionProcessor } from './component/shape/shape-visibili
6
6
  import { TextVisibilityActionProcessor } from './component/text/text-visibility';
7
7
  import { TimelineStateActionProcessor, TimelineVisibilityActionProcessor } from './component/timeline/timeline-visibility';
8
8
  import { CommonBounceActionProcessor, CommonMoveToActionProcessor, CommonScaleToActionProcessor, CommonStyleActionProcessor } from './component/common-component';
9
+ import { RankingBarPlayActionProcessor } from './chart/rankingBar/rankingBar';
9
10
  export declare const processorChartMap: {
10
11
  VChart: {
11
12
  [x: string]: VChartVisibilityActionProcessor | VChartUpdateActionProcessor | VChartAddActionProcessor | CommonBounceActionProcessor;
12
13
  };
14
+ RankingBar: {
15
+ [x: string]: RankingBarPlayActionProcessor | VChartVisibilityActionProcessor | CommonBounceActionProcessor;
16
+ play: RankingBarPlayActionProcessor;
17
+ };
13
18
  };
14
19
  export declare const processorComponentMap: {
15
20
  Rect: {
@@ -53,4 +58,8 @@ export declare const processorMap: {
53
58
  VChart: {
54
59
  [x: string]: VChartVisibilityActionProcessor | VChartUpdateActionProcessor | VChartAddActionProcessor | CommonBounceActionProcessor;
55
60
  };
61
+ RankingBar: {
62
+ [x: string]: RankingBarPlayActionProcessor | VChartVisibilityActionProcessor | CommonBounceActionProcessor;
63
+ play: RankingBarPlayActionProcessor;
64
+ };
56
65
  };
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: !0
5
5
  }), exports.processorMap = exports.processorComponentMap = exports.processorChartMap = void 0;
6
6
 
7
- const action_1 = require("../../constants/action"), character_1 = require("../../constants/character"), image_visibility_1 = require("./component/image/image-visibility"), vchart_1 = require("./chart/vchart"), line_visibility_1 = require("./component/line/line-visibility"), rect_visibility_1 = require("./component/rect/rect-visibility"), shape_visibility_1 = require("./component/shape/shape-visibility"), text_visibility_1 = require("./component/text/text-visibility"), timeline_visibility_1 = require("./component/timeline/timeline-visibility"), common_component_1 = require("./component/common-component");
7
+ const action_1 = require("../../constants/action"), character_1 = require("../../constants/character"), image_visibility_1 = require("./component/image/image-visibility"), vchart_1 = require("./chart/vchart"), line_visibility_1 = require("./component/line/line-visibility"), rect_visibility_1 = require("./component/rect/rect-visibility"), shape_visibility_1 = require("./component/shape/shape-visibility"), text_visibility_1 = require("./component/text/text-visibility"), timeline_visibility_1 = require("./component/timeline/timeline-visibility"), common_component_1 = require("./component/common-component"), rankingBar_1 = require("./chart/rankingBar/rankingBar");
8
8
 
9
9
  exports.processorChartMap = {
10
10
  VChart: {
@@ -13,6 +13,12 @@ exports.processorChartMap = {
13
13
  [action_1.ACTION_TYPE.BOUNCE]: new common_component_1.CommonBounceActionProcessor,
14
14
  [action_1.VCHART_ACTION_TYPE.UPDATE]: new vchart_1.VChartUpdateActionProcessor,
15
15
  [action_1.VCHART_ACTION_TYPE.ADD]: new vchart_1.VChartAddActionProcessor
16
+ },
17
+ RankingBar: {
18
+ [action_1.ACTION_TYPE.APPEAR]: new vchart_1.VChartVisibilityActionProcessor,
19
+ [action_1.ACTION_TYPE.DISAPPEAR]: new vchart_1.VChartVisibilityActionProcessor,
20
+ [action_1.ACTION_TYPE.BOUNCE]: new common_component_1.CommonBounceActionProcessor,
21
+ play: new rankingBar_1.RankingBarPlayActionProcessor
16
22
  }
17
23
  }, exports.processorComponentMap = {
18
24
  [character_1.StoryComponentType.RECT]: {
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/player/processor/processorMap.ts"],"names":[],"mappings":";;;AAAA,mDAAyE;AACzE,yDAA+E;AAC/E,yEAAoF;AACpF,2CAAwH;AACxH,sEAAiF;AACjF,sEAAiF;AACjF,yEAAoF;AACpF,sEAAiF;AACjF,kFAGkD;AAClD,mEAKsC;AAEzB,QAAA,iBAAiB,GAAG;IAC/B,UAAuB,EAAE;QACvB,CAAC,oBAAW,CAAC,MAAM,CAAC,EAAE,IAAI,wCAA+B,EAAE;QAC3D,CAAC,oBAAW,CAAC,SAAS,CAAC,EAAE,IAAI,wCAA+B,EAAE;QAC9D,CAAC,oBAAW,CAAC,MAAM,CAAC,EAAE,IAAI,8CAA2B,EAAE;QACvD,CAAC,2BAAkB,CAAC,MAAM,CAAC,EAAE,IAAI,oCAA2B,EAAE;QAC9D,CAAC,2BAAkB,CAAC,GAAG,CAAC,EAAE,IAAI,iCAAwB,EAAE;KACzD;CACF,CAAC;AAEW,QAAA,qBAAqB,GAAG;IACnC,CAAC,8BAAkB,CAAC,IAAI,CAAC,EAAE;QACzB,CAAC,oBAAW,CAAC,MAAM,CAAC,EAAE,IAAI,+CAA6B,EAAE;QACzD,CAAC,oBAAW,CAAC,SAAS,CAAC,EAAE,IAAI,+CAA6B,EAAE;QAC5D,CAAC,oBAAW,CAAC,KAAK,CAAC,EAAE,IAAI,6CAA0B,EAAE;QACrD,CAAC,oBAAW,CAAC,MAAM,CAAC,EAAE,IAAI,8CAA2B,EAAE;QACvD,CAAC,oBAAW,CAAC,OAAO,CAAC,EAAE,IAAI,+CAA4B,EAAE;QACzD,CAAC,oBAAW,CAAC,MAAM,CAAC,EAAE,IAAI,8CAA2B,EAAE;KACxD;IACD,CAAC,8BAAkB,CAAC,IAAI,CAAC,EAAE;QACzB,CAAC,oBAAW,CAAC,MAAM,CAAC,EAAE,IAAI,+CAA6B,EAAE;QACzD,CAAC,oBAAW,CAAC,SAAS,CAAC,EAAE,IAAI,+CAA6B,EAAE;QAC5D,CAAC,oBAAW,CAAC,KAAK,CAAC,EAAE,IAAI,6CAA0B,EAAE;QACrD,CAAC,oBAAW,CAAC,MAAM,CAAC,EAAE,IAAI,8CAA2B,EAAE;QACvD,CAAC,oBAAW,CAAC,OAAO,CAAC,EAAE,IAAI,+CAA4B,EAAE;QACzD,CAAC,oBAAW,CAAC,MAAM,CAAC,EAAE,IAAI,8CAA2B,EAAE;KACxD;IACD,CAAC,8BAAkB,CAAC,KAAK,CAAC,EAAE;QAC1B,CAAC,oBAAW,CAAC,MAAM,CAAC,EAAE,IAAI,iDAA8B,EAAE;QAC1D,CAAC,oBAAW,CAAC,SAAS,CAAC,EAAE,IAAI,iDAA8B,EAAE;QAC7D,CAAC,oBAAW,CAAC,KAAK,CAAC,EAAE,IAAI,6CAA0B,EAAE;QACrD,CAAC,oBAAW,CAAC,MAAM,CAAC,EAAE,IAAI,8CAA2B,EAAE;QACvD,CAAC,oBAAW,CAAC,OAAO,CAAC,EAAE,IAAI,+CAA4B,EAAE;QACzD,CAAC,oBAAW,CAAC,MAAM,CAAC,EAAE,IAAI,8CAA2B,EAAE;KACxD;IACD,CAAC,8BAAkB,CAAC,KAAK,CAAC,EAAE;QAC1B,CAAC,oBAAW,CAAC,MAAM,CAAC,EAAE,IAAI,iDAA8B,EAAE;QAC1D,CAAC,oBAAW,CAAC,SAAS,CAAC,EAAE,IAAI,iDAA8B,EAAE;QAC7D,CAAC,oBAAW,CAAC,KAAK,CAAC,EAAE,IAAI,6CAA0B,EAAE;QACrD,CAAC,oBAAW,CAAC,MAAM,CAAC,EAAE,IAAI,8CAA2B,EAAE;QACvD,CAAC,oBAAW,CAAC,OAAO,CAAC,EAAE,IAAI,+CAA4B,EAAE;QACzD,CAAC,oBAAW,CAAC,MAAM,CAAC,EAAE,IAAI,8CAA2B,EAAE;KACxD;IACD,CAAC,8BAAkB,CAAC,IAAI,CAAC,EAAE;QACzB,CAAC,oBAAW,CAAC,MAAM,CAAC,EAAE,IAAI,+CAA6B,EAAE;QACzD,CAAC,oBAAW,CAAC,SAAS,CAAC,EAAE,IAAI,+CAA6B,EAAE;QAC5D,CAAC,oBAAW,CAAC,KAAK,CAAC,EAAE,IAAI,6CAA0B,EAAE;QACrD,CAAC,oBAAW,CAAC,MAAM,CAAC,EAAE,IAAI,8CAA2B,EAAE;QACvD,CAAC,oBAAW,CAAC,OAAO,CAAC,EAAE,IAAI,+CAA4B,EAAE;QACzD,CAAC,oBAAW,CAAC,MAAM,CAAC,EAAE,IAAI,8CAA2B,EAAE;KACxD;IACD,CAAC,8BAAkB,CAAC,QAAQ,CAAC,EAAE;QAC7B,CAAC,oBAAW,CAAC,MAAM,CAAC,EAAE,IAAI,uDAAiC,EAAE;QAC7D,CAAC,oBAAW,CAAC,SAAS,CAAC,EAAE,IAAI,uDAAiC,EAAE;QAChE,CAAC,oBAAW,CAAC,KAAK,CAAC,EAAE,IAAI,6CAA0B,EAAE;QACrD,CAAC,oBAAW,CAAC,MAAM,CAAC,EAAE,IAAI,8CAA2B,EAAE;QACvD,CAAC,oBAAW,CAAC,OAAO,CAAC,EAAE,IAAI,+CAA4B,EAAE;QACzD,CAAC,oBAAW,CAAC,KAAK,CAAC,EAAE,IAAI,kDAA4B,EAAE;QACvD,CAAC,oBAAW,CAAC,MAAM,CAAC,EAAE,IAAI,8CAA2B,EAAE;KACxD;CACF,CAAC;AAEW,QAAA,YAAY,mCACpB,yBAAiB,GACjB,6BAAqB,EACxB","file":"processorMap.js","sourcesContent":["import { ACTION_TYPE, VCHART_ACTION_TYPE } from '../../constants/action';\nimport { StoryChartType, StoryComponentType } from '../../constants/character';\nimport { ImageVisibilityActionProcessor } from './component/image/image-visibility';\nimport { VChartAddActionProcessor, VChartUpdateActionProcessor, VChartVisibilityActionProcessor } from './chart/vchart';\nimport { LineVisibilityActionProcessor } from './component/line/line-visibility';\nimport { RectVisibilityActionProcessor } from './component/rect/rect-visibility';\nimport { ShapeVisibilityActionProcessor } from './component/shape/shape-visibility';\nimport { TextVisibilityActionProcessor } from './component/text/text-visibility';\nimport {\n TimelineStateActionProcessor,\n TimelineVisibilityActionProcessor\n} from './component/timeline/timeline-visibility';\nimport {\n CommonBounceActionProcessor,\n CommonMoveToActionProcessor,\n CommonScaleToActionProcessor,\n CommonStyleActionProcessor\n} from './component/common-component';\n\nexport const processorChartMap = {\n [StoryChartType.VCHART]: {\n [ACTION_TYPE.APPEAR]: new VChartVisibilityActionProcessor(),\n [ACTION_TYPE.DISAPPEAR]: new VChartVisibilityActionProcessor(),\n [ACTION_TYPE.BOUNCE]: new CommonBounceActionProcessor(),\n [VCHART_ACTION_TYPE.UPDATE]: new VChartUpdateActionProcessor(),\n [VCHART_ACTION_TYPE.ADD]: new VChartAddActionProcessor()\n }\n};\n\nexport const processorComponentMap = {\n [StoryComponentType.RECT]: {\n [ACTION_TYPE.APPEAR]: new RectVisibilityActionProcessor(),\n [ACTION_TYPE.DISAPPEAR]: new RectVisibilityActionProcessor(),\n [ACTION_TYPE.STYLE]: new CommonStyleActionProcessor(),\n [ACTION_TYPE.MOVETO]: new CommonMoveToActionProcessor(),\n [ACTION_TYPE.SCALETO]: new CommonScaleToActionProcessor(),\n [ACTION_TYPE.BOUNCE]: new CommonBounceActionProcessor()\n },\n [StoryComponentType.LINE]: {\n [ACTION_TYPE.APPEAR]: new LineVisibilityActionProcessor(),\n [ACTION_TYPE.DISAPPEAR]: new LineVisibilityActionProcessor(),\n [ACTION_TYPE.STYLE]: new CommonStyleActionProcessor(),\n [ACTION_TYPE.MOVETO]: new CommonMoveToActionProcessor(),\n [ACTION_TYPE.SCALETO]: new CommonScaleToActionProcessor(),\n [ACTION_TYPE.BOUNCE]: new CommonBounceActionProcessor()\n },\n [StoryComponentType.SHAPE]: {\n [ACTION_TYPE.APPEAR]: new ShapeVisibilityActionProcessor(),\n [ACTION_TYPE.DISAPPEAR]: new ShapeVisibilityActionProcessor(),\n [ACTION_TYPE.STYLE]: new CommonStyleActionProcessor(),\n [ACTION_TYPE.MOVETO]: new CommonMoveToActionProcessor(),\n [ACTION_TYPE.SCALETO]: new CommonScaleToActionProcessor(),\n [ACTION_TYPE.BOUNCE]: new CommonBounceActionProcessor()\n },\n [StoryComponentType.IMAGE]: {\n [ACTION_TYPE.APPEAR]: new ImageVisibilityActionProcessor(),\n [ACTION_TYPE.DISAPPEAR]: new ImageVisibilityActionProcessor(),\n [ACTION_TYPE.STYLE]: new CommonStyleActionProcessor(),\n [ACTION_TYPE.MOVETO]: new CommonMoveToActionProcessor(),\n [ACTION_TYPE.SCALETO]: new CommonScaleToActionProcessor(),\n [ACTION_TYPE.BOUNCE]: new CommonBounceActionProcessor()\n },\n [StoryComponentType.TEXT]: {\n [ACTION_TYPE.APPEAR]: new TextVisibilityActionProcessor(),\n [ACTION_TYPE.DISAPPEAR]: new TextVisibilityActionProcessor(),\n [ACTION_TYPE.STYLE]: new CommonStyleActionProcessor(),\n [ACTION_TYPE.MOVETO]: new CommonMoveToActionProcessor(),\n [ACTION_TYPE.SCALETO]: new CommonScaleToActionProcessor(),\n [ACTION_TYPE.BOUNCE]: new CommonBounceActionProcessor()\n },\n [StoryComponentType.TIMELINE]: {\n [ACTION_TYPE.APPEAR]: new TimelineVisibilityActionProcessor(),\n [ACTION_TYPE.DISAPPEAR]: new TimelineVisibilityActionProcessor(),\n [ACTION_TYPE.STYLE]: new CommonStyleActionProcessor(),\n [ACTION_TYPE.MOVETO]: new CommonMoveToActionProcessor(),\n [ACTION_TYPE.SCALETO]: new CommonScaleToActionProcessor(),\n [ACTION_TYPE.STATE]: new TimelineStateActionProcessor(),\n [ACTION_TYPE.BOUNCE]: new CommonBounceActionProcessor()\n }\n};\n\nexport const processorMap = {\n ...processorChartMap,\n ...processorComponentMap\n};\n"]}
1
+ {"version":3,"sources":["../src/player/processor/processorMap.ts"],"names":[],"mappings":"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","file":"processorMap.js","sourcesContent":["import { ACTION_TYPE, VCHART_ACTION_TYPE } from '../../constants/action';\nimport { StoryChartType, StoryComponentType } from '../../constants/character';\nimport { ImageVisibilityActionProcessor } from './component/image/image-visibility';\nimport { VChartAddActionProcessor, VChartUpdateActionProcessor, VChartVisibilityActionProcessor } from './chart/vchart';\nimport { LineVisibilityActionProcessor } from './component/line/line-visibility';\nimport { RectVisibilityActionProcessor } from './component/rect/rect-visibility';\nimport { ShapeVisibilityActionProcessor } from './component/shape/shape-visibility';\nimport { TextVisibilityActionProcessor } from './component/text/text-visibility';\nimport {\n TimelineStateActionProcessor,\n TimelineVisibilityActionProcessor\n} from './component/timeline/timeline-visibility';\nimport {\n CommonBounceActionProcessor,\n CommonMoveToActionProcessor,\n CommonScaleToActionProcessor,\n CommonStyleActionProcessor\n} from './component/common-component';\nimport { RankingBarPlayActionProcessor } from './chart/rankingBar/rankingBar';\n\nexport const processorChartMap = {\n [StoryChartType.VCHART]: {\n [ACTION_TYPE.APPEAR]: new VChartVisibilityActionProcessor(),\n [ACTION_TYPE.DISAPPEAR]: new VChartVisibilityActionProcessor(),\n [ACTION_TYPE.BOUNCE]: new CommonBounceActionProcessor(),\n [VCHART_ACTION_TYPE.UPDATE]: new VChartUpdateActionProcessor(),\n [VCHART_ACTION_TYPE.ADD]: new VChartAddActionProcessor()\n },\n [StoryChartType.RANKINGBAR]: {\n [ACTION_TYPE.APPEAR]: new VChartVisibilityActionProcessor(),\n [ACTION_TYPE.DISAPPEAR]: new VChartVisibilityActionProcessor(),\n [ACTION_TYPE.BOUNCE]: new CommonBounceActionProcessor(),\n play: new RankingBarPlayActionProcessor()\n }\n};\n\nexport const processorComponentMap = {\n [StoryComponentType.RECT]: {\n [ACTION_TYPE.APPEAR]: new RectVisibilityActionProcessor(),\n [ACTION_TYPE.DISAPPEAR]: new RectVisibilityActionProcessor(),\n [ACTION_TYPE.STYLE]: new CommonStyleActionProcessor(),\n [ACTION_TYPE.MOVETO]: new CommonMoveToActionProcessor(),\n [ACTION_TYPE.SCALETO]: new CommonScaleToActionProcessor(),\n [ACTION_TYPE.BOUNCE]: new CommonBounceActionProcessor()\n },\n [StoryComponentType.LINE]: {\n [ACTION_TYPE.APPEAR]: new LineVisibilityActionProcessor(),\n [ACTION_TYPE.DISAPPEAR]: new LineVisibilityActionProcessor(),\n [ACTION_TYPE.STYLE]: new CommonStyleActionProcessor(),\n [ACTION_TYPE.MOVETO]: new CommonMoveToActionProcessor(),\n [ACTION_TYPE.SCALETO]: new CommonScaleToActionProcessor(),\n [ACTION_TYPE.BOUNCE]: new CommonBounceActionProcessor()\n },\n [StoryComponentType.SHAPE]: {\n [ACTION_TYPE.APPEAR]: new ShapeVisibilityActionProcessor(),\n [ACTION_TYPE.DISAPPEAR]: new ShapeVisibilityActionProcessor(),\n [ACTION_TYPE.STYLE]: new CommonStyleActionProcessor(),\n [ACTION_TYPE.MOVETO]: new CommonMoveToActionProcessor(),\n [ACTION_TYPE.SCALETO]: new CommonScaleToActionProcessor(),\n [ACTION_TYPE.BOUNCE]: new CommonBounceActionProcessor()\n },\n [StoryComponentType.IMAGE]: {\n [ACTION_TYPE.APPEAR]: new ImageVisibilityActionProcessor(),\n [ACTION_TYPE.DISAPPEAR]: new ImageVisibilityActionProcessor(),\n [ACTION_TYPE.STYLE]: new CommonStyleActionProcessor(),\n [ACTION_TYPE.MOVETO]: new CommonMoveToActionProcessor(),\n [ACTION_TYPE.SCALETO]: new CommonScaleToActionProcessor(),\n [ACTION_TYPE.BOUNCE]: new CommonBounceActionProcessor()\n },\n [StoryComponentType.TEXT]: {\n [ACTION_TYPE.APPEAR]: new TextVisibilityActionProcessor(),\n [ACTION_TYPE.DISAPPEAR]: new TextVisibilityActionProcessor(),\n [ACTION_TYPE.STYLE]: new CommonStyleActionProcessor(),\n [ACTION_TYPE.MOVETO]: new CommonMoveToActionProcessor(),\n [ACTION_TYPE.SCALETO]: new CommonScaleToActionProcessor(),\n [ACTION_TYPE.BOUNCE]: new CommonBounceActionProcessor()\n },\n [StoryComponentType.TIMELINE]: {\n [ACTION_TYPE.APPEAR]: new TimelineVisibilityActionProcessor(),\n [ACTION_TYPE.DISAPPEAR]: new TimelineVisibilityActionProcessor(),\n [ACTION_TYPE.STYLE]: new CommonStyleActionProcessor(),\n [ACTION_TYPE.MOVETO]: new CommonMoveToActionProcessor(),\n [ACTION_TYPE.SCALETO]: new CommonScaleToActionProcessor(),\n [ACTION_TYPE.STATE]: new TimelineStateActionProcessor(),\n [ACTION_TYPE.BOUNCE]: new CommonBounceActionProcessor()\n }\n};\n\nexport const processorMap = {\n ...processorChartMap,\n ...processorComponentMap\n};\n"]}
@@ -4,6 +4,8 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: !0
5
5
  }), exports.Scheduler = void 0;
6
6
 
7
+ const vutils_1 = require("@visactor/vutils");
8
+
7
9
  class ActionItem {
8
10
  constructor(st, d, as, ci) {
9
11
  this.startTime = st, this.duration = d, this.actionSpec = as, this.characterId = ci;
@@ -45,7 +47,7 @@ class Scheduler {
45
47
  return toAct.sceneInfoList.forEach((sceneInfo => {
46
48
  const {startTime: sceneStartTime} = sceneInfo;
47
49
  sceneInfo.actionList.forEach((actionInfo => {
48
- sceneStartTime + actionInfo.startTime < formatToTime && (this._runnedAct.has(actionInfo) || (this._runnedAct.add(actionInfo),
50
+ sceneStartTime + actionInfo.startTime <= formatToTime && (this._runnedAct.has(actionInfo) || (this._runnedAct.add(actionInfo),
49
51
  actions.push(actionInfo)));
50
52
  }));
51
53
  })), actions;
@@ -77,17 +79,19 @@ class Scheduler {
77
79
  scene.actions.forEach(((action, actIdx) => {
78
80
  let character_st = 1 / 0, character_et = -1 / 0;
79
81
  action.characterActions.forEach((ca => {
80
- const info = this._actionProcessor.getActInfo(action.characterId, ca);
81
- if (!info) return;
82
- const item = new ActionItem(info.startTime, info.duration, ca, action.characterId);
83
- character_st = Math.max(Math.min(item.startTime, character_st), 0), character_et = Math.max(item.startTime + item.duration, character_et),
84
- actionList.push(item);
82
+ ((0, vutils_1.isString)(action.characterId) ? [ action.characterId ] : action.characterId).forEach((characterId => {
83
+ const info = this._actionProcessor.getActInfo(characterId, ca);
84
+ if (!info) return;
85
+ const item = new ActionItem(info.startTime, info.duration, ca, characterId);
86
+ character_st = Math.max(Math.min(item.startTime, character_st), 0), character_et = Math.max(item.startTime + item.duration, character_et),
87
+ actionList.push(item);
88
+ }));
85
89
  })), scene_st = actIdx ? Math.max(Math.min(character_st, scene_st), 0) : character_st,
86
90
  scene_et = actIdx ? Math.max(character_et, scene_et) : character_et;
87
91
  }));
88
92
  return {
89
- startTime: sceneStartTime + scene_st,
90
- duration: scene_et - scene_st,
93
+ startTime: sceneStartTime,
94
+ duration: scene_et,
91
95
  id: scene.id,
92
96
  actionList: actionList
93
97
  };
@@ -1 +1 @@
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
+ {"version":3,"sources":["../src/player/scheduler.ts"],"names":[],"mappings":"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","file":"scheduler.js","sourcesContent":["import { isNumber, isString } 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 characterIdList = isString(action.characterId) ? [action.characterId] : action.characterId;\n characterIdList.forEach(characterId => {\n const info = this._actionProcessor.getActInfo(characterId, ca);\n if (!info) {\n return;\n }\n const item = new ActionItem(info.startTime, info.duration, ca, 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\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,\n duration: scene_et,\n id: scene.id,\n actionList\n };\n\n return sceneInfo;\n }\n}\n"]}
@@ -1 +1,3 @@
1
+
2
+
1
3
  //# sourceMappingURL=scene.js.map
@@ -33,17 +33,16 @@ class StoryCanvas {
33
33
  width: this._canvas.clientWidth,
34
34
  height: this._canvas.clientHeight,
35
35
  canvasControled: !0,
36
- autoRender: !1,
36
+ autoRender: !0,
37
37
  disableDirtyBounds: !0,
38
38
  ticker: new vrender_1.ManualTicker([]),
39
+ pluginList: [ "RichTextEditPlugin" ],
39
40
  dpr: window.devicePixelRatio,
40
41
  event: {
41
42
  clickInterval: 300
42
43
  }
43
44
  });
44
- this._stage = stage, stage.on("*", ((e, type) => {
45
- "click" === type && console.log("canvas", e);
46
- }));
45
+ this._stage = stage;
47
46
  }
48
47
  getEventDetail(event) {
49
48
  const characterMap = this._story.getCharacters();
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/story/canvas/canvas.ts"],"names":[],"mappings":"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","file":"canvas.js","sourcesContent":["import type { Story } from '../story';\nimport type { IStage } from '@visactor/vrender';\nimport { createStage, vglobal, container, preLoadAllModule, ManualTicker } from '@visactor/vrender';\nimport { loadBrowserEnv } from '@visactor/vrender';\nimport type { IStoryCanvas, StoryEvent } from '../interface/runtime-interface';\nimport type { ICharacter } from '../character/runtime-interface';\n\npreLoadAllModule();\nloadBrowserEnv(container);\nvglobal.setEnv('browser');\n\nexport class StoryCanvas implements IStoryCanvas {\n protected _story: Story;\n protected _canvas: HTMLCanvasElement;\n protected _stage: IStage;\n getStage() {\n return this._stage;\n }\n\n getCanvas() {\n return this._canvas;\n }\n\n protected _container: HTMLDivElement;\n get container() {\n return this._container;\n }\n\n constructor(story: Story, container: HTMLDivElement) {\n this._story = story;\n this._container = container;\n this._initCanvas();\n }\n\n protected _initCanvas() {\n const canvas = document.createElement('canvas');\n canvas.width = this._container.clientWidth * window.devicePixelRatio;\n canvas.height = this._container.clientHeight * window.devicePixelRatio;\n canvas.style.width = this._container.clientWidth + 'px';\n canvas.style.height = this._container.clientHeight + 'px';\n canvas.style.position = 'absolute';\n canvas.id = `_visactor_story_canvas_${this._story.id}`;\n this._container.appendChild(canvas);\n this._canvas = canvas;\n const stage = createStage({\n canvas: this._canvas,\n width: this._canvas.clientWidth,\n height: this._canvas.clientHeight,\n canvasControled: true,\n autoRender: false,\n disableDirtyBounds: true,\n ticker: new ManualTicker([]),\n dpr: window.devicePixelRatio,\n event: {\n clickInterval: 300\n }\n });\n // @ts-ignore\n this._stage = stage;\n stage.on('*', (e, type) => {\n // eslint-disable-next-line no-console\n type === 'click' && console.log('canvas', e);\n });\n }\n\n getEventDetail(event: StoryEvent) {\n // 得到交互元素的详细信息\n const characterMap = this._story.getCharacters();\n let characterInfo;\n let character: ICharacter;\n Object.keys(this._story.getCharacters()).find(id => {\n const characterTemp = characterMap[id];\n const info = characterTemp.checkEvent(event);\n if (info) {\n characterInfo = info;\n character = characterTemp;\n return true;\n }\n return false;\n });\n\n return {\n character,\n characterInfo\n };\n }\n\n release() {\n this._stage.release();\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/story/canvas/canvas.ts"],"names":[],"mappings":"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","file":"canvas.js","sourcesContent":["import type { Story } from '../story';\nimport type { IStage } from '@visactor/vrender';\nimport { createStage, vglobal, container, preLoadAllModule, ManualTicker } from '@visactor/vrender';\nimport { loadBrowserEnv } from '@visactor/vrender';\nimport type { IStoryCanvas, StoryEvent } from '../interface/runtime-interface';\nimport type { ICharacter } from '../character/runtime-interface';\n\npreLoadAllModule();\nloadBrowserEnv(container);\nvglobal.setEnv('browser');\n\nexport class StoryCanvas implements IStoryCanvas {\n protected _story: Story;\n protected _canvas: HTMLCanvasElement;\n protected _stage: IStage;\n getStage() {\n return this._stage;\n }\n\n getCanvas() {\n return this._canvas;\n }\n\n protected _container: HTMLDivElement;\n get container() {\n return this._container;\n }\n\n constructor(story: Story, container: HTMLDivElement) {\n this._story = story;\n this._container = container;\n this._initCanvas();\n }\n\n protected _initCanvas() {\n const canvas = document.createElement('canvas');\n canvas.width = this._container.clientWidth * window.devicePixelRatio;\n canvas.height = this._container.clientHeight * window.devicePixelRatio;\n canvas.style.width = this._container.clientWidth + 'px';\n canvas.style.height = this._container.clientHeight + 'px';\n canvas.style.position = 'absolute';\n canvas.id = `_visactor_story_canvas_${this._story.id}`;\n this._container.appendChild(canvas);\n this._canvas = canvas;\n const stage = createStage({\n canvas: this._canvas,\n width: this._canvas.clientWidth,\n height: this._canvas.clientHeight,\n canvasControled: true,\n // 得开启自动渲染,否则编辑场景中无法触发视图更新\n autoRender: true,\n disableDirtyBounds: true,\n ticker: new ManualTicker([]),\n pluginList: ['RichTextEditPlugin'],\n dpr: window.devicePixelRatio,\n event: {\n clickInterval: 300\n }\n });\n // @ts-ignore\n this._stage = stage;\n }\n\n getEventDetail(event: StoryEvent) {\n // 得到交互元素的详细信息\n const characterMap = this._story.getCharacters();\n let characterInfo;\n let character: ICharacter;\n Object.keys(this._story.getCharacters()).find(id => {\n const characterTemp = characterMap[id];\n const info = characterTemp.checkEvent(event);\n if (info) {\n characterInfo = info;\n character = characterTemp;\n return true;\n }\n return false;\n });\n\n return {\n character,\n characterInfo\n };\n }\n\n release() {\n this._stage.release();\n }\n}\n"]}
@@ -1,9 +1,12 @@
1
+ import type { IBoundsLike } from '@visactor/vutils';
1
2
  import type { ICharacterInitOption, ICharacterPickInfo } from '../runtime-interface';
2
3
  import type { ICharacter, ICharacterSpec } from '..';
3
4
  import type { IGroup } from '@visactor/vrender';
4
5
  import type { StoryEvent } from '../../interface';
5
6
  export declare abstract class CharacterBase implements ICharacter {
6
7
  readonly id: string;
8
+ readonly visActorType: string;
9
+ readonly type: string;
7
10
  protected _spec: ICharacterSpec;
8
11
  get spec(): ICharacterSpec;
9
12
  protected _graphic: any;
@@ -23,6 +26,7 @@ export declare abstract class CharacterBase implements ICharacter {
23
26
  abstract hide(): void;
24
27
  getPositionData(): void;
25
28
  abstract getGraphicParent(): IGroup;
29
+ abstract getLayoutBounds(): IBoundsLike;
26
30
  abstract clearCharacter(): void;
27
31
  abstract checkEvent(event: StoryEvent): false | ICharacterPickInfo;
28
32
  release(): void;
@@ -17,7 +17,7 @@ class CharacterBase {
17
17
  return this._option;
18
18
  }
19
19
  constructor(spec, option) {
20
- this.id = spec.id, this._spec = spec, this._option = option;
20
+ this.type = spec.type, this.id = spec.id, this._spec = spec, this._option = option;
21
21
  }
22
22
  updateSpec(spec) {
23
23
  var _a;
@@ -1 +1 @@
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"]}
1
+ {"version":3,"sources":["../src/story/character/base/base.ts"],"names":[],"mappings":";;;AACA,6CAAkD;AAOlD,MAAsB,aAAa;IAKjC,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,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACtB,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;IAQD,OAAO;QACL,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;IACjE,CAAC;CACF;AA3ED,sCA2EC","file":"base.js","sourcesContent":["import type { IBoundsLike } from '@visactor/vutils';\nimport { 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 readonly visActorType: string;\n readonly type: 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.type = spec.type;\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 abstract getLayoutBounds(): IBoundsLike;\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"]}
@@ -1,5 +1,6 @@
1
1
  import type { IChartCharacterRuntimeConstructor } from './runtime/interface';
2
2
  import type { IChartCharacterSpec } from '../dsl-interface';
3
+ import { Chart } from './graphic/vchart-graphic';
3
4
  import { CharacterVisactor } from '../visactor/character';
4
5
  import { SpecProcess } from './spec-process/spec-process';
5
6
  import type { ITicker } from '@visactor/vrender';
@@ -8,18 +9,32 @@ import type { ICharacterPickInfo } from '../runtime-interface';
8
9
  export declare class CharacterChart extends CharacterVisactor {
9
10
  static type: string;
10
11
  static RunTime: IChartCharacterRuntimeConstructor[];
12
+ readonly visActorType = "chart";
11
13
  protected _specProcess: SpecProcess;
12
14
  protected _ticker: ITicker;
15
+ _graphic: Chart;
13
16
  protected _spec: IChartCharacterSpec;
14
17
  get spec(): IChartCharacterSpec;
15
18
  protected _initSpecProcess(): void;
16
19
  protected _initRuntime(): void;
17
20
  protected _parserSpec(): void;
18
21
  protected _initGraphics(): void;
22
+ setAttributes(attr: Record<string, any>): void;
23
+ getViewBoxFromSpec(): {
24
+ layout: Partial<import("../runtime-interface").ILayoutAttribute>;
25
+ viewBox: {
26
+ x1: number;
27
+ x2: number;
28
+ y1: number;
29
+ y2: number;
30
+ };
31
+ };
32
+ private _getChartOption;
19
33
  protected _afterRender(): void;
20
34
  protected _updateVisactorSpec(): void;
21
35
  clearCharacter(): void;
22
36
  tickTo(t: number): void;
23
37
  checkEvent(event: StoryEvent): false | ICharacterPickInfo;
24
38
  release(): void;
39
+ private _reflow;
25
40
  }