@visactor/vstory 0.0.5 → 0.0.7

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 (412) 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/pie.js +1 -1
  6. package/cjs/dsl/story-executor/index.js +2 -0
  7. package/cjs/dsl/story-processor/index.js +1 -1
  8. package/cjs/dsl/story-processor/processor.js +1 -1
  9. package/cjs/dsl/types/Datum.js +1 -1
  10. package/cjs/dsl/types/index.d.ts +1 -0
  11. package/cjs/dsl/types/index.js +1 -1
  12. package/cjs/dsl/types/index.js.map +1 -1
  13. package/cjs/dsl/utils/datum.js +2 -1
  14. package/cjs/dsl/utils/flicker.js +1 -1
  15. package/cjs/edit/const.d.ts +1 -3
  16. package/cjs/edit/const.js +1 -0
  17. package/cjs/edit/const.js.map +1 -1
  18. package/cjs/edit/edit-action.d.ts +9 -0
  19. package/cjs/edit/edit-action.js +61 -5
  20. package/cjs/edit/edit-action.js.map +1 -1
  21. package/cjs/edit/edit-component/base-selection.d.ts +8 -3
  22. package/cjs/edit/edit-component/base-selection.js +30 -4
  23. package/cjs/edit/edit-component/base-selection.js.map +1 -1
  24. package/cjs/edit/edit-component/chart-selection.d.ts +15 -0
  25. package/cjs/edit/edit-component/chart-selection.js +39 -0
  26. package/cjs/edit/edit-component/chart-selection.js.map +1 -0
  27. package/cjs/edit/edit-component/common.d.ts +1 -11
  28. package/cjs/edit/edit-component/common.js +1 -32
  29. package/cjs/edit/edit-component/common.js.map +1 -1
  30. package/cjs/edit/edit-component/edit-control/richtext-control.d.ts +19 -0
  31. package/cjs/edit/edit-component/edit-control/richtext-control.js +34 -0
  32. package/cjs/edit/edit-component/edit-control/richtext-control.js.map +1 -0
  33. package/cjs/edit/edit-component/edit-control/richtext-transform-control.d.ts +2 -3
  34. package/cjs/edit/edit-component/edit-control/richtext-transform-control.js +30 -32
  35. package/cjs/edit/edit-component/edit-control/richtext-transform-control.js.map +1 -1
  36. package/cjs/edit/edit-component/edit-control/transform-control.d.ts +4 -2
  37. package/cjs/edit/edit-component/edit-control/transform-control.js +10 -6
  38. package/cjs/edit/edit-component/edit-control/transform-control.js.map +1 -1
  39. package/cjs/edit/edit-component/edit-control/transform-drag.d.ts +1 -0
  40. package/cjs/edit/edit-component/edit-control/transform-drag.js +4 -2
  41. package/cjs/edit/edit-component/edit-control/transform-drag.js.map +1 -1
  42. package/cjs/edit/edit-component/image-selection.d.ts +1 -2
  43. package/cjs/edit/edit-component/image-selection.js +2 -5
  44. package/cjs/edit/edit-component/image-selection.js.map +1 -1
  45. package/cjs/edit/edit-component/index.js +5 -6
  46. package/cjs/edit/edit-component/index.js.map +1 -1
  47. package/cjs/edit/edit-component/layer-edit.js +0 -2
  48. package/cjs/edit/edit-component/mixin/richtext.d.ts +21 -0
  49. package/cjs/edit/edit-component/mixin/richtext.js +26 -0
  50. package/cjs/edit/edit-component/mixin/richtext.js.map +1 -0
  51. package/cjs/edit/edit-component/rect-selection.d.ts +8 -12
  52. package/cjs/edit/edit-component/rect-selection.js +13 -18
  53. package/cjs/edit/edit-component/rect-selection.js.map +1 -1
  54. package/cjs/edit/edit-component/richtext-selection-common.d.ts +19 -0
  55. package/cjs/edit/edit-component/richtext-selection-common.js +35 -0
  56. package/cjs/edit/edit-component/richtext-selection-common.js.map +1 -0
  57. package/cjs/edit/edit-component/richtext-selection.d.ts +0 -2
  58. package/cjs/edit/edit-component/richtext-selection.js +1 -7
  59. package/cjs/edit/edit-component/richtext-selection.js.map +1 -1
  60. package/cjs/edit/edit-component/shape-selection.d.ts +11 -0
  61. package/cjs/edit/edit-component/shape-selection.js +35 -0
  62. package/cjs/edit/edit-component/shape-selection.js.map +1 -0
  63. package/cjs/edit/edit-component/text-selection.d.ts +0 -3
  64. package/cjs/edit/edit-component/text-selection.js +3 -10
  65. package/cjs/edit/edit-component/text-selection.js.map +1 -1
  66. package/cjs/edit/edit.d.ts +5 -2
  67. package/cjs/edit/edit.js +20 -5
  68. package/cjs/edit/edit.js.map +1 -1
  69. package/cjs/edit/interface.d.ts +6 -1
  70. package/cjs/edit/interface.js +3 -1
  71. package/cjs/edit/interface.js.map +1 -1
  72. package/cjs/index.d.ts +3 -0
  73. package/cjs/index.js +3 -1
  74. package/cjs/index.js.map +1 -1
  75. package/cjs/player/encode.js +0 -2
  76. package/cjs/player/player.js +6 -2
  77. package/cjs/player/player.js.map +1 -1
  78. package/cjs/player/processor/chart/common/chartAppear.d.ts +2 -2
  79. package/cjs/player/processor/chart/common/chartAppear.js.map +1 -1
  80. package/cjs/player/processor/chart/common/commonAppear.d.ts +3 -3
  81. package/cjs/player/processor/chart/common/commonAppear.js.map +1 -1
  82. package/cjs/player/processor/chart/component/axisAppear.d.ts +2 -2
  83. package/cjs/player/processor/chart/component/axisAppear.js.map +1 -1
  84. package/cjs/player/processor/chart/component/commonAppear.d.ts +3 -3
  85. package/cjs/player/processor/chart/component/commonAppear.js.map +1 -1
  86. package/cjs/player/processor/chart/component/labelAppear.d.ts +2 -2
  87. package/cjs/player/processor/chart/component/labelAppear.js.map +1 -1
  88. package/cjs/player/processor/chart/rankingBar/rankingBar.d.ts +29 -0
  89. package/cjs/player/processor/chart/rankingBar/rankingBar.js +54 -0
  90. package/cjs/player/processor/chart/rankingBar/rankingBar.js.map +1 -0
  91. package/cjs/player/processor/chart/seriesmark/commonTransformMarkAppear.d.ts +3 -3
  92. package/cjs/player/processor/chart/seriesmark/commonTransformMarkAppear.js.map +1 -1
  93. package/cjs/player/processor/chart/seriesmark/transformArcVisibility.d.ts +2 -2
  94. package/cjs/player/processor/chart/seriesmark/transformArcVisibility.js.map +1 -1
  95. package/cjs/player/processor/chart/seriesmark/transformLineVisibility.d.ts +2 -2
  96. package/cjs/player/processor/chart/seriesmark/transformLineVisibility.js.map +1 -1
  97. package/cjs/player/processor/chart/seriesmark/transformRectVisibility.d.ts +2 -2
  98. package/cjs/player/processor/chart/seriesmark/transformRectVisibility.js.map +1 -1
  99. package/cjs/player/processor/chart/seriesmark/transformSymbolVisibility.d.ts +2 -2
  100. package/cjs/player/processor/chart/seriesmark/transformSymbolVisibility.js.map +1 -1
  101. package/cjs/player/processor/chart/seriesmark/transformTextVisibility.d.ts +2 -2
  102. package/cjs/player/processor/chart/seriesmark/transformTextVisibility.js.map +1 -1
  103. package/cjs/player/processor/chart/vchart.d.ts +35 -24
  104. package/cjs/player/processor/chart/vchart.js +88 -60
  105. package/cjs/player/processor/chart/vchart.js.map +1 -1
  106. package/cjs/player/processor/common/bounce-processor.js +2 -3
  107. package/cjs/player/processor/common/bounce-processor.js.map +1 -1
  108. package/cjs/player/processor/component/common-component.js +21 -21
  109. package/cjs/player/processor/component/common-component.js.map +1 -1
  110. package/cjs/player/processor/interface/action-processor.d.ts +1 -1
  111. package/cjs/player/processor/interface/action-processor.js.map +1 -1
  112. package/cjs/player/processor/interface/common-action.d.ts +3 -2
  113. package/cjs/player/processor/interface/common-action.js.map +1 -1
  114. package/cjs/player/processor/interface/style-action.d.ts +4 -5
  115. package/cjs/player/processor/interface/style-action.js.map +1 -1
  116. package/cjs/player/processor/processor.js +1 -1
  117. package/cjs/player/processor/processor.js.map +1 -1
  118. package/cjs/player/processor/processorMap.d.ts +9 -0
  119. package/cjs/player/processor/processorMap.js +7 -1
  120. package/cjs/player/processor/processorMap.js.map +1 -1
  121. package/cjs/player/scheduler.js +12 -8
  122. package/cjs/player/scheduler.js.map +1 -1
  123. package/cjs/scene/action.js +2 -0
  124. package/cjs/story/canvas/canvas.js +3 -4
  125. package/cjs/story/canvas/canvas.js.map +1 -1
  126. package/cjs/story/character/base/base.d.ts +4 -0
  127. package/cjs/story/character/base/base.js +1 -1
  128. package/cjs/story/character/base/base.js.map +1 -1
  129. package/cjs/story/character/chart/character.d.ts +15 -0
  130. package/cjs/story/character/chart/character.js +55 -19
  131. package/cjs/story/character/chart/character.js.map +1 -1
  132. package/cjs/story/character/chart/characters/rankingBar.d.ts +4 -0
  133. package/cjs/story/character/chart/characters/rankingBar.js +23 -0
  134. package/cjs/story/character/chart/characters/rankingBar.js.map +1 -0
  135. package/cjs/story/character/chart/graphic/vchart-graphic-picker.js +6 -8
  136. package/cjs/story/character/chart/graphic/vchart-graphic-picker.js.map +1 -1
  137. package/cjs/story/character/chart/graphic/vchart-graphic-render.js +6 -6
  138. package/cjs/story/character/chart/graphic/vchart-graphic-render.js.map +1 -1
  139. package/cjs/story/character/chart/graphic/vchart-graphic.d.ts +12 -2
  140. package/cjs/story/character/chart/graphic/vchart-graphic.js +77 -13
  141. package/cjs/story/character/chart/graphic/vchart-graphic.js.map +1 -1
  142. package/cjs/story/character/chart/runtime/common-spec.d.ts +2 -4
  143. package/cjs/story/character/chart/runtime/common-spec.js +0 -2
  144. package/cjs/story/character/chart/runtime/common-spec.js.map +1 -1
  145. package/cjs/story/character/chart/runtime/component-spec.d.ts +4 -3
  146. package/cjs/story/character/chart/runtime/component-spec.js +7 -5
  147. package/cjs/story/character/chart/runtime/component-spec.js.map +1 -1
  148. package/cjs/story/character/chart/temp/constant.d.ts +1 -0
  149. package/cjs/story/character/chart/temp/constant.js +2 -1
  150. package/cjs/story/character/chart/temp/constant.js.map +1 -1
  151. package/cjs/story/character/chart/temp/templates/bar.d.ts +20 -0
  152. package/cjs/story/character/chart/temp/templates/bar.js +31 -0
  153. package/cjs/story/character/chart/temp/templates/bar.js.map +1 -0
  154. package/cjs/story/character/chart/temp/templates/base-temp.d.ts +6 -4
  155. package/cjs/story/character/chart/temp/templates/base-temp.js +1 -1
  156. package/cjs/story/character/chart/temp/templates/base-temp.js.map +1 -1
  157. package/cjs/story/character/chart/temp/templates/ranking-bar-temp.d.ts +8 -0
  158. package/cjs/story/character/chart/temp/templates/ranking-bar-temp.js +22 -0
  159. package/cjs/story/character/chart/temp/templates/ranking-bar-temp.js.map +1 -0
  160. package/cjs/story/character/component/character-group/component-group-graphic-render.d.ts +2 -2
  161. package/cjs/story/character/component/character-group/component-group-graphic-render.js +3 -3
  162. package/cjs/story/character/component/character-group/component-group-graphic-render.js.map +1 -1
  163. package/cjs/story/character/component/character-group/component-group-graphic.d.ts +1 -1
  164. package/cjs/story/character/component/character-group/component-group-graphic.js +6 -4
  165. package/cjs/story/character/component/character-group/component-group-graphic.js.map +1 -1
  166. package/cjs/story/character/component/character.d.ts +5 -1
  167. package/cjs/story/character/component/character.js +18 -1
  168. package/cjs/story/character/component/character.js.map +1 -1
  169. package/cjs/story/character/component/characters/character-image.d.ts +3 -0
  170. package/cjs/story/character/component/characters/character-image.js +4 -0
  171. package/cjs/story/character/component/characters/character-image.js.map +1 -1
  172. package/cjs/story/character/component/characters/character-rect.d.ts +3 -0
  173. package/cjs/story/character/component/characters/character-rect.js +4 -0
  174. package/cjs/story/character/component/characters/character-rect.js.map +1 -1
  175. package/cjs/story/character/component/characters/character-shape.d.ts +4 -0
  176. package/cjs/story/character/component/characters/character-shape.js +15 -0
  177. package/cjs/story/character/component/characters/character-shape.js.map +1 -1
  178. package/cjs/story/character/component/graphic/graphic-base-text.d.ts +2 -1
  179. package/cjs/story/character/component/graphic/graphic-base-text.js +7 -2
  180. package/cjs/story/character/component/graphic/graphic-base-text.js.map +1 -1
  181. package/cjs/story/character/component/graphic/symbol.d.ts +3 -0
  182. package/cjs/story/character/component/graphic/symbol.js +17 -3
  183. package/cjs/story/character/component/graphic/symbol.js.map +1 -1
  184. package/cjs/story/character/dsl-interface.d.ts +2 -0
  185. package/cjs/story/character/dsl-interface.js.map +1 -1
  186. package/cjs/story/character/runtime-interface.d.ts +9 -4
  187. package/cjs/story/character/runtime-interface.js.map +1 -1
  188. package/cjs/story/character/visactor/character.d.ts +15 -0
  189. package/cjs/story/character/visactor/character.js +17 -1
  190. package/cjs/story/character/visactor/character.js.map +1 -1
  191. package/cjs/story/character/visactor/interface.js.map +1 -1
  192. package/cjs/story/index.js +5 -2
  193. package/cjs/story/index.js.map +1 -1
  194. package/cjs/story/interface/dsl-interface.d.ts +3 -2
  195. package/cjs/story/interface/dsl-interface.js.map +1 -1
  196. package/cjs/story/interface/runtime-interface.d.ts +2 -0
  197. package/cjs/story/interface/runtime-interface.js.map +1 -1
  198. package/cjs/story/story.js +3 -2
  199. package/cjs/story/story.js.map +1 -1
  200. package/cjs/story/utils/layout.d.ts +2 -1
  201. package/cjs/story/utils/layout.js +2 -2
  202. package/cjs/story/utils/layout.js.map +1 -1
  203. package/cjs/story/utils/vchart-pick.d.ts +115 -0
  204. package/cjs/story/utils/vchart-pick.js +109 -0
  205. package/cjs/story/utils/vchart-pick.js.map +1 -0
  206. package/dist/index.js +72438 -74811
  207. package/dist/index.min.js +3 -3
  208. package/es/constants/character.d.ts +2 -1
  209. package/es/constants/character.js +1 -1
  210. package/es/constants/character.js.map +1 -1
  211. package/es/dsl/story-chart/pie.js +1 -1
  212. package/es/dsl/story-executor/index.js +2 -0
  213. package/es/dsl/story-processor/index.js +1 -1
  214. package/es/dsl/story-processor/processor.js +1 -1
  215. package/es/dsl/types/Datum.js +1 -1
  216. package/es/dsl/types/index.d.ts +1 -0
  217. package/es/dsl/types/index.js +1 -1
  218. package/es/dsl/types/index.js.map +1 -1
  219. package/es/dsl/utils/datum.js +2 -1
  220. package/es/dsl/utils/flicker.js +1 -1
  221. package/es/edit/const.d.ts +1 -3
  222. package/es/edit/const.js +1 -0
  223. package/es/edit/const.js.map +1 -1
  224. package/es/edit/edit-action.d.ts +9 -0
  225. package/es/edit/edit-action.js +63 -5
  226. package/es/edit/edit-action.js.map +1 -1
  227. package/es/edit/edit-component/base-selection.d.ts +8 -3
  228. package/es/edit/edit-component/base-selection.js +31 -3
  229. package/es/edit/edit-component/base-selection.js.map +1 -1
  230. package/es/edit/edit-component/chart-selection.d.ts +15 -0
  231. package/es/edit/edit-component/chart-selection.js +31 -0
  232. package/es/edit/edit-component/chart-selection.js.map +1 -0
  233. package/es/edit/edit-component/common.d.ts +1 -11
  234. package/es/edit/edit-component/common.js +1 -26
  235. package/es/edit/edit-component/common.js.map +1 -1
  236. package/es/edit/edit-component/edit-control/richtext-control.d.ts +19 -0
  237. package/es/edit/edit-component/edit-control/richtext-control.js +28 -0
  238. package/es/edit/edit-component/edit-control/richtext-control.js.map +1 -0
  239. package/es/edit/edit-component/edit-control/richtext-transform-control.d.ts +2 -3
  240. package/es/edit/edit-component/edit-control/richtext-transform-control.js +29 -34
  241. package/es/edit/edit-component/edit-control/richtext-transform-control.js.map +1 -1
  242. package/es/edit/edit-component/edit-control/transform-control.d.ts +4 -2
  243. package/es/edit/edit-component/edit-control/transform-control.js +10 -6
  244. package/es/edit/edit-component/edit-control/transform-control.js.map +1 -1
  245. package/es/edit/edit-component/edit-control/transform-drag.d.ts +1 -0
  246. package/es/edit/edit-component/edit-control/transform-drag.js +4 -2
  247. package/es/edit/edit-component/edit-control/transform-drag.js.map +1 -1
  248. package/es/edit/edit-component/image-selection.d.ts +1 -2
  249. package/es/edit/edit-component/image-selection.js +2 -5
  250. package/es/edit/edit-component/image-selection.js.map +1 -1
  251. package/es/edit/edit-component/index.js +8 -10
  252. package/es/edit/edit-component/index.js.map +1 -1
  253. package/es/edit/edit-component/layer-edit.js +0 -2
  254. package/es/edit/edit-component/mixin/richtext.d.ts +21 -0
  255. package/es/edit/edit-component/mixin/richtext.js +18 -0
  256. package/es/edit/edit-component/mixin/richtext.js.map +1 -0
  257. package/es/edit/edit-component/rect-selection.d.ts +8 -12
  258. package/es/edit/edit-component/rect-selection.js +14 -21
  259. package/es/edit/edit-component/rect-selection.js.map +1 -1
  260. package/es/edit/edit-component/richtext-selection-common.d.ts +19 -0
  261. package/es/edit/edit-component/richtext-selection-common.js +33 -0
  262. package/es/edit/edit-component/richtext-selection-common.js.map +1 -0
  263. package/es/edit/edit-component/richtext-selection.d.ts +0 -2
  264. package/es/edit/edit-component/richtext-selection.js +1 -7
  265. package/es/edit/edit-component/richtext-selection.js.map +1 -1
  266. package/es/edit/edit-component/shape-selection.d.ts +11 -0
  267. package/es/edit/edit-component/shape-selection.js +29 -0
  268. package/es/edit/edit-component/shape-selection.js.map +1 -0
  269. package/es/edit/edit-component/text-selection.d.ts +0 -3
  270. package/es/edit/edit-component/text-selection.js +2 -11
  271. package/es/edit/edit-component/text-selection.js.map +1 -1
  272. package/es/edit/edit.d.ts +5 -2
  273. package/es/edit/edit.js +21 -4
  274. package/es/edit/edit.js.map +1 -1
  275. package/es/edit/interface.d.ts +6 -1
  276. package/es/edit/interface.js +3 -1
  277. package/es/edit/interface.js.map +1 -1
  278. package/es/index.d.ts +3 -0
  279. package/es/index.js +7 -1
  280. package/es/index.js.map +1 -1
  281. package/es/player/encode.js +0 -2
  282. package/es/player/player.js +6 -2
  283. package/es/player/player.js.map +1 -1
  284. package/es/player/processor/chart/common/chartAppear.d.ts +2 -2
  285. package/es/player/processor/chart/common/chartAppear.js.map +1 -1
  286. package/es/player/processor/chart/common/commonAppear.d.ts +3 -3
  287. package/es/player/processor/chart/common/commonAppear.js.map +1 -1
  288. package/es/player/processor/chart/component/axisAppear.d.ts +2 -2
  289. package/es/player/processor/chart/component/axisAppear.js.map +1 -1
  290. package/es/player/processor/chart/component/commonAppear.d.ts +3 -3
  291. package/es/player/processor/chart/component/commonAppear.js.map +1 -1
  292. package/es/player/processor/chart/component/labelAppear.d.ts +2 -2
  293. package/es/player/processor/chart/component/labelAppear.js.map +1 -1
  294. package/es/player/processor/chart/rankingBar/rankingBar.d.ts +29 -0
  295. package/es/player/processor/chart/rankingBar/rankingBar.js +50 -0
  296. package/es/player/processor/chart/rankingBar/rankingBar.js.map +1 -0
  297. package/es/player/processor/chart/seriesmark/commonTransformMarkAppear.d.ts +3 -3
  298. package/es/player/processor/chart/seriesmark/commonTransformMarkAppear.js.map +1 -1
  299. package/es/player/processor/chart/seriesmark/transformArcVisibility.d.ts +2 -2
  300. package/es/player/processor/chart/seriesmark/transformArcVisibility.js.map +1 -1
  301. package/es/player/processor/chart/seriesmark/transformLineVisibility.d.ts +2 -2
  302. package/es/player/processor/chart/seriesmark/transformLineVisibility.js.map +1 -1
  303. package/es/player/processor/chart/seriesmark/transformRectVisibility.d.ts +2 -2
  304. package/es/player/processor/chart/seriesmark/transformRectVisibility.js.map +1 -1
  305. package/es/player/processor/chart/seriesmark/transformSymbolVisibility.d.ts +2 -2
  306. package/es/player/processor/chart/seriesmark/transformSymbolVisibility.js.map +1 -1
  307. package/es/player/processor/chart/seriesmark/transformTextVisibility.d.ts +2 -2
  308. package/es/player/processor/chart/seriesmark/transformTextVisibility.js.map +1 -1
  309. package/es/player/processor/chart/vchart.d.ts +35 -24
  310. package/es/player/processor/chart/vchart.js +89 -61
  311. package/es/player/processor/chart/vchart.js.map +1 -1
  312. package/es/player/processor/common/bounce-processor.js +2 -3
  313. package/es/player/processor/common/bounce-processor.js.map +1 -1
  314. package/es/player/processor/component/common-component.js +21 -21
  315. package/es/player/processor/component/common-component.js.map +1 -1
  316. package/es/player/processor/interface/action-processor.d.ts +1 -1
  317. package/es/player/processor/interface/action-processor.js.map +1 -1
  318. package/es/player/processor/interface/common-action.d.ts +3 -2
  319. package/es/player/processor/interface/common-action.js.map +1 -1
  320. package/es/player/processor/interface/style-action.d.ts +4 -5
  321. package/es/player/processor/interface/style-action.js.map +1 -1
  322. package/es/player/processor/processor.js +1 -1
  323. package/es/player/processor/processor.js.map +1 -1
  324. package/es/player/processor/processorMap.d.ts +9 -0
  325. package/es/player/processor/processorMap.js +8 -0
  326. package/es/player/processor/processorMap.js.map +1 -1
  327. package/es/player/scheduler.js +12 -8
  328. package/es/player/scheduler.js.map +1 -1
  329. package/es/scene/action.js +2 -0
  330. package/es/story/canvas/canvas.js +3 -4
  331. package/es/story/canvas/canvas.js.map +1 -1
  332. package/es/story/character/base/base.d.ts +4 -0
  333. package/es/story/character/base/base.js +1 -1
  334. package/es/story/character/base/base.js.map +1 -1
  335. package/es/story/character/chart/character.d.ts +15 -0
  336. package/es/story/character/chart/character.js +58 -15
  337. package/es/story/character/chart/character.js.map +1 -1
  338. package/es/story/character/chart/characters/rankingBar.d.ts +4 -0
  339. package/es/story/character/chart/characters/rankingBar.js +18 -0
  340. package/es/story/character/chart/characters/rankingBar.js.map +1 -0
  341. package/es/story/character/chart/graphic/vchart-graphic-picker.js +6 -8
  342. package/es/story/character/chart/graphic/vchart-graphic-picker.js.map +1 -1
  343. package/es/story/character/chart/graphic/vchart-graphic-render.js +7 -7
  344. package/es/story/character/chart/graphic/vchart-graphic-render.js.map +1 -1
  345. package/es/story/character/chart/graphic/vchart-graphic.d.ts +12 -2
  346. package/es/story/character/chart/graphic/vchart-graphic.js +80 -12
  347. package/es/story/character/chart/graphic/vchart-graphic.js.map +1 -1
  348. package/es/story/character/chart/runtime/common-spec.d.ts +2 -4
  349. package/es/story/character/chart/runtime/common-spec.js +0 -2
  350. package/es/story/character/chart/runtime/common-spec.js.map +1 -1
  351. package/es/story/character/chart/runtime/component-spec.d.ts +4 -3
  352. package/es/story/character/chart/runtime/component-spec.js +7 -5
  353. package/es/story/character/chart/runtime/component-spec.js.map +1 -1
  354. package/es/story/character/chart/temp/constant.d.ts +1 -0
  355. package/es/story/character/chart/temp/constant.js +2 -1
  356. package/es/story/character/chart/temp/constant.js.map +1 -1
  357. package/es/story/character/chart/temp/templates/bar.d.ts +20 -0
  358. package/es/story/character/chart/temp/templates/bar.js +27 -0
  359. package/es/story/character/chart/temp/templates/bar.js.map +1 -0
  360. package/es/story/character/chart/temp/templates/base-temp.d.ts +6 -4
  361. package/es/story/character/chart/temp/templates/base-temp.js +1 -1
  362. package/es/story/character/chart/temp/templates/base-temp.js.map +1 -1
  363. package/es/story/character/chart/temp/templates/ranking-bar-temp.d.ts +8 -0
  364. package/es/story/character/chart/temp/templates/ranking-bar-temp.js +18 -0
  365. package/es/story/character/chart/temp/templates/ranking-bar-temp.js.map +1 -0
  366. package/es/story/character/component/character-group/component-group-graphic-render.d.ts +2 -2
  367. package/es/story/character/component/character-group/component-group-graphic-render.js +4 -4
  368. package/es/story/character/component/character-group/component-group-graphic-render.js.map +1 -1
  369. package/es/story/character/component/character-group/component-group-graphic.d.ts +1 -1
  370. package/es/story/character/component/character-group/component-group-graphic.js +5 -3
  371. package/es/story/character/component/character-group/component-group-graphic.js.map +1 -1
  372. package/es/story/character/component/character.d.ts +5 -1
  373. package/es/story/character/component/character.js +18 -1
  374. package/es/story/character/component/character.js.map +1 -1
  375. package/es/story/character/component/characters/character-image.d.ts +3 -0
  376. package/es/story/character/component/characters/character-image.js +4 -0
  377. package/es/story/character/component/characters/character-image.js.map +1 -1
  378. package/es/story/character/component/characters/character-rect.d.ts +3 -0
  379. package/es/story/character/component/characters/character-rect.js +4 -0
  380. package/es/story/character/component/characters/character-rect.js.map +1 -1
  381. package/es/story/character/component/characters/character-shape.d.ts +4 -0
  382. package/es/story/character/component/characters/character-shape.js +15 -0
  383. package/es/story/character/component/characters/character-shape.js.map +1 -1
  384. package/es/story/character/component/graphic/graphic-base-text.d.ts +2 -1
  385. package/es/story/character/component/graphic/graphic-base-text.js +7 -2
  386. package/es/story/character/component/graphic/graphic-base-text.js.map +1 -1
  387. package/es/story/character/component/graphic/symbol.d.ts +3 -0
  388. package/es/story/character/component/graphic/symbol.js +17 -2
  389. package/es/story/character/component/graphic/symbol.js.map +1 -1
  390. package/es/story/character/dsl-interface.d.ts +2 -0
  391. package/es/story/character/dsl-interface.js.map +1 -1
  392. package/es/story/character/runtime-interface.d.ts +9 -4
  393. package/es/story/character/runtime-interface.js.map +1 -1
  394. package/es/story/character/visactor/character.d.ts +15 -0
  395. package/es/story/character/visactor/character.js +18 -0
  396. package/es/story/character/visactor/character.js.map +1 -1
  397. package/es/story/character/visactor/interface.js.map +1 -1
  398. package/es/story/index.js +7 -3
  399. package/es/story/index.js.map +1 -1
  400. package/es/story/interface/dsl-interface.d.ts +3 -2
  401. package/es/story/interface/dsl-interface.js.map +1 -1
  402. package/es/story/interface/runtime-interface.d.ts +2 -0
  403. package/es/story/interface/runtime-interface.js.map +1 -1
  404. package/es/story/story.js +3 -2
  405. package/es/story/story.js.map +1 -1
  406. package/es/story/utils/layout.d.ts +2 -1
  407. package/es/story/utils/layout.js +2 -2
  408. package/es/story/utils/layout.js.map +1 -1
  409. package/es/story/utils/vchart-pick.d.ts +115 -0
  410. package/es/story/utils/vchart-pick.js +115 -0
  411. package/es/story/utils/vchart-pick.js.map +1 -0
  412. package/package.json +8 -7
@@ -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"]}
@@ -15,7 +15,7 @@ export class ActionProcessor {
15
15
  if (!character) return logger("error", `获取character失败,请检查 ${characterId} 是否绑定到一个合法的character`),
16
16
  null;
17
17
  const processor = this.getProcessor(character.spec.type, action.action);
18
- return processor ? processor.getStartTimeAndDuration(action) : (logger("error", `获取processor失败,请检查 ${character.spec.type} 是否支持 ${action.action}`),
18
+ return processor ? processor.getStartTimeAndDuration(action, character) : (logger("error", `获取processor失败,请检查 ${character.spec.type} 是否支持 ${action.action}`),
19
19
  null);
20
20
  }
21
21
  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
  };
@@ -18,6 +18,8 @@ import { TimelineStateActionProcessor, TimelineVisibilityActionProcessor } from
18
18
 
19
19
  import { CommonBounceActionProcessor, CommonMoveToActionProcessor, CommonScaleToActionProcessor, CommonStyleActionProcessor } from "./component/common-component";
20
20
 
21
+ import { RankingBarPlayActionProcessor } from "./chart/rankingBar/rankingBar";
22
+
21
23
  export const processorChartMap = {
22
24
  VChart: {
23
25
  [ACTION_TYPE.APPEAR]: new VChartVisibilityActionProcessor,
@@ -25,6 +27,12 @@ export const processorChartMap = {
25
27
  [ACTION_TYPE.BOUNCE]: new CommonBounceActionProcessor,
26
28
  [VCHART_ACTION_TYPE.UPDATE]: new VChartUpdateActionProcessor,
27
29
  [VCHART_ACTION_TYPE.ADD]: new VChartAddActionProcessor
30
+ },
31
+ RankingBar: {
32
+ [ACTION_TYPE.APPEAR]: new VChartVisibilityActionProcessor,
33
+ [ACTION_TYPE.DISAPPEAR]: new VChartVisibilityActionProcessor,
34
+ [ACTION_TYPE.BOUNCE]: new CommonBounceActionProcessor,
35
+ play: new RankingBarPlayActionProcessor
28
36
  }
29
37
  };
30
38
 
@@ -1 +1 @@
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';\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":"AAAA,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AACzE,OAAO,EAAkB,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/E,OAAO,EAAE,8BAA8B,EAAE,MAAM,oCAAoC,CAAC;AACpF,OAAO,EAAE,wBAAwB,EAAE,2BAA2B,EAAE,+BAA+B,EAAE,MAAM,gBAAgB,CAAC;AACxH,OAAO,EAAE,6BAA6B,EAAE,MAAM,kCAAkC,CAAC;AACjF,OAAO,EAAE,6BAA6B,EAAE,MAAM,kCAAkC,CAAC;AACjF,OAAO,EAAE,8BAA8B,EAAE,MAAM,oCAAoC,CAAC;AACpF,OAAO,EAAE,6BAA6B,EAAE,MAAM,kCAAkC,CAAC;AACjF,OAAO,EACL,4BAA4B,EAC5B,iCAAiC,EAClC,MAAM,0CAA0C,CAAC;AAClD,OAAO,EACL,2BAA2B,EAC3B,2BAA2B,EAC3B,4BAA4B,EAC5B,0BAA0B,EAC3B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,6BAA6B,EAAE,MAAM,+BAA+B,CAAC;AAE9E,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,UAAuB,EAAE;QACvB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,IAAI,+BAA+B,EAAE;QAC3D,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,IAAI,+BAA+B,EAAE;QAC9D,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,IAAI,2BAA2B,EAAE;QACvD,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE,IAAI,2BAA2B,EAAE;QAC9D,CAAC,kBAAkB,CAAC,GAAG,CAAC,EAAE,IAAI,wBAAwB,EAAE;KACzD;IACD,cAA2B,EAAE;QAC3B,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,IAAI,+BAA+B,EAAE;QAC3D,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,IAAI,+BAA+B,EAAE;QAC9D,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,IAAI,2BAA2B,EAAE;QACvD,IAAI,EAAE,IAAI,6BAA6B,EAAE;KAC1C;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE;QACzB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,IAAI,6BAA6B,EAAE;QACzD,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,IAAI,6BAA6B,EAAE;QAC5D,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,IAAI,0BAA0B,EAAE;QACrD,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,IAAI,2BAA2B,EAAE;QACvD,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,IAAI,4BAA4B,EAAE;QACzD,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,IAAI,2BAA2B,EAAE;KACxD;IACD,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE;QACzB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,IAAI,6BAA6B,EAAE;QACzD,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,IAAI,6BAA6B,EAAE;QAC5D,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,IAAI,0BAA0B,EAAE;QACrD,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,IAAI,2BAA2B,EAAE;QACvD,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,IAAI,4BAA4B,EAAE;QACzD,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,IAAI,2BAA2B,EAAE;KACxD;IACD,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE;QAC1B,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,IAAI,8BAA8B,EAAE;QAC1D,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,IAAI,8BAA8B,EAAE;QAC7D,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,IAAI,0BAA0B,EAAE;QACrD,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,IAAI,2BAA2B,EAAE;QACvD,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,IAAI,4BAA4B,EAAE;QACzD,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,IAAI,2BAA2B,EAAE;KACxD;IACD,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE;QAC1B,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,IAAI,8BAA8B,EAAE;QAC1D,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,IAAI,8BAA8B,EAAE;QAC7D,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,IAAI,0BAA0B,EAAE;QACrD,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,IAAI,2BAA2B,EAAE;QACvD,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,IAAI,4BAA4B,EAAE;QACzD,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,IAAI,2BAA2B,EAAE;KACxD;IACD,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE;QACzB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,IAAI,6BAA6B,EAAE;QACzD,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,IAAI,6BAA6B,EAAE;QAC5D,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,IAAI,0BAA0B,EAAE;QACrD,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,IAAI,2BAA2B,EAAE;QACvD,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,IAAI,4BAA4B,EAAE;QACzD,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,IAAI,2BAA2B,EAAE;KACxD;IACD,CAAC,kBAAkB,CAAC,QAAQ,CAAC,EAAE;QAC7B,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,IAAI,iCAAiC,EAAE;QAC7D,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,IAAI,iCAAiC,EAAE;QAChE,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,IAAI,0BAA0B,EAAE;QACrD,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,IAAI,2BAA2B,EAAE;QACvD,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,IAAI,4BAA4B,EAAE;QACzD,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,IAAI,4BAA4B,EAAE;QACvD,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,IAAI,2BAA2B,EAAE;KACxD;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,mCACpB,iBAAiB,GACjB,qBAAqB,CACzB,CAAC","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"]}
@@ -1,3 +1,5 @@
1
+ import { isString } from "@visactor/vutils";
2
+
1
3
  class ActionItem {
2
4
  constructor(st, d, as, ci) {
3
5
  this.startTime = st, this.duration = d, this.actionSpec = as, this.characterId = ci;
@@ -39,7 +41,7 @@ export class Scheduler {
39
41
  return toAct.sceneInfoList.forEach((sceneInfo => {
40
42
  const {startTime: sceneStartTime} = sceneInfo;
41
43
  sceneInfo.actionList.forEach((actionInfo => {
42
- sceneStartTime + actionInfo.startTime < formatToTime && (this._runnedAct.has(actionInfo) || (this._runnedAct.add(actionInfo),
44
+ sceneStartTime + actionInfo.startTime <= formatToTime && (this._runnedAct.has(actionInfo) || (this._runnedAct.add(actionInfo),
43
45
  actions.push(actionInfo)));
44
46
  }));
45
47
  })), actions;
@@ -71,17 +73,19 @@ export class Scheduler {
71
73
  scene.actions.forEach(((action, actIdx) => {
72
74
  let character_st = 1 / 0, character_et = -1 / 0;
73
75
  action.characterActions.forEach((ca => {
74
- const info = this._actionProcessor.getActInfo(action.characterId, ca);
75
- if (!info) return;
76
- const item = new ActionItem(info.startTime, info.duration, ca, action.characterId);
77
- character_st = Math.max(Math.min(item.startTime, character_st), 0), character_et = Math.max(item.startTime + item.duration, character_et),
78
- actionList.push(item);
76
+ (isString(action.characterId) ? [ action.characterId ] : action.characterId).forEach((characterId => {
77
+ const info = this._actionProcessor.getActInfo(characterId, ca);
78
+ if (!info) return;
79
+ const item = new ActionItem(info.startTime, info.duration, ca, characterId);
80
+ character_st = Math.max(Math.min(item.startTime, character_st), 0), character_et = Math.max(item.startTime + item.duration, character_et),
81
+ actionList.push(item);
82
+ }));
79
83
  })), scene_st = actIdx ? Math.max(Math.min(character_st, scene_st), 0) : character_st,
80
84
  scene_et = actIdx ? Math.max(character_et, scene_et) : character_et;
81
85
  }));
82
86
  return {
83
- startTime: sceneStartTime + scene_st,
84
- duration: scene_et - scene_st,
87
+ startTime: sceneStartTime,
88
+ duration: scene_et,
85
89
  id: scene.id,
86
90
  actionList: actionList
87
91
  };
@@ -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=action.js.map
@@ -28,17 +28,16 @@ export class StoryCanvas {
28
28
  width: this._canvas.clientWidth,
29
29
  height: this._canvas.clientHeight,
30
30
  canvasControled: !0,
31
- autoRender: !1,
31
+ autoRender: !0,
32
32
  disableDirtyBounds: !0,
33
33
  ticker: new ManualTicker([]),
34
+ pluginList: [ "RichTextEditPlugin" ],
34
35
  dpr: window.devicePixelRatio,
35
36
  event: {
36
37
  clickInterval: 300
37
38
  }
38
39
  });
39
- this._stage = stage, stage.on("*", ((e, type) => {
40
- "click" === type && console.log("canvas", e);
41
- }));
40
+ this._stage = stage;
42
41
  }
43
42
  getEventDetail(event) {
44
43
  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;
@@ -11,7 +11,7 @@ export class CharacterBase {
11
11
  return this._option;
12
12
  }
13
13
  constructor(spec, option) {
14
- this.id = spec.id, this._spec = spec, this._option = option;
14
+ this.type = spec.type, this.id = spec.id, this._spec = spec, this._option = option;
15
15
  }
16
16
  updateSpec(spec) {
17
17
  var _a;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/story/character/base/base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAOlD,MAAM,OAAgB,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,OAAO,CAAC,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,KAAK,CAAC,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","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,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAOlD,MAAM,OAAgB,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,OAAO,CAAC,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,KAAK,CAAC,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","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
  }
@@ -2,14 +2,12 @@ import { CommonSpecRuntime } from "./runtime/common-spec";
2
2
 
3
3
  import { ComponentSpecRuntime } from "./runtime/component-spec";
4
4
 
5
- import { cloneDeep } from "@visactor/vutils";
5
+ import { cloneDeep, merge } from "@visactor/vutils";
6
6
 
7
- import VChart from "@visactor/vchart";
7
+ import { VChart } from "@visactor/vchart";
8
8
 
9
9
  import { Chart } from "./graphic/vchart-graphic";
10
10
 
11
- import { getLayoutFromWidget } from "../../utils/layout";
12
-
13
11
  import { CharacterVisactor } from "../visactor/character";
14
12
 
15
13
  import { SpecProcess } from "./spec-process/spec-process";
@@ -18,7 +16,14 @@ import { ChartDataTempTransform } from "./spec-process/data-temp-transform";
18
16
 
19
17
  import { SeriesSpecRuntime } from "./runtime/series-spec";
20
18
 
19
+ import { getLayoutFromWidget } from "../../utils/layout";
20
+
21
+ import { getChartModelWithEvent } from "../../utils/vchart-pick";
22
+
21
23
  export class CharacterChart extends CharacterVisactor {
24
+ constructor() {
25
+ super(...arguments), this.visActorType = "chart";
26
+ }
22
27
  get spec() {
23
28
  return this._spec;
24
29
  }
@@ -34,14 +39,9 @@ export class CharacterChart extends CharacterVisactor {
34
39
  this._specProcess.updateConfig(this._spec);
35
40
  }
36
41
  _initGraphics() {
37
- var _a;
38
- const layout = getLayoutFromWidget(this._spec.position), viewBox = {
39
- x1: layout.x,
40
- x2: layout.x + layout.width,
41
- y1: layout.y,
42
- y2: layout.y + layout.height
43
- }, spec = cloneDeep(this._specProcess.getVisSpec());
44
- spec.width = layout.width, spec.height = layout.height, this._graphic = new Chart(Object.assign(Object.assign({
42
+ var _a, _b;
43
+ const {spec: spec, viewBox: viewBox} = this._getChartOption();
44
+ this._graphic = new Chart(Object.assign(Object.assign({
45
45
  renderCanvas: this._option.canvas.getCanvas(),
46
46
  spec: spec,
47
47
  ClassType: VChart,
@@ -56,7 +56,7 @@ export class CharacterChart extends CharacterVisactor {
56
56
  ticker: this._option.canvas.getStage().ticker,
57
57
  visibleAll: !1
58
58
  }, null !== (_a = this._spec.options.panel) && void 0 !== _a ? _a : {}), {
59
- chartInitOptions: {
59
+ chartInitOptions: merge({
60
60
  animation: !0,
61
61
  disableTriggerEvent: !0,
62
62
  performanceHook: {
@@ -76,9 +76,32 @@ export class CharacterChart extends CharacterVisactor {
76
76
  }));
77
77
  }
78
78
  }
79
- }
79
+ }, null !== (_b = this._spec.options.initOption) && void 0 !== _b ? _b : {})
80
80
  })), this.option.graphicParent.add(this._graphic);
81
81
  }
82
+ setAttributes(attr) {
83
+ attr.position && (this._spec.position = attr.position, this._graphic.updateViewBox(this.getViewBoxFromSpec().viewBox));
84
+ }
85
+ getViewBoxFromSpec() {
86
+ const layout = getLayoutFromWidget(this._spec.position);
87
+ return {
88
+ layout: layout,
89
+ viewBox: {
90
+ x1: layout.x,
91
+ x2: layout.x + layout.width,
92
+ y1: layout.y,
93
+ y2: layout.y + layout.height
94
+ }
95
+ };
96
+ }
97
+ _getChartOption() {
98
+ var _a;
99
+ const {layout: layout, viewBox: viewBox} = this.getViewBoxFromSpec(), spec = cloneDeep(null !== (_a = this._specProcess.getVisSpec()) && void 0 !== _a ? _a : this._spec.options.spec);
100
+ return spec.width = layout.width, spec.height = layout.height, {
101
+ viewBox: viewBox,
102
+ spec: spec
103
+ };
104
+ }
82
105
  _afterRender() {}
83
106
  _updateVisactorSpec() {
84
107
  var _a;
@@ -91,11 +114,31 @@ export class CharacterChart extends CharacterVisactor {
91
114
  this._ticker.tickAt(t);
92
115
  }
93
116
  checkEvent(event) {
94
- return !1;
117
+ var _a;
118
+ if (!(null !== (_a = event.detailPath) && void 0 !== _a ? _a : event.path).some((g => g === this._graphic))) return !1;
119
+ const chartPath = event.detailPath[event.detailPath.length - 1], result = getChartModelWithEvent(this._graphic.vProduct, event);
120
+ if (!result) return !!this._graphic.pointInViewBox(event.canvasX, event.canvasY) && {
121
+ part: "null",
122
+ graphic: null,
123
+ modelInfo: null,
124
+ graphicType: "null"
125
+ };
126
+ const graphic = null == chartPath ? void 0 : chartPath[chartPath.length - 1];
127
+ return {
128
+ part: result.type,
129
+ modelInfo: result,
130
+ graphic: graphic,
131
+ graphicType: graphic.type
132
+ };
95
133
  }
96
134
  release() {
97
135
  this.option.graphicParent.removeChild(this._graphic), this._graphic.release && this._graphic.release();
98
136
  }
137
+ _reflow() {
138
+ if (!this._graphic) return void this._initGraphics();
139
+ const {spec: spec} = this._getChartOption();
140
+ this._graphic.updateSpec(spec);
141
+ }
99
142
  }
100
143
 
101
144
  CharacterChart.type = "CharacterChart", CharacterChart.RunTime = [ ComponentSpecRuntime, CommonSpecRuntime, SeriesSpecRuntime ];
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/story/character/chart/character.ts"],"names":[],"mappings":"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","file":"character.js","sourcesContent":["import { CommonSpecRuntime } from './runtime/common-spec';\nimport { ComponentSpecRuntime } from './runtime/component-spec';\nimport type { IChartCharacterRuntimeConstructor } from './runtime/interface';\nimport { cloneDeep } from '@visactor/vutils';\nimport VChart from '@visactor/vchart';\nimport type { IChartCharacterSpec } from '../dsl-interface';\nimport { Chart } from './graphic/vchart-graphic';\nimport { getLayoutFromWidget } from '../../utils/layout';\nimport { CharacterVisactor } from '../visactor/character';\nimport { SpecProcess } from './spec-process/spec-process';\nimport { ChartDataTempTransform } from './spec-process/data-temp-transform';\nimport type { ITicker } from '@visactor/vrender';\nimport type { IChartTemp } from './temp/interface';\nimport { SeriesSpecRuntime } from './runtime/series-spec';\nimport type { StoryEvent } from '../../interface/runtime-interface';\nimport type { ICharacterPickInfo } from '../runtime-interface';\n\nexport class CharacterChart extends CharacterVisactor {\n static type = 'CharacterChart';\n static RunTime: IChartCharacterRuntimeConstructor[] = [\n ComponentSpecRuntime as unknown as IChartCharacterRuntimeConstructor,\n CommonSpecRuntime as unknown as IChartCharacterRuntimeConstructor,\n SeriesSpecRuntime as unknown as IChartCharacterRuntimeConstructor\n ];\n\n protected declare _specProcess: SpecProcess;\n protected _ticker: ITicker;\n\n protected declare _spec: IChartCharacterSpec;\n get spec() {\n return this._spec;\n }\n\n protected _initSpecProcess(): void {\n this._specProcess = new SpecProcess(this as any, ChartDataTempTransform, this.onSpecReady);\n }\n\n protected _initRuntime(): void {\n CharacterChart.RunTime.forEach(R => {\n this._runtime.push(new R(this));\n });\n }\n\n protected _parserSpec(): void {\n this._specProcess.updateConfig(this._spec);\n }\n protected _initGraphics(): void {\n // this._ticker = new ManualTicker([]);\n const layout = getLayoutFromWidget(this._spec.position);\n const viewBox = {\n x1: layout.x,\n x2: layout.x + layout.width,\n y1: layout.y,\n y2: layout.y + layout.height\n };\n const spec = cloneDeep(this._specProcess.getVisSpec());\n spec.width = layout.width;\n spec.height = layout.height;\n // @ts-ignore\n this._graphic = new Chart({\n renderCanvas: this._option.canvas.getCanvas(),\n spec: spec,\n ClassType: VChart,\n vchart: null,\n zIndex: this._spec.zIndex,\n mode: 'desktop-browser',\n dpr: window.devicePixelRatio,\n interactive: false,\n autoRender: false,\n disableDirtyBounds: true,\n viewBox,\n ticker: this._option.canvas.getStage().ticker,\n visibleAll: false,\n ...(this._spec.options.panel ?? {}),\n chartInitOptions: {\n animation: true,\n disableTriggerEvent: true,\n performanceHook: {\n afterInitializeChart: () => {\n (<IChartTemp>this.specProcess.dataTempTransform?.specTemp)?.afterInitializeChart({ character: this });\n this._runtime.forEach(r => r.afterInitializeChart?.());\n },\n afterVRenderDraw: () => {\n this._runtime.forEach(r => r.afterVRenderDraw?.());\n }\n }\n }\n });\n this.option.graphicParent.add(this._graphic as any);\n }\n\n protected _afterRender(): void {\n // console.log('afterRender');\n return;\n }\n protected _updateVisactorSpec(): void {\n // console.log('_updateVisactorSpec', this._specProcess.getVisSpec());\n this._graphic?.updateSpec(this._specProcess.getVisSpec());\n }\n\n clearCharacter(): void {\n this._graphic.vProduct.release();\n this._graphic.parent.removeChild(this._graphic);\n }\n\n tickTo(t: number): void {\n this._ticker.tickAt(t);\n }\n\n checkEvent(event: StoryEvent): false | ICharacterPickInfo {\n return false;\n }\n\n release(): void {\n this.option.graphicParent.removeChild(this._graphic as any);\n this._graphic.release && this._graphic.release();\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/story/character/chart/character.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAEhE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE1C,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAG5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAG1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAEjE,MAAM,OAAO,cAAe,SAAQ,iBAAiB;IAArD;;QAQW,iBAAY,GAAG,OAAO,CAAC;IAsJlC,CAAC;IA9IC,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAES,gBAAgB;QACxB,IAAI,CAAC,YAAY,GAAG,IAAI,WAAW,CAAC,IAAW,EAAE,sBAAsB,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IAC7F,CAAC;IAES,YAAY;QACpB,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YACjC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;IACL,CAAC;IAES,WAAW;QACnB,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC7C,CAAC;IACS,aAAa;;QACrB,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QAEjD,IAAI,CAAC,QAAQ,GAAG,IAAI,KAAK,+BACvB,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,EAC7C,IAAI,EACJ,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,IAAI,EACZ,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,EACzB,IAAI,EAAE,iBAAiB,EACvB,GAAG,EAAE,MAAM,CAAC,gBAAgB,EAC5B,WAAW,EAAE,KAAK,EAClB,UAAU,EAAE,KAAK,EACjB,kBAAkB,EAAE,IAAI,EACxB,OAAO,EACP,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,MAAM,EAC7C,UAAU,EAAE,KAAK,IACd,CAAC,MAAA,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,mCAAI,EAAE,CAAC,KACnC,gBAAgB,EAAE,KAAK,CACrB;gBACE,SAAS,EAAE,IAAI;gBACf,mBAAmB,EAAE,IAAI;gBACzB,eAAe,EAAE;oBACf,oBAAoB,EAAE,GAAG,EAAE;;wBACzB,MAAa,MAAA,IAAI,CAAC,WAAW,CAAC,iBAAiB,0CAAE,QAAS,0CAAE,oBAAoB,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;wBACtG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,WAAC,OAAA,MAAA,CAAC,CAAC,oBAAoB,iDAAI,CAAA,EAAA,CAAC,CAAC;oBACzD,CAAC;oBACD,gBAAgB,EAAE,GAAG,EAAE;wBACrB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,WAAC,OAAA,MAAA,CAAC,CAAC,gBAAgB,iDAAI,CAAA,EAAA,CAAC,CAAC;oBACrD,CAAC;iBACF;aACF,EACD,MAAA,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,mCAAI,EAAE,CACpC,IACD,CAAC;QACH,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,QAAe,CAAC,CAAC;IACtD,CAAC;IAED,aAAa,CAAC,IAAyB;QAErC,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;YAEpC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,OAAO,CAAC,CAAC;SAChE;IACH,CAAC;IACD,kBAAkB;QAChB,MAAM,MAAM,GAAG,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACxD,MAAM,OAAO,GAAG;YACd,EAAE,EAAE,MAAM,CAAC,CAAC;YACZ,EAAE,EAAE,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK;YAC3B,EAAE,EAAE,MAAM,CAAC,CAAC;YACZ,EAAE,EAAE,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM;SAC7B,CAAC;QACF,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;IAC7B,CAAC;IAEO,eAAe;;QACrB,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACtD,MAAM,IAAI,GAAG,SAAS,CAAC,MAAA,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,mCAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAClF,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QAC1B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAC5B,OAAO;YACL,OAAO;YACP,IAAI;SACL,CAAC;IACJ,CAAC;IAES,YAAY;QAEpB,OAAO;IACT,CAAC;IACS,mBAAmB;;QAC3B,MAAA,IAAI,CAAC,QAAQ,0CAAE,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC,CAAC;IAC5D,CAAC;IAED,cAAc;QACZ,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;QACjC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAClD,CAAC;IAED,MAAM,CAAC,CAAS;QACd,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACzB,CAAC;IAED,UAAU,CAAC,KAAiB;;QAC1B,IAAI,CAAC,CAAC,MAAA,KAAK,CAAC,UAAU,mCAAI,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,QAAQ,CAAC,EAAE;YACpE,OAAO,KAAK,CAAC;SACd;QACD,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAChE,MAAM,MAAM,GAAG,sBAAsB,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QACrE,IAAI,CAAC,MAAM,EAAE;YAEX,IAAI,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAE,KAAa,CAAC,OAAO,EAAG,KAAa,CAAC,OAAO,CAAC,EAAE;gBAChF,OAAO;oBACL,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE,IAAI;oBACb,SAAS,EAAE,IAAI;oBACf,WAAW,EAAE,MAAM;iBACpB,CAAC;aACH;YACD,OAAO,KAAK,CAAC;SACd;QACD,MAAM,OAAO,GAAG,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAG,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAClD,OAAO;YACL,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,SAAS,EAAE,MAAM;YACjB,OAAO;YACP,WAAW,EAAE,OAAO,CAAC,IAAI;SAC1B,CAAC;IACJ,CAAC;IAED,OAAO;QACL,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,QAAe,CAAC,CAAC;QAC5D,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;IACnD,CAAC;IAEO,OAAO;QACb,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAClB,IAAI,CAAC,aAAa,EAAE,CAAC;YACrB,OAAO;SACR;QACD,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QACxC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;;AA5JM,mBAAI,GAAG,gBAAgB,CAAC;AACxB,sBAAO,GAAwC;IACpD,oBAAoE;IACpE,iBAAiE;IACjE,iBAAiE;CAClE,CAAC","file":"character.js","sourcesContent":["import { CommonSpecRuntime } from './runtime/common-spec';\nimport { ComponentSpecRuntime } from './runtime/component-spec';\nimport type { IChartCharacterRuntimeConstructor } from './runtime/interface';\nimport { cloneDeep, merge } from '@visactor/vutils';\nimport { VChart } from '@visactor/vchart';\nimport type { IChartCharacterSpec } from '../dsl-interface';\nimport { Chart } from './graphic/vchart-graphic';\nimport { CharacterVisactor } from '../visactor/character';\nimport { SpecProcess } from './spec-process/spec-process';\nimport { ChartDataTempTransform } from './spec-process/data-temp-transform';\nimport type { ITicker } from '@visactor/vrender';\nimport type { IChartTemp } from './temp/interface';\nimport { SeriesSpecRuntime } from './runtime/series-spec';\nimport type { StoryEvent } from '../../interface/runtime-interface';\nimport type { ICharacterPickInfo } from '../runtime-interface';\nimport { getLayoutFromWidget } from '../../utils/layout';\nimport { getChartModelWithEvent } from '../../utils/vchart-pick';\n\nexport class CharacterChart extends CharacterVisactor {\n static type = 'CharacterChart';\n static RunTime: IChartCharacterRuntimeConstructor[] = [\n ComponentSpecRuntime as unknown as IChartCharacterRuntimeConstructor,\n CommonSpecRuntime as unknown as IChartCharacterRuntimeConstructor,\n SeriesSpecRuntime as unknown as IChartCharacterRuntimeConstructor\n ];\n\n readonly visActorType = 'chart';\n\n protected declare _specProcess: SpecProcess;\n protected _ticker: ITicker;\n\n declare _graphic: Chart;\n\n protected declare _spec: IChartCharacterSpec;\n get spec() {\n return this._spec;\n }\n\n protected _initSpecProcess(): void {\n this._specProcess = new SpecProcess(this as any, ChartDataTempTransform, this.onSpecReady);\n }\n\n protected _initRuntime(): void {\n CharacterChart.RunTime.forEach(R => {\n this._runtime.push(new R(this));\n });\n }\n\n protected _parserSpec(): void {\n this._specProcess.updateConfig(this._spec);\n }\n protected _initGraphics(): void {\n const { spec, viewBox } = this._getChartOption();\n // @ts-ignore\n this._graphic = new Chart({\n renderCanvas: this._option.canvas.getCanvas(),\n spec,\n ClassType: VChart,\n vchart: null,\n zIndex: this._spec.zIndex,\n mode: 'desktop-browser',\n dpr: window.devicePixelRatio,\n interactive: false,\n autoRender: false,\n disableDirtyBounds: true,\n viewBox,\n ticker: this._option.canvas.getStage().ticker,\n visibleAll: false,\n ...(this._spec.options.panel ?? {}),\n chartInitOptions: merge(\n {\n animation: true,\n disableTriggerEvent: true,\n performanceHook: {\n afterInitializeChart: () => {\n (<IChartTemp>this.specProcess.dataTempTransform?.specTemp)?.afterInitializeChart({ character: this });\n this._runtime.forEach(r => r.afterInitializeChart?.());\n },\n afterVRenderDraw: () => {\n this._runtime.forEach(r => r.afterVRenderDraw?.());\n }\n }\n },\n this._spec.options.initOption ?? {}\n )\n });\n this.option.graphicParent.add(this._graphic as any);\n }\n\n setAttributes(attr: Record<string, any>): void {\n // character 的属性\n if (attr.position) {\n this._spec.position = attr.position;\n // 位置属性\n this._graphic.updateViewBox(this.getViewBoxFromSpec().viewBox);\n }\n }\n getViewBoxFromSpec() {\n const layout = getLayoutFromWidget(this._spec.position);\n const viewBox = {\n x1: layout.x,\n x2: layout.x + layout.width,\n y1: layout.y,\n y2: layout.y + layout.height\n };\n return { layout, viewBox };\n }\n\n private _getChartOption() {\n const { layout, viewBox } = this.getViewBoxFromSpec();\n const spec = cloneDeep(this._specProcess.getVisSpec() ?? this._spec.options.spec);\n spec.width = layout.width;\n spec.height = layout.height;\n return {\n viewBox,\n spec\n };\n }\n\n protected _afterRender(): void {\n // console.log('afterRender');\n return;\n }\n protected _updateVisactorSpec(): void {\n this._graphic?.updateSpec(this._specProcess.getVisSpec());\n }\n\n clearCharacter(): void {\n this._graphic.vProduct.release();\n this._graphic.parent.removeChild(this._graphic);\n }\n\n tickTo(t: number): void {\n this._ticker.tickAt(t);\n }\n\n checkEvent(event: StoryEvent): false | ICharacterPickInfo {\n if (!(event.detailPath ?? event.path).some(g => g === this._graphic)) {\n return false;\n }\n const chartPath = event.detailPath[event.detailPath.length - 1];\n const result = getChartModelWithEvent(this._graphic.vProduct, event);\n if (!result) {\n // 点击到图表的空白区域\n if (this._graphic.pointInViewBox((event as any).canvasX, (event as any).canvasY)) {\n return {\n part: 'null',\n graphic: null,\n modelInfo: null,\n graphicType: 'null'\n };\n }\n return false;\n }\n const graphic = chartPath?.[chartPath.length - 1];\n return {\n part: result.type,\n modelInfo: result,\n graphic,\n graphicType: graphic.type\n };\n }\n\n release(): void {\n this.option.graphicParent.removeChild(this._graphic as any);\n this._graphic.release && this._graphic.release();\n }\n\n private _reflow() {\n if (!this._graphic) {\n this._initGraphics();\n return;\n }\n const { spec } = this._getChartOption();\n this._graphic.updateSpec(spec);\n }\n}\n"]}
@@ -0,0 +1,4 @@
1
+ import { CharacterChart } from '../character';
2
+ export declare class RankingBarCharacter extends CharacterChart {
3
+ static type: string;
4
+ }
@@ -0,0 +1,18 @@
1
+ import { registerRankingBarChart } from "@visactor/vchart-extension";
2
+
3
+ import VChart from "@visactor/vchart";
4
+
5
+ import { StoryFactory } from "../../../factory/factory";
6
+
7
+ import { CharacterChart } from "../character";
8
+
9
+ import { RankingBarTemp } from "../temp/templates/ranking-bar-temp";
10
+
11
+ StoryFactory.registerChartTemp(RankingBarTemp.type, RankingBarTemp), registerRankingBarChart({
12
+ VChart: VChart
13
+ });
14
+
15
+ export class RankingBarCharacter extends CharacterChart {}
16
+
17
+ RankingBarCharacter.type = "RankingBar";
18
+ //# sourceMappingURL=rankingBar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/story/character/chart/characters/rankingBar.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,MAAM,MAAM,kBAAkB,CAAC;AAEtC,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAEpE,YAAY,CAAC,iBAAiB,CAAC,cAAc,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;AAEpE,uBAAuB,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;AAEpC,MAAM,OAAO,mBAAoB,SAAQ,cAAc;;AAC9C,wBAAI,GAAG,YAAY,CAAC","file":"rankingBar.js","sourcesContent":["import { registerRankingBarChart } from '@visactor/vchart-extension';\nimport VChart from '@visactor/vchart';\n\nimport { StoryFactory } from '../../../factory/factory';\nimport { CharacterChart } from '../character';\nimport { RankingBarTemp } from '../temp/templates/ranking-bar-temp';\n\nStoryFactory.registerChartTemp(RankingBarTemp.type, RankingBarTemp);\n\nregisterRankingBarChart({ VChart });\n\nexport class RankingBarCharacter extends CharacterChart {\n static type = 'RankingBar';\n}\n"]}
@@ -14,18 +14,16 @@ let VChartPicker = class {
14
14
  }
15
15
  contains(chart, point, params) {
16
16
  var _a;
17
- const chartStage = chart.vchart.getStage();
18
- chartStage._editor_needRender = !0;
19
- const matrix = chart.globalTransMatrix.clone(), stageMatrix = chart.stage.window.getViewBoxTransform();
20
- matrix.multiply(stageMatrix.a, stageMatrix.b, stageMatrix.c, stageMatrix.d, stageMatrix.e, stageMatrix.f),
21
- chartStage.window.setViewBoxTransform(matrix.a, matrix.b, matrix.c, matrix.d, matrix.e, matrix.f),
22
- null === (_a = chartStage.dirtyBounds) || void 0 === _a || _a.clear();
17
+ const matrix = chart.transMatrix.clone(), stageMatrix = chart.stage.window.getViewBoxTransform();
18
+ matrix.multiply(stageMatrix.a, stageMatrix.b, stageMatrix.c, stageMatrix.d, stageMatrix.e, stageMatrix.f);
23
19
  const nextP = {
24
20
  x: 0,
25
21
  y: 0
26
22
  };
27
- matrix.transformPoint(point, nextP);
28
- return chartStage.pick(nextP.x, nextP.y);
23
+ matrix.getInverse().transformPoint(point, nextP);
24
+ const vchartStage = chart.vchart.getStage();
25
+ null === (_a = vchartStage.dirtyBounds) || void 0 === _a || _a.clear();
26
+ return vchartStage.pick(nextP.x, nextP.y);
29
27
  }
30
28
  };
31
29