@visactor/vstory 0.0.4-alpha.2 → 0.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/animate/typewirter.d.ts +3 -4
- package/cjs/animate/typewirter.js +44 -30
- package/cjs/animate/typewirter.js.map +1 -1
- package/cjs/constants/action.d.ts +9 -0
- package/cjs/constants/action.js +10 -2
- package/cjs/constants/action.js.map +1 -1
- package/cjs/constants/character.d.ts +0 -1
- package/cjs/constants/character.js +1 -2
- package/cjs/constants/character.js.map +1 -1
- package/cjs/constants/config.js +2 -1
- package/cjs/dsl/constant/index.d.ts +13 -0
- package/cjs/dsl/constant/index.js +6 -1
- package/cjs/dsl/constant/index.js.map +1 -1
- package/cjs/dsl/story-chart/area.d.ts +2 -0
- package/cjs/dsl/story-chart/area.js +5 -1
- package/cjs/dsl/story-chart/area.js.map +1 -1
- package/cjs/dsl/story-chart/bar.d.ts +2 -0
- package/cjs/dsl/story-chart/bar.js +1 -1
- package/cjs/dsl/story-chart/bar.js.map +1 -1
- package/cjs/dsl/story-chart/line.d.ts +2 -0
- package/cjs/dsl/story-chart/line.js +1 -1
- package/cjs/dsl/story-chart/line.js.map +1 -1
- package/cjs/dsl/story-chart/pie.d.ts +2 -0
- package/cjs/dsl/story-chart/pie.js +3 -0
- package/cjs/dsl/story-chart/pie.js.map +1 -1
- package/cjs/dsl/story-processor/graphic/appear.js.map +1 -1
- package/cjs/dsl/story-processor/graphic/effect/appear.js +2 -7
- package/cjs/dsl/story-processor/graphic/effect/appear.js.map +1 -1
- package/cjs/dsl/story-processor/graphic/effect/typewriter.js +1 -1
- package/cjs/dsl/story-processor/graphic/effect/typewriter.js.map +1 -1
- package/cjs/dsl/types/Datum.js +1 -1
- package/cjs/dsl/types/index.js +1 -1
- package/cjs/edit/edit-component/index.js +1 -1
- package/cjs/index.d.ts +0 -1
- package/cjs/index.js +1 -2
- package/cjs/index.js.map +1 -1
- package/cjs/player/encode.js +2 -0
- package/cjs/player/interface/player.d.ts +5 -2
- package/cjs/player/interface/player.js.map +1 -1
- package/cjs/player/interface/scheduler.d.ts +1 -1
- package/cjs/player/interface/scheduler.js.map +1 -1
- package/cjs/player/player.d.ts +7 -2
- package/cjs/player/player.js +25 -19
- package/cjs/player/player.js.map +1 -1
- package/cjs/player/processor/chart/common/chartAppear.d.ts +5 -0
- package/cjs/player/processor/chart/common/chartAppear.js +11 -0
- package/cjs/player/processor/chart/common/chartAppear.js.map +1 -0
- package/cjs/player/processor/chart/common/commonAppear.d.ts +8 -0
- package/cjs/player/processor/chart/common/commonAppear.js +46 -0
- package/cjs/player/processor/chart/common/commonAppear.js.map +1 -0
- package/cjs/player/processor/chart/component/axisAppear.d.ts +2 -2
- package/cjs/player/processor/chart/component/axisAppear.js +2 -2
- package/cjs/player/processor/chart/component/axisAppear.js.map +1 -1
- package/cjs/player/processor/chart/component/commonAppear.d.ts +3 -3
- package/cjs/player/processor/chart/component/commonAppear.js +5 -17
- package/cjs/player/processor/chart/component/commonAppear.js.map +1 -1
- package/cjs/player/processor/chart/component/labelAppear.d.ts +2 -2
- package/cjs/player/processor/chart/component/labelAppear.js +1 -1
- package/cjs/player/processor/chart/component/labelAppear.js.map +1 -1
- package/cjs/player/processor/chart/component/legendsAppear.d.ts +4 -3
- package/cjs/player/processor/chart/component/legendsAppear.js +2 -3
- package/cjs/player/processor/chart/component/legendsAppear.js.map +1 -1
- package/cjs/player/processor/chart/component/titleAppear.d.ts +4 -3
- package/cjs/player/processor/chart/component/titleAppear.js +2 -3
- package/cjs/player/processor/chart/component/titleAppear.js.map +1 -1
- package/cjs/player/processor/chart/seriesmark/commonTransformMarkAppear.d.ts +3 -3
- package/cjs/player/processor/chart/seriesmark/commonTransformMarkAppear.js.map +1 -1
- package/cjs/player/processor/chart/seriesmark/{transformArcAppear.d.ts → transformArcVisibility.d.ts} +2 -2
- package/cjs/player/processor/chart/seriesmark/{transformArcAppear.js → transformArcVisibility.js} +5 -6
- package/cjs/player/processor/chart/seriesmark/transformArcVisibility.js.map +1 -0
- package/cjs/player/processor/chart/seriesmark/{transformRectAppear.d.ts → transformLineVisibility.d.ts} +2 -2
- package/cjs/player/processor/chart/seriesmark/transformLineVisibility.js +12 -0
- package/cjs/player/processor/chart/seriesmark/transformLineVisibility.js.map +1 -0
- package/cjs/player/processor/chart/seriesmark/{transformLineAppear.d.ts → transformRectVisibility.d.ts} +2 -2
- package/cjs/player/processor/chart/seriesmark/{transformRectAppear.js → transformRectVisibility.js} +6 -7
- package/cjs/player/processor/chart/seriesmark/transformRectVisibility.js.map +1 -0
- package/cjs/player/processor/chart/seriesmark/transformSymbolVisibility.d.ts +12 -0
- package/cjs/player/processor/chart/seriesmark/transformSymbolVisibility.js +12 -0
- package/cjs/player/processor/chart/seriesmark/transformSymbolVisibility.js.map +1 -0
- package/cjs/player/processor/chart/seriesmark/transformTextVisibility.d.ts +12 -0
- package/cjs/player/processor/chart/seriesmark/transformTextVisibility.js +12 -0
- package/cjs/player/processor/chart/seriesmark/transformTextVisibility.js.map +1 -0
- package/cjs/player/processor/chart/transformMap.d.ts +24 -18
- package/cjs/player/processor/chart/transformMap.js +8 -7
- package/cjs/player/processor/chart/transformMap.js.map +1 -1
- package/cjs/player/processor/chart/vchart.d.ts +62 -15
- package/cjs/player/processor/chart/vchart.js +98 -11
- package/cjs/player/processor/chart/vchart.js.map +1 -1
- package/cjs/player/processor/common/bounce-processor.d.ts +3 -0
- package/cjs/player/processor/common/bounce-processor.js +24 -0
- package/cjs/player/processor/common/bounce-processor.js.map +1 -0
- package/cjs/player/processor/common/common.d.ts +5 -0
- package/cjs/player/processor/common/common.js +20 -0
- package/cjs/player/processor/common/common.js.map +1 -0
- package/cjs/player/processor/common/fade-processor.d.ts +4 -0
- package/cjs/player/processor/common/fade-processor.js +36 -0
- package/cjs/player/processor/common/fade-processor.js.map +1 -0
- package/cjs/player/processor/common/move-processor.d.ts +8 -0
- package/cjs/player/processor/common/move-processor.js +155 -0
- package/cjs/player/processor/common/move-processor.js.map +1 -0
- package/cjs/player/processor/common/scale-processor.d.ts +8 -0
- package/cjs/player/processor/common/scale-processor.js +49 -0
- package/cjs/player/processor/common/scale-processor.js.map +1 -0
- package/cjs/player/processor/common/wipe-processor.d.ts +4 -0
- package/cjs/player/processor/common/wipe-processor.js +40 -0
- package/cjs/player/processor/common/wipe-processor.js.map +1 -0
- package/cjs/player/processor/common-processor.js +3 -0
- package/cjs/player/processor/common-processor.js.map +1 -0
- package/cjs/player/processor/component/common-component.d.ts +45 -9
- package/cjs/player/processor/component/common-component.js +98 -77
- package/cjs/player/processor/component/common-component.js.map +1 -1
- package/cjs/player/processor/component/image/image-visibility.d.ts +5 -0
- package/cjs/player/processor/component/image/image-visibility.js +16 -0
- package/cjs/player/processor/component/image/image-visibility.js.map +1 -0
- package/cjs/player/processor/component/line/line-visibility.d.ts +5 -0
- package/cjs/player/processor/component/line/line-visibility.js +16 -0
- package/cjs/player/processor/component/line/line-visibility.js.map +1 -0
- package/cjs/player/processor/component/rect/rect-visibility.d.ts +5 -0
- package/cjs/player/processor/component/rect/rect-visibility.js +16 -0
- package/cjs/player/processor/component/rect/rect-visibility.js.map +1 -0
- package/cjs/player/processor/component/shape/shape-visibility.d.ts +5 -0
- package/cjs/player/processor/component/shape/shape-visibility.js +16 -0
- package/cjs/player/processor/component/shape/shape-visibility.js.map +1 -0
- package/cjs/player/processor/component/text/text-visibility.d.ts +6 -0
- package/cjs/player/processor/component/text/text-visibility.js +41 -0
- package/cjs/player/processor/component/text/text-visibility.js.map +1 -0
- package/cjs/player/processor/component/timeline/timeline-visibility.d.ts +15 -0
- package/cjs/player/processor/component/timeline/timeline-visibility.js +79 -0
- package/cjs/player/processor/component/timeline/timeline-visibility.js.map +1 -0
- package/cjs/player/processor/component/utils.d.ts +3 -1
- package/cjs/player/processor/component/utils.js +16 -1
- package/cjs/player/processor/component/utils.js.map +1 -1
- package/cjs/player/processor/interface/action-processor.d.ts +6 -6
- package/cjs/player/processor/interface/action-processor.js.map +1 -1
- package/cjs/player/processor/interface/appear-action.d.ts +30 -18
- package/cjs/player/processor/interface/appear-action.js.map +1 -1
- package/cjs/player/processor/interface/common-action.d.ts +14 -0
- package/cjs/player/processor/interface/common-action.js +6 -0
- package/cjs/player/processor/interface/common-action.js.map +1 -0
- package/cjs/player/processor/interface/style-action.d.ts +34 -0
- package/cjs/player/processor/interface/style-action.js +6 -0
- package/cjs/player/processor/interface/style-action.js.map +1 -0
- package/cjs/player/processor/processor-item.d.ts +5 -5
- package/cjs/player/processor/processor-item.js.map +1 -1
- package/cjs/player/processor/processor.d.ts +3 -3
- package/cjs/player/processor/processor.js +2 -2
- package/cjs/player/processor/processor.js.map +1 -1
- package/cjs/player/processor/processorMap.d.ts +22 -21
- package/cjs/player/processor/processorMap.js +42 -8
- package/cjs/player/processor/processorMap.js.map +1 -1
- package/cjs/player/scheduler.d.ts +4 -3
- package/cjs/player/scheduler.js +7 -5
- package/cjs/player/scheduler.js.map +1 -1
- package/cjs/story/canvas/canvas.d.ts +4 -2
- package/cjs/story/canvas/canvas.js +17 -10
- package/cjs/story/canvas/canvas.js.map +1 -1
- package/cjs/story/character/base/base.d.ts +3 -4
- package/cjs/story/character/base/base.js +6 -3
- package/cjs/story/character/base/base.js.map +1 -1
- package/cjs/story/character/chart/character.d.ts +1 -0
- package/cjs/story/character/chart/character.js +13 -4
- package/cjs/story/character/chart/character.js.map +1 -1
- package/cjs/story/character/chart/graphic/vchart-graphic-render.js +3 -3
- package/cjs/story/character/chart/graphic/vchart-graphic-render.js.map +1 -1
- package/cjs/story/character/chart/graphic/vchart-graphic.d.ts +1 -0
- package/cjs/story/character/chart/graphic/vchart-graphic.js +5 -1
- package/cjs/story/character/chart/graphic/vchart-graphic.js.map +1 -1
- package/cjs/story/character/component/character-group/component-group-graphic.d.ts +1 -0
- package/cjs/story/character/component/character-group/component-group-graphic.js +8 -2
- package/cjs/story/character/component/character-group/component-group-graphic.js.map +1 -1
- package/cjs/story/character/component/character.d.ts +4 -3
- package/cjs/story/character/component/character.js +8 -5
- package/cjs/story/character/component/character.js.map +1 -1
- package/cjs/story/character/component/characters/character-richtext.d.ts +1 -6
- package/cjs/story/character/component/characters/character-richtext.js +0 -16
- package/cjs/story/character/component/characters/character-richtext.js.map +1 -1
- package/cjs/story/character/component/characters/character-text.js +1 -1
- package/cjs/story/character/component/characters/character-text.js.map +1 -1
- package/cjs/story/character/component/graphic/graphic-base-text.d.ts +23 -0
- package/cjs/story/character/component/graphic/{graphic-text.js → graphic-base-text.js} +38 -22
- package/cjs/story/character/component/graphic/graphic-base-text.js.map +1 -0
- package/cjs/story/character/component/graphic/graphic.d.ts +1 -1
- package/cjs/story/character/component/graphic/graphic.js.map +1 -1
- package/cjs/story/character/component/graphic/richtext.d.ts +1 -9
- package/cjs/story/character/component/graphic/richtext.js +0 -45
- package/cjs/story/character/component/graphic/richtext.js.map +1 -1
- package/cjs/story/character/component/graphic/text.d.ts +4 -3
- package/cjs/story/character/component/graphic/text.js +21 -6
- package/cjs/story/character/component/graphic/text.js.map +1 -1
- package/cjs/story/character/component/graphic/timeline.d.ts +6 -0
- package/cjs/story/character/component/graphic/timeline.js +7 -1
- package/cjs/story/character/component/graphic/timeline.js.map +1 -1
- package/cjs/story/character/dsl-interface.d.ts +2 -2
- package/cjs/story/character/dsl-interface.js.map +1 -1
- package/cjs/story/character/runtime-interface.d.ts +1 -0
- package/cjs/story/character/runtime-interface.js.map +1 -1
- package/cjs/story/character/visactor/character.d.ts +5 -6
- package/cjs/story/character/visactor/character.js.map +1 -1
- package/cjs/story/character/visactor/interface.d.ts +1 -0
- package/cjs/story/character/visactor/interface.js.map +1 -1
- package/cjs/story/character-tree/character-tree.d.ts +1 -0
- package/cjs/story/character-tree/character-tree.js +6 -0
- package/cjs/story/character-tree/character-tree.js.map +1 -1
- package/cjs/story/index.js +1 -2
- package/cjs/story/index.js.map +1 -1
- package/cjs/story/interface/dsl-interface.d.ts +5 -8
- package/cjs/story/interface/dsl-interface.js.map +1 -1
- package/cjs/story/interface/player.d.ts +1 -13
- package/cjs/story/interface/player.js +1 -4
- package/cjs/story/interface/player.js.map +1 -1
- package/cjs/story/interface/runtime-interface.d.ts +3 -3
- package/cjs/story/interface/runtime-interface.js.map +1 -1
- package/cjs/story/story.d.ts +2 -1
- package/cjs/story/story.js +8 -6
- package/cjs/story/story.js.map +1 -1
- package/dist/index.js +111158 -0
- package/dist/index.min.js +20 -0
- package/es/animate/typewirter.d.ts +3 -4
- package/es/animate/typewirter.js +46 -30
- package/es/animate/typewirter.js.map +1 -1
- package/es/constants/action.d.ts +9 -0
- package/es/constants/action.js +11 -1
- package/es/constants/action.js.map +1 -1
- package/es/constants/character.d.ts +0 -1
- package/es/constants/character.js +1 -2
- package/es/constants/character.js.map +1 -1
- package/es/constants/config.js +2 -1
- package/es/dsl/constant/index.d.ts +13 -0
- package/es/dsl/constant/index.js +6 -1
- package/es/dsl/constant/index.js.map +1 -1
- package/es/dsl/story-chart/area.d.ts +2 -0
- package/es/dsl/story-chart/area.js +5 -1
- package/es/dsl/story-chart/area.js.map +1 -1
- package/es/dsl/story-chart/bar.d.ts +2 -0
- package/es/dsl/story-chart/bar.js +1 -1
- package/es/dsl/story-chart/bar.js.map +1 -1
- package/es/dsl/story-chart/line.d.ts +2 -0
- package/es/dsl/story-chart/line.js +1 -1
- package/es/dsl/story-chart/line.js.map +1 -1
- package/es/dsl/story-chart/pie.d.ts +2 -0
- package/es/dsl/story-chart/pie.js +3 -0
- package/es/dsl/story-chart/pie.js.map +1 -1
- package/es/dsl/story-processor/graphic/appear.js.map +1 -1
- package/es/dsl/story-processor/graphic/effect/appear.js +1 -8
- package/es/dsl/story-processor/graphic/effect/appear.js.map +1 -1
- package/es/dsl/story-processor/graphic/effect/typewriter.js +1 -1
- package/es/dsl/story-processor/graphic/effect/typewriter.js.map +1 -1
- package/es/dsl/types/Datum.js +1 -1
- package/es/dsl/types/index.js +1 -1
- package/es/edit/edit-component/index.js +1 -1
- package/es/index.d.ts +0 -1
- package/es/index.js +1 -3
- package/es/index.js.map +1 -1
- package/es/player/encode.js +2 -0
- package/es/player/interface/player.d.ts +5 -2
- package/es/player/interface/player.js.map +1 -1
- package/es/player/interface/scheduler.d.ts +1 -1
- package/es/player/interface/scheduler.js.map +1 -1
- package/es/player/player.d.ts +7 -2
- package/es/player/player.js +27 -18
- package/es/player/player.js.map +1 -1
- package/es/player/processor/chart/common/chartAppear.d.ts +5 -0
- package/es/player/processor/chart/common/chartAppear.js +4 -0
- package/es/player/processor/chart/common/chartAppear.js.map +1 -0
- package/es/player/processor/chart/common/commonAppear.d.ts +8 -0
- package/es/player/processor/chart/common/commonAppear.js +36 -0
- package/es/player/processor/chart/common/commonAppear.js.map +1 -0
- package/es/player/processor/chart/component/axisAppear.d.ts +2 -2
- package/es/player/processor/chart/component/axisAppear.js +3 -1
- package/es/player/processor/chart/component/axisAppear.js.map +1 -1
- package/es/player/processor/chart/component/commonAppear.d.ts +3 -3
- package/es/player/processor/chart/component/commonAppear.js +3 -14
- package/es/player/processor/chart/component/commonAppear.js.map +1 -1
- package/es/player/processor/chart/component/labelAppear.d.ts +2 -2
- package/es/player/processor/chart/component/labelAppear.js +1 -1
- package/es/player/processor/chart/component/labelAppear.js.map +1 -1
- package/es/player/processor/chart/component/legendsAppear.d.ts +4 -3
- package/es/player/processor/chart/component/legendsAppear.js +2 -2
- package/es/player/processor/chart/component/legendsAppear.js.map +1 -1
- package/es/player/processor/chart/component/titleAppear.d.ts +4 -3
- package/es/player/processor/chart/component/titleAppear.js +2 -2
- package/es/player/processor/chart/component/titleAppear.js.map +1 -1
- package/es/player/processor/chart/seriesmark/commonTransformMarkAppear.d.ts +3 -3
- package/es/player/processor/chart/seriesmark/commonTransformMarkAppear.js.map +1 -1
- package/{cjs/player/processor/chart/seriesmark/transformSymbolAppear.d.ts → es/player/processor/chart/seriesmark/transformArcVisibility.d.ts} +3 -3
- package/es/player/processor/chart/seriesmark/{transformArcAppear.js → transformArcVisibility.js} +3 -4
- package/es/player/processor/chart/seriesmark/transformArcVisibility.js.map +1 -0
- package/es/player/processor/chart/seriesmark/transformLineVisibility.d.ts +12 -0
- package/es/player/processor/chart/seriesmark/transformLineVisibility.js +4 -0
- package/es/player/processor/chart/seriesmark/transformLineVisibility.js.map +1 -0
- package/es/player/processor/chart/seriesmark/transformRectVisibility.d.ts +12 -0
- package/es/player/processor/chart/seriesmark/{transformRectAppear.js → transformRectVisibility.js} +4 -5
- package/es/player/processor/chart/seriesmark/transformRectVisibility.js.map +1 -0
- package/es/player/processor/chart/seriesmark/transformSymbolVisibility.d.ts +12 -0
- package/es/player/processor/chart/seriesmark/transformSymbolVisibility.js +4 -0
- package/es/player/processor/chart/seriesmark/transformSymbolVisibility.js.map +1 -0
- package/es/player/processor/chart/seriesmark/transformTextVisibility.d.ts +12 -0
- package/es/player/processor/chart/seriesmark/transformTextVisibility.js +4 -0
- package/es/player/processor/chart/seriesmark/transformTextVisibility.js.map +1 -0
- package/es/player/processor/chart/transformMap.d.ts +24 -18
- package/es/player/processor/chart/transformMap.js +14 -11
- package/es/player/processor/chart/transformMap.js.map +1 -1
- package/es/player/processor/chart/vchart.d.ts +62 -15
- package/es/player/processor/chart/vchart.js +92 -9
- package/es/player/processor/chart/vchart.js.map +1 -1
- package/es/player/processor/common/bounce-processor.d.ts +3 -0
- package/es/player/processor/common/bounce-processor.js +20 -0
- package/es/player/processor/common/bounce-processor.js.map +1 -0
- package/es/player/processor/common/common.d.ts +5 -0
- package/es/player/processor/common/common.js +12 -0
- package/es/player/processor/common/common.js.map +1 -0
- package/es/player/processor/common/fade-processor.d.ts +4 -0
- package/es/player/processor/common/fade-processor.js +30 -0
- package/es/player/processor/common/fade-processor.js.map +1 -0
- package/es/player/processor/common/move-processor.d.ts +8 -0
- package/es/player/processor/common/move-processor.js +148 -0
- package/es/player/processor/common/move-processor.js.map +1 -0
- package/es/player/processor/common/scale-processor.d.ts +8 -0
- package/es/player/processor/common/scale-processor.js +43 -0
- package/es/player/processor/common/scale-processor.js.map +1 -0
- package/es/player/processor/common/wipe-processor.d.ts +4 -0
- package/es/player/processor/common/wipe-processor.js +36 -0
- package/es/player/processor/common/wipe-processor.js.map +1 -0
- package/es/player/processor/common-processor.js +3 -0
- package/es/player/processor/common-processor.js.map +1 -0
- package/es/player/processor/component/common-component.d.ts +45 -9
- package/es/player/processor/component/common-component.js +97 -73
- package/es/player/processor/component/common-component.js.map +1 -1
- package/es/player/processor/component/image/image-visibility.d.ts +5 -0
- package/es/player/processor/component/image/image-visibility.js +8 -0
- package/es/player/processor/component/image/image-visibility.js.map +1 -0
- package/es/player/processor/component/line/line-visibility.d.ts +5 -0
- package/es/player/processor/component/line/line-visibility.js +8 -0
- package/es/player/processor/component/line/line-visibility.js.map +1 -0
- package/es/player/processor/component/rect/rect-visibility.d.ts +5 -0
- package/es/player/processor/component/rect/rect-visibility.js +8 -0
- package/es/player/processor/component/rect/rect-visibility.js.map +1 -0
- package/es/player/processor/component/shape/shape-visibility.d.ts +5 -0
- package/es/player/processor/component/shape/shape-visibility.js +8 -0
- package/es/player/processor/component/shape/shape-visibility.js.map +1 -0
- package/es/player/processor/component/text/text-visibility.d.ts +6 -0
- package/es/player/processor/component/text/text-visibility.js +39 -0
- package/es/player/processor/component/text/text-visibility.js.map +1 -0
- package/es/player/processor/component/timeline/timeline-visibility.d.ts +15 -0
- package/es/player/processor/component/timeline/timeline-visibility.js +71 -0
- package/es/player/processor/component/timeline/timeline-visibility.js.map +1 -0
- package/es/player/processor/component/utils.d.ts +3 -1
- package/es/player/processor/component/utils.js +13 -0
- package/es/player/processor/component/utils.js.map +1 -1
- package/es/player/processor/interface/action-processor.d.ts +6 -6
- package/es/player/processor/interface/action-processor.js.map +1 -1
- package/es/player/processor/interface/appear-action.d.ts +30 -18
- package/es/player/processor/interface/appear-action.js.map +1 -1
- package/es/player/processor/interface/common-action.d.ts +14 -0
- package/es/player/processor/interface/common-action.js +2 -0
- package/es/player/processor/interface/common-action.js.map +1 -0
- package/es/player/processor/interface/style-action.d.ts +34 -0
- package/es/player/processor/interface/style-action.js +2 -0
- package/es/player/processor/interface/style-action.js.map +1 -0
- package/es/player/processor/processor-item.d.ts +5 -5
- package/es/player/processor/processor-item.js.map +1 -1
- package/es/player/processor/processor.d.ts +3 -3
- package/es/player/processor/processor.js +2 -2
- package/es/player/processor/processor.js.map +1 -1
- package/es/player/processor/processorMap.d.ts +22 -21
- package/es/player/processor/processorMap.js +51 -15
- package/es/player/processor/processorMap.js.map +1 -1
- package/es/player/scheduler.d.ts +4 -3
- package/es/player/scheduler.js +7 -5
- package/es/player/scheduler.js.map +1 -1
- package/es/story/canvas/canvas.d.ts +4 -2
- package/es/story/canvas/canvas.js +18 -10
- package/es/story/canvas/canvas.js.map +1 -1
- package/es/story/character/base/base.d.ts +3 -4
- package/es/story/character/base/base.js +6 -3
- package/es/story/character/base/base.js.map +1 -1
- package/es/story/character/chart/character.d.ts +1 -0
- package/es/story/character/chart/character.js +6 -3
- package/es/story/character/chart/character.js.map +1 -1
- package/es/story/character/chart/graphic/vchart-graphic-render.js +3 -3
- package/es/story/character/chart/graphic/vchart-graphic-render.js.map +1 -1
- package/es/story/character/chart/graphic/vchart-graphic.d.ts +1 -0
- package/es/story/character/chart/graphic/vchart-graphic.js +5 -1
- package/es/story/character/chart/graphic/vchart-graphic.js.map +1 -1
- package/es/story/character/component/character-group/component-group-graphic.d.ts +1 -0
- package/es/story/character/component/character-group/component-group-graphic.js +8 -2
- package/es/story/character/component/character-group/component-group-graphic.js.map +1 -1
- package/es/story/character/component/character.d.ts +4 -3
- package/es/story/character/component/character.js +8 -4
- package/es/story/character/component/character.js.map +1 -1
- package/es/story/character/component/characters/character-richtext.d.ts +1 -6
- package/es/story/character/component/characters/character-richtext.js +0 -12
- package/es/story/character/component/characters/character-richtext.js.map +1 -1
- package/es/story/character/component/characters/character-text.js +2 -2
- package/es/story/character/component/characters/character-text.js.map +1 -1
- package/es/story/character/component/graphic/graphic-base-text.d.ts +23 -0
- package/es/story/character/component/graphic/{graphic-text.js → graphic-base-text.js} +37 -21
- package/es/story/character/component/graphic/graphic-base-text.js.map +1 -0
- package/es/story/character/component/graphic/graphic.d.ts +1 -1
- package/es/story/character/component/graphic/graphic.js.map +1 -1
- package/es/story/character/component/graphic/richtext.d.ts +1 -9
- package/es/story/character/component/graphic/richtext.js +0 -41
- package/es/story/character/component/graphic/richtext.js.map +1 -1
- package/es/story/character/component/graphic/text.d.ts +4 -3
- package/es/story/character/component/graphic/text.js +21 -4
- package/es/story/character/component/graphic/text.js.map +1 -1
- package/es/story/character/component/graphic/timeline.d.ts +6 -0
- package/es/story/character/component/graphic/timeline.js +7 -1
- package/es/story/character/component/graphic/timeline.js.map +1 -1
- package/es/story/character/dsl-interface.d.ts +2 -2
- package/es/story/character/dsl-interface.js.map +1 -1
- package/es/story/character/runtime-interface.d.ts +1 -0
- package/es/story/character/runtime-interface.js.map +1 -1
- package/es/story/character/visactor/character.d.ts +5 -6
- package/es/story/character/visactor/character.js.map +1 -1
- package/es/story/character/visactor/interface.d.ts +1 -0
- package/es/story/character/visactor/interface.js.map +1 -1
- package/es/story/character-tree/character-tree.d.ts +1 -0
- package/es/story/character-tree/character-tree.js +6 -0
- package/es/story/character-tree/character-tree.js.map +1 -1
- package/es/story/index.js +0 -3
- package/es/story/index.js.map +1 -1
- package/es/story/interface/dsl-interface.d.ts +5 -8
- package/es/story/interface/dsl-interface.js.map +1 -1
- package/es/story/interface/player.d.ts +1 -13
- package/es/story/interface/player.js +2 -1
- package/es/story/interface/player.js.map +1 -1
- package/es/story/interface/runtime-interface.d.ts +3 -3
- package/es/story/interface/runtime-interface.js.map +1 -1
- package/es/story/story.d.ts +2 -1
- package/es/story/story.js +8 -6
- package/es/story/story.js.map +1 -1
- package/package.json +7 -7
- package/cjs/player/processor/chart/seriesmark/transformArcAppear.js.map +0 -1
- package/cjs/player/processor/chart/seriesmark/transformLineAppear.js +0 -14
- package/cjs/player/processor/chart/seriesmark/transformLineAppear.js.map +0 -1
- package/cjs/player/processor/chart/seriesmark/transformRectAppear.js.map +0 -1
- package/cjs/player/processor/chart/seriesmark/transformSymbolAppear.js +0 -14
- package/cjs/player/processor/chart/seriesmark/transformSymbolAppear.js.map +0 -1
- package/cjs/player/processor/chart/seriesmark/transformTextAppear.d.ts +0 -12
- package/cjs/player/processor/chart/seriesmark/transformTextAppear.js +0 -14
- package/cjs/player/processor/chart/seriesmark/transformTextAppear.js.map +0 -1
- package/cjs/player/processor/component/image/image-appear.d.ts +0 -5
- package/cjs/player/processor/component/image/image-appear.js +0 -16
- package/cjs/player/processor/component/image/image-appear.js.map +0 -1
- package/cjs/player/processor/component/line/line-appear.d.ts +0 -5
- package/cjs/player/processor/component/line/line-appear.js +0 -16
- package/cjs/player/processor/component/line/line-appear.js.map +0 -1
- package/cjs/player/processor/component/rect/rect-appear.d.ts +0 -5
- package/cjs/player/processor/component/rect/rect-appear.js +0 -16
- package/cjs/player/processor/component/rect/rect-appear.js.map +0 -1
- package/cjs/player/processor/component/shape/shape-appear.d.ts +0 -5
- package/cjs/player/processor/component/shape/shape-appear.js +0 -16
- package/cjs/player/processor/component/shape/shape-appear.js.map +0 -1
- package/cjs/player/processor/component/text/text-appear.d.ts +0 -7
- package/cjs/player/processor/component/text/text-appear.js +0 -34
- package/cjs/player/processor/component/text/text-appear.js.map +0 -1
- package/cjs/player/processor/component/timeline/timeline-appear.d.ts +0 -7
- package/cjs/player/processor/component/timeline/timeline-appear.js +0 -33
- package/cjs/player/processor/component/timeline/timeline-appear.js.map +0 -1
- package/cjs/story/character/component/graphic/graphic-text.d.ts +0 -18
- package/cjs/story/character/component/graphic/graphic-text.js.map +0 -1
- package/cjs/story/player/encode.js +0 -3
- package/cjs/story/player/encode.js.map +0 -1
- package/cjs/story/player/index.js +0 -3
- package/cjs/story/player/index.js.map +0 -1
- package/cjs/story/player/ticker.d.ts +0 -1
- package/cjs/story/player/ticker.js +0 -3
- package/cjs/story/player/ticker.js.map +0 -1
- package/es/player/processor/chart/seriesmark/transformArcAppear.d.ts +0 -12
- package/es/player/processor/chart/seriesmark/transformArcAppear.js.map +0 -1
- package/es/player/processor/chart/seriesmark/transformLineAppear.d.ts +0 -12
- package/es/player/processor/chart/seriesmark/transformLineAppear.js +0 -7
- package/es/player/processor/chart/seriesmark/transformLineAppear.js.map +0 -1
- package/es/player/processor/chart/seriesmark/transformRectAppear.d.ts +0 -12
- package/es/player/processor/chart/seriesmark/transformRectAppear.js.map +0 -1
- package/es/player/processor/chart/seriesmark/transformSymbolAppear.d.ts +0 -12
- package/es/player/processor/chart/seriesmark/transformSymbolAppear.js +0 -7
- package/es/player/processor/chart/seriesmark/transformSymbolAppear.js.map +0 -1
- package/es/player/processor/chart/seriesmark/transformTextAppear.d.ts +0 -12
- package/es/player/processor/chart/seriesmark/transformTextAppear.js +0 -7
- package/es/player/processor/chart/seriesmark/transformTextAppear.js.map +0 -1
- package/es/player/processor/component/image/image-appear.d.ts +0 -5
- package/es/player/processor/component/image/image-appear.js +0 -8
- package/es/player/processor/component/image/image-appear.js.map +0 -1
- package/es/player/processor/component/line/line-appear.d.ts +0 -5
- package/es/player/processor/component/line/line-appear.js +0 -8
- package/es/player/processor/component/line/line-appear.js.map +0 -1
- package/es/player/processor/component/rect/rect-appear.d.ts +0 -5
- package/es/player/processor/component/rect/rect-appear.js +0 -8
- package/es/player/processor/component/rect/rect-appear.js.map +0 -1
- package/es/player/processor/component/shape/shape-appear.d.ts +0 -5
- package/es/player/processor/component/shape/shape-appear.js +0 -8
- package/es/player/processor/component/shape/shape-appear.js.map +0 -1
- package/es/player/processor/component/text/text-appear.d.ts +0 -7
- package/es/player/processor/component/text/text-appear.js +0 -32
- package/es/player/processor/component/text/text-appear.js.map +0 -1
- package/es/player/processor/component/timeline/timeline-appear.d.ts +0 -7
- package/es/player/processor/component/timeline/timeline-appear.js +0 -27
- package/es/player/processor/component/timeline/timeline-appear.js.map +0 -1
- package/es/story/character/component/graphic/graphic-text.d.ts +0 -18
- package/es/story/character/component/graphic/graphic-text.js.map +0 -1
- package/es/story/player/encode.d.ts +0 -1
- package/es/story/player/encode.js +0 -3
- package/es/story/player/encode.js.map +0 -1
- package/es/story/player/index.d.ts +0 -1
- package/es/story/player/index.js +0 -3
- package/es/story/player/index.js.map +0 -1
- package/es/story/player/ticker.d.ts +0 -1
- package/es/story/player/ticker.js +0 -3
- package/es/story/player/ticker.js.map +0 -1
- /package/cjs/{story/player/encode.d.ts → player/processor/common-processor.d.ts} +0 -0
- /package/{cjs/story/player/index.d.ts → es/player/processor/common-processor.d.ts} +0 -0
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
import type { ICharacter } from '../../../story/character';
|
|
2
|
-
import type {
|
|
2
|
+
import type { IActionSpec } from '../../../story/interface';
|
|
3
3
|
export interface IActionProcessorItem {
|
|
4
|
-
getStartTime: (action:
|
|
5
|
-
getDuration: (action:
|
|
6
|
-
getStartTimeAndDuration: (action:
|
|
4
|
+
getStartTime: (action: IActionSpec) => number;
|
|
5
|
+
getDuration: (action: IActionSpec) => number;
|
|
6
|
+
getStartTimeAndDuration: (action: IActionSpec) => {
|
|
7
7
|
startTime: number;
|
|
8
8
|
duration: number;
|
|
9
9
|
};
|
|
10
10
|
run: (...actionParams: any) => any;
|
|
11
11
|
}
|
|
12
12
|
export interface IActionProcessor {
|
|
13
|
-
getActInfo: (characterId: string, action:
|
|
13
|
+
getActInfo: (characterId: string, action: IActionSpec) => {
|
|
14
14
|
startTime: number;
|
|
15
15
|
duration: number;
|
|
16
16
|
} | null;
|
|
17
|
-
doAction: (name: string, actionName: string, character: ICharacter, actionSpec:
|
|
17
|
+
doAction: (name: string, actionName: string, character: ICharacter, actionSpec: IActionSpec) => void;
|
|
18
18
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/player/processor/interface/action-processor.ts"],"names":[],"mappings":"","file":"action-processor.js","sourcesContent":["import type { ICharacter } from '../../../story/character';\nimport type {
|
|
1
|
+
{"version":3,"sources":["../src/player/processor/interface/action-processor.ts"],"names":[],"mappings":"","file":"action-processor.js","sourcesContent":["import type { ICharacter } from '../../../story/character';\nimport type { IActionSpec } from '../../../story/interface';\n\nexport interface IActionProcessorItem {\n getStartTime: (action: IActionSpec) => number;\n getDuration: (action: IActionSpec) => number;\n getStartTimeAndDuration: (action: IActionSpec) => { startTime: number; duration: number };\n\n run: (...actionParams: any) => any;\n}\n\nexport interface IActionProcessor {\n getActInfo: (\n characterId: string,\n action: IActionSpec\n ) => {\n startTime: number;\n duration: number;\n } | null;\n\n doAction: (name: string, actionName: string, character: ICharacter, actionSpec: IActionSpec) => void;\n}\n"]}
|
|
@@ -1,28 +1,16 @@
|
|
|
1
|
-
import type { EasingType } from '@visactor/vrender';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
payload: Record<string, any>;
|
|
5
|
-
}
|
|
6
|
-
export interface IAnimationParams {
|
|
7
|
-
duration: number;
|
|
8
|
-
easing?: EasingType;
|
|
9
|
-
loop?: number | boolean;
|
|
10
|
-
}
|
|
11
|
-
export interface IActionPayload {
|
|
12
|
-
animation?: IAnimationParams;
|
|
13
|
-
}
|
|
14
|
-
export interface IChartAppearPayLoad extends IActionPayload {
|
|
1
|
+
import type { EasingType } from '@visactor/vrender-core';
|
|
2
|
+
import type { IAction, IActionPayload, IAnimationParams } from './common-action';
|
|
3
|
+
export interface IChartVisibilityPayload extends IActionPayload {
|
|
15
4
|
animation: IAnimationParams & {
|
|
16
5
|
oneByOne: boolean;
|
|
17
|
-
effect: string;
|
|
6
|
+
effect: string | string[];
|
|
18
7
|
};
|
|
19
8
|
fade?: {
|
|
20
9
|
isBaseOpacity?: boolean;
|
|
21
10
|
};
|
|
22
11
|
}
|
|
23
|
-
export interface
|
|
12
|
+
export interface IChartVisibilityAction extends IAction<IChartVisibilityPayload> {
|
|
24
13
|
action: 'appear';
|
|
25
|
-
payload: IChartAppearPayLoad;
|
|
26
14
|
}
|
|
27
15
|
export interface IFadeInParams extends IAnimationParams {
|
|
28
16
|
opacity?: number;
|
|
@@ -33,6 +21,27 @@ export interface IFadeInParams extends IAnimationParams {
|
|
|
33
21
|
isBaseOpacity?: string;
|
|
34
22
|
};
|
|
35
23
|
}
|
|
24
|
+
export interface IMoveToParams extends IAnimationParams {
|
|
25
|
+
destination: {
|
|
26
|
+
x: number;
|
|
27
|
+
y: number;
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
export interface IMoveParams extends IAnimationParams {
|
|
31
|
+
pos?: 'left' | 'right' | 'top' | 'bottom' | 'top-right' | 'top-left' | 'bottom-left' | 'bottom-right';
|
|
32
|
+
move?: {
|
|
33
|
+
pos?: IMoveParams['pos'];
|
|
34
|
+
isVariableSpeed?: boolean;
|
|
35
|
+
duration?: number;
|
|
36
|
+
easing?: EasingType;
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
export interface IScaleToParams extends IAnimationParams {
|
|
40
|
+
scale: {
|
|
41
|
+
scaleX: number;
|
|
42
|
+
scaleY: number;
|
|
43
|
+
};
|
|
44
|
+
}
|
|
36
45
|
export interface IScaleInParams extends IAnimationParams {
|
|
37
46
|
ratio?: number;
|
|
38
47
|
scale?: {
|
|
@@ -53,4 +62,7 @@ export type ITypeWriterParams = IAnimationParams;
|
|
|
53
62
|
export interface IComponentAppearPayLoad extends IActionPayload {
|
|
54
63
|
animation: IFadeInParams | IScaleInParams | IWipeInParams;
|
|
55
64
|
}
|
|
56
|
-
export
|
|
65
|
+
export interface IComponentVisibilityAction extends IAction<IComponentAppearPayLoad> {
|
|
66
|
+
action: 'appear' | 'disappear';
|
|
67
|
+
}
|
|
68
|
+
export type AppearOption = Omit<IChartVisibilityAction, 'action' | 'data'>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/player/processor/interface/appear-action.ts"],"names":[],"mappings":"","file":"appear-action.js","sourcesContent":["import type { EasingType } from '@visactor/vrender';\
|
|
1
|
+
{"version":3,"sources":["../src/player/processor/interface/appear-action.ts"],"names":[],"mappings":"","file":"appear-action.js","sourcesContent":["import type { EasingType } from '@visactor/vrender-core';\nimport type { IAction, IActionPayload, IAnimationParams } from './common-action';\n\nexport interface IChartVisibilityPayload extends IActionPayload {\n animation: IAnimationParams & {\n oneByOne: boolean;\n /**\n * 柱状图支持: 'grow' | 'fade' | 'bounce'\n * 折线图支持: 'grow' | 'fade'\n * 饼图支持: 'grow' | 'fade' | 'growAngle' | 'growRadius'\n */\n effect: string | string[];\n };\n fade?: { isBaseOpacity?: boolean };\n}\n\nexport interface IChartVisibilityAction extends IAction<IChartVisibilityPayload> {\n action: 'appear';\n}\n\n// components\nexport interface IFadeInParams extends IAnimationParams {\n opacity?: number;\n fade?: {\n /**\n * @default 1\n */\n opacity?: number;\n duration?: number;\n easing?: EasingType;\n /**\n * 作用于全局的透明度\n * @default false\n */\n isBaseOpacity?: string;\n };\n}\n\nexport interface IMoveToParams extends IAnimationParams {\n destination: { x: number; y: number };\n}\n\nexport interface IMoveParams extends IAnimationParams {\n pos?: 'left' | 'right' | 'top' | 'bottom' | 'top-right' | 'top-left' | 'bottom-left' | 'bottom-right';\n move?: {\n /**\n * @default left\n */\n pos?: IMoveParams['pos'];\n /**\n * @default true\n * @description 若为true: 多个图形的move距离不同, duration相同, 使多个图形同时抵达目标位置; 若为false: 多个图形move的距离相同, duration相同, 即可使多个图形达到相同的速度, 以保持图形的相对位置不变.\n */\n isVariableSpeed?: boolean;\n duration?: number;\n easing?: EasingType;\n };\n}\n\nexport interface IScaleToParams extends IAnimationParams {\n scale: { scaleX: number; scaleY: number };\n}\n\nexport interface IScaleInParams extends IAnimationParams {\n ratio?: number;\n scale?: {\n /**\n * @default 1\n */\n ratio?: number;\n duration?: number;\n easing?: EasingType;\n };\n}\n\nexport interface IWipeInParams extends IAnimationParams {\n from?: 'left' | 'right' | 'top' | 'bottom' | 'stroke';\n wipe?: {\n /**\n * @default left\n */\n from?: 'left' | 'right' | 'top' | 'bottom' | 'stroke';\n duration?: number;\n easing?: EasingType;\n };\n}\n\nexport type ITypeWriterParams = IAnimationParams;\nexport interface IComponentAppearPayLoad extends IActionPayload {\n animation: IFadeInParams | IScaleInParams | IWipeInParams;\n}\n\nexport interface IComponentVisibilityAction extends IAction<IComponentAppearPayLoad> {\n action: 'appear' | 'disappear';\n}\n\nexport type AppearOption = Omit<IChartVisibilityAction, 'action' | 'data'>;\n"]}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { EasingType } from '@visactor/vrender';
|
|
2
|
+
export interface IAction<T> {
|
|
3
|
+
action: string;
|
|
4
|
+
startTime?: number;
|
|
5
|
+
payload: T;
|
|
6
|
+
}
|
|
7
|
+
export interface IAnimationParams {
|
|
8
|
+
duration: number;
|
|
9
|
+
easing?: EasingType;
|
|
10
|
+
loop?: number | boolean;
|
|
11
|
+
}
|
|
12
|
+
export interface IActionPayload {
|
|
13
|
+
animation?: IAnimationParams;
|
|
14
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/player/processor/interface/common-action.ts"],"names":[],"mappings":"","file":"common-action.js","sourcesContent":["import type { EasingType } from '@visactor/vrender';\n\nexport interface IAction<T> {\n action: string;\n startTime?: number;\n payload: T;\n}\n\nexport interface IAnimationParams {\n duration: number;\n easing?: EasingType;\n loop?: number | boolean;\n}\n\nexport interface IActionPayload {\n animation?: IAnimationParams;\n}\n"]}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import type { IAction, IActionPayload } from './common-action';
|
|
2
|
+
interface IComponentStylePayLoad extends IActionPayload {
|
|
3
|
+
graphic?: Record<string, any>;
|
|
4
|
+
text?: Record<string, any>;
|
|
5
|
+
}
|
|
6
|
+
export interface IComponentStyleAction extends IAction<IComponentStylePayLoad> {
|
|
7
|
+
action: 'style';
|
|
8
|
+
}
|
|
9
|
+
interface IComponentMoveToPayLoad extends IActionPayload {
|
|
10
|
+
destination: {
|
|
11
|
+
x: number;
|
|
12
|
+
y: number;
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
export interface IComponentMoveToAction extends IAction<IComponentMoveToPayLoad> {
|
|
16
|
+
action: 'moveTo';
|
|
17
|
+
}
|
|
18
|
+
interface IComponentScaleToPayLoad extends IActionPayload {
|
|
19
|
+
scale: {
|
|
20
|
+
scaleX: number;
|
|
21
|
+
scaleY: number;
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
export interface IComponentScaleToAction extends IAction<IComponentScaleToPayLoad> {
|
|
25
|
+
action: 'scaleTo';
|
|
26
|
+
}
|
|
27
|
+
export interface IComponentBouncePayLoad extends IActionPayload {
|
|
28
|
+
customEase?: string;
|
|
29
|
+
dy?: number;
|
|
30
|
+
}
|
|
31
|
+
export interface IComponentBounceAction extends IAction<IComponentScaleToPayLoad> {
|
|
32
|
+
action: 'bounce';
|
|
33
|
+
}
|
|
34
|
+
export {};
|
|
@@ -0,0 +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,12 +1,12 @@
|
|
|
1
1
|
import type { ICharacter } from '../../story/character';
|
|
2
|
-
import type {
|
|
2
|
+
import type { IActionSpec } from '../../story/interface';
|
|
3
3
|
import type { IActionProcessorItem } from './interface/action-processor';
|
|
4
4
|
export declare class ActionProcessorItem implements IActionProcessorItem {
|
|
5
|
-
getStartTime(action:
|
|
6
|
-
getDuration(action:
|
|
7
|
-
getStartTimeAndDuration(action:
|
|
5
|
+
getStartTime(action: IActionSpec): number;
|
|
6
|
+
getDuration(action: IActionSpec): number;
|
|
7
|
+
getStartTimeAndDuration(action: IActionSpec): {
|
|
8
8
|
startTime: number;
|
|
9
9
|
duration: number;
|
|
10
10
|
};
|
|
11
|
-
run(character: ICharacter, actionSpec:
|
|
11
|
+
run(character: ICharacter, actionSpec: IActionSpec): void;
|
|
12
12
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/player/processor/processor-item.ts"],"names":[],"mappings":";;;AAIA,MAAa,mBAAmB;IAC9B,YAAY,CAAC,
|
|
1
|
+
{"version":3,"sources":["../src/player/processor/processor-item.ts"],"names":[],"mappings":";;;AAIA,MAAa,mBAAmB;IAC9B,YAAY,CAAC,MAAmB;QAC9B,OAAO,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC;IACxD,CAAC;IACD,WAAW,CAAC,MAAmB;QAC7B,OAAO,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC;IACvD,CAAC;IAED,uBAAuB,CAAC,MAAmB;QACzC,OAAO;YACL,SAAS,EAAE,CAAC;YACZ,QAAQ,EAAE,CAAC;SACZ,CAAC;IACJ,CAAC;IAED,GAAG,CAAC,SAAqB,EAAE,UAAuB;QAChD,OAAO;IACT,CAAC;CACF;AAlBD,kDAkBC","file":"processor-item.js","sourcesContent":["import type { ICharacter } from '../../story/character';\nimport type { IActionSpec } from '../../story/interface';\nimport type { IActionProcessorItem } from './interface/action-processor';\n\nexport class ActionProcessorItem implements IActionProcessorItem {\n getStartTime(action: IActionSpec): number {\n return this.getStartTimeAndDuration(action).startTime;\n }\n getDuration(action: IActionSpec): number {\n return this.getStartTimeAndDuration(action).duration;\n }\n\n getStartTimeAndDuration(action: IActionSpec): { startTime: number; duration: number } {\n return {\n startTime: 0,\n duration: 0\n };\n }\n\n run(character: ICharacter, actionSpec: IActionSpec): void {\n return;\n }\n}\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ICharacter } from '../../story/character';
|
|
2
|
-
import type {
|
|
2
|
+
import type { IActionSpec, IStory } from '../../story/interface';
|
|
3
3
|
import type { IActionProcessor, IActionProcessorItem } from './interface/action-processor';
|
|
4
4
|
export type IProcessorMap = Record<string, Record<string, IActionProcessorItem>>;
|
|
5
5
|
export interface IProcessorReturnType {
|
|
@@ -15,13 +15,13 @@ export declare class ActionProcessor implements IActionProcessor {
|
|
|
15
15
|
protected _story: IStory;
|
|
16
16
|
constructor(story: IStory, processorMap?: IProcessorMap);
|
|
17
17
|
protected init(story: IStory, processorMap?: IProcessorMap): void;
|
|
18
|
-
getActInfo(characterId: string, action:
|
|
18
|
+
getActInfo(characterId: string, action: IActionSpec): {
|
|
19
19
|
startTime: number;
|
|
20
20
|
duration: number;
|
|
21
21
|
} | null;
|
|
22
22
|
registerProcessor(name: string, processors: Record<string, IActionProcessorItem>): boolean;
|
|
23
23
|
getProcessorList(name: string): Record<string, IActionProcessorItem>;
|
|
24
24
|
getProcessor(name: string, actionName: string): IActionProcessorItem;
|
|
25
|
-
doAction(name: string, actionName: string, character: ICharacter, actionSpec:
|
|
25
|
+
doAction(name: string, actionName: string, character: ICharacter, actionSpec: IActionSpec): void;
|
|
26
26
|
release(): void;
|
|
27
27
|
}
|
|
@@ -21,8 +21,8 @@ class ActionProcessor {
|
|
|
21
21
|
if (!character) return (0, output_1.logger)("error", `获取character失败,请检查 ${characterId} 是否绑定到一个合法的character`),
|
|
22
22
|
null;
|
|
23
23
|
const processor = this.getProcessor(character.spec.type, action.action);
|
|
24
|
-
return processor
|
|
25
|
-
|
|
24
|
+
return processor ? processor.getStartTimeAndDuration(action) : ((0, output_1.logger)("error", `获取processor失败,请检查 ${character.spec.type} 是否支持 ${action.action}`),
|
|
25
|
+
null);
|
|
26
26
|
}
|
|
27
27
|
registerProcessor(name, processors) {
|
|
28
28
|
return !!this._processorMap && (this._processorMap.set(name, processors), !0);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/player/processor/processor.ts"],"names":[],"mappings":";;;AAGA,8CAA2C;AAa3C,MAAa,eAAe;IAM1B,YAAY,KAAa,EAAE,YAA4B;QACrD,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE;YAC9B,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;YAC/B,eAAe,CAAC,SAAS,GAAG,IAAI,CAAC;SAClC;QACD,OAAO,eAAe,CAAC,SAAS,CAAC;IACnC,CAAC;IAES,IAAI,CAAC,KAAa,EAAE,YAA4B;QACxD,IAAI,CAAC,aAAa,GAAG,IAAI,GAAG,EAAE,CAAC;QAC/B,IAAI,YAAY,EAAE;YAChB,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE;gBAC9B,IAAA,eAAM,EAAC,MAAM,EAAE,YAAY,GAAG,aAAa,CAAC,CAAC;gBAC7C,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;aAChD;SACF;QACD,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACtB,CAAC;IAMD,UAAU,CACR,WAAmB,EACnB,
|
|
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,55 +1,56 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { VChartVisibilityActionProcessor } from './chart/vchart';
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
1
|
+
import { ImageVisibilityActionProcessor } from './component/image/image-visibility';
|
|
2
|
+
import { VChartAddActionProcessor, VChartUpdateActionProcessor, VChartVisibilityActionProcessor } from './chart/vchart';
|
|
3
|
+
import { LineVisibilityActionProcessor } from './component/line/line-visibility';
|
|
4
|
+
import { RectVisibilityActionProcessor } from './component/rect/rect-visibility';
|
|
5
|
+
import { ShapeVisibilityActionProcessor } from './component/shape/shape-visibility';
|
|
6
|
+
import { TextVisibilityActionProcessor } from './component/text/text-visibility';
|
|
7
|
+
import { TimelineStateActionProcessor, TimelineVisibilityActionProcessor } from './component/timeline/timeline-visibility';
|
|
8
|
+
import { CommonBounceActionProcessor, CommonMoveToActionProcessor, CommonScaleToActionProcessor, CommonStyleActionProcessor } from './component/common-component';
|
|
8
9
|
export declare const processorChartMap: {
|
|
9
10
|
VChart: {
|
|
10
|
-
[x: string]: VChartVisibilityActionProcessor;
|
|
11
|
+
[x: string]: VChartVisibilityActionProcessor | VChartUpdateActionProcessor | VChartAddActionProcessor | CommonBounceActionProcessor;
|
|
11
12
|
};
|
|
12
13
|
};
|
|
13
14
|
export declare const processorComponentMap: {
|
|
14
15
|
Rect: {
|
|
15
|
-
[x: string]:
|
|
16
|
+
[x: string]: CommonStyleActionProcessor | CommonMoveToActionProcessor | CommonScaleToActionProcessor | CommonBounceActionProcessor | RectVisibilityActionProcessor;
|
|
16
17
|
};
|
|
17
18
|
Line: {
|
|
18
|
-
[x: string]:
|
|
19
|
+
[x: string]: CommonStyleActionProcessor | CommonMoveToActionProcessor | CommonScaleToActionProcessor | CommonBounceActionProcessor | LineVisibilityActionProcessor;
|
|
19
20
|
};
|
|
20
21
|
Shape: {
|
|
21
|
-
[x: string]:
|
|
22
|
+
[x: string]: CommonStyleActionProcessor | CommonMoveToActionProcessor | CommonScaleToActionProcessor | CommonBounceActionProcessor | ShapeVisibilityActionProcessor;
|
|
22
23
|
};
|
|
23
24
|
Image: {
|
|
24
|
-
[x: string]:
|
|
25
|
+
[x: string]: CommonStyleActionProcessor | CommonMoveToActionProcessor | CommonScaleToActionProcessor | CommonBounceActionProcessor | ImageVisibilityActionProcessor;
|
|
25
26
|
};
|
|
26
27
|
Text: {
|
|
27
|
-
[x: string]:
|
|
28
|
+
[x: string]: CommonStyleActionProcessor | CommonMoveToActionProcessor | CommonScaleToActionProcessor | CommonBounceActionProcessor | TextVisibilityActionProcessor;
|
|
28
29
|
};
|
|
29
30
|
Timeline: {
|
|
30
|
-
[x: string]:
|
|
31
|
+
[x: string]: CommonStyleActionProcessor | CommonMoveToActionProcessor | CommonScaleToActionProcessor | CommonBounceActionProcessor | TimelineVisibilityActionProcessor | TimelineStateActionProcessor;
|
|
31
32
|
};
|
|
32
33
|
};
|
|
33
34
|
export declare const processorMap: {
|
|
34
35
|
Rect: {
|
|
35
|
-
[x: string]:
|
|
36
|
+
[x: string]: CommonStyleActionProcessor | CommonMoveToActionProcessor | CommonScaleToActionProcessor | CommonBounceActionProcessor | RectVisibilityActionProcessor;
|
|
36
37
|
};
|
|
37
38
|
Line: {
|
|
38
|
-
[x: string]:
|
|
39
|
+
[x: string]: CommonStyleActionProcessor | CommonMoveToActionProcessor | CommonScaleToActionProcessor | CommonBounceActionProcessor | LineVisibilityActionProcessor;
|
|
39
40
|
};
|
|
40
41
|
Shape: {
|
|
41
|
-
[x: string]:
|
|
42
|
+
[x: string]: CommonStyleActionProcessor | CommonMoveToActionProcessor | CommonScaleToActionProcessor | CommonBounceActionProcessor | ShapeVisibilityActionProcessor;
|
|
42
43
|
};
|
|
43
44
|
Image: {
|
|
44
|
-
[x: string]:
|
|
45
|
+
[x: string]: CommonStyleActionProcessor | CommonMoveToActionProcessor | CommonScaleToActionProcessor | CommonBounceActionProcessor | ImageVisibilityActionProcessor;
|
|
45
46
|
};
|
|
46
47
|
Text: {
|
|
47
|
-
[x: string]:
|
|
48
|
+
[x: string]: CommonStyleActionProcessor | CommonMoveToActionProcessor | CommonScaleToActionProcessor | CommonBounceActionProcessor | TextVisibilityActionProcessor;
|
|
48
49
|
};
|
|
49
50
|
Timeline: {
|
|
50
|
-
[x: string]:
|
|
51
|
+
[x: string]: CommonStyleActionProcessor | CommonMoveToActionProcessor | CommonScaleToActionProcessor | CommonBounceActionProcessor | TimelineVisibilityActionProcessor | TimelineStateActionProcessor;
|
|
51
52
|
};
|
|
52
53
|
VChart: {
|
|
53
|
-
[x: string]: VChartVisibilityActionProcessor;
|
|
54
|
+
[x: string]: VChartVisibilityActionProcessor | VChartUpdateActionProcessor | VChartAddActionProcessor | CommonBounceActionProcessor;
|
|
54
55
|
};
|
|
55
56
|
};
|
|
@@ -4,31 +4,65 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: !0
|
|
5
5
|
}), exports.processorMap = exports.processorComponentMap = exports.processorChartMap = void 0;
|
|
6
6
|
|
|
7
|
-
const action_1 = require("../../constants/action"), character_1 = require("../../constants/character"),
|
|
7
|
+
const action_1 = require("../../constants/action"), character_1 = require("../../constants/character"), image_visibility_1 = require("./component/image/image-visibility"), vchart_1 = require("./chart/vchart"), line_visibility_1 = require("./component/line/line-visibility"), rect_visibility_1 = require("./component/rect/rect-visibility"), shape_visibility_1 = require("./component/shape/shape-visibility"), text_visibility_1 = require("./component/text/text-visibility"), timeline_visibility_1 = require("./component/timeline/timeline-visibility"), common_component_1 = require("./component/common-component");
|
|
8
8
|
|
|
9
9
|
exports.processorChartMap = {
|
|
10
10
|
VChart: {
|
|
11
11
|
[action_1.ACTION_TYPE.APPEAR]: new vchart_1.VChartVisibilityActionProcessor,
|
|
12
|
-
[action_1.ACTION_TYPE.DISAPPEAR]: new vchart_1.VChartVisibilityActionProcessor
|
|
12
|
+
[action_1.ACTION_TYPE.DISAPPEAR]: new vchart_1.VChartVisibilityActionProcessor,
|
|
13
|
+
[action_1.ACTION_TYPE.BOUNCE]: new common_component_1.CommonBounceActionProcessor,
|
|
14
|
+
[action_1.VCHART_ACTION_TYPE.UPDATE]: new vchart_1.VChartUpdateActionProcessor,
|
|
15
|
+
[action_1.VCHART_ACTION_TYPE.ADD]: new vchart_1.VChartAddActionProcessor
|
|
13
16
|
}
|
|
14
17
|
}, exports.processorComponentMap = {
|
|
15
18
|
[character_1.StoryComponentType.RECT]: {
|
|
16
|
-
[action_1.ACTION_TYPE.APPEAR]: new
|
|
19
|
+
[action_1.ACTION_TYPE.APPEAR]: new rect_visibility_1.RectVisibilityActionProcessor,
|
|
20
|
+
[action_1.ACTION_TYPE.DISAPPEAR]: new rect_visibility_1.RectVisibilityActionProcessor,
|
|
21
|
+
[action_1.ACTION_TYPE.STYLE]: new common_component_1.CommonStyleActionProcessor,
|
|
22
|
+
[action_1.ACTION_TYPE.MOVETO]: new common_component_1.CommonMoveToActionProcessor,
|
|
23
|
+
[action_1.ACTION_TYPE.SCALETO]: new common_component_1.CommonScaleToActionProcessor,
|
|
24
|
+
[action_1.ACTION_TYPE.BOUNCE]: new common_component_1.CommonBounceActionProcessor
|
|
17
25
|
},
|
|
18
26
|
[character_1.StoryComponentType.LINE]: {
|
|
19
|
-
[action_1.ACTION_TYPE.APPEAR]: new
|
|
27
|
+
[action_1.ACTION_TYPE.APPEAR]: new line_visibility_1.LineVisibilityActionProcessor,
|
|
28
|
+
[action_1.ACTION_TYPE.DISAPPEAR]: new line_visibility_1.LineVisibilityActionProcessor,
|
|
29
|
+
[action_1.ACTION_TYPE.STYLE]: new common_component_1.CommonStyleActionProcessor,
|
|
30
|
+
[action_1.ACTION_TYPE.MOVETO]: new common_component_1.CommonMoveToActionProcessor,
|
|
31
|
+
[action_1.ACTION_TYPE.SCALETO]: new common_component_1.CommonScaleToActionProcessor,
|
|
32
|
+
[action_1.ACTION_TYPE.BOUNCE]: new common_component_1.CommonBounceActionProcessor
|
|
20
33
|
},
|
|
21
34
|
[character_1.StoryComponentType.SHAPE]: {
|
|
22
|
-
[action_1.ACTION_TYPE.APPEAR]: new
|
|
35
|
+
[action_1.ACTION_TYPE.APPEAR]: new shape_visibility_1.ShapeVisibilityActionProcessor,
|
|
36
|
+
[action_1.ACTION_TYPE.DISAPPEAR]: new shape_visibility_1.ShapeVisibilityActionProcessor,
|
|
37
|
+
[action_1.ACTION_TYPE.STYLE]: new common_component_1.CommonStyleActionProcessor,
|
|
38
|
+
[action_1.ACTION_TYPE.MOVETO]: new common_component_1.CommonMoveToActionProcessor,
|
|
39
|
+
[action_1.ACTION_TYPE.SCALETO]: new common_component_1.CommonScaleToActionProcessor,
|
|
40
|
+
[action_1.ACTION_TYPE.BOUNCE]: new common_component_1.CommonBounceActionProcessor
|
|
23
41
|
},
|
|
24
42
|
[character_1.StoryComponentType.IMAGE]: {
|
|
25
|
-
[action_1.ACTION_TYPE.APPEAR]: new
|
|
43
|
+
[action_1.ACTION_TYPE.APPEAR]: new image_visibility_1.ImageVisibilityActionProcessor,
|
|
44
|
+
[action_1.ACTION_TYPE.DISAPPEAR]: new image_visibility_1.ImageVisibilityActionProcessor,
|
|
45
|
+
[action_1.ACTION_TYPE.STYLE]: new common_component_1.CommonStyleActionProcessor,
|
|
46
|
+
[action_1.ACTION_TYPE.MOVETO]: new common_component_1.CommonMoveToActionProcessor,
|
|
47
|
+
[action_1.ACTION_TYPE.SCALETO]: new common_component_1.CommonScaleToActionProcessor,
|
|
48
|
+
[action_1.ACTION_TYPE.BOUNCE]: new common_component_1.CommonBounceActionProcessor
|
|
26
49
|
},
|
|
27
50
|
[character_1.StoryComponentType.TEXT]: {
|
|
28
|
-
[action_1.ACTION_TYPE.APPEAR]: new
|
|
51
|
+
[action_1.ACTION_TYPE.APPEAR]: new text_visibility_1.TextVisibilityActionProcessor,
|
|
52
|
+
[action_1.ACTION_TYPE.DISAPPEAR]: new text_visibility_1.TextVisibilityActionProcessor,
|
|
53
|
+
[action_1.ACTION_TYPE.STYLE]: new common_component_1.CommonStyleActionProcessor,
|
|
54
|
+
[action_1.ACTION_TYPE.MOVETO]: new common_component_1.CommonMoveToActionProcessor,
|
|
55
|
+
[action_1.ACTION_TYPE.SCALETO]: new common_component_1.CommonScaleToActionProcessor,
|
|
56
|
+
[action_1.ACTION_TYPE.BOUNCE]: new common_component_1.CommonBounceActionProcessor
|
|
29
57
|
},
|
|
30
58
|
[character_1.StoryComponentType.TIMELINE]: {
|
|
31
|
-
[action_1.ACTION_TYPE.APPEAR]: new
|
|
59
|
+
[action_1.ACTION_TYPE.APPEAR]: new timeline_visibility_1.TimelineVisibilityActionProcessor,
|
|
60
|
+
[action_1.ACTION_TYPE.DISAPPEAR]: new timeline_visibility_1.TimelineVisibilityActionProcessor,
|
|
61
|
+
[action_1.ACTION_TYPE.STYLE]: new common_component_1.CommonStyleActionProcessor,
|
|
62
|
+
[action_1.ACTION_TYPE.MOVETO]: new common_component_1.CommonMoveToActionProcessor,
|
|
63
|
+
[action_1.ACTION_TYPE.SCALETO]: new common_component_1.CommonScaleToActionProcessor,
|
|
64
|
+
[action_1.ACTION_TYPE.STATE]: new timeline_visibility_1.TimelineStateActionProcessor,
|
|
65
|
+
[action_1.ACTION_TYPE.BOUNCE]: new common_component_1.CommonBounceActionProcessor
|
|
32
66
|
}
|
|
33
67
|
}, exports.processorMap = Object.assign(Object.assign({}, exports.processorChartMap), exports.processorComponentMap);
|
|
34
68
|
//# sourceMappingURL=processorMap.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/player/processor/processorMap.ts"],"names":[],"mappings":";;;AAAA,
|
|
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,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { IActionSpec, IActSpec, ISceneSpec } from '../story/interface';
|
|
2
2
|
import type { IActionProcessor } from './processor/interface/action-processor';
|
|
3
3
|
import type { IScheduler } from './interface/scheduler';
|
|
4
4
|
interface IActInfo {
|
|
@@ -16,7 +16,7 @@ interface ISceneInfo {
|
|
|
16
16
|
export interface IActionItem {
|
|
17
17
|
startTime: number;
|
|
18
18
|
duration: number;
|
|
19
|
-
actionSpec:
|
|
19
|
+
actionSpec: IActionSpec;
|
|
20
20
|
characterId: string;
|
|
21
21
|
}
|
|
22
22
|
export declare class Scheduler implements IScheduler {
|
|
@@ -24,6 +24,7 @@ export declare class Scheduler implements IScheduler {
|
|
|
24
24
|
protected _actsInfo: IActInfo[];
|
|
25
25
|
protected _runnedAct: Set<IActionItem>;
|
|
26
26
|
constructor(actionProcessor: IActionProcessor);
|
|
27
|
+
init(acts: IActSpec[]): void;
|
|
27
28
|
clearState(): void;
|
|
28
29
|
getTotalTime(): number;
|
|
29
30
|
findActByTime(t: number): {
|
|
@@ -31,7 +32,7 @@ export declare class Scheduler implements IScheduler {
|
|
|
31
32
|
t: number;
|
|
32
33
|
};
|
|
33
34
|
getActionsInRange(fromTime: number, toTime: number): IActionItem[];
|
|
34
|
-
initActs(acts: IActSpec[]): void;
|
|
35
|
+
protected initActs(acts: IActSpec[]): void;
|
|
35
36
|
protected _getActInfo(act: IActSpec, actStartTime: number): IActInfo;
|
|
36
37
|
protected _getSceneInfo(scene: ISceneSpec, sceneStartTime: number): ISceneInfo;
|
|
37
38
|
}
|
package/cjs/player/scheduler.js
CHANGED
|
@@ -14,6 +14,9 @@ class Scheduler {
|
|
|
14
14
|
constructor(actionProcessor) {
|
|
15
15
|
this._actionProcessor = actionProcessor, this._runnedAct = new Set;
|
|
16
16
|
}
|
|
17
|
+
init(acts) {
|
|
18
|
+
this.clearState(), this.initActs(acts);
|
|
19
|
+
}
|
|
17
20
|
clearState() {
|
|
18
21
|
this._runnedAct.clear();
|
|
19
22
|
}
|
|
@@ -42,7 +45,7 @@ class Scheduler {
|
|
|
42
45
|
return toAct.sceneInfoList.forEach((sceneInfo => {
|
|
43
46
|
const {startTime: sceneStartTime} = sceneInfo;
|
|
44
47
|
sceneInfo.actionList.forEach((actionInfo => {
|
|
45
|
-
sceneStartTime + actionInfo.startTime
|
|
48
|
+
sceneStartTime + actionInfo.startTime < formatToTime && (this._runnedAct.has(actionInfo) || (this._runnedAct.add(actionInfo),
|
|
46
49
|
actions.push(actionInfo)));
|
|
47
50
|
}));
|
|
48
51
|
})), actions;
|
|
@@ -58,9 +61,8 @@ class Scheduler {
|
|
|
58
61
|
let sceneStartTime = 0;
|
|
59
62
|
const sceneInfoList = act.scenes.map((scene => {
|
|
60
63
|
var _a;
|
|
61
|
-
const sceneInfo = this._getSceneInfo(scene, sceneStartTime);
|
|
62
|
-
return sceneStartTime = sceneInfo.startTime +
|
|
63
|
-
sceneInfo;
|
|
64
|
+
const sceneInfo = this._getSceneInfo(scene, sceneStartTime + (null !== (_a = scene.delay) && void 0 !== _a ? _a : 0));
|
|
65
|
+
return sceneStartTime = sceneInfo.startTime + sceneInfo.duration, sceneInfo;
|
|
64
66
|
})), startTime = sceneInfoList.reduce(((st, info) => Math.min(info.startTime, st)), 0);
|
|
65
67
|
return {
|
|
66
68
|
startTime: actStartTime,
|
|
@@ -85,7 +87,7 @@ class Scheduler {
|
|
|
85
87
|
}));
|
|
86
88
|
return {
|
|
87
89
|
startTime: sceneStartTime + scene_st,
|
|
88
|
-
duration:
|
|
90
|
+
duration: scene_et - scene_st,
|
|
89
91
|
id: scene.id,
|
|
90
92
|
actionList: actionList
|
|
91
93
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/player/scheduler.ts"],"names":[],"mappings":"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","file":"scheduler.js","sourcesContent":["import { isNumber } from '@visactor/vutils';\nimport type { IAction, IActSpec, ISceneSpec } from '../story/interface';\nimport { IStory } from '../story/interface';\nimport type { IActionProcessor } from './processor/interface/action-processor';\nimport type { IScheduler } from './interface/scheduler';\n\ninterface IActInfo {\n startTime: number;\n duration: number;\n id: string;\n sceneInfoList: ISceneInfo[];\n}\ninterface ISceneInfo {\n startTime: number;\n duration: number;\n id: string;\n actionList: IActionItem[];\n}\n\nexport interface IActionItem {\n startTime: number;\n duration: number;\n actionSpec: IAction;\n characterId: string;\n}\n\nclass ActionItem implements IActionItem {\n startTime: number;\n duration: number;\n actionSpec: IAction;\n characterId: string;\n\n constructor(st: number, d: number, as: IAction, ci: string) {\n this.startTime = st;\n this.duration = d;\n this.actionSpec = as;\n this.characterId = ci;\n }\n}\n\nexport class Scheduler implements IScheduler {\n protected _actionProcessor: IActionProcessor;\n protected _actsInfo: IActInfo[];\n protected _runnedAct: Set<IActionItem>;\n\n constructor(actionProcessor: IActionProcessor) {\n this._actionProcessor = actionProcessor;\n this._runnedAct = new Set();\n }\n\n clearState(): void {\n this._runnedAct.clear();\n }\n\n getTotalTime(): number {\n return this._actsInfo.reduce((t, actInfo) => Math.max(t, actInfo.startTime + actInfo.duration), 0);\n }\n\n findActByTime(t: number) {\n // 规范化t\n const totalTime = this.getTotalTime();\n if (totalTime <= 0) {\n return {\n actInfo: this._actsInfo[0],\n t: 0\n };\n }\n for (let i = 0; i < this._actsInfo.length; i++) {\n const actInfo = this._actsInfo[i];\n if (actInfo.startTime <= t && actInfo.startTime + actInfo.duration > t) {\n return {\n actInfo: actInfo,\n t: t - actInfo.startTime\n };\n }\n }\n return {\n actInfo: this._actsInfo[this._actsInfo.length - 1],\n t: t - this._actsInfo[this._actsInfo.length - 1].startTime\n };\n }\n\n /**\n * 获取某个时间区间的所有Action,toTime实际上是当前时间,fromTime是上一次的时间\n * 避免跳帧\n * @param fromTime 上一次的时间\n * @param toTime 当前时间\n */\n getActionsInRange(fromTime: number, toTime: number) {\n // 先找到目前是在哪个幕中\n const { actInfo: fromAct, t: formatFromTime } = this.findActByTime(fromTime);\n const { actInfo: toAct, t: formatToTime } = this.findActByTime(toTime);\n if (fromAct !== toAct) {\n // TODO 跳帧了\n }\n // const formatFromTime = Scheduler.formatTimeInAction(fromTime, toAct);\n // const formatToTime = Scheduler.formatTimeInAction(toTime, toAct);\n\n const actions: IActionItem[] = [];\n toAct.sceneInfoList.forEach(sceneInfo => {\n const { startTime: sceneStartTime } = sceneInfo;\n sceneInfo.actionList.forEach(actionInfo => {\n const startTime = sceneStartTime + actionInfo.startTime;\n if (startTime <= formatToTime) {\n if (!this._runnedAct.has(actionInfo)) {\n this._runnedAct.add(actionInfo);\n actions.push(actionInfo);\n }\n }\n });\n });\n return actions;\n }\n\n initActs(acts: IActSpec[]) {\n // act与act之间是串联的\n let startTime = 0;\n this._actsInfo = acts.map(act => {\n const actInfo = this._getActInfo(act, startTime);\n startTime += actInfo.duration;\n return actInfo;\n });\n }\n\n protected _getActInfo(act: IActSpec, actStartTime: number): IActInfo {\n let sceneStartTime = 0;\n const sceneInfoList = act.scenes.map(scene => {\n const sceneInfo = this._getSceneInfo(scene, sceneStartTime);\n sceneStartTime = sceneInfo.startTime + (scene.delay ?? 0) + sceneInfo.duration;\n return sceneInfo;\n });\n const startTime = sceneInfoList.reduce((st, info) => Math.min(info.startTime, st), 0);\n const endTime = sceneInfoList.reduce((et, info) => Math.max(info.startTime + info.duration, et), 0);\n return {\n startTime: actStartTime,\n duration: startTime + endTime - startTime,\n id: act.id,\n sceneInfoList\n };\n }\n\n protected _getSceneInfo(scene: ISceneSpec, sceneStartTime: number): ISceneInfo {\n let scene_st = 0;\n let scene_et = 0;\n const actionList: IActionItem[] = [];\n scene.actions.forEach((action, actIdx) => {\n let character_st = Infinity;\n let character_et = -Infinity;\n action.characterActions.forEach(ca => {\n const info = this._actionProcessor.getActInfo(action.characterId, ca);\n if (!info) {\n return;\n }\n const item = new ActionItem(info.startTime, info.duration, ca, action.characterId);\n\n character_st = Math.max(Math.min(item.startTime, character_st), 0);\n character_et = Math.max(item.startTime + item.duration, character_et);\n actionList.push(item);\n });\n\n scene_st = !actIdx ? character_st : Math.max(Math.min(character_st, scene_st), 0);\n scene_et = !actIdx ? character_et : Math.max(character_et, scene_et);\n });\n\n const sceneInfo: ISceneInfo = {\n startTime: sceneStartTime + scene_st,\n duration: sceneStartTime + scene_et - scene_st,\n id: scene.id,\n actionList\n };\n\n return sceneInfo;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/player/scheduler.ts"],"names":[],"mappings":"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","file":"scheduler.js","sourcesContent":["import { isNumber } from '@visactor/vutils';\nimport type { IActionSpec, IActSpec, ISceneSpec } from '../story/interface';\nimport { IStory } from '../story/interface';\nimport type { IActionProcessor } from './processor/interface/action-processor';\nimport type { IScheduler } from './interface/scheduler';\n\ninterface IActInfo {\n startTime: number;\n duration: number;\n id: string;\n sceneInfoList: ISceneInfo[];\n}\ninterface ISceneInfo {\n startTime: number;\n duration: number;\n id: string;\n actionList: IActionItem[];\n}\n\nexport interface IActionItem {\n startTime: number;\n duration: number;\n actionSpec: IActionSpec;\n characterId: string;\n}\n\nclass ActionItem implements IActionItem {\n startTime: number;\n duration: number;\n actionSpec: IActionSpec;\n characterId: string;\n\n constructor(st: number, d: number, as: IActionSpec, ci: string) {\n this.startTime = st;\n this.duration = d;\n this.actionSpec = as;\n this.characterId = ci;\n }\n}\n\nexport class Scheduler implements IScheduler {\n protected _actionProcessor: IActionProcessor;\n protected _actsInfo: IActInfo[];\n protected _runnedAct: Set<IActionItem>;\n\n constructor(actionProcessor: IActionProcessor) {\n this._actionProcessor = actionProcessor;\n this._runnedAct = new Set();\n }\n\n init(acts: IActSpec[]) {\n this.clearState();\n this.initActs(acts);\n }\n\n clearState(): void {\n this._runnedAct.clear();\n }\n\n getTotalTime(): number {\n return this._actsInfo.reduce((t, actInfo) => Math.max(t, actInfo.startTime + actInfo.duration), 0);\n }\n\n findActByTime(t: number) {\n // 规范化t\n const totalTime = this.getTotalTime();\n if (totalTime <= 0) {\n return {\n actInfo: this._actsInfo[0],\n t: 0\n };\n }\n for (let i = 0; i < this._actsInfo.length; i++) {\n const actInfo = this._actsInfo[i];\n if (actInfo.startTime <= t && actInfo.startTime + actInfo.duration > t) {\n return {\n actInfo: actInfo,\n t: t - actInfo.startTime\n };\n }\n }\n return {\n actInfo: this._actsInfo[this._actsInfo.length - 1],\n t: t - this._actsInfo[this._actsInfo.length - 1].startTime\n };\n }\n\n /**\n * 获取某个时间区间的所有Action,toTime实际上是当前时间,fromTime是上一次的时间\n * 避免跳帧\n * @param fromTime 上一次的时间\n * @param toTime 当前时间\n */\n getActionsInRange(fromTime: number, toTime: number) {\n // 先找到目前是在哪个幕中\n const { actInfo: fromAct, t: formatFromTime } = this.findActByTime(fromTime);\n const { actInfo: toAct, t: formatToTime } = this.findActByTime(toTime);\n if (fromAct !== toAct) {\n // TODO 跳帧了\n }\n // const formatFromTime = Scheduler.formatTimeInAction(fromTime, toAct);\n // const formatToTime = Scheduler.formatTimeInAction(toTime, toAct);\n\n const actions: IActionItem[] = [];\n toAct.sceneInfoList.forEach(sceneInfo => {\n const { startTime: sceneStartTime } = sceneInfo;\n sceneInfo.actionList.forEach(actionInfo => {\n const startTime = sceneStartTime + actionInfo.startTime;\n if (startTime < formatToTime) {\n if (!this._runnedAct.has(actionInfo)) {\n this._runnedAct.add(actionInfo);\n actions.push(actionInfo);\n }\n }\n });\n });\n // actions.length && console.log('找到', fromTime, toTime, actions);\n return actions;\n }\n\n protected initActs(acts: IActSpec[]) {\n // act与act之间是串联的\n let startTime = 0;\n this._actsInfo = acts.map(act => {\n const actInfo = this._getActInfo(act, startTime);\n startTime += actInfo.duration;\n return actInfo;\n });\n }\n\n protected _getActInfo(act: IActSpec, actStartTime: number): IActInfo {\n let sceneStartTime = 0;\n const sceneInfoList = act.scenes.map(scene => {\n const sceneInfo = this._getSceneInfo(scene, sceneStartTime + (scene.delay ?? 0));\n sceneStartTime = sceneInfo.startTime + sceneInfo.duration;\n return sceneInfo;\n });\n const startTime = sceneInfoList.reduce((st, info) => Math.min(info.startTime, st), 0);\n const endTime = sceneInfoList.reduce((et, info) => Math.max(info.startTime + info.duration, et), 0);\n return {\n startTime: actStartTime,\n duration: startTime + endTime - startTime,\n id: act.id,\n sceneInfoList\n };\n }\n\n protected _getSceneInfo(scene: ISceneSpec, sceneStartTime: number): ISceneInfo {\n let scene_st = 0;\n let scene_et = 0;\n const actionList: IActionItem[] = [];\n scene.actions.forEach((action, actIdx) => {\n let character_st = Infinity;\n let character_et = -Infinity;\n action.characterActions.forEach(ca => {\n const info = this._actionProcessor.getActInfo(action.characterId, ca);\n if (!info) {\n return;\n }\n const item = new ActionItem(info.startTime, info.duration, ca, action.characterId);\n\n character_st = Math.max(Math.min(item.startTime, character_st), 0);\n character_et = Math.max(item.startTime + item.duration, character_et);\n actionList.push(item);\n });\n\n scene_st = !actIdx ? character_st : Math.max(Math.min(character_st, scene_st), 0);\n scene_et = !actIdx ? character_et : Math.max(character_et, scene_et);\n });\n\n const sceneInfo: ISceneInfo = {\n startTime: sceneStartTime + scene_st,\n duration: scene_et - scene_st,\n id: scene.id,\n actionList\n };\n\n return sceneInfo;\n }\n}\n"]}
|
|
@@ -8,8 +8,10 @@ export declare class StoryCanvas implements IStoryCanvas {
|
|
|
8
8
|
protected _stage: IStage;
|
|
9
9
|
getStage(): IStage;
|
|
10
10
|
getCanvas(): HTMLCanvasElement;
|
|
11
|
-
|
|
12
|
-
|
|
11
|
+
protected _container: HTMLDivElement;
|
|
12
|
+
get container(): HTMLDivElement;
|
|
13
|
+
constructor(story: Story, container: HTMLDivElement);
|
|
14
|
+
protected _initCanvas(): void;
|
|
13
15
|
getEventDetail(event: StoryEvent): {
|
|
14
16
|
character: ICharacter;
|
|
15
17
|
characterInfo: undefined;
|