@visactor/vstory 0.0.1-alpha.0 → 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (119) hide show
  1. package/cjs/dsl/story-chart/area.js +1 -2
  2. package/cjs/dsl/story-chart/chart.js +2 -1
  3. package/cjs/dsl/story-processor/vchart/charts/area/areaDisappear.d.ts +3 -3
  4. package/cjs/dsl/story-processor/vchart/charts/area/areaDisappear.js +2 -1
  5. package/cjs/dsl/story-processor/vchart/charts/area/areaDisappear.js.map +1 -1
  6. package/cjs/dsl/story-processor/vchart/charts/bar/barDisappear.d.ts +3 -3
  7. package/cjs/dsl/story-processor/vchart/charts/bar/barDisappear.js +2 -1
  8. package/cjs/dsl/story-processor/vchart/charts/bar/barDisappear.js.map +1 -1
  9. package/cjs/dsl/story-processor/vchart/charts/character/characterDisappear.d.ts +3 -3
  10. package/cjs/dsl/story-processor/vchart/charts/character/characterDisappear.js +2 -1
  11. package/cjs/dsl/story-processor/vchart/charts/character/characterDisappear.js.map +1 -1
  12. package/cjs/dsl/story-processor/vchart/charts/common/commonDisappear.d.ts +1 -0
  13. package/cjs/dsl/story-processor/vchart/charts/common/commonDisappear.js +15 -1
  14. package/cjs/dsl/story-processor/vchart/charts/common/commonDisappear.js.map +1 -1
  15. package/cjs/dsl/story-processor/vchart/charts/line/lineDisappear.d.ts +3 -3
  16. package/cjs/dsl/story-processor/vchart/charts/line/lineDisappear.js +2 -1
  17. package/cjs/dsl/story-processor/vchart/charts/line/lineDisappear.js.map +1 -1
  18. package/cjs/dsl/story-processor/vchart/charts/line/transformLineSymbolAppear.d.ts +2 -2
  19. package/cjs/dsl/story-processor/vchart/charts/pie/pieDisappear.d.ts +3 -3
  20. package/cjs/dsl/story-processor/vchart/charts/pie/pieDisappear.js +2 -1
  21. package/cjs/dsl/story-processor/vchart/charts/pie/pieDisappear.js.map +1 -1
  22. package/cjs/dsl/story-processor/vchart/charts/radar/radarDisappear.d.ts +3 -3
  23. package/cjs/dsl/story-processor/vchart/charts/radar/radarDisappear.js +2 -1
  24. package/cjs/dsl/story-processor/vchart/charts/radar/radarDisappear.js.map +1 -1
  25. package/cjs/dsl/story-processor/vchart/charts/rose/roseDisappear.d.ts +3 -3
  26. package/cjs/dsl/story-processor/vchart/charts/rose/roseDisappear.js +2 -1
  27. package/cjs/dsl/story-processor/vchart/charts/rose/roseDisappear.js.map +1 -1
  28. package/cjs/dsl/story-processor/vchart/charts/scatter/scatterDisappear.d.ts +3 -3
  29. package/cjs/dsl/story-processor/vchart/charts/scatter/scatterDisappear.js +2 -1
  30. package/cjs/dsl/story-processor/vchart/charts/scatter/scatterDisappear.js.map +1 -1
  31. package/cjs/dsl/story-processor/vchart/charts/sunburst/sunburstDisappear.d.ts +3 -3
  32. package/cjs/dsl/story-processor/vchart/charts/sunburst/sunburstDisappear.js +2 -1
  33. package/cjs/dsl/story-processor/vchart/charts/sunburst/sunburstDisappear.js.map +1 -1
  34. package/cjs/dsl/story-processor/vchart/charts/treeMap/treeMapDisappear.d.ts +3 -3
  35. package/cjs/dsl/story-processor/vchart/charts/treeMap/treeMapDisappear.js +2 -1
  36. package/cjs/dsl/story-processor/vchart/charts/treeMap/treeMapDisappear.js.map +1 -1
  37. package/cjs/dsl/story-processor/vchart/charts/wordCloud/wordCloudDisappear.d.ts +3 -3
  38. package/cjs/dsl/story-processor/vchart/charts/wordCloud/wordCloudDisappear.js +2 -1
  39. package/cjs/dsl/story-processor/vchart/charts/wordCloud/wordCloudDisappear.js.map +1 -1
  40. package/cjs/dsl/story-processor/vchart/marks/arc/transformArcAppear.d.ts +1 -1
  41. package/cjs/dsl/story-processor/vchart/marks/area/transformAreaAppear.d.ts +1 -1
  42. package/cjs/dsl/story-processor/vchart/marks/line/transformLineAppear.d.ts +1 -1
  43. package/cjs/dsl/story-processor/vchart/marks/rect/transformRectAppear.d.ts +1 -1
  44. package/cjs/dsl/story-processor/vchart/marks/symbol/transformSymbolAppear.d.ts +1 -1
  45. package/cjs/dsl/story-processor/vchart/marks/text/transformTextAppear.d.ts +1 -1
  46. package/cjs/dsl/types/chart/appear.d.ts +3 -0
  47. package/cjs/dsl/types/chart/appear.js.map +1 -1
  48. package/cjs/edit/interface.js +1 -2
  49. package/cjs/scene/index.js +2 -1
  50. package/cjs/story/act/act.js +1 -1
  51. package/cjs/story/interface/runtime-interface.d.ts +4 -0
  52. package/cjs/story/interface/runtime-interface.js.map +1 -1
  53. package/cjs/story/player/index.d.ts +4 -1
  54. package/cjs/story/player/index.js +6 -2
  55. package/cjs/story/player/index.js.map +1 -1
  56. package/cjs/story/story.js +1 -1
  57. package/cjs/story/story.js.map +1 -1
  58. package/cjs/template/ranking-bar/interface.js +1 -1
  59. package/dist/index.js +69 -18
  60. package/dist/index.min.js +3 -3
  61. package/es/dsl/story-chart/area.js +1 -2
  62. package/es/dsl/story-chart/chart.js +2 -1
  63. package/es/dsl/story-processor/vchart/charts/area/areaDisappear.d.ts +3 -3
  64. package/es/dsl/story-processor/vchart/charts/area/areaDisappear.js +3 -0
  65. package/es/dsl/story-processor/vchart/charts/area/areaDisappear.js.map +1 -1
  66. package/es/dsl/story-processor/vchart/charts/bar/barDisappear.d.ts +3 -3
  67. package/es/dsl/story-processor/vchart/charts/bar/barDisappear.js +3 -0
  68. package/es/dsl/story-processor/vchart/charts/bar/barDisappear.js.map +1 -1
  69. package/es/dsl/story-processor/vchart/charts/character/characterDisappear.d.ts +3 -3
  70. package/es/dsl/story-processor/vchart/charts/character/characterDisappear.js +3 -0
  71. package/es/dsl/story-processor/vchart/charts/character/characterDisappear.js.map +1 -1
  72. package/es/dsl/story-processor/vchart/charts/common/commonDisappear.d.ts +1 -0
  73. package/es/dsl/story-processor/vchart/charts/common/commonDisappear.js +12 -0
  74. package/es/dsl/story-processor/vchart/charts/common/commonDisappear.js.map +1 -1
  75. package/es/dsl/story-processor/vchart/charts/line/lineDisappear.d.ts +3 -3
  76. package/es/dsl/story-processor/vchart/charts/line/lineDisappear.js +3 -0
  77. package/es/dsl/story-processor/vchart/charts/line/lineDisappear.js.map +1 -1
  78. package/es/dsl/story-processor/vchart/charts/line/transformLineSymbolAppear.d.ts +2 -2
  79. package/es/dsl/story-processor/vchart/charts/pie/pieDisappear.d.ts +3 -3
  80. package/es/dsl/story-processor/vchart/charts/pie/pieDisappear.js +3 -0
  81. package/es/dsl/story-processor/vchart/charts/pie/pieDisappear.js.map +1 -1
  82. package/es/dsl/story-processor/vchart/charts/radar/radarDisappear.d.ts +3 -3
  83. package/es/dsl/story-processor/vchart/charts/radar/radarDisappear.js +3 -0
  84. package/es/dsl/story-processor/vchart/charts/radar/radarDisappear.js.map +1 -1
  85. package/es/dsl/story-processor/vchart/charts/rose/roseDisappear.d.ts +3 -3
  86. package/es/dsl/story-processor/vchart/charts/rose/roseDisappear.js +3 -0
  87. package/es/dsl/story-processor/vchart/charts/rose/roseDisappear.js.map +1 -1
  88. package/es/dsl/story-processor/vchart/charts/scatter/scatterDisappear.d.ts +3 -3
  89. package/es/dsl/story-processor/vchart/charts/scatter/scatterDisappear.js +3 -0
  90. package/es/dsl/story-processor/vchart/charts/scatter/scatterDisappear.js.map +1 -1
  91. package/es/dsl/story-processor/vchart/charts/sunburst/sunburstDisappear.d.ts +3 -3
  92. package/es/dsl/story-processor/vchart/charts/sunburst/sunburstDisappear.js +3 -0
  93. package/es/dsl/story-processor/vchart/charts/sunburst/sunburstDisappear.js.map +1 -1
  94. package/es/dsl/story-processor/vchart/charts/treeMap/treeMapDisappear.d.ts +3 -3
  95. package/es/dsl/story-processor/vchart/charts/treeMap/treeMapDisappear.js +3 -0
  96. package/es/dsl/story-processor/vchart/charts/treeMap/treeMapDisappear.js.map +1 -1
  97. package/es/dsl/story-processor/vchart/charts/wordCloud/wordCloudDisappear.d.ts +3 -3
  98. package/es/dsl/story-processor/vchart/charts/wordCloud/wordCloudDisappear.js +3 -0
  99. package/es/dsl/story-processor/vchart/charts/wordCloud/wordCloudDisappear.js.map +1 -1
  100. package/es/dsl/story-processor/vchart/marks/arc/transformArcAppear.d.ts +1 -1
  101. package/es/dsl/story-processor/vchart/marks/area/transformAreaAppear.d.ts +1 -1
  102. package/es/dsl/story-processor/vchart/marks/line/transformLineAppear.d.ts +1 -1
  103. package/es/dsl/story-processor/vchart/marks/rect/transformRectAppear.d.ts +1 -1
  104. package/es/dsl/story-processor/vchart/marks/symbol/transformSymbolAppear.d.ts +1 -1
  105. package/es/dsl/story-processor/vchart/marks/text/transformTextAppear.d.ts +1 -1
  106. package/es/dsl/types/chart/appear.d.ts +3 -0
  107. package/es/dsl/types/chart/appear.js.map +1 -1
  108. package/es/edit/interface.js +1 -2
  109. package/es/scene/index.js +2 -1
  110. package/es/story/act/act.js +1 -1
  111. package/es/story/interface/runtime-interface.d.ts +4 -0
  112. package/es/story/interface/runtime-interface.js.map +1 -1
  113. package/es/story/player/index.d.ts +4 -1
  114. package/es/story/player/index.js +6 -2
  115. package/es/story/player/index.js.map +1 -1
  116. package/es/story/story.js +1 -1
  117. package/es/story/story.js.map +1 -1
  118. package/es/template/ranking-bar/interface.js +1 -1
  119. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/dsl/types/chart/appear.ts"],"names":[],"mappings":"","file":"appear.js","sourcesContent":["import type { IAction, IAnimationParams, IActionPayload } from '../index';\n\nexport interface IChartAppearPayLoad 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;\n };\n}\n\nexport interface IChartAppearAction extends IAction {\n action: 'appear';\n payload: IChartAppearPayLoad;\n}\n\nexport type AppearOption = Omit<IChartAppearAction, 'action' | 'data'>;\n"]}
1
+ {"version":3,"sources":["../src/dsl/types/chart/appear.ts"],"names":[],"mappings":"","file":"appear.js","sourcesContent":["import type { IAction, IAnimationParams, IActionPayload } from '../index';\n\nexport interface IChartAppearPayLoad 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;\n };\n fade?: { isBaseOpacity?: boolean };\n}\n\nexport interface IChartAppearAction extends IAction {\n action: 'appear';\n payload: IChartAppearPayLoad;\n}\n\nexport type AppearOption = Omit<IChartAppearAction, 'action' | 'data'>;\n"]}
@@ -2,5 +2,4 @@ export var EditActionEnum;
2
2
 
3
3
  !function(EditActionEnum) {
4
4
  EditActionEnum.singleSelection = "singleSelect", EditActionEnum.multipleSelection = "multipleSelect";
5
- }(EditActionEnum || (EditActionEnum = {}));
6
- //# sourceMappingURL=interface.js.map
5
+ }(EditActionEnum || (EditActionEnum = {}));
package/es/scene/index.js CHANGED
@@ -1 +1,2 @@
1
- export * from "./scene";
1
+ export * from "./scene";
2
+ //# sourceMappingURL=index.js.map
@@ -1,2 +1,2 @@
1
1
  export class Chapter {}
2
- //# sourceMappingURL=act.js.map
2
+ //# sourceMappingURL=act.js.map
@@ -1,6 +1,10 @@
1
1
  import type { IGraphic } from '@visactor/vrender';
2
2
  export interface IStoryInitOption {
3
3
  dom: string | HTMLDivElement;
4
+ playerOption?: {
5
+ scaleX?: number;
6
+ scaleY?: number;
7
+ };
4
8
  }
5
9
  export interface IStory {
6
10
  readonly id: string;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/story/interface/runtime-interface.ts"],"names":[],"mappings":"","file":"runtime-interface.js","sourcesContent":["import type { IGraphic } from '@visactor/vrender';\n\nexport interface IStoryInitOption {\n dom: string | HTMLDivElement; // dom id\n}\n\nexport interface IStory {\n readonly id: string;\n}\n\nexport type StoryEvent = Event & {\n detailPath: IGraphic[];\n path: IGraphic[];\n};\n"]}
1
+ {"version":3,"sources":["../src/story/interface/runtime-interface.ts"],"names":[],"mappings":"","file":"runtime-interface.js","sourcesContent":["import type { IGraphic } from '@visactor/vrender';\n\nexport interface IStoryInitOption {\n dom: string | HTMLDivElement; // dom id\n playerOption?: {\n scaleX?: number;\n scaleY?: number;\n };\n}\n\nexport interface IStory {\n readonly id: string;\n}\n\nexport type StoryEvent = Event & {\n detailPath: IGraphic[];\n path: IGraphic[];\n};\n"]}
@@ -28,7 +28,10 @@ export declare class Player implements IPlayer {
28
28
  protected _ticker: Ticker;
29
29
  protected _currTime: number;
30
30
  protected _actionProcessor: ActionProcessor;
31
- constructor(c: StoryCanvas);
31
+ constructor(c: StoryCanvas, options?: {
32
+ scaleX?: number;
33
+ scaleY?: number;
34
+ });
32
35
  addAct(c: IActSpec, characters: {
33
36
  [key: string]: ICharacter;
34
37
  }): void;
@@ -44,9 +44,13 @@ export class Ticker {
44
44
  }
45
45
 
46
46
  export class Player {
47
- constructor(c) {
47
+ constructor(c, options) {
48
+ var _a, _b;
48
49
  this._canvas = c, this._acts = [], this._ticker = new Ticker, this._currTime = 0,
49
- this._actionProcessor = new ActionProcessor(processorMap);
50
+ c.getStage().defaultLayer.setAttributes({
51
+ scaleX: null !== (_a = null == options ? void 0 : options.scaleX) && void 0 !== _a ? _a : 1,
52
+ scaleY: null !== (_b = null == options ? void 0 : options.scaleY) && void 0 !== _b ? _b : 1
53
+ }), this._actionProcessor = new ActionProcessor(processorMap);
50
54
  }
51
55
  addAct(c, characters) {
52
56
  const scenes = [], characterSet = new Set;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/story/player/index.ts"],"names":[],"mappings":"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","file":"index.js","sourcesContent":["import { isNumber } from '@visactor/vutils';\nimport type { StoryCanvas } from '../canvas/canvas';\nimport type { IActSpec, IAction } from '../interface';\nimport type { IPlayer } from '../interface/player';\nimport { processorMap, ActionProcessor } from '../../dsl/story-processor';\n// import { Encoder } from './encode';\nimport type { ICharacter } from '../character';\n\nexport class Ticker {\n cb?: (delta: number) => void;\n rafIdx = 0;\n start(cb: (t: number) => void) {\n this.stop();\n this.cb = cb;\n this._tick(0);\n }\n\n _tick = (lt: number) => {\n const ct = Date.now();\n this.cb && this.cb(lt === 0 ? 0 : ct - lt);\n this.rafIdx = requestAnimationFrame(() => this._tick(ct));\n };\n\n stop() {\n this.rafIdx && cancelAnimationFrame(this.rafIdx);\n this.rafIdx = 0;\n }\n}\n\ntype IChapterInstanceItem = {\n id: string;\n scenes: Array<{\n scene: {\n character: ICharacter;\n action: IAction;\n }[];\n delay: number;\n }>;\n characters: ICharacter[];\n};\n\nexport class Player implements IPlayer {\n protected _canvas: StoryCanvas;\n protected _acts: IChapterInstanceItem[];\n protected _currAct: IChapterInstanceItem;\n protected _ticker: Ticker;\n protected _currTime: number;\n // protected _encoder: Encoder;\n protected _actionProcessor: ActionProcessor;\n\n constructor(c: StoryCanvas) {\n this._canvas = c;\n this._acts = [];\n this._ticker = new Ticker();\n this._currTime = 0;\n // this._encoder = new Encoder();\n this._actionProcessor = new ActionProcessor(processorMap);\n }\n\n addAct(\n c: IActSpec,\n characters: {\n [key: string]: ICharacter;\n }\n ): void {\n const scenes: IChapterInstanceItem['scenes'] = [];\n const characterSet: Set<ICharacter> = new Set();\n c.scenes.forEach(item => {\n const scene: IChapterInstanceItem['scenes'][0] = { scene: [], delay: item.delay ?? 0 };\n item.actions.forEach(({ characterActions, characterId }) => {\n const _actions = characterActions.slice();\n _actions.sort((a, b) => a.startTime - b.startTime);\n _actions.forEach(action => {\n const character = characters[characterId];\n scene.scene.push({\n character,\n action: action\n });\n characterSet.add(character);\n });\n });\n scenes.push(scene);\n });\n this._acts.push({\n id: c.id,\n scenes: scenes,\n characters: Array.from(characterSet.values())\n });\n }\n\n setCurrentAct(id: number | string) {\n if (isNumber(id)) {\n this._currAct = this._acts[id];\n } else {\n this._currAct = this._acts.filter(item => item.id === id)[0];\n }\n }\n\n getCurrentAct() {\n return this._currAct?.id;\n }\n\n // 清除当前状态,一般用于回放操作\n reset() {\n this._currAct.characters.forEach(item => {\n item.reset();\n });\n }\n\n tickTo(t: number) {\n const lastTime = this._currTime;\n if (lastTime > t) {\n // 如果时间回退,那就重新走一遍\n this.reset();\n this._currTime = 0;\n this.tickTo(0);\n }\n const characterSet = new Set<ICharacter>();\n\n let baseStartTime = 0;\n for (let i = 0; i < this._currAct.scenes.length; i++) {\n const scene = this._currAct.scenes[i];\n baseStartTime += scene.delay;\n if (baseStartTime <= t) {\n scene.scene.forEach(({ character, action }) => {\n const { startTime: st } = action;\n const startTime = st + baseStartTime;\n if (startTime > t) {\n return;\n }\n characterSet.add(character);\n // 之前没走过,现在走\n if (startTime > lastTime && startTime <= t) {\n const { type } = character.spec;\n this._actionProcessor.doAction(type, action.action, [character, {}, action]);\n }\n character.show();\n });\n }\n let sceneTime = 0;\n scene.scene.forEach(({ action }) => {\n const { startTime, duration } = action;\n sceneTime = Math.max(startTime + duration, startTime);\n });\n baseStartTime += sceneTime;\n // if (baseStartTime > t) {\n // break;\n // }\n }\n\n // roleSet.forEach(r => {\n // r.tickTo && r.tickTo(t);\n // });\n\n this._currTime = t;\n this._canvas.getStage().ticker.tickAt(t);\n this._canvas.getStage().render();\n }\n\n play(): void {\n if (!this._currAct) {\n return;\n }\n this._ticker.stop();\n this._currTime = 0;\n this.reset();\n this._ticker.start(t => {\n this.tickTo(this._currTime + t);\n });\n }\n\n async encodeToVideo(millsecond: number, fps: number): Promise<any> {\n // // if (!this._currChapter) {\n // // return;\n // // }\n // const frameNum = (millsecond / 1000) * fps;\n // const deltaT = 1000 / fps;\n // this.tickTo(0);\n // const objUrl = await this._encoder.exportVideo(frameNum, fps, async i => {\n // const t = deltaT * i;\n // this.tickTo(t);\n // return new Promise((resolve, reject) => {\n // this._canvas\n // .getStage()\n // .window.getContext()\n // .canvas.nativeCanvas.toBlob((blob: any) => {\n // if (blob) {\n // resolve(blob);\n // } else {\n // // console.log('no blob');\n // reject('no blob');\n // }\n // }, `image/png`);\n // });\n // });\n\n // return objUrl;\n return null;\n }\n\n pause(): void {\n this._ticker.stop();\n }\n\n resume(): void {\n this._ticker._tick(this._currTime);\n }\n\n release(): void {\n return;\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/story/player/index.ts"],"names":[],"mappings":"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","file":"index.js","sourcesContent":["import { isNumber } from '@visactor/vutils';\nimport type { StoryCanvas } from '../canvas/canvas';\nimport type { IActSpec, IAction } from '../interface';\nimport type { IPlayer } from '../interface/player';\nimport { processorMap, ActionProcessor } from '../../dsl/story-processor';\n// import { Encoder } from './encode';\nimport type { ICharacter } from '../character';\n\nexport class Ticker {\n cb?: (delta: number) => void;\n rafIdx = 0;\n start(cb: (t: number) => void) {\n this.stop();\n this.cb = cb;\n this._tick(0);\n }\n\n _tick = (lt: number) => {\n const ct = Date.now();\n this.cb && this.cb(lt === 0 ? 0 : ct - lt);\n this.rafIdx = requestAnimationFrame(() => this._tick(ct));\n };\n\n stop() {\n this.rafIdx && cancelAnimationFrame(this.rafIdx);\n this.rafIdx = 0;\n }\n}\n\ntype IChapterInstanceItem = {\n id: string;\n scenes: Array<{\n scene: {\n character: ICharacter;\n action: IAction;\n }[];\n delay: number;\n }>;\n characters: ICharacter[];\n};\n\nexport class Player implements IPlayer {\n protected _canvas: StoryCanvas;\n protected _acts: IChapterInstanceItem[];\n protected _currAct: IChapterInstanceItem;\n protected _ticker: Ticker;\n protected _currTime: number;\n // protected _encoder: Encoder;\n protected _actionProcessor: ActionProcessor;\n\n constructor(c: StoryCanvas, options?: { scaleX?: number; scaleY?: number }) {\n this._canvas = c;\n this._acts = [];\n this._ticker = new Ticker();\n this._currTime = 0;\n c.getStage().defaultLayer.setAttributes({\n scaleX: options?.scaleX ?? 1,\n scaleY: options?.scaleY ?? 1\n });\n // this._encoder = new Encoder();\n this._actionProcessor = new ActionProcessor(processorMap);\n }\n\n addAct(\n c: IActSpec,\n characters: {\n [key: string]: ICharacter;\n }\n ): void {\n const scenes: IChapterInstanceItem['scenes'] = [];\n const characterSet: Set<ICharacter> = new Set();\n c.scenes.forEach(item => {\n const scene: IChapterInstanceItem['scenes'][0] = { scene: [], delay: item.delay ?? 0 };\n item.actions.forEach(({ characterActions, characterId }) => {\n const _actions = characterActions.slice();\n _actions.sort((a, b) => a.startTime - b.startTime);\n _actions.forEach(action => {\n const character = characters[characterId];\n scene.scene.push({\n character,\n action: action\n });\n characterSet.add(character);\n });\n });\n scenes.push(scene);\n });\n this._acts.push({\n id: c.id,\n scenes: scenes,\n characters: Array.from(characterSet.values())\n });\n }\n\n setCurrentAct(id: number | string) {\n if (isNumber(id)) {\n this._currAct = this._acts[id];\n } else {\n this._currAct = this._acts.filter(item => item.id === id)[0];\n }\n }\n\n getCurrentAct() {\n return this._currAct?.id;\n }\n\n // 清除当前状态,一般用于回放操作\n reset() {\n this._currAct.characters.forEach(item => {\n item.reset();\n });\n }\n\n tickTo(t: number) {\n const lastTime = this._currTime;\n if (lastTime > t) {\n // 如果时间回退,那就重新走一遍\n this.reset();\n this._currTime = 0;\n this.tickTo(0);\n }\n const characterSet = new Set<ICharacter>();\n\n let baseStartTime = 0;\n for (let i = 0; i < this._currAct.scenes.length; i++) {\n const scene = this._currAct.scenes[i];\n baseStartTime += scene.delay;\n if (baseStartTime <= t) {\n scene.scene.forEach(({ character, action }) => {\n const { startTime: st } = action;\n const startTime = st + baseStartTime;\n if (startTime > t) {\n return;\n }\n characterSet.add(character);\n // 之前没走过,现在走\n if (startTime > lastTime && startTime <= t) {\n const { type } = character.spec;\n this._actionProcessor.doAction(type, action.action, [character, {}, action]);\n }\n character.show();\n });\n }\n let sceneTime = 0;\n scene.scene.forEach(({ action }) => {\n const { startTime, duration } = action;\n sceneTime = Math.max(startTime + duration, startTime);\n });\n baseStartTime += sceneTime;\n // if (baseStartTime > t) {\n // break;\n // }\n }\n\n // roleSet.forEach(r => {\n // r.tickTo && r.tickTo(t);\n // });\n\n this._currTime = t;\n this._canvas.getStage().ticker.tickAt(t);\n this._canvas.getStage().render();\n }\n\n play(): void {\n if (!this._currAct) {\n return;\n }\n this._ticker.stop();\n this._currTime = 0;\n this.reset();\n this._ticker.start(t => {\n this.tickTo(this._currTime + t);\n });\n }\n\n async encodeToVideo(millsecond: number, fps: number): Promise<any> {\n // // if (!this._currChapter) {\n // // return;\n // // }\n // const frameNum = (millsecond / 1000) * fps;\n // const deltaT = 1000 / fps;\n // this.tickTo(0);\n // const objUrl = await this._encoder.exportVideo(frameNum, fps, async i => {\n // const t = deltaT * i;\n // this.tickTo(t);\n // return new Promise((resolve, reject) => {\n // this._canvas\n // .getStage()\n // .window.getContext()\n // .canvas.nativeCanvas.toBlob((blob: any) => {\n // if (blob) {\n // resolve(blob);\n // } else {\n // // console.log('no blob');\n // reject('no blob');\n // }\n // }, `image/png`);\n // });\n // });\n\n // return objUrl;\n return null;\n }\n\n pause(): void {\n this._ticker.stop();\n }\n\n resume(): void {\n this._ticker._tick(this._currTime);\n }\n\n release(): void {\n return;\n }\n}\n"]}
package/es/story/story.js CHANGED
@@ -42,7 +42,7 @@ export class Story {
42
42
  }
43
43
  constructor(spec, option) {
44
44
  this._characters = {}, this.id = "test-mvp_" + Story._id_++, this._canvas = new StoryCanvas(this, isString(option.dom) ? document.getElementById(option.dom) : option.dom),
45
- this._player = new Player(this._canvas), spec && this.load(spec);
45
+ this._player = new Player(this._canvas, option.playerOption), spec && this.load(spec);
46
46
  }
47
47
  load(spec) {
48
48
  spec.characters.forEach((e => {
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/story/story.ts"],"names":[],"mappings":"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","file":"story.js","sourcesContent":["import type { ICharacterSpec } from './character/dsl-interface';\nimport { isString } from '@visactor/vutils';\nimport type { IStory, IStoryInitOption } from './interface/runtime-interface';\nimport type { ICharacter } from './character/runtime-interface';\nimport { StoryCanvas } from './canvas/canvas';\nimport type { IStorySpec, IActSpec } from './interface';\nimport { StoryFactory } from './factory/factory';\nimport { defaultTicker, defaultTimeline } from '@visactor/vrender';\nimport type { IPlayer } from './interface/player';\nimport { Player } from './player';\n\ndefaultTicker.remTimeline(defaultTimeline);\n\nexport class Story implements IStory {\n static _id_ = 0;\n\n protected _player: IPlayer;\n\n readonly id: string;\n\n protected _canvas: StoryCanvas;\n get canvas() {\n return this._canvas;\n }\n\n protected _characters: { [key: string]: ICharacter } = {};\n\n constructor(spec: IStorySpec, option: IStoryInitOption) {\n this.id = 'test-mvp_' + Story._id_++;\n this._canvas = new StoryCanvas(\n this,\n isString(option.dom) ? (document.getElementById(option.dom) as HTMLDivElement) : option.dom\n );\n this._player = new Player(this._canvas);\n\n if (spec) {\n this.load(spec);\n }\n }\n\n load(spec: IStorySpec) {\n spec.characters.forEach(e => {\n this._createCharacter(e);\n });\n // @ts-ignore\n spec.acts.forEach(e => {\n this._createAct(e);\n });\n }\n\n getCharacters(): { [key: string]: ICharacter } {\n return this._characters;\n }\n\n private _createCharacter(spec: ICharacterSpec) {\n const option = { story: this, canvas: this._canvas, graphicParent: this._canvas.getStage().defaultLayer };\n if ((<ICharacterSpec>spec).id) {\n if (!this._characters[(<ICharacterSpec>spec).id]) {\n this._characters[(<ICharacterSpec>spec).id] = StoryFactory.createCharacter(<ICharacterSpec>spec, option);\n }\n return this._characters[(<ICharacterSpec>spec).id];\n }\n // else if ((<ICharacterLink>spec).characterId) {\n // return this._characters[(<ICharacterLink>spec).characterId];\n // }\n return null;\n }\n\n private _createAct(spec: IActSpec) {\n this._player.addAct(spec, this._characters);\n }\n\n play(actIndex: string | number = 0) {\n // player 开始播放\n this._player.setCurrentAct(actIndex);\n this._player.play();\n }\n\n pause() {\n this._player.pause();\n return this._player.getCurrentAct();\n }\n\n async encodeToVideo(actIndex: number, millsecond: number, fps: number) {\n this._player.setCurrentAct(actIndex);\n return this._player.encodeToVideo(millsecond, fps);\n }\n\n getPlayer() {\n return this._player;\n }\n\n release() {\n this._player.release();\n this._canvas.release();\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/story/story.ts"],"names":[],"mappings":"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","file":"story.js","sourcesContent":["import type { ICharacterSpec } from './character/dsl-interface';\nimport { isString } from '@visactor/vutils';\nimport type { IStory, IStoryInitOption } from './interface/runtime-interface';\nimport type { ICharacter } from './character/runtime-interface';\nimport { StoryCanvas } from './canvas/canvas';\nimport type { IStorySpec, IActSpec } from './interface';\nimport { StoryFactory } from './factory/factory';\nimport { defaultTicker, defaultTimeline } from '@visactor/vrender';\nimport type { IPlayer } from './interface/player';\nimport { Player } from './player';\n\ndefaultTicker.remTimeline(defaultTimeline);\n\nexport class Story implements IStory {\n static _id_ = 0;\n\n protected _player: IPlayer;\n\n readonly id: string;\n\n protected _canvas: StoryCanvas;\n get canvas() {\n return this._canvas;\n }\n\n protected _characters: { [key: string]: ICharacter } = {};\n\n constructor(spec: IStorySpec, option: IStoryInitOption) {\n this.id = 'test-mvp_' + Story._id_++;\n this._canvas = new StoryCanvas(\n this,\n isString(option.dom) ? (document.getElementById(option.dom) as HTMLDivElement) : option.dom\n );\n this._player = new Player(this._canvas, option.playerOption);\n\n if (spec) {\n this.load(spec);\n }\n }\n\n load(spec: IStorySpec) {\n spec.characters.forEach(e => {\n this._createCharacter(e);\n });\n // @ts-ignore\n spec.acts.forEach(e => {\n this._createAct(e);\n });\n }\n\n getCharacters(): { [key: string]: ICharacter } {\n return this._characters;\n }\n\n private _createCharacter(spec: ICharacterSpec) {\n const option = { story: this, canvas: this._canvas, graphicParent: this._canvas.getStage().defaultLayer };\n if ((<ICharacterSpec>spec).id) {\n if (!this._characters[(<ICharacterSpec>spec).id]) {\n this._characters[(<ICharacterSpec>spec).id] = StoryFactory.createCharacter(<ICharacterSpec>spec, option);\n }\n return this._characters[(<ICharacterSpec>spec).id];\n }\n // else if ((<ICharacterLink>spec).characterId) {\n // return this._characters[(<ICharacterLink>spec).characterId];\n // }\n return null;\n }\n\n private _createAct(spec: IActSpec) {\n this._player.addAct(spec, this._characters);\n }\n\n play(actIndex: string | number = 0) {\n // player 开始播放\n this._player.setCurrentAct(actIndex);\n this._player.play();\n }\n\n pause() {\n this._player.pause();\n return this._player.getCurrentAct();\n }\n\n async encodeToVideo(actIndex: number, millsecond: number, fps: number) {\n this._player.setCurrentAct(actIndex);\n return this._player.encodeToVideo(millsecond, fps);\n }\n\n getPlayer() {\n return this._player;\n }\n\n release() {\n this._player.release();\n this._canvas.release();\n }\n}\n"]}
@@ -1,2 +1,2 @@
1
1
  export { };
2
- //# sourceMappingURL=interface.js.map
2
+ //# sourceMappingURL=interface.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@visactor/vstory",
3
- "version": "0.0.1-alpha.0",
3
+ "version": "0.0.1",
4
4
  "description": "",
5
5
  "sideEffects": true,
6
6
  "main": "cjs/index.js",