@visactor/vstory 0.0.4 → 0.0.5-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +13 -0
- package/cjs/constants/character.d.ts +2 -1
- package/cjs/constants/character.js +1 -1
- package/cjs/constants/character.js.map +1 -1
- package/cjs/dsl/story-chart/chart.js +2 -1
- package/cjs/dsl/story-chart/line.js +1 -1
- package/cjs/dsl/story-chart/pie.js +1 -1
- package/cjs/dsl/story-processor/index.js +1 -1
- package/cjs/dsl/types/index.d.ts +1 -0
- package/cjs/dsl/types/index.js.map +1 -1
- package/cjs/edit/const.d.ts +1 -3
- package/cjs/edit/const.js +1 -0
- package/cjs/edit/const.js.map +1 -1
- package/cjs/edit/edit-action.d.ts +9 -0
- package/cjs/edit/edit-action.js +61 -5
- package/cjs/edit/edit-action.js.map +1 -1
- package/cjs/edit/edit-component/base-selection.d.ts +8 -3
- package/cjs/edit/edit-component/base-selection.js +30 -4
- package/cjs/edit/edit-component/base-selection.js.map +1 -1
- package/cjs/edit/edit-component/chart-selection.d.ts +15 -0
- package/cjs/edit/edit-component/chart-selection.js +39 -0
- package/cjs/edit/edit-component/chart-selection.js.map +1 -0
- package/cjs/edit/edit-component/common.d.ts +1 -11
- package/cjs/edit/edit-component/common.js +1 -32
- package/cjs/edit/edit-component/common.js.map +1 -1
- package/cjs/edit/edit-component/edit-control/richtext-control.d.ts +19 -0
- package/cjs/edit/edit-component/edit-control/richtext-control.js +34 -0
- package/cjs/edit/edit-component/edit-control/richtext-control.js.map +1 -0
- package/cjs/edit/edit-component/edit-control/richtext-transform-control.d.ts +2 -3
- package/cjs/edit/edit-component/edit-control/richtext-transform-control.js +30 -32
- package/cjs/edit/edit-component/edit-control/richtext-transform-control.js.map +1 -1
- package/cjs/edit/edit-component/edit-control/transform-control.d.ts +4 -2
- package/cjs/edit/edit-component/edit-control/transform-control.js +10 -6
- package/cjs/edit/edit-component/edit-control/transform-control.js.map +1 -1
- package/cjs/edit/edit-component/edit-control/transform-drag.d.ts +1 -0
- package/cjs/edit/edit-component/edit-control/transform-drag.js +4 -2
- package/cjs/edit/edit-component/edit-control/transform-drag.js.map +1 -1
- package/cjs/edit/edit-component/image-selection.d.ts +1 -2
- package/cjs/edit/edit-component/image-selection.js +2 -5
- package/cjs/edit/edit-component/image-selection.js.map +1 -1
- package/cjs/edit/edit-component/index.js +4 -5
- package/cjs/edit/edit-component/index.js.map +1 -1
- package/cjs/edit/edit-component/mixin/richtext.d.ts +21 -0
- package/cjs/edit/edit-component/mixin/richtext.js +26 -0
- package/cjs/edit/edit-component/mixin/richtext.js.map +1 -0
- package/cjs/edit/edit-component/rect-selection.d.ts +8 -12
- package/cjs/edit/edit-component/rect-selection.js +12 -17
- package/cjs/edit/edit-component/rect-selection.js.map +1 -1
- package/cjs/edit/edit-component/richtext-selection-common.d.ts +19 -0
- package/cjs/edit/edit-component/richtext-selection-common.js +35 -0
- package/cjs/edit/edit-component/richtext-selection-common.js.map +1 -0
- package/cjs/edit/edit-component/richtext-selection.d.ts +0 -2
- package/cjs/edit/edit-component/richtext-selection.js +0 -6
- package/cjs/edit/edit-component/richtext-selection.js.map +1 -1
- package/cjs/edit/edit-component/shape-selection.d.ts +11 -0
- package/cjs/edit/edit-component/shape-selection.js +36 -0
- package/cjs/edit/edit-component/shape-selection.js.map +1 -0
- package/cjs/edit/edit-component/text-selection.d.ts +0 -3
- package/cjs/edit/edit-component/text-selection.js +3 -11
- package/cjs/edit/edit-component/text-selection.js.map +1 -1
- package/cjs/edit/edit.d.ts +5 -2
- package/cjs/edit/edit.js +20 -5
- package/cjs/edit/edit.js.map +1 -1
- package/cjs/edit/interface.d.ts +6 -1
- package/cjs/edit/interface.js +3 -1
- package/cjs/edit/interface.js.map +1 -1
- package/cjs/index.d.ts +3 -0
- package/cjs/index.js +3 -1
- package/cjs/index.js.map +1 -1
- package/cjs/player/player.js +6 -2
- package/cjs/player/player.js.map +1 -1
- package/cjs/player/processor/chart/common/chartAppear.d.ts +2 -2
- package/cjs/player/processor/chart/common/chartAppear.js.map +1 -1
- package/cjs/player/processor/chart/common/commonAppear.d.ts +3 -3
- package/cjs/player/processor/chart/common/commonAppear.js.map +1 -1
- package/cjs/player/processor/chart/component/axisAppear.d.ts +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.map +1 -1
- package/cjs/player/processor/chart/component/labelAppear.d.ts +2 -2
- package/cjs/player/processor/chart/component/labelAppear.js.map +1 -1
- package/cjs/player/processor/chart/rankingBar/rankingBar.d.ts +29 -0
- package/cjs/player/processor/chart/rankingBar/rankingBar.js +54 -0
- package/cjs/player/processor/chart/rankingBar/rankingBar.js.map +1 -0
- 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/transformArcVisibility.d.ts +2 -2
- package/cjs/player/processor/chart/seriesmark/transformArcVisibility.js.map +1 -1
- package/cjs/player/processor/chart/seriesmark/transformLineVisibility.d.ts +2 -2
- package/cjs/player/processor/chart/seriesmark/transformLineVisibility.js.map +1 -1
- package/cjs/player/processor/chart/seriesmark/transformRectVisibility.d.ts +2 -2
- package/cjs/player/processor/chart/seriesmark/transformRectVisibility.js.map +1 -1
- package/cjs/player/processor/chart/seriesmark/transformSymbolVisibility.d.ts +2 -2
- package/cjs/player/processor/chart/seriesmark/transformSymbolVisibility.js.map +1 -1
- package/cjs/player/processor/chart/seriesmark/transformTextVisibility.d.ts +2 -2
- package/cjs/player/processor/chart/seriesmark/transformTextVisibility.js.map +1 -1
- package/cjs/player/processor/chart/vchart.d.ts +35 -24
- package/cjs/player/processor/chart/vchart.js +88 -60
- package/cjs/player/processor/chart/vchart.js.map +1 -1
- package/cjs/player/processor/common/bounce-processor.js +2 -3
- package/cjs/player/processor/common/bounce-processor.js.map +1 -1
- package/cjs/player/processor/component/common-component.js +21 -21
- package/cjs/player/processor/component/common-component.js.map +1 -1
- package/cjs/player/processor/interface/action-processor.d.ts +1 -1
- package/cjs/player/processor/interface/action-processor.js.map +1 -1
- package/cjs/player/processor/interface/common-action.d.ts +3 -2
- package/cjs/player/processor/interface/common-action.js.map +1 -1
- package/cjs/player/processor/interface/style-action.d.ts +4 -5
- package/cjs/player/processor/interface/style-action.js.map +1 -1
- package/cjs/player/processor/processor.js +1 -1
- package/cjs/player/processor/processor.js.map +1 -1
- package/cjs/player/processor/processorMap.d.ts +9 -0
- package/cjs/player/processor/processorMap.js +7 -1
- package/cjs/player/processor/processorMap.js.map +1 -1
- package/cjs/player/scheduler.js +12 -8
- package/cjs/player/scheduler.js.map +1 -1
- package/cjs/scene/scene.js +2 -0
- package/cjs/story/canvas/canvas.js +3 -4
- package/cjs/story/canvas/canvas.js.map +1 -1
- package/cjs/story/character/base/base.d.ts +4 -0
- package/cjs/story/character/base/base.js +1 -1
- package/cjs/story/character/base/base.js.map +1 -1
- package/cjs/story/character/chart/character.d.ts +15 -0
- package/cjs/story/character/chart/character.js +54 -12
- package/cjs/story/character/chart/character.js.map +1 -1
- package/cjs/story/character/chart/characters/rankingBar.d.ts +4 -0
- package/cjs/story/character/chart/characters/rankingBar.js +15 -0
- package/cjs/story/character/chart/characters/rankingBar.js.map +1 -0
- package/cjs/story/character/chart/graphic/vchart-graphic-picker.js +6 -8
- package/cjs/story/character/chart/graphic/vchart-graphic-picker.js.map +1 -1
- package/cjs/story/character/chart/graphic/vchart-graphic-render.js +6 -6
- package/cjs/story/character/chart/graphic/vchart-graphic-render.js.map +1 -1
- package/cjs/story/character/chart/graphic/vchart-graphic.d.ts +12 -2
- package/cjs/story/character/chart/graphic/vchart-graphic.js +77 -13
- package/cjs/story/character/chart/graphic/vchart-graphic.js.map +1 -1
- package/cjs/story/character/chart/runtime/common-spec.d.ts +2 -4
- package/cjs/story/character/chart/runtime/common-spec.js +0 -2
- package/cjs/story/character/chart/runtime/common-spec.js.map +1 -1
- package/cjs/story/character/chart/runtime/component-spec.d.ts +4 -3
- package/cjs/story/character/chart/runtime/component-spec.js +7 -5
- package/cjs/story/character/chart/runtime/component-spec.js.map +1 -1
- package/cjs/story/character/chart/temp/constant.d.ts +1 -0
- package/cjs/story/character/chart/temp/constant.js +2 -1
- package/cjs/story/character/chart/temp/constant.js.map +1 -1
- package/cjs/story/character/chart/temp/templates/bar.d.ts +20 -0
- package/cjs/story/character/chart/temp/templates/bar.js +31 -0
- package/cjs/story/character/chart/temp/templates/bar.js.map +1 -0
- package/cjs/story/character/chart/temp/templates/base-temp.d.ts +6 -4
- package/cjs/story/character/chart/temp/templates/base-temp.js +1 -1
- package/cjs/story/character/chart/temp/templates/base-temp.js.map +1 -1
- package/cjs/story/character/chart/temp/templates/ranking-bar-temp.d.ts +8 -0
- package/cjs/story/character/chart/temp/templates/ranking-bar-temp.js +22 -0
- package/cjs/story/character/chart/temp/templates/ranking-bar-temp.js.map +1 -0
- package/cjs/story/character/component/character-group/component-group-graphic-render.d.ts +2 -2
- package/cjs/story/character/component/character-group/component-group-graphic-render.js +3 -3
- package/cjs/story/character/component/character-group/component-group-graphic-render.js.map +1 -1
- package/cjs/story/character/component/character-group/component-group-graphic.d.ts +1 -1
- package/cjs/story/character/component/character-group/component-group-graphic.js +6 -4
- package/cjs/story/character/component/character-group/component-group-graphic.js.map +1 -1
- package/cjs/story/character/component/character.d.ts +5 -1
- package/cjs/story/character/component/character.js +18 -1
- package/cjs/story/character/component/character.js.map +1 -1
- package/cjs/story/character/component/characters/character-image.d.ts +3 -0
- package/cjs/story/character/component/characters/character-image.js +4 -0
- package/cjs/story/character/component/characters/character-image.js.map +1 -1
- package/cjs/story/character/component/characters/character-rect.d.ts +3 -0
- package/cjs/story/character/component/characters/character-rect.js +4 -0
- package/cjs/story/character/component/characters/character-rect.js.map +1 -1
- package/cjs/story/character/component/characters/character-shape.d.ts +4 -0
- package/cjs/story/character/component/characters/character-shape.js +15 -0
- package/cjs/story/character/component/characters/character-shape.js.map +1 -1
- package/cjs/story/character/component/graphic/graphic-base-text.d.ts +2 -1
- package/cjs/story/character/component/graphic/graphic-base-text.js +7 -2
- package/cjs/story/character/component/graphic/graphic-base-text.js.map +1 -1
- package/cjs/story/character/component/graphic/symbol.d.ts +3 -0
- package/cjs/story/character/component/graphic/symbol.js +17 -3
- package/cjs/story/character/component/graphic/symbol.js.map +1 -1
- package/cjs/story/character/dsl-interface.d.ts +2 -0
- package/cjs/story/character/dsl-interface.js.map +1 -1
- package/cjs/story/character/runtime-interface.d.ts +9 -4
- package/cjs/story/character/runtime-interface.js.map +1 -1
- package/cjs/story/character/visactor/character.d.ts +18 -3
- package/cjs/story/character/visactor/character.js +17 -1
- package/cjs/story/character/visactor/character.js.map +1 -1
- package/cjs/story/character/visactor/interface.js.map +1 -1
- package/cjs/story/index.js +5 -2
- package/cjs/story/index.js.map +1 -1
- package/cjs/story/interface/dsl-interface.d.ts +3 -2
- package/cjs/story/interface/dsl-interface.js.map +1 -1
- package/cjs/story/interface/runtime-interface.d.ts +2 -0
- package/cjs/story/interface/runtime-interface.js.map +1 -1
- package/cjs/story/story.js +3 -2
- package/cjs/story/story.js.map +1 -1
- package/cjs/story/utils/layout.d.ts +2 -1
- package/cjs/story/utils/layout.js +2 -2
- package/cjs/story/utils/layout.js.map +1 -1
- package/cjs/story/utils/vchart-pick.d.ts +115 -0
- package/cjs/story/utils/vchart-pick.js +109 -0
- package/cjs/story/utils/vchart-pick.js.map +1 -0
- package/cjs/util/space.js +2 -1
- package/dist/index.js +23405 -26034
- package/dist/index.min.js +3 -3
- package/es/constants/character.d.ts +2 -1
- package/es/constants/character.js +1 -1
- package/es/constants/character.js.map +1 -1
- package/es/dsl/story-chart/chart.js +2 -1
- package/es/dsl/story-chart/line.js +1 -1
- package/es/dsl/story-chart/pie.js +1 -1
- package/es/dsl/story-processor/index.js +1 -1
- package/es/dsl/types/index.d.ts +1 -0
- package/es/dsl/types/index.js.map +1 -1
- package/es/edit/const.d.ts +1 -3
- package/es/edit/const.js +1 -0
- package/es/edit/const.js.map +1 -1
- package/es/edit/edit-action.d.ts +9 -0
- package/es/edit/edit-action.js +63 -5
- package/es/edit/edit-action.js.map +1 -1
- package/es/edit/edit-component/base-selection.d.ts +8 -3
- package/es/edit/edit-component/base-selection.js +31 -3
- package/es/edit/edit-component/base-selection.js.map +1 -1
- package/es/edit/edit-component/chart-selection.d.ts +15 -0
- package/es/edit/edit-component/chart-selection.js +31 -0
- package/es/edit/edit-component/chart-selection.js.map +1 -0
- package/es/edit/edit-component/common.d.ts +1 -11
- package/es/edit/edit-component/common.js +1 -26
- package/es/edit/edit-component/common.js.map +1 -1
- package/es/edit/edit-component/edit-control/richtext-control.d.ts +19 -0
- package/es/edit/edit-component/edit-control/richtext-control.js +28 -0
- package/es/edit/edit-component/edit-control/richtext-control.js.map +1 -0
- package/es/edit/edit-component/edit-control/richtext-transform-control.d.ts +2 -3
- package/es/edit/edit-component/edit-control/richtext-transform-control.js +29 -34
- package/es/edit/edit-component/edit-control/richtext-transform-control.js.map +1 -1
- package/es/edit/edit-component/edit-control/transform-control.d.ts +4 -2
- package/es/edit/edit-component/edit-control/transform-control.js +10 -6
- package/es/edit/edit-component/edit-control/transform-control.js.map +1 -1
- package/es/edit/edit-component/edit-control/transform-drag.d.ts +1 -0
- package/es/edit/edit-component/edit-control/transform-drag.js +4 -2
- package/es/edit/edit-component/edit-control/transform-drag.js.map +1 -1
- package/es/edit/edit-component/image-selection.d.ts +1 -2
- package/es/edit/edit-component/image-selection.js +2 -5
- package/es/edit/edit-component/image-selection.js.map +1 -1
- package/es/edit/edit-component/index.js +7 -9
- package/es/edit/edit-component/index.js.map +1 -1
- package/es/edit/edit-component/mixin/richtext.d.ts +21 -0
- package/es/edit/edit-component/mixin/richtext.js +18 -0
- package/es/edit/edit-component/mixin/richtext.js.map +1 -0
- package/es/edit/edit-component/rect-selection.d.ts +8 -12
- package/es/edit/edit-component/rect-selection.js +13 -20
- package/es/edit/edit-component/rect-selection.js.map +1 -1
- package/es/edit/edit-component/richtext-selection-common.d.ts +19 -0
- package/es/edit/edit-component/richtext-selection-common.js +33 -0
- package/es/edit/edit-component/richtext-selection-common.js.map +1 -0
- package/es/edit/edit-component/richtext-selection.d.ts +0 -2
- package/es/edit/edit-component/richtext-selection.js +0 -6
- package/es/edit/edit-component/richtext-selection.js.map +1 -1
- package/es/edit/edit-component/shape-selection.d.ts +11 -0
- package/es/edit/edit-component/shape-selection.js +30 -0
- package/es/edit/edit-component/shape-selection.js.map +1 -0
- package/es/edit/edit-component/text-selection.d.ts +0 -3
- package/es/edit/edit-component/text-selection.js +2 -12
- package/es/edit/edit-component/text-selection.js.map +1 -1
- package/es/edit/edit.d.ts +5 -2
- package/es/edit/edit.js +21 -4
- package/es/edit/edit.js.map +1 -1
- package/es/edit/interface.d.ts +6 -1
- package/es/edit/interface.js +3 -1
- package/es/edit/interface.js.map +1 -1
- package/es/index.d.ts +3 -0
- package/es/index.js +7 -1
- package/es/index.js.map +1 -1
- package/es/player/player.js +6 -2
- package/es/player/player.js.map +1 -1
- package/es/player/processor/chart/common/chartAppear.d.ts +2 -2
- package/es/player/processor/chart/common/chartAppear.js.map +1 -1
- package/es/player/processor/chart/common/commonAppear.d.ts +3 -3
- package/es/player/processor/chart/common/commonAppear.js.map +1 -1
- package/es/player/processor/chart/component/axisAppear.d.ts +2 -2
- 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.map +1 -1
- package/es/player/processor/chart/component/labelAppear.d.ts +2 -2
- package/es/player/processor/chart/component/labelAppear.js.map +1 -1
- package/es/player/processor/chart/rankingBar/rankingBar.d.ts +29 -0
- package/es/player/processor/chart/rankingBar/rankingBar.js +50 -0
- package/es/player/processor/chart/rankingBar/rankingBar.js.map +1 -0
- package/es/player/processor/chart/seriesmark/commonTransformMarkAppear.d.ts +3 -3
- package/es/player/processor/chart/seriesmark/commonTransformMarkAppear.js.map +1 -1
- package/es/player/processor/chart/seriesmark/transformArcVisibility.d.ts +2 -2
- package/es/player/processor/chart/seriesmark/transformArcVisibility.js.map +1 -1
- package/es/player/processor/chart/seriesmark/transformLineVisibility.d.ts +2 -2
- package/es/player/processor/chart/seriesmark/transformLineVisibility.js.map +1 -1
- package/es/player/processor/chart/seriesmark/transformRectVisibility.d.ts +2 -2
- package/es/player/processor/chart/seriesmark/transformRectVisibility.js.map +1 -1
- package/es/player/processor/chart/seriesmark/transformSymbolVisibility.d.ts +2 -2
- package/es/player/processor/chart/seriesmark/transformSymbolVisibility.js.map +1 -1
- package/es/player/processor/chart/seriesmark/transformTextVisibility.d.ts +2 -2
- package/es/player/processor/chart/seriesmark/transformTextVisibility.js.map +1 -1
- package/es/player/processor/chart/vchart.d.ts +35 -24
- package/es/player/processor/chart/vchart.js +89 -61
- package/es/player/processor/chart/vchart.js.map +1 -1
- package/es/player/processor/common/bounce-processor.js +2 -3
- package/es/player/processor/common/bounce-processor.js.map +1 -1
- package/es/player/processor/component/common-component.js +21 -21
- package/es/player/processor/component/common-component.js.map +1 -1
- package/es/player/processor/interface/action-processor.d.ts +1 -1
- package/es/player/processor/interface/action-processor.js.map +1 -1
- package/es/player/processor/interface/common-action.d.ts +3 -2
- package/es/player/processor/interface/common-action.js.map +1 -1
- package/es/player/processor/interface/style-action.d.ts +4 -5
- package/es/player/processor/interface/style-action.js.map +1 -1
- package/es/player/processor/processor.js +1 -1
- package/es/player/processor/processor.js.map +1 -1
- package/es/player/processor/processorMap.d.ts +9 -0
- package/es/player/processor/processorMap.js +8 -0
- package/es/player/processor/processorMap.js.map +1 -1
- package/es/player/scheduler.js +12 -8
- package/es/player/scheduler.js.map +1 -1
- package/es/scene/scene.js +2 -0
- package/es/story/canvas/canvas.js +3 -4
- package/es/story/canvas/canvas.js.map +1 -1
- package/es/story/character/base/base.d.ts +4 -0
- package/es/story/character/base/base.js +1 -1
- package/es/story/character/base/base.js.map +1 -1
- package/es/story/character/chart/character.d.ts +15 -0
- package/es/story/character/chart/character.js +57 -14
- package/es/story/character/chart/character.js.map +1 -1
- package/es/story/character/chart/characters/rankingBar.d.ts +4 -0
- package/es/story/character/chart/characters/rankingBar.js +14 -0
- package/es/story/character/chart/characters/rankingBar.js.map +1 -0
- package/es/story/character/chart/graphic/vchart-graphic-picker.js +6 -8
- package/es/story/character/chart/graphic/vchart-graphic-picker.js.map +1 -1
- package/es/story/character/chart/graphic/vchart-graphic-render.js +7 -7
- package/es/story/character/chart/graphic/vchart-graphic-render.js.map +1 -1
- package/es/story/character/chart/graphic/vchart-graphic.d.ts +12 -2
- package/es/story/character/chart/graphic/vchart-graphic.js +80 -12
- package/es/story/character/chart/graphic/vchart-graphic.js.map +1 -1
- package/es/story/character/chart/runtime/common-spec.d.ts +2 -4
- package/es/story/character/chart/runtime/common-spec.js +0 -2
- package/es/story/character/chart/runtime/common-spec.js.map +1 -1
- package/es/story/character/chart/runtime/component-spec.d.ts +4 -3
- package/es/story/character/chart/runtime/component-spec.js +7 -5
- package/es/story/character/chart/runtime/component-spec.js.map +1 -1
- package/es/story/character/chart/temp/constant.d.ts +1 -0
- package/es/story/character/chart/temp/constant.js +2 -1
- package/es/story/character/chart/temp/constant.js.map +1 -1
- package/es/story/character/chart/temp/templates/bar.d.ts +20 -0
- package/es/story/character/chart/temp/templates/bar.js +27 -0
- package/es/story/character/chart/temp/templates/bar.js.map +1 -0
- package/es/story/character/chart/temp/templates/base-temp.d.ts +6 -4
- package/es/story/character/chart/temp/templates/base-temp.js +1 -1
- package/es/story/character/chart/temp/templates/base-temp.js.map +1 -1
- package/es/story/character/chart/temp/templates/ranking-bar-temp.d.ts +8 -0
- package/es/story/character/chart/temp/templates/ranking-bar-temp.js +18 -0
- package/es/story/character/chart/temp/templates/ranking-bar-temp.js.map +1 -0
- package/es/story/character/component/character-group/component-group-graphic-render.d.ts +2 -2
- package/es/story/character/component/character-group/component-group-graphic-render.js +4 -4
- package/es/story/character/component/character-group/component-group-graphic-render.js.map +1 -1
- package/es/story/character/component/character-group/component-group-graphic.d.ts +1 -1
- package/es/story/character/component/character-group/component-group-graphic.js +5 -3
- package/es/story/character/component/character-group/component-group-graphic.js.map +1 -1
- package/es/story/character/component/character.d.ts +5 -1
- package/es/story/character/component/character.js +18 -1
- package/es/story/character/component/character.js.map +1 -1
- package/es/story/character/component/characters/character-image.d.ts +3 -0
- package/es/story/character/component/characters/character-image.js +4 -0
- package/es/story/character/component/characters/character-image.js.map +1 -1
- package/es/story/character/component/characters/character-rect.d.ts +3 -0
- package/es/story/character/component/characters/character-rect.js +4 -0
- package/es/story/character/component/characters/character-rect.js.map +1 -1
- package/es/story/character/component/characters/character-shape.d.ts +4 -0
- package/es/story/character/component/characters/character-shape.js +15 -0
- package/es/story/character/component/characters/character-shape.js.map +1 -1
- package/es/story/character/component/graphic/graphic-base-text.d.ts +2 -1
- package/es/story/character/component/graphic/graphic-base-text.js +7 -2
- package/es/story/character/component/graphic/graphic-base-text.js.map +1 -1
- package/es/story/character/component/graphic/symbol.d.ts +3 -0
- package/es/story/character/component/graphic/symbol.js +17 -2
- package/es/story/character/component/graphic/symbol.js.map +1 -1
- package/es/story/character/dsl-interface.d.ts +2 -0
- package/es/story/character/dsl-interface.js.map +1 -1
- package/es/story/character/runtime-interface.d.ts +9 -4
- package/es/story/character/runtime-interface.js.map +1 -1
- package/es/story/character/visactor/character.d.ts +18 -3
- package/es/story/character/visactor/character.js +18 -0
- package/es/story/character/visactor/character.js.map +1 -1
- package/es/story/character/visactor/interface.js.map +1 -1
- package/es/story/index.js +7 -3
- package/es/story/index.js.map +1 -1
- package/es/story/interface/dsl-interface.d.ts +3 -2
- package/es/story/interface/dsl-interface.js.map +1 -1
- package/es/story/interface/runtime-interface.d.ts +2 -0
- package/es/story/interface/runtime-interface.js.map +1 -1
- package/es/story/story.js +3 -2
- package/es/story/story.js.map +1 -1
- package/es/story/utils/layout.d.ts +2 -1
- package/es/story/utils/layout.js +2 -2
- package/es/story/utils/layout.js.map +1 -1
- package/es/story/utils/vchart-pick.d.ts +115 -0
- package/es/story/utils/vchart-pick.js +115 -0
- package/es/story/utils/vchart-pick.js.map +1 -0
- package/es/util/space.js +2 -1
- package/package.json +8 -7
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/player/processor/component/common-component.ts"],"names":[],"mappings":"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","file":"common-component.js","sourcesContent":["import type { ICharacter } from '../../../story/character';\nimport type { IActionSpec } from '../../../story/interface';\nimport { ActionProcessorItem } from '../processor-item';\nimport type { EasingType } from '@visactor/vrender-core';\nimport type {\n IComponentBounceAction,\n IComponentMoveToAction,\n IComponentScaleToAction,\n IComponentStyleAction\n} from '../interface/style-action';\nimport { fadeIn, fadeOut } from '../common/fade-processor';\nimport { scaleIn, scaleOut, scaleTo } from '../common/scale-processor';\nimport { wipeIn, wipeOut } from '../common/wipe-processor';\nimport { moveIn, moveOut, moveTo } from '../common/move-processor';\nimport { getCharacterGraphic } from '../common/common';\nimport { array } from '@visactor/vutils';\nimport { bounce } from '../common/bounce-processor';\n\nexport class CommonVisibilityActionProcessor extends ActionProcessorItem {\n name: string = 'appearOrDisAppear';\n\n constructor() {\n super();\n }\n\n getStartTimeAndDuration(action: IActionSpec): { startTime: number; duration: number } {\n const { startTime: globalStartTime = 0 } = action;\n const { startTime = 0, duration = 0 } = action.payload?.animation ?? ({} as any);\n\n const st = globalStartTime + startTime;\n const d = duration;\n return {\n startTime: st,\n duration: d\n };\n }\n\n run(character: ICharacter, actionSpec: IActionSpec): void {\n const { animation } = actionSpec.payload ?? {};\n const { effect = 'fade' } = animation ?? ({} as any);\n array(effect).forEach(_effect => {\n const effectFunc = this.getEffectFunc(_effect, actionSpec.action === 'appear');\n if (effectFunc) {\n effectFunc(character, animation as any, _effect);\n }\n });\n }\n\n getEffectFunc(effect: string, appear: boolean) {\n switch (effect) {\n case 'scale':\n return appear ? scaleIn : scaleOut;\n case 'wipe':\n return appear ? wipeIn : wipeOut;\n case 'fade':\n return appear ? fadeIn : fadeOut;\n case 'move':\n return appear ? moveIn : moveOut;\n }\n return fadeIn;\n }\n}\n\nexport class CommonStyleActionProcessor extends ActionProcessorItem {\n name: 'style';\n\n constructor() {\n super();\n }\n\n getStartTimeAndDuration(action: IActionSpec): { startTime: number; duration: number } {\n const { startTime: globalStartTime = 0 } = action;\n const { startTime = 0, duration = 0 } = action.payload?.animation ?? ({} as any);\n\n const st = globalStartTime + startTime;\n const d = duration;\n return {\n startTime: st,\n duration: d\n };\n }\n\n run(character: ICharacter, actionSpec: IComponentStyleAction): void {\n const { animation, graphic: graphicStyle, text: textStyle } = actionSpec.payload ?? {};\n\n const { duration, easing } = animation;\n const graphic = getCharacterGraphic(character)[0];\n const text = getCharacterGraphic(character)[1];\n\n if (graphic && graphicStyle) {\n graphic.animate().to(graphicStyle, duration, easing as EasingType);\n }\n if (text && textStyle) {\n graphic.animate().to(textStyle, duration, easing as EasingType);\n }\n }\n}\nexport class CommonMoveToActionProcessor extends ActionProcessorItem {\n name: 'moveTo';\n\n constructor() {\n super();\n }\n\n getStartTimeAndDuration(action: IActionSpec): { startTime: number; duration: number } {\n const { startTime: globalStartTime = 0 } = action;\n const { startTime = 0, duration = 0 } = action.payload?.animation ?? ({} as any);\n\n const st = globalStartTime + startTime;\n const d = duration;\n return {\n startTime: st,\n duration: d\n };\n }\n\n run(character: ICharacter, actionSpec: IComponentMoveToAction): void {\n const { animation, destination } = actionSpec.payload ?? {};\n\n moveTo(character, animation as any, destination);\n }\n}\nexport class CommonScaleToActionProcessor extends ActionProcessorItem {\n name: 'scaleTo';\n\n constructor() {\n super();\n }\n\n getStartTimeAndDuration(action: IActionSpec): { startTime: number; duration: number } {\n const { startTime: globalStartTime = 0 } = action;\n const { startTime = 0, duration = 0 } = action.payload?.animation ?? ({} as any);\n\n const st = globalStartTime + startTime;\n const d = duration;\n return {\n startTime: st,\n duration: d\n };\n }\n\n run(character: ICharacter, actionSpec: IComponentScaleToAction): void {\n const { animation, scale } = actionSpec.payload ?? {};\n\n scaleTo(character, animation as any, scale);\n }\n}\n\nexport class CommonBounceActionProcessor extends ActionProcessorItem {\n name: 'bounce';\n\n constructor() {\n super();\n }\n\n getStartTimeAndDuration(action: IActionSpec): { startTime: number; duration: number } {\n const { startTime: globalStartTime = 0 } = action;\n const { startTime = 0, duration = 0 } = action.payload?.animation ?? ({} as any);\n\n const st = globalStartTime + startTime;\n const d = duration;\n return {\n startTime: st,\n duration: d\n };\n }\n\n run(character: ICharacter, actionSpec: IComponentBounceAction): void {\n const { animation } = actionSpec.payload ?? {};\n bounce(character, animation as any, actionSpec.payload);\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/player/processor/component/common-component.ts"],"names":[],"mappings":"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","file":"common-component.js","sourcesContent":["import type { ICharacter } from '../../../story/character';\nimport type { IActionSpec } from '../../../story/interface';\nimport { ActionProcessorItem } from '../processor-item';\nimport type { EasingType } from '@visactor/vrender-core';\nimport type {\n IComponentBounceAction,\n IComponentMoveToAction,\n IComponentMoveToPayLoad,\n IComponentScaleToAction,\n IComponentScaleToPayLoad,\n IComponentStyleAction,\n IComponentStylePayLoad\n} from '../interface/style-action';\nimport { fadeIn, fadeOut } from '../common/fade-processor';\nimport { scaleIn, scaleOut, scaleTo } from '../common/scale-processor';\nimport { wipeIn, wipeOut } from '../common/wipe-processor';\nimport { moveIn, moveOut, moveTo } from '../common/move-processor';\nimport { getCharacterGraphic } from '../common/common';\nimport { array } from '@visactor/vutils';\nimport { bounce } from '../common/bounce-processor';\n\nfunction getPayload(action: IActionSpec) {\n return (Array.isArray(action.payload) ? action.payload[0] : action.payload) ?? {};\n}\n\nexport class CommonVisibilityActionProcessor extends ActionProcessorItem {\n name: string = 'appearOrDisAppear';\n\n constructor() {\n super();\n }\n\n getStartTimeAndDuration(action: IActionSpec): { startTime: number; duration: number } {\n const { startTime: globalStartTime = 0 } = action;\n const { startTime = 0, duration = 0 } = getPayload(action).animation ?? ({} as any);\n\n const st = globalStartTime + startTime;\n const d = duration;\n return {\n startTime: st,\n duration: d\n };\n }\n\n run(character: ICharacter, actionSpec: IActionSpec): void {\n const { animation } = getPayload(actionSpec);\n const { effect = 'fade' } = animation ?? ({} as any);\n array(effect).forEach(_effect => {\n const effectFunc = this.getEffectFunc(_effect, actionSpec.action === 'appear');\n if (effectFunc) {\n effectFunc(character, animation as any, _effect);\n }\n });\n }\n\n getEffectFunc(effect: string, appear: boolean) {\n switch (effect) {\n case 'scale':\n return appear ? scaleIn : scaleOut;\n case 'wipe':\n return appear ? wipeIn : wipeOut;\n case 'fade':\n return appear ? fadeIn : fadeOut;\n case 'move':\n return appear ? moveIn : moveOut;\n }\n return fadeIn;\n }\n}\n\nexport class CommonStyleActionProcessor extends ActionProcessorItem {\n name: 'style';\n\n constructor() {\n super();\n }\n\n getStartTimeAndDuration(action: IActionSpec): { startTime: number; duration: number } {\n const { startTime: globalStartTime = 0 } = action;\n const { startTime = 0, duration = 0 } = getPayload(action).animation ?? ({} as any);\n\n const st = globalStartTime + startTime;\n const d = duration;\n return {\n startTime: st,\n duration: d\n };\n }\n\n run(character: ICharacter, actionSpec: IComponentStyleAction): void {\n const { animation, graphic: graphicStyle, text: textStyle } = getPayload(actionSpec) as IComponentStylePayLoad;\n\n const { duration, easing } = animation;\n const graphic = getCharacterGraphic(character)[0];\n const text = getCharacterGraphic(character)[1];\n\n if (graphic && graphicStyle) {\n graphic.animate().to(graphicStyle, duration, easing as EasingType);\n }\n if (text && textStyle) {\n graphic.animate().to(textStyle, duration, easing as EasingType);\n }\n }\n}\nexport class CommonMoveToActionProcessor extends ActionProcessorItem {\n name: 'moveTo';\n\n constructor() {\n super();\n }\n\n getStartTimeAndDuration(action: IActionSpec): { startTime: number; duration: number } {\n const { startTime: globalStartTime = 0 } = action;\n const { startTime = 0, duration = 0 } = getPayload(action).animation ?? ({} as any);\n\n const st = globalStartTime + startTime;\n const d = duration;\n return {\n startTime: st,\n duration: d\n };\n }\n\n run(character: ICharacter, actionSpec: IComponentMoveToAction): void {\n const { animation, destination } = getPayload(actionSpec) as IComponentMoveToPayLoad;\n\n moveTo(character, animation as any, destination);\n }\n}\nexport class CommonScaleToActionProcessor extends ActionProcessorItem {\n name: 'scaleTo';\n\n constructor() {\n super();\n }\n\n getStartTimeAndDuration(action: IActionSpec): { startTime: number; duration: number } {\n const { startTime: globalStartTime = 0 } = action;\n const { startTime = 0, duration = 0 } = getPayload(action).animation ?? ({} as any);\n\n const st = globalStartTime + startTime;\n const d = duration;\n return {\n startTime: st,\n duration: d\n };\n }\n\n run(character: ICharacter, actionSpec: IComponentScaleToAction): void {\n const { animation, scale } = getPayload(actionSpec) as IComponentScaleToPayLoad;\n\n scaleTo(character, animation as any, scale);\n }\n}\n\nexport class CommonBounceActionProcessor extends ActionProcessorItem {\n name: 'bounce';\n\n constructor() {\n super();\n }\n\n getStartTimeAndDuration(action: IActionSpec): { startTime: number; duration: number } {\n const { startTime: globalStartTime = 0 } = action;\n const { startTime = 0, duration = 0 } = getPayload(action).animation ?? ({} as any);\n\n const st = globalStartTime + startTime;\n const d = duration;\n return {\n startTime: st,\n duration: d\n };\n }\n\n run(character: ICharacter, actionSpec: IComponentBounceAction): void {\n const payload = getPayload(actionSpec);\n const { animation } = payload;\n bounce(character, animation as any, payload);\n }\n}\n"]}
|
|
@@ -3,7 +3,7 @@ import type { IActionSpec } from '../../../story/interface';
|
|
|
3
3
|
export interface IActionProcessorItem {
|
|
4
4
|
getStartTime: (action: IActionSpec) => number;
|
|
5
5
|
getDuration: (action: IActionSpec) => number;
|
|
6
|
-
getStartTimeAndDuration: (action: IActionSpec) => {
|
|
6
|
+
getStartTimeAndDuration: (action: IActionSpec, character?: ICharacter) => {
|
|
7
7
|
startTime: number;
|
|
8
8
|
duration: number;
|
|
9
9
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/player/processor/interface/action-processor.ts"],"names":[],"mappings":"","file":"action-processor.js","sourcesContent":["import type { ICharacter } from '../../../story/character';\nimport type { IActionSpec } from '../../../story/interface';\n\nexport interface IActionProcessorItem {\n getStartTime: (action: IActionSpec) => number;\n getDuration: (action: IActionSpec) => number;\n getStartTimeAndDuration: (action: IActionSpec) => { startTime: number; duration: number };\n\n run: (...actionParams: any) => any;\n}\n\nexport interface IActionProcessor {\n getActInfo: (\n characterId: string,\n action: IActionSpec\n ) => {\n startTime: number;\n duration: number;\n } | null;\n\n doAction: (name: string, actionName: string, character: ICharacter, actionSpec: IActionSpec) => void;\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/player/processor/interface/action-processor.ts"],"names":[],"mappings":"","file":"action-processor.js","sourcesContent":["import type { ICharacter } from '../../../story/character';\nimport type { IActionSpec } from '../../../story/interface';\n\nexport interface IActionProcessorItem {\n getStartTime: (action: IActionSpec) => number;\n getDuration: (action: IActionSpec) => number;\n getStartTimeAndDuration: (action: IActionSpec, character?: ICharacter) => { startTime: number; duration: number };\n\n run: (...actionParams: any) => any;\n}\n\nexport interface IActionProcessor {\n getActInfo: (\n characterId: string,\n action: IActionSpec\n ) => {\n startTime: number;\n duration: number;\n } | null;\n\n doAction: (name: string, actionName: string, character: ICharacter, actionSpec: IActionSpec) => void;\n}\n"]}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import type { EasingType } from '@visactor/vrender';
|
|
2
|
-
export interface IAction<T> {
|
|
2
|
+
export interface IAction<T extends IActionPayload> {
|
|
3
3
|
action: string;
|
|
4
4
|
startTime?: number;
|
|
5
|
-
payload
|
|
5
|
+
payload?: T | T[];
|
|
6
6
|
}
|
|
7
7
|
export interface IAnimationParams {
|
|
8
8
|
duration: number;
|
|
@@ -11,4 +11,5 @@ export interface IAnimationParams {
|
|
|
11
11
|
}
|
|
12
12
|
export interface IActionPayload {
|
|
13
13
|
animation?: IAnimationParams;
|
|
14
|
+
selector?: string;
|
|
14
15
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/player/processor/interface/common-action.ts"],"names":[],"mappings":"","file":"common-action.js","sourcesContent":["import type { EasingType } from '@visactor/vrender';\n\nexport interface IAction<T> {\n action: string;\n startTime?: number;\n payload
|
|
1
|
+
{"version":3,"sources":["../src/player/processor/interface/common-action.ts"],"names":[],"mappings":"","file":"common-action.js","sourcesContent":["import type { EasingType } from '@visactor/vrender';\n\nexport interface IAction<T extends IActionPayload> {\n action: string;\n startTime?: number;\n payload?: T | T[];\n}\n\nexport interface IAnimationParams {\n duration: number;\n easing?: EasingType;\n loop?: number | boolean;\n}\n\nexport interface IActionPayload {\n animation?: IAnimationParams;\n selector?: string;\n}\n"]}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import type { IAction, IActionPayload } from './common-action';
|
|
2
|
-
interface IComponentStylePayLoad extends IActionPayload {
|
|
2
|
+
export interface IComponentStylePayLoad extends IActionPayload {
|
|
3
3
|
graphic?: Record<string, any>;
|
|
4
4
|
text?: Record<string, any>;
|
|
5
5
|
}
|
|
6
6
|
export interface IComponentStyleAction extends IAction<IComponentStylePayLoad> {
|
|
7
7
|
action: 'style';
|
|
8
8
|
}
|
|
9
|
-
interface IComponentMoveToPayLoad extends IActionPayload {
|
|
9
|
+
export interface IComponentMoveToPayLoad extends IActionPayload {
|
|
10
10
|
destination: {
|
|
11
11
|
x: number;
|
|
12
12
|
y: number;
|
|
@@ -15,7 +15,7 @@ interface IComponentMoveToPayLoad extends IActionPayload {
|
|
|
15
15
|
export interface IComponentMoveToAction extends IAction<IComponentMoveToPayLoad> {
|
|
16
16
|
action: 'moveTo';
|
|
17
17
|
}
|
|
18
|
-
interface IComponentScaleToPayLoad extends IActionPayload {
|
|
18
|
+
export interface IComponentScaleToPayLoad extends IActionPayload {
|
|
19
19
|
scale: {
|
|
20
20
|
scaleX: number;
|
|
21
21
|
scaleY: number;
|
|
@@ -28,7 +28,6 @@ export interface IComponentBouncePayLoad extends IActionPayload {
|
|
|
28
28
|
customEase?: string;
|
|
29
29
|
dy?: number;
|
|
30
30
|
}
|
|
31
|
-
export interface IComponentBounceAction extends IAction<
|
|
31
|
+
export interface IComponentBounceAction extends IAction<IComponentBouncePayLoad> {
|
|
32
32
|
action: 'bounce';
|
|
33
33
|
}
|
|
34
|
-
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/player/processor/interface/style-action.ts"],"names":[],"mappings":"","file":"style-action.js","sourcesContent":["import type { IAction, IActionPayload } from './common-action';\n\
|
|
1
|
+
{"version":3,"sources":["../src/player/processor/interface/style-action.ts"],"names":[],"mappings":"","file":"style-action.js","sourcesContent":["import type { IAction, IActionPayload } from './common-action';\n\nexport interface IComponentStylePayLoad extends IActionPayload {\n graphic?: Record<string, any>;\n text?: Record<string, any>;\n}\n\nexport interface IComponentStyleAction extends IAction<IComponentStylePayLoad> {\n action: 'style';\n}\n\nexport interface IComponentMoveToPayLoad extends IActionPayload {\n destination: { x: number; y: number };\n}\nexport interface IComponentMoveToAction extends IAction<IComponentMoveToPayLoad> {\n action: 'moveTo';\n}\nexport interface IComponentScaleToPayLoad extends IActionPayload {\n scale: { scaleX: number; scaleY: number };\n}\nexport interface IComponentScaleToAction extends IAction<IComponentScaleToPayLoad> {\n action: 'scaleTo';\n}\n\nexport interface IComponentBouncePayLoad extends IActionPayload {\n /**\n * 自定义弹跳 easing path string\n */\n customEase?: string;\n /**\n * 跳跃高度\n */\n dy?: number;\n}\n\nexport interface IComponentBounceAction extends IAction<IComponentBouncePayLoad> {\n action: 'bounce';\n}\n"]}
|
|
@@ -21,7 +21,7 @@ class ActionProcessor {
|
|
|
21
21
|
if (!character) return (0, output_1.logger)("error", `获取character失败,请检查 ${characterId} 是否绑定到一个合法的character`),
|
|
22
22
|
null;
|
|
23
23
|
const processor = this.getProcessor(character.spec.type, action.action);
|
|
24
|
-
return processor ? processor.getStartTimeAndDuration(action) : ((0, output_1.logger)("error", `获取processor失败,请检查 ${character.spec.type} 是否支持 ${action.action}`),
|
|
24
|
+
return processor ? processor.getStartTimeAndDuration(action, character) : ((0, output_1.logger)("error", `获取processor失败,请检查 ${character.spec.type} 是否支持 ${action.action}`),
|
|
25
25
|
null);
|
|
26
26
|
}
|
|
27
27
|
registerProcessor(name, processors) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/player/processor/processor.ts"],"names":[],"mappings":";;;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,MAAmB;QAKnB,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;QAC7D,IAAI,CAAC,SAAS,EAAE;YACd,IAAA,eAAM,EAAC,OAAO,EAAE,qBAAqB,WAAW,sBAAsB,CAAC,CAAC;YACxE,OAAO,IAAI,CAAC;SACb;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QAExE,IAAI,CAAC,SAAS,EAAE;YACd,IAAA,eAAM,EAAC,OAAO,EAAE,qBAAqB,SAAS,CAAC,IAAI,CAAC,IAAI,SAAS,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;YAClF,OAAO,IAAI,CAAC;SACb;QACD,OAAO,SAAS,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC;
|
|
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,MAAmB;QAKnB,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;QAC7D,IAAI,CAAC,SAAS,EAAE;YACd,IAAA,eAAM,EAAC,OAAO,EAAE,qBAAqB,WAAW,sBAAsB,CAAC,CAAC;YACxE,OAAO,IAAI,CAAC;SACb;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QAExE,IAAI,CAAC,SAAS,EAAE;YACd,IAAA,eAAM,EAAC,OAAO,EAAE,qBAAqB,SAAS,CAAC,IAAI,CAAC,IAAI,SAAS,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;YAClF,OAAO,IAAI,CAAC;SACb;QACD,OAAO,SAAS,CAAC,uBAAuB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAK9D,CAAC;IAQD,iBAAiB,CAAC,IAAY,EAAE,UAAgD;QAC9E,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;YACvB,OAAO,KAAK,CAAC;SACd;QAED,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QACzC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,gBAAgB,CAAC,IAAY;QAC3B,OAAO,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC5D,CAAC;IAED,YAAY,CAAC,IAAY,EAAE,UAAkB;;QAC3C,OAAO,IAAI,CAAC,aAAa,KAAI,MAAA,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,0CAAG,UAAU,CAAC,CAAA,CAAC;IAC1E,CAAC;IASD,QAAQ,CAAC,IAAY,EAAE,UAAkB,EAAE,SAAqB,EAAE,UAAuB;QACvF,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QACtD,IAAI,SAAS,EAAE;YAGb,IAAA,eAAM,EAAC,MAAM,EAAE,qBAAqB,UAAU,kBAAkB,IAAI,EAAE,CAAC,CAAC;YACxE,MAAM,YAAY,GAAG,SAAS,CAAC,GAAG,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;YAE1D,IAAA,eAAM,EAAC,MAAM,EAAE,kBAAkB,EAAE,YAAY,CAAC,CAAC;YACjD,OAAO,YAAY,CAAC;SAKrB;QAED,IAAA,eAAM,EAAC,OAAO,EAAE,kCAAkC,IAAI,eAAe,UAAU,GAAG,CAAC,CAAC;QACpF,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO;QACL,eAAe,CAAC,SAAS,GAAG,IAAI,CAAC;QAEjC,IAAI,IAAI,CAAC,aAAa,EAAE;YACtB,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;YAC3B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;SAC3B;IACH,CAAC;;AAhHH,0CAiHC;AA9GgB,yBAAS,GAAoB,IAAI,CAAC","file":"processor.js","sourcesContent":["import type { ICharacter } from '../../story/character';\nimport type { IActionSpec, IStory } from '../../story/interface';\nimport { IActionsLink } from '../../story/interface';\nimport { logger } from '../../util/output';\nimport type { IActionProcessor, IActionProcessorItem } from './interface/action-processor';\n\nexport type IProcessorMap = Record<string, Record<string, IActionProcessorItem>>;\n\nexport interface IProcessorReturnType {\n totalTime: number;\n revertActionParams?: {\n action: string;\n payload: Record<string, any>;\n };\n}\n\nexport class ActionProcessor implements IActionProcessor {\n protected _processorMap: Map<string, Record<string, IActionProcessorItem>>;\n\n private static _instance: ActionProcessor = null;\n protected _story: IStory;\n\n constructor(story: IStory, processorMap?: IProcessorMap) {\n if (!ActionProcessor._instance) {\n this.init(story, processorMap);\n ActionProcessor._instance = this;\n }\n return ActionProcessor._instance;\n }\n\n protected init(story: IStory, processorMap?: IProcessorMap) {\n this._processorMap = new Map();\n if (processorMap) {\n for (const key in processorMap) {\n logger('info', `register ${key} processor.`); // TODO: remove log\n this.registerProcessor(key, processorMap[key]);\n }\n }\n this._story = story;\n }\n\n /**\n * 添加Action,根据Action中的characterId添加对应的characterActions实例\n * @param action\n */\n getActInfo(\n characterId: string,\n action: IActionSpec\n ): {\n startTime: number;\n duration: number;\n } | null {\n const character = this._story.getCharactersById(characterId);\n if (!character) {\n logger('error', `获取character失败,请检查 ${characterId} 是否绑定到一个合法的character`);\n return null;\n }\n\n const processor = this.getProcessor(character.spec.type, action.action);\n\n if (!processor) {\n logger('error', `获取processor失败,请检查 ${character.spec.type} 是否支持 ${action.action}`);\n return null;\n }\n return processor.getStartTimeAndDuration(action, character);\n\n // characterActions.forEach(action => {\n // const processor = this.getProcessor(character.spec.type, action.action);\n // });\n }\n\n /**\n *\n * @param name 操作对象名称\n * @param processors 操作对象支持的 processor\n * @returns boolean 注册是否成功\n */\n registerProcessor(name: string, processors: Record<string, IActionProcessorItem>) {\n if (!this._processorMap) {\n return false;\n }\n // 重复注册,目前直接替代\n this._processorMap.set(name, processors);\n return true;\n }\n\n getProcessorList(name: string) {\n return this._processorMap && this._processorMap.get(name);\n }\n\n getProcessor(name: string, actionName: string) {\n return this._processorMap && this._processorMap.get(name)?.[actionName];\n }\n\n /**\n * Execute action\n * @param name\n * @param actionName\n * @param actionParams\n * @returns IProcessorReturnType\n */\n doAction(name: string, actionName: string, character: ICharacter, actionSpec: IActionSpec): void {\n const processor = this.getProcessor(name, actionName);\n if (processor) {\n // try {\n // eslint-disable-next-line no-console\n logger('info', `Execute action => ${actionName}, character => ${name}`); // TODO: remove log\n const actionResult = processor.run(character, actionSpec);\n // eslint-disable-next-line no-console\n logger('info', `Action Executed:`, actionResult); // TODO: remove log\n return actionResult;\n // } catch (err) {\n // logger('error', `Action Executed Error: ${err}`);\n // return null;\n // }\n }\n // eslint-disable-next-line no-console\n logger('error', `Action not found: character => ${name}, action => ${actionName} `); // TODO: remove log\n return undefined;\n }\n\n release() {\n ActionProcessor._instance = null;\n\n if (this._processorMap) {\n this._processorMap.clear();\n this._processorMap = null;\n }\n }\n}\n"]}
|
|
@@ -6,10 +6,15 @@ import { ShapeVisibilityActionProcessor } from './component/shape/shape-visibili
|
|
|
6
6
|
import { TextVisibilityActionProcessor } from './component/text/text-visibility';
|
|
7
7
|
import { TimelineStateActionProcessor, TimelineVisibilityActionProcessor } from './component/timeline/timeline-visibility';
|
|
8
8
|
import { CommonBounceActionProcessor, CommonMoveToActionProcessor, CommonScaleToActionProcessor, CommonStyleActionProcessor } from './component/common-component';
|
|
9
|
+
import { RankingBarPlayActionProcessor } from './chart/rankingBar/rankingBar';
|
|
9
10
|
export declare const processorChartMap: {
|
|
10
11
|
VChart: {
|
|
11
12
|
[x: string]: VChartVisibilityActionProcessor | VChartUpdateActionProcessor | VChartAddActionProcessor | CommonBounceActionProcessor;
|
|
12
13
|
};
|
|
14
|
+
RankingBar: {
|
|
15
|
+
[x: string]: RankingBarPlayActionProcessor | VChartVisibilityActionProcessor | CommonBounceActionProcessor;
|
|
16
|
+
play: RankingBarPlayActionProcessor;
|
|
17
|
+
};
|
|
13
18
|
};
|
|
14
19
|
export declare const processorComponentMap: {
|
|
15
20
|
Rect: {
|
|
@@ -53,4 +58,8 @@ export declare const processorMap: {
|
|
|
53
58
|
VChart: {
|
|
54
59
|
[x: string]: VChartVisibilityActionProcessor | VChartUpdateActionProcessor | VChartAddActionProcessor | CommonBounceActionProcessor;
|
|
55
60
|
};
|
|
61
|
+
RankingBar: {
|
|
62
|
+
[x: string]: RankingBarPlayActionProcessor | VChartVisibilityActionProcessor | CommonBounceActionProcessor;
|
|
63
|
+
play: RankingBarPlayActionProcessor;
|
|
64
|
+
};
|
|
56
65
|
};
|
|
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: !0
|
|
5
5
|
}), exports.processorMap = exports.processorComponentMap = exports.processorChartMap = void 0;
|
|
6
6
|
|
|
7
|
-
const action_1 = require("../../constants/action"), character_1 = require("../../constants/character"), image_visibility_1 = require("./component/image/image-visibility"), vchart_1 = require("./chart/vchart"), line_visibility_1 = require("./component/line/line-visibility"), rect_visibility_1 = require("./component/rect/rect-visibility"), shape_visibility_1 = require("./component/shape/shape-visibility"), text_visibility_1 = require("./component/text/text-visibility"), timeline_visibility_1 = require("./component/timeline/timeline-visibility"), common_component_1 = require("./component/common-component");
|
|
7
|
+
const action_1 = require("../../constants/action"), character_1 = require("../../constants/character"), image_visibility_1 = require("./component/image/image-visibility"), vchart_1 = require("./chart/vchart"), line_visibility_1 = require("./component/line/line-visibility"), rect_visibility_1 = require("./component/rect/rect-visibility"), shape_visibility_1 = require("./component/shape/shape-visibility"), text_visibility_1 = require("./component/text/text-visibility"), timeline_visibility_1 = require("./component/timeline/timeline-visibility"), common_component_1 = require("./component/common-component"), rankingBar_1 = require("./chart/rankingBar/rankingBar");
|
|
8
8
|
|
|
9
9
|
exports.processorChartMap = {
|
|
10
10
|
VChart: {
|
|
@@ -13,6 +13,12 @@ exports.processorChartMap = {
|
|
|
13
13
|
[action_1.ACTION_TYPE.BOUNCE]: new common_component_1.CommonBounceActionProcessor,
|
|
14
14
|
[action_1.VCHART_ACTION_TYPE.UPDATE]: new vchart_1.VChartUpdateActionProcessor,
|
|
15
15
|
[action_1.VCHART_ACTION_TYPE.ADD]: new vchart_1.VChartAddActionProcessor
|
|
16
|
+
},
|
|
17
|
+
RankingBar: {
|
|
18
|
+
[action_1.ACTION_TYPE.APPEAR]: new vchart_1.VChartVisibilityActionProcessor,
|
|
19
|
+
[action_1.ACTION_TYPE.DISAPPEAR]: new vchart_1.VChartVisibilityActionProcessor,
|
|
20
|
+
[action_1.ACTION_TYPE.BOUNCE]: new common_component_1.CommonBounceActionProcessor,
|
|
21
|
+
play: new rankingBar_1.RankingBarPlayActionProcessor
|
|
16
22
|
}
|
|
17
23
|
}, exports.processorComponentMap = {
|
|
18
24
|
[character_1.StoryComponentType.RECT]: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/player/processor/processorMap.ts"],"names":[],"mappings":";;;AAAA,mDAAyE;AACzE,yDAA+E;AAC/E,yEAAoF;AACpF,2CAAwH;AACxH,sEAAiF;AACjF,sEAAiF;AACjF,yEAAoF;AACpF,sEAAiF;AACjF,kFAGkD;AAClD,mEAKsC;
|
|
1
|
+
{"version":3,"sources":["../src/player/processor/processorMap.ts"],"names":[],"mappings":"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","file":"processorMap.js","sourcesContent":["import { ACTION_TYPE, VCHART_ACTION_TYPE } from '../../constants/action';\nimport { StoryChartType, StoryComponentType } from '../../constants/character';\nimport { ImageVisibilityActionProcessor } from './component/image/image-visibility';\nimport { VChartAddActionProcessor, VChartUpdateActionProcessor, VChartVisibilityActionProcessor } from './chart/vchart';\nimport { LineVisibilityActionProcessor } from './component/line/line-visibility';\nimport { RectVisibilityActionProcessor } from './component/rect/rect-visibility';\nimport { ShapeVisibilityActionProcessor } from './component/shape/shape-visibility';\nimport { TextVisibilityActionProcessor } from './component/text/text-visibility';\nimport {\n TimelineStateActionProcessor,\n TimelineVisibilityActionProcessor\n} from './component/timeline/timeline-visibility';\nimport {\n CommonBounceActionProcessor,\n CommonMoveToActionProcessor,\n CommonScaleToActionProcessor,\n CommonStyleActionProcessor\n} from './component/common-component';\nimport { RankingBarPlayActionProcessor } from './chart/rankingBar/rankingBar';\n\nexport const processorChartMap = {\n [StoryChartType.VCHART]: {\n [ACTION_TYPE.APPEAR]: new VChartVisibilityActionProcessor(),\n [ACTION_TYPE.DISAPPEAR]: new VChartVisibilityActionProcessor(),\n [ACTION_TYPE.BOUNCE]: new CommonBounceActionProcessor(),\n [VCHART_ACTION_TYPE.UPDATE]: new VChartUpdateActionProcessor(),\n [VCHART_ACTION_TYPE.ADD]: new VChartAddActionProcessor()\n },\n [StoryChartType.RANKINGBAR]: {\n [ACTION_TYPE.APPEAR]: new VChartVisibilityActionProcessor(),\n [ACTION_TYPE.DISAPPEAR]: new VChartVisibilityActionProcessor(),\n [ACTION_TYPE.BOUNCE]: new CommonBounceActionProcessor(),\n play: new RankingBarPlayActionProcessor()\n }\n};\n\nexport const processorComponentMap = {\n [StoryComponentType.RECT]: {\n [ACTION_TYPE.APPEAR]: new RectVisibilityActionProcessor(),\n [ACTION_TYPE.DISAPPEAR]: new RectVisibilityActionProcessor(),\n [ACTION_TYPE.STYLE]: new CommonStyleActionProcessor(),\n [ACTION_TYPE.MOVETO]: new CommonMoveToActionProcessor(),\n [ACTION_TYPE.SCALETO]: new CommonScaleToActionProcessor(),\n [ACTION_TYPE.BOUNCE]: new CommonBounceActionProcessor()\n },\n [StoryComponentType.LINE]: {\n [ACTION_TYPE.APPEAR]: new LineVisibilityActionProcessor(),\n [ACTION_TYPE.DISAPPEAR]: new LineVisibilityActionProcessor(),\n [ACTION_TYPE.STYLE]: new CommonStyleActionProcessor(),\n [ACTION_TYPE.MOVETO]: new CommonMoveToActionProcessor(),\n [ACTION_TYPE.SCALETO]: new CommonScaleToActionProcessor(),\n [ACTION_TYPE.BOUNCE]: new CommonBounceActionProcessor()\n },\n [StoryComponentType.SHAPE]: {\n [ACTION_TYPE.APPEAR]: new ShapeVisibilityActionProcessor(),\n [ACTION_TYPE.DISAPPEAR]: new ShapeVisibilityActionProcessor(),\n [ACTION_TYPE.STYLE]: new CommonStyleActionProcessor(),\n [ACTION_TYPE.MOVETO]: new CommonMoveToActionProcessor(),\n [ACTION_TYPE.SCALETO]: new CommonScaleToActionProcessor(),\n [ACTION_TYPE.BOUNCE]: new CommonBounceActionProcessor()\n },\n [StoryComponentType.IMAGE]: {\n [ACTION_TYPE.APPEAR]: new ImageVisibilityActionProcessor(),\n [ACTION_TYPE.DISAPPEAR]: new ImageVisibilityActionProcessor(),\n [ACTION_TYPE.STYLE]: new CommonStyleActionProcessor(),\n [ACTION_TYPE.MOVETO]: new CommonMoveToActionProcessor(),\n [ACTION_TYPE.SCALETO]: new CommonScaleToActionProcessor(),\n [ACTION_TYPE.BOUNCE]: new CommonBounceActionProcessor()\n },\n [StoryComponentType.TEXT]: {\n [ACTION_TYPE.APPEAR]: new TextVisibilityActionProcessor(),\n [ACTION_TYPE.DISAPPEAR]: new TextVisibilityActionProcessor(),\n [ACTION_TYPE.STYLE]: new CommonStyleActionProcessor(),\n [ACTION_TYPE.MOVETO]: new CommonMoveToActionProcessor(),\n [ACTION_TYPE.SCALETO]: new CommonScaleToActionProcessor(),\n [ACTION_TYPE.BOUNCE]: new CommonBounceActionProcessor()\n },\n [StoryComponentType.TIMELINE]: {\n [ACTION_TYPE.APPEAR]: new TimelineVisibilityActionProcessor(),\n [ACTION_TYPE.DISAPPEAR]: new TimelineVisibilityActionProcessor(),\n [ACTION_TYPE.STYLE]: new CommonStyleActionProcessor(),\n [ACTION_TYPE.MOVETO]: new CommonMoveToActionProcessor(),\n [ACTION_TYPE.SCALETO]: new CommonScaleToActionProcessor(),\n [ACTION_TYPE.STATE]: new TimelineStateActionProcessor(),\n [ACTION_TYPE.BOUNCE]: new CommonBounceActionProcessor()\n }\n};\n\nexport const processorMap = {\n ...processorChartMap,\n ...processorComponentMap\n};\n"]}
|
package/cjs/player/scheduler.js
CHANGED
|
@@ -4,6 +4,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: !0
|
|
5
5
|
}), exports.Scheduler = void 0;
|
|
6
6
|
|
|
7
|
+
const vutils_1 = require("@visactor/vutils");
|
|
8
|
+
|
|
7
9
|
class ActionItem {
|
|
8
10
|
constructor(st, d, as, ci) {
|
|
9
11
|
this.startTime = st, this.duration = d, this.actionSpec = as, this.characterId = ci;
|
|
@@ -45,7 +47,7 @@ class Scheduler {
|
|
|
45
47
|
return toAct.sceneInfoList.forEach((sceneInfo => {
|
|
46
48
|
const {startTime: sceneStartTime} = sceneInfo;
|
|
47
49
|
sceneInfo.actionList.forEach((actionInfo => {
|
|
48
|
-
sceneStartTime + actionInfo.startTime
|
|
50
|
+
sceneStartTime + actionInfo.startTime <= formatToTime && (this._runnedAct.has(actionInfo) || (this._runnedAct.add(actionInfo),
|
|
49
51
|
actions.push(actionInfo)));
|
|
50
52
|
}));
|
|
51
53
|
})), actions;
|
|
@@ -77,17 +79,19 @@ class Scheduler {
|
|
|
77
79
|
scene.actions.forEach(((action, actIdx) => {
|
|
78
80
|
let character_st = 1 / 0, character_et = -1 / 0;
|
|
79
81
|
action.characterActions.forEach((ca => {
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
82
|
+
((0, vutils_1.isString)(action.characterId) ? [ action.characterId ] : action.characterId).forEach((characterId => {
|
|
83
|
+
const info = this._actionProcessor.getActInfo(characterId, ca);
|
|
84
|
+
if (!info) return;
|
|
85
|
+
const item = new ActionItem(info.startTime, info.duration, ca, characterId);
|
|
86
|
+
character_st = Math.max(Math.min(item.startTime, character_st), 0), character_et = Math.max(item.startTime + item.duration, character_et),
|
|
87
|
+
actionList.push(item);
|
|
88
|
+
}));
|
|
85
89
|
})), scene_st = actIdx ? Math.max(Math.min(character_st, scene_st), 0) : character_st,
|
|
86
90
|
scene_et = actIdx ? Math.max(character_et, scene_et) : character_et;
|
|
87
91
|
}));
|
|
88
92
|
return {
|
|
89
|
-
startTime: sceneStartTime
|
|
90
|
-
duration: scene_et
|
|
93
|
+
startTime: sceneStartTime,
|
|
94
|
+
duration: scene_et,
|
|
91
95
|
id: scene.id,
|
|
92
96
|
actionList: actionList
|
|
93
97
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/player/scheduler.ts"],"names":[],"mappings":"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","file":"scheduler.js","sourcesContent":["import { isNumber } from '@visactor/vutils';\nimport type { IActionSpec, IActSpec, ISceneSpec } from '../story/interface';\nimport { IStory } from '../story/interface';\nimport type { IActionProcessor } from './processor/interface/action-processor';\nimport type { IScheduler } from './interface/scheduler';\n\ninterface IActInfo {\n startTime: number;\n duration: number;\n id: string;\n sceneInfoList: ISceneInfo[];\n}\ninterface ISceneInfo {\n startTime: number;\n duration: number;\n id: string;\n actionList: IActionItem[];\n}\n\nexport interface IActionItem {\n startTime: number;\n duration: number;\n actionSpec: IActionSpec;\n characterId: string;\n}\n\nclass ActionItem implements IActionItem {\n startTime: number;\n duration: number;\n actionSpec: IActionSpec;\n characterId: string;\n\n constructor(st: number, d: number, as: IActionSpec, ci: string) {\n this.startTime = st;\n this.duration = d;\n this.actionSpec = as;\n this.characterId = ci;\n }\n}\n\nexport class Scheduler implements IScheduler {\n protected _actionProcessor: IActionProcessor;\n protected _actsInfo: IActInfo[];\n protected _runnedAct: Set<IActionItem>;\n\n constructor(actionProcessor: IActionProcessor) {\n this._actionProcessor = actionProcessor;\n this._runnedAct = new Set();\n }\n\n init(acts: IActSpec[]) {\n this.clearState();\n this.initActs(acts);\n }\n\n clearState(): void {\n this._runnedAct.clear();\n }\n\n getTotalTime(): number {\n return this._actsInfo.reduce((t, actInfo) => Math.max(t, actInfo.startTime + actInfo.duration), 0);\n }\n\n findActByTime(t: number) {\n // 规范化t\n const totalTime = this.getTotalTime();\n if (totalTime <= 0) {\n return {\n actInfo: this._actsInfo[0],\n t: 0\n };\n }\n for (let i = 0; i < this._actsInfo.length; i++) {\n const actInfo = this._actsInfo[i];\n if (actInfo.startTime <= t && actInfo.startTime + actInfo.duration > t) {\n return {\n actInfo: actInfo,\n t: t - actInfo.startTime\n };\n }\n }\n return {\n actInfo: this._actsInfo[this._actsInfo.length - 1],\n t: t - this._actsInfo[this._actsInfo.length - 1].startTime\n };\n }\n\n /**\n * 获取某个时间区间的所有Action,toTime实际上是当前时间,fromTime是上一次的时间\n * 避免跳帧\n * @param fromTime 上一次的时间\n * @param toTime 当前时间\n */\n getActionsInRange(fromTime: number, toTime: number) {\n // 先找到目前是在哪个幕中\n const { actInfo: fromAct, t: formatFromTime } = this.findActByTime(fromTime);\n const { actInfo: toAct, t: formatToTime } = this.findActByTime(toTime);\n if (fromAct !== toAct) {\n // TODO 跳帧了\n }\n // const formatFromTime = Scheduler.formatTimeInAction(fromTime, toAct);\n // const formatToTime = Scheduler.formatTimeInAction(toTime, toAct);\n\n const actions: IActionItem[] = [];\n toAct.sceneInfoList.forEach(sceneInfo => {\n const { startTime: sceneStartTime } = sceneInfo;\n sceneInfo.actionList.forEach(actionInfo => {\n const startTime = sceneStartTime + actionInfo.startTime;\n if (startTime < formatToTime) {\n if (!this._runnedAct.has(actionInfo)) {\n this._runnedAct.add(actionInfo);\n actions.push(actionInfo);\n }\n }\n });\n });\n // actions.length && console.log('找到', fromTime, toTime, actions);\n return actions;\n }\n\n protected initActs(acts: IActSpec[]) {\n // act与act之间是串联的\n let startTime = 0;\n this._actsInfo = acts.map(act => {\n const actInfo = this._getActInfo(act, startTime);\n startTime += actInfo.duration;\n return actInfo;\n });\n }\n\n protected _getActInfo(act: IActSpec, actStartTime: number): IActInfo {\n let sceneStartTime = 0;\n const sceneInfoList = act.scenes.map(scene => {\n const sceneInfo = this._getSceneInfo(scene, sceneStartTime + (scene.delay ?? 0));\n sceneStartTime = sceneInfo.startTime + sceneInfo.duration;\n return sceneInfo;\n });\n const startTime = sceneInfoList.reduce((st, info) => Math.min(info.startTime, st), 0);\n const endTime = sceneInfoList.reduce((et, info) => Math.max(info.startTime + info.duration, et), 0);\n return {\n startTime: actStartTime,\n duration: startTime + endTime - startTime,\n id: act.id,\n sceneInfoList\n };\n }\n\n protected _getSceneInfo(scene: ISceneSpec, sceneStartTime: number): ISceneInfo {\n let scene_st = 0;\n let scene_et = 0;\n const actionList: IActionItem[] = [];\n scene.actions.forEach((action, actIdx) => {\n let character_st = Infinity;\n let character_et = -Infinity;\n action.characterActions.forEach(ca => {\n const info = this._actionProcessor.getActInfo(action.characterId, ca);\n if (!info) {\n return;\n }\n const item = new ActionItem(info.startTime, info.duration, ca, action.characterId);\n\n character_st = Math.max(Math.min(item.startTime, character_st), 0);\n character_et = Math.max(item.startTime + item.duration, character_et);\n actionList.push(item);\n });\n\n scene_st = !actIdx ? character_st : Math.max(Math.min(character_st, scene_st), 0);\n scene_et = !actIdx ? character_et : Math.max(character_et, scene_et);\n });\n\n const sceneInfo: ISceneInfo = {\n startTime: sceneStartTime + scene_st,\n duration: scene_et - scene_st,\n id: scene.id,\n actionList\n };\n\n return sceneInfo;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/player/scheduler.ts"],"names":[],"mappings":"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","file":"scheduler.js","sourcesContent":["import { isNumber, isString } from '@visactor/vutils';\nimport type { IActionSpec, IActSpec, ISceneSpec } from '../story/interface';\nimport { IStory } from '../story/interface';\nimport type { IActionProcessor } from './processor/interface/action-processor';\nimport type { IScheduler } from './interface/scheduler';\n\ninterface IActInfo {\n startTime: number;\n duration: number;\n id: string;\n sceneInfoList: ISceneInfo[];\n}\ninterface ISceneInfo {\n startTime: number;\n duration: number;\n id: string;\n actionList: IActionItem[];\n}\n\nexport interface IActionItem {\n startTime: number;\n duration: number;\n actionSpec: IActionSpec;\n characterId: string;\n}\n\nclass ActionItem implements IActionItem {\n startTime: number;\n duration: number;\n actionSpec: IActionSpec;\n characterId: string;\n\n constructor(st: number, d: number, as: IActionSpec, ci: string) {\n this.startTime = st;\n this.duration = d;\n this.actionSpec = as;\n this.characterId = ci;\n }\n}\n\nexport class Scheduler implements IScheduler {\n protected _actionProcessor: IActionProcessor;\n protected _actsInfo: IActInfo[];\n protected _runnedAct: Set<IActionItem>;\n\n constructor(actionProcessor: IActionProcessor) {\n this._actionProcessor = actionProcessor;\n this._runnedAct = new Set();\n }\n\n init(acts: IActSpec[]) {\n this.clearState();\n this.initActs(acts);\n }\n\n clearState(): void {\n this._runnedAct.clear();\n }\n\n getTotalTime(): number {\n return this._actsInfo.reduce((t, actInfo) => Math.max(t, actInfo.startTime + actInfo.duration), 0);\n }\n\n findActByTime(t: number) {\n // 规范化t\n const totalTime = this.getTotalTime();\n if (totalTime <= 0) {\n return {\n actInfo: this._actsInfo[0],\n t: 0\n };\n }\n for (let i = 0; i < this._actsInfo.length; i++) {\n const actInfo = this._actsInfo[i];\n if (actInfo.startTime <= t && actInfo.startTime + actInfo.duration > t) {\n return {\n actInfo: actInfo,\n t: t - actInfo.startTime\n };\n }\n }\n return {\n actInfo: this._actsInfo[this._actsInfo.length - 1],\n t: t - this._actsInfo[this._actsInfo.length - 1].startTime\n };\n }\n\n /**\n * 获取某个时间区间的所有Action,toTime实际上是当前时间,fromTime是上一次的时间\n * 避免跳帧\n * @param fromTime 上一次的时间\n * @param toTime 当前时间\n */\n getActionsInRange(fromTime: number, toTime: number) {\n // 先找到目前是在哪个幕中\n const { actInfo: fromAct, t: formatFromTime } = this.findActByTime(fromTime);\n const { actInfo: toAct, t: formatToTime } = this.findActByTime(toTime);\n if (fromAct !== toAct) {\n // TODO 跳帧了\n }\n // const formatFromTime = Scheduler.formatTimeInAction(fromTime, toAct);\n // const formatToTime = Scheduler.formatTimeInAction(toTime, toAct);\n\n const actions: IActionItem[] = [];\n toAct.sceneInfoList.forEach(sceneInfo => {\n const { startTime: sceneStartTime } = sceneInfo;\n sceneInfo.actionList.forEach(actionInfo => {\n const startTime = sceneStartTime + actionInfo.startTime;\n if (startTime <= formatToTime) {\n if (!this._runnedAct.has(actionInfo)) {\n this._runnedAct.add(actionInfo);\n actions.push(actionInfo);\n }\n }\n });\n });\n // actions.length && console.log('找到', fromTime, toTime, actions);\n return actions;\n }\n\n protected initActs(acts: IActSpec[]) {\n // act与act之间是串联的\n let startTime = 0;\n this._actsInfo = acts.map(act => {\n const actInfo = this._getActInfo(act, startTime);\n startTime += actInfo.duration;\n return actInfo;\n });\n }\n\n protected _getActInfo(act: IActSpec, actStartTime: number): IActInfo {\n let sceneStartTime = 0;\n const sceneInfoList = act.scenes.map(scene => {\n const sceneInfo = this._getSceneInfo(scene, sceneStartTime + (scene.delay ?? 0));\n sceneStartTime = sceneInfo.startTime + sceneInfo.duration;\n return sceneInfo;\n });\n const startTime = sceneInfoList.reduce((st, info) => Math.min(info.startTime, st), 0);\n const endTime = sceneInfoList.reduce((et, info) => Math.max(info.startTime + info.duration, et), 0);\n return {\n startTime: actStartTime,\n duration: startTime + endTime - startTime,\n id: act.id,\n sceneInfoList\n };\n }\n\n protected _getSceneInfo(scene: ISceneSpec, sceneStartTime: number): ISceneInfo {\n let scene_st = 0;\n let scene_et = 0;\n const actionList: IActionItem[] = [];\n scene.actions.forEach((action, actIdx) => {\n let character_st = Infinity;\n let character_et = -Infinity;\n action.characterActions.forEach(ca => {\n const characterIdList = isString(action.characterId) ? [action.characterId] : action.characterId;\n characterIdList.forEach(characterId => {\n const info = this._actionProcessor.getActInfo(characterId, ca);\n if (!info) {\n return;\n }\n const item = new ActionItem(info.startTime, info.duration, ca, characterId);\n\n character_st = Math.max(Math.min(item.startTime, character_st), 0);\n character_et = Math.max(item.startTime + item.duration, character_et);\n actionList.push(item);\n });\n });\n\n scene_st = !actIdx ? character_st : Math.max(Math.min(character_st, scene_st), 0);\n scene_et = !actIdx ? character_et : Math.max(character_et, scene_et);\n });\n\n const sceneInfo: ISceneInfo = {\n startTime: sceneStartTime,\n duration: scene_et,\n id: scene.id,\n actionList\n };\n\n return sceneInfo;\n }\n}\n"]}
|
package/cjs/scene/scene.js
CHANGED
|
@@ -33,17 +33,16 @@ class StoryCanvas {
|
|
|
33
33
|
width: this._canvas.clientWidth,
|
|
34
34
|
height: this._canvas.clientHeight,
|
|
35
35
|
canvasControled: !0,
|
|
36
|
-
autoRender: !
|
|
36
|
+
autoRender: !0,
|
|
37
37
|
disableDirtyBounds: !0,
|
|
38
38
|
ticker: new vrender_1.ManualTicker([]),
|
|
39
|
+
pluginList: [ "RichTextEditPlugin" ],
|
|
39
40
|
dpr: window.devicePixelRatio,
|
|
40
41
|
event: {
|
|
41
42
|
clickInterval: 300
|
|
42
43
|
}
|
|
43
44
|
});
|
|
44
|
-
this._stage = stage
|
|
45
|
-
"click" === type && console.log("canvas", e);
|
|
46
|
-
}));
|
|
45
|
+
this._stage = stage;
|
|
47
46
|
}
|
|
48
47
|
getEventDetail(event) {
|
|
49
48
|
const characterMap = this._story.getCharacters();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/story/canvas/canvas.ts"],"names":[],"mappings":";;;AAEA,+CAAoG;AACpG,+CAAmD;AAInD,IAAA,0BAAgB,GAAE,CAAC;AACnB,IAAA,wBAAc,EAAC,mBAAS,CAAC,CAAC;AAC1B,iBAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;AAE1B,MAAa,WAAW;IAItB,QAAQ;QACN,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAGD,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED,YAAY,KAAY,EAAE,SAAyB;QACjD,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAES,WAAW;QACnB,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAChD,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,GAAG,MAAM,CAAC,gBAAgB,CAAC;QACrE,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,YAAY,GAAG,MAAM,CAAC,gBAAgB,CAAC;QACvE,MAAM,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,GAAG,IAAI,CAAC;QACxD,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,YAAY,GAAG,IAAI,CAAC;QAC1D,MAAM,CAAC,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC;QACnC,MAAM,CAAC,EAAE,GAAG,0BAA0B,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;QACvD,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACpC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,MAAM,KAAK,GAAG,IAAA,qBAAW,EAAC;YACxB,MAAM,EAAE,IAAI,CAAC,OAAO;YACpB,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW;YAC/B,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,YAAY;YACjC,eAAe,EAAE,IAAI;
|
|
1
|
+
{"version":3,"sources":["../src/story/canvas/canvas.ts"],"names":[],"mappings":"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","file":"canvas.js","sourcesContent":["import type { Story } from '../story';\nimport type { IStage } from '@visactor/vrender';\nimport { createStage, vglobal, container, preLoadAllModule, ManualTicker } from '@visactor/vrender';\nimport { loadBrowserEnv } from '@visactor/vrender';\nimport type { IStoryCanvas, StoryEvent } from '../interface/runtime-interface';\nimport type { ICharacter } from '../character/runtime-interface';\n\npreLoadAllModule();\nloadBrowserEnv(container);\nvglobal.setEnv('browser');\n\nexport class StoryCanvas implements IStoryCanvas {\n protected _story: Story;\n protected _canvas: HTMLCanvasElement;\n protected _stage: IStage;\n getStage() {\n return this._stage;\n }\n\n getCanvas() {\n return this._canvas;\n }\n\n protected _container: HTMLDivElement;\n get container() {\n return this._container;\n }\n\n constructor(story: Story, container: HTMLDivElement) {\n this._story = story;\n this._container = container;\n this._initCanvas();\n }\n\n protected _initCanvas() {\n const canvas = document.createElement('canvas');\n canvas.width = this._container.clientWidth * window.devicePixelRatio;\n canvas.height = this._container.clientHeight * window.devicePixelRatio;\n canvas.style.width = this._container.clientWidth + 'px';\n canvas.style.height = this._container.clientHeight + 'px';\n canvas.style.position = 'absolute';\n canvas.id = `_visactor_story_canvas_${this._story.id}`;\n this._container.appendChild(canvas);\n this._canvas = canvas;\n const stage = createStage({\n canvas: this._canvas,\n width: this._canvas.clientWidth,\n height: this._canvas.clientHeight,\n canvasControled: true,\n // 得开启自动渲染,否则编辑场景中无法触发视图更新\n autoRender: true,\n disableDirtyBounds: true,\n ticker: new ManualTicker([]),\n pluginList: ['RichTextEditPlugin'],\n dpr: window.devicePixelRatio,\n event: {\n clickInterval: 300\n }\n });\n // @ts-ignore\n this._stage = stage;\n }\n\n getEventDetail(event: StoryEvent) {\n // 得到交互元素的详细信息\n const characterMap = this._story.getCharacters();\n let characterInfo;\n let character: ICharacter;\n Object.keys(this._story.getCharacters()).find(id => {\n const characterTemp = characterMap[id];\n const info = characterTemp.checkEvent(event);\n if (info) {\n characterInfo = info;\n character = characterTemp;\n return true;\n }\n return false;\n });\n\n return {\n character,\n characterInfo\n };\n }\n\n release() {\n this._stage.release();\n }\n}\n"]}
|
|
@@ -1,9 +1,12 @@
|
|
|
1
|
+
import type { IBoundsLike } from '@visactor/vutils';
|
|
1
2
|
import type { ICharacterInitOption, ICharacterPickInfo } from '../runtime-interface';
|
|
2
3
|
import type { ICharacter, ICharacterSpec } from '..';
|
|
3
4
|
import type { IGroup } from '@visactor/vrender';
|
|
4
5
|
import type { StoryEvent } from '../../interface';
|
|
5
6
|
export declare abstract class CharacterBase implements ICharacter {
|
|
6
7
|
readonly id: string;
|
|
8
|
+
readonly visActorType: string;
|
|
9
|
+
readonly type: string;
|
|
7
10
|
protected _spec: ICharacterSpec;
|
|
8
11
|
get spec(): ICharacterSpec;
|
|
9
12
|
protected _graphic: any;
|
|
@@ -23,6 +26,7 @@ export declare abstract class CharacterBase implements ICharacter {
|
|
|
23
26
|
abstract hide(): void;
|
|
24
27
|
getPositionData(): void;
|
|
25
28
|
abstract getGraphicParent(): IGroup;
|
|
29
|
+
abstract getLayoutBounds(): IBoundsLike;
|
|
26
30
|
abstract clearCharacter(): void;
|
|
27
31
|
abstract checkEvent(event: StoryEvent): false | ICharacterPickInfo;
|
|
28
32
|
release(): void;
|
|
@@ -17,7 +17,7 @@ class CharacterBase {
|
|
|
17
17
|
return this._option;
|
|
18
18
|
}
|
|
19
19
|
constructor(spec, option) {
|
|
20
|
-
this.id = spec.id, this._spec = spec, this._option = option;
|
|
20
|
+
this.type = spec.type, this.id = spec.id, this._spec = spec, this._option = option;
|
|
21
21
|
}
|
|
22
22
|
updateSpec(spec) {
|
|
23
23
|
var _a;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/story/character/base/base.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"sources":["../src/story/character/base/base.ts"],"names":[],"mappings":";;;AACA,6CAAkD;AAOlD,MAAsB,aAAa;IAKjC,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAGD,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,YAAY,IAAoB,EAAE,MAA4B;QAC5D,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACtB,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;QAClB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IACxB,CAAC;IACD,UAAU,CAAC,IAAkD;;QAC3D,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;SACrC;QACD,IAAI,IAAA,gBAAO,EAAC,IAAI,CAAC,MAAM,CAAC,EAAE;YACxB,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;SACjC;QACD,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,IAAA,cAAK,EAAC,MAAA,IAAI,CAAC,KAAK,CAAC,OAAO,mCAAI,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;SACpE;IACH,CAAC;IAED,aAAa,CAAC,IAAyB;QACrC,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;IACxC,CAAC;IAED,MAAM,CAAC,CAAS;QACd,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IAED,IAAI;QACF,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAED,KAAK;QACH,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,IAAI,EAAE,CAAC;IACd,CAAC;IASD,eAAe;QACb,OAAO;IACT,CAAC;IAQD,OAAO;QACL,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;IACjE,CAAC;CACF;AA3ED,sCA2EC","file":"base.js","sourcesContent":["import type { IBoundsLike } from '@visactor/vutils';\nimport { isValid, merge } from '@visactor/vutils';\nimport type { ICharacterInitOption, ICharacterPickInfo } from '../runtime-interface';\nimport type { ICharacter, ICharacterSpec } from '..';\nimport type { IGroup } from '@visactor/vrender';\nimport type { StoryEvent } from '../../interface';\nimport { IVisactorGraphic } from '../visactor/interface';\n\nexport abstract class CharacterBase implements ICharacter {\n readonly id: string;\n readonly visActorType: string;\n readonly type: string;\n protected _spec: ICharacterSpec;\n get spec() {\n return this._spec;\n }\n protected declare _graphic: any;\n get graphic() {\n return this._graphic;\n }\n\n protected _option: ICharacterInitOption;\n get option() {\n return this._option;\n }\n\n constructor(spec: ICharacterSpec, option: ICharacterInitOption) {\n this.type = spec.type;\n this.id = spec.id;\n this._spec = spec;\n this._option = option;\n }\n updateSpec(spec: Omit<Partial<ICharacterSpec>, 'id' | 'type'>): void {\n if (spec.position) {\n this._spec.position = spec.position;\n }\n if (isValid(spec.zIndex)) {\n this._spec.zIndex = spec.zIndex;\n }\n if (spec.options) {\n this._spec.options = merge(this._spec.options ?? {}, spec.options);\n }\n }\n\n setAttributes(attr: Record<string, any>) {\n throw new Error('请重载setAttributes函数');\n }\n\n tickTo(t: number): void {\n throw new Error('Method not implemented.');\n }\n\n init() {\n this._initRuntime();\n this._parserSpec();\n this._initGraphics();\n }\n\n reset() {\n this.clearCharacter();\n this.init();\n }\n\n protected abstract _initRuntime(): void;\n protected abstract _parserSpec(): void;\n protected abstract _initGraphics(): void;\n\n abstract show(): void;\n abstract hide(): void;\n\n getPositionData() {\n return;\n }\n\n abstract getGraphicParent(): IGroup;\n abstract getLayoutBounds(): IBoundsLike;\n\n abstract clearCharacter(): void;\n\n abstract checkEvent(event: StoryEvent): false | ICharacterPickInfo;\n release() {\n this.graphic && this.graphic.release && this.graphic.release();\n }\n}\n"]}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { IChartCharacterRuntimeConstructor } from './runtime/interface';
|
|
2
2
|
import type { IChartCharacterSpec } from '../dsl-interface';
|
|
3
|
+
import { Chart } from './graphic/vchart-graphic';
|
|
3
4
|
import { CharacterVisactor } from '../visactor/character';
|
|
4
5
|
import { SpecProcess } from './spec-process/spec-process';
|
|
5
6
|
import type { ITicker } from '@visactor/vrender';
|
|
@@ -8,18 +9,32 @@ import type { ICharacterPickInfo } from '../runtime-interface';
|
|
|
8
9
|
export declare class CharacterChart extends CharacterVisactor {
|
|
9
10
|
static type: string;
|
|
10
11
|
static RunTime: IChartCharacterRuntimeConstructor[];
|
|
12
|
+
readonly visActorType = "chart";
|
|
11
13
|
protected _specProcess: SpecProcess;
|
|
12
14
|
protected _ticker: ITicker;
|
|
15
|
+
_graphic: Chart;
|
|
13
16
|
protected _spec: IChartCharacterSpec;
|
|
14
17
|
get spec(): IChartCharacterSpec;
|
|
15
18
|
protected _initSpecProcess(): void;
|
|
16
19
|
protected _initRuntime(): void;
|
|
17
20
|
protected _parserSpec(): void;
|
|
18
21
|
protected _initGraphics(): void;
|
|
22
|
+
setAttributes(attr: Record<string, any>): void;
|
|
23
|
+
getViewBoxFromSpec(): {
|
|
24
|
+
layout: Partial<import("../runtime-interface").ILayoutAttribute>;
|
|
25
|
+
viewBox: {
|
|
26
|
+
x1: number;
|
|
27
|
+
x2: number;
|
|
28
|
+
y1: number;
|
|
29
|
+
y2: number;
|
|
30
|
+
};
|
|
31
|
+
};
|
|
32
|
+
private _getChartOption;
|
|
19
33
|
protected _afterRender(): void;
|
|
20
34
|
protected _updateVisactorSpec(): void;
|
|
21
35
|
clearCharacter(): void;
|
|
22
36
|
tickTo(t: number): void;
|
|
23
37
|
checkEvent(event: StoryEvent): false | ICharacterPickInfo;
|
|
24
38
|
release(): void;
|
|
39
|
+
private _reflow;
|
|
25
40
|
}
|