@nice2dev/ui-presentations 1.0.2
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/CHANGELOG.md +63 -0
- package/README.md +59 -0
- package/dist/__tests__/PresentationModel.test.d.ts +2 -0
- package/dist/__tests__/PresentationModel.test.d.ts.map +1 -0
- package/dist/__tests__/brandKit.test.d.ts +2 -0
- package/dist/__tests__/brandKit.test.d.ts.map +1 -0
- package/dist/__tests__/businessTemplates.test.d.ts +2 -0
- package/dist/__tests__/businessTemplates.test.d.ts.map +1 -0
- package/dist/__tests__/chartRenderer.test.d.ts +2 -0
- package/dist/__tests__/chartRenderer.test.d.ts.map +1 -0
- package/dist/__tests__/exportEngine.test.d.ts +2 -0
- package/dist/__tests__/exportEngine.test.d.ts.map +1 -0
- package/dist/__tests__/i18n-locales.test.d.ts +2 -0
- package/dist/__tests__/i18n-locales.test.d.ts.map +1 -0
- package/dist/__tests__/puppetShow.test.d.ts +6 -0
- package/dist/__tests__/puppetShow.test.d.ts.map +1 -0
- package/dist/__tests__/serialization.test.d.ts +2 -0
- package/dist/__tests__/serialization.test.d.ts.map +1 -0
- package/dist/__tests__/setup.d.ts +2 -0
- package/dist/__tests__/setup.d.ts.map +1 -0
- package/dist/__tests__/slideAnimationEngine.test.d.ts +2 -0
- package/dist/__tests__/slideAnimationEngine.test.d.ts.map +1 -0
- package/dist/__tests__/sprint24-presentations.test.d.ts +2 -0
- package/dist/__tests__/sprint24-presentations.test.d.ts.map +1 -0
- package/dist/collaborative/collaborativePresentation.d.ts +208 -0
- package/dist/collaborative/collaborativePresentation.d.ts.map +1 -0
- package/dist/components/NicePresentationEditor.d.ts +22 -0
- package/dist/components/NicePresentationEditor.d.ts.map +1 -0
- package/dist/components/NicePresentationPlayer.d.ts +26 -0
- package/dist/components/NicePresentationPlayer.d.ts.map +1 -0
- package/dist/components/PresentationToolbar.d.ts +16 -0
- package/dist/components/PresentationToolbar.d.ts.map +1 -0
- package/dist/components/SlideCanvas.d.ts +28 -0
- package/dist/components/SlideCanvas.d.ts.map +1 -0
- package/dist/components/SlidePropertyPanel.d.ts +13 -0
- package/dist/components/SlidePropertyPanel.d.ts.map +1 -0
- package/dist/components/SlideThumbnailList.d.ts +16 -0
- package/dist/components/SlideThumbnailList.d.ts.map +1 -0
- package/dist/components/interactive/InteractiveButton.d.ts +21 -0
- package/dist/components/interactive/InteractiveButton.d.ts.map +1 -0
- package/dist/components/interactive/InteractiveCountdown.d.ts +21 -0
- package/dist/components/interactive/InteractiveCountdown.d.ts.map +1 -0
- package/dist/components/interactive/InteractivePoll.d.ts +25 -0
- package/dist/components/interactive/InteractivePoll.d.ts.map +1 -0
- package/dist/components/interactive/InteractiveQnA.d.ts +31 -0
- package/dist/components/interactive/InteractiveQnA.d.ts.map +1 -0
- package/dist/components/interactive/InteractiveQuiz.d.ts +21 -0
- package/dist/components/interactive/InteractiveQuiz.d.ts.map +1 -0
- package/dist/components/interactive/index.d.ts +17 -0
- package/dist/components/interactive/index.d.ts.map +1 -0
- package/dist/core/PresentationModel.d.ts +34 -0
- package/dist/core/PresentationModel.d.ts.map +1 -0
- package/dist/core/brandKit.d.ts +53 -0
- package/dist/core/brandKit.d.ts.map +1 -0
- package/dist/core/chartRenderer.d.ts +5 -0
- package/dist/core/chartRenderer.d.ts.map +1 -0
- package/dist/core/customTransitions.d.ts +115 -0
- package/dist/core/customTransitions.d.ts.map +1 -0
- package/dist/core/dashboardSlide.d.ts +229 -0
- package/dist/core/dashboardSlide.d.ts.map +1 -0
- package/dist/core/dataGridSlide.d.ts +255 -0
- package/dist/core/dataGridSlide.d.ts.map +1 -0
- package/dist/core/exportEngine.d.ts +5 -0
- package/dist/core/exportEngine.d.ts.map +1 -0
- package/dist/core/i18n.d.ts +10 -0
- package/dist/core/i18n.d.ts.map +1 -0
- package/dist/core/liveDataSlides.d.ts +237 -0
- package/dist/core/liveDataSlides.d.ts.map +1 -0
- package/dist/core/qrCodeSlide.d.ts +310 -0
- package/dist/core/qrCodeSlide.d.ts.map +1 -0
- package/dist/core/querySlide.d.ts +196 -0
- package/dist/core/querySlide.d.ts.map +1 -0
- package/dist/core/recordingMode.d.ts +139 -0
- package/dist/core/recordingMode.d.ts.map +1 -0
- package/dist/core/serialization.d.ts +13 -0
- package/dist/core/serialization.d.ts.map +1 -0
- package/dist/core/slideAnimationEngine.d.ts +20 -0
- package/dist/core/slideAnimationEngine.d.ts.map +1 -0
- package/dist/core/slideLibrary.d.ts +311 -0
- package/dist/core/slideLibrary.d.ts.map +1 -0
- package/dist/core/versionHistory.d.ts +234 -0
- package/dist/core/versionHistory.d.ts.map +1 -0
- package/dist/hooks/usePresentationEditor.d.ts +35 -0
- package/dist/hooks/usePresentationEditor.d.ts.map +1 -0
- package/dist/index.cjs +3628 -0
- package/dist/index.d.ts +33 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.mjs +62231 -0
- package/dist/puppetShow/gameEngineIntegration.d.ts +149 -0
- package/dist/puppetShow/gameEngineIntegration.d.ts.map +1 -0
- package/dist/puppetShow/index.d.ts +17 -0
- package/dist/puppetShow/index.d.ts.map +1 -0
- package/dist/puppetShow/puppetCharacter.d.ts +96 -0
- package/dist/puppetShow/puppetCharacter.d.ts.map +1 -0
- package/dist/puppetShow/puppetPlayer.d.ts +68 -0
- package/dist/puppetShow/puppetPlayer.d.ts.map +1 -0
- package/dist/puppetShow/puppetShowConverter.d.ts +141 -0
- package/dist/puppetShow/puppetShowConverter.d.ts.map +1 -0
- package/dist/puppetShow/puppetShowTypes.d.ts +529 -0
- package/dist/puppetShow/puppetShowTypes.d.ts.map +1 -0
- package/dist/puppetShow/puppetStage.d.ts +67 -0
- package/dist/puppetShow/puppetStage.d.ts.map +1 -0
- package/dist/puppetShow/puppetTimeline.d.ts +143 -0
- package/dist/puppetShow/puppetTimeline.d.ts.map +1 -0
- package/dist/style.css +1 -0
- package/dist/templates/ArchitectureOverviewTemplate.d.ts +98 -0
- package/dist/templates/ArchitectureOverviewTemplate.d.ts.map +1 -0
- package/dist/templates/IncidentReportTemplate.d.ts +81 -0
- package/dist/templates/IncidentReportTemplate.d.ts.map +1 -0
- package/dist/templates/InvestorDeckTemplate.d.ts +145 -0
- package/dist/templates/InvestorDeckTemplate.d.ts.map +1 -0
- package/dist/templates/OnboardingTemplate.d.ts +106 -0
- package/dist/templates/OnboardingTemplate.d.ts.map +1 -0
- package/dist/templates/ProductPitchTemplate.d.ts +88 -0
- package/dist/templates/ProductPitchTemplate.d.ts.map +1 -0
- package/dist/templates/QuarterlyReportTemplate.d.ts +102 -0
- package/dist/templates/QuarterlyReportTemplate.d.ts.map +1 -0
- package/dist/templates/SprintReviewTemplate.d.ts +90 -0
- package/dist/templates/SprintReviewTemplate.d.ts.map +1 -0
- package/dist/templates/index.d.ts +11 -0
- package/dist/templates/index.d.ts.map +1 -0
- package/dist/types/presentationTypes.d.ts +475 -0
- package/dist/types/presentationTypes.d.ts.map +1 -0
- package/package.json +57 -0
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
import { PuppetCharacterDef, SpriteAtlas, PuppetPropDef, GameEngineImportOptions } from './puppetShowTypes';
|
|
2
|
+
|
|
3
|
+
export interface GameEngineSpriteAnimation {
|
|
4
|
+
frames: GameEngineAnimationFrame[];
|
|
5
|
+
fps: number;
|
|
6
|
+
loop: boolean;
|
|
7
|
+
}
|
|
8
|
+
export interface GameEngineAnimationFrame {
|
|
9
|
+
assetId: string;
|
|
10
|
+
srcRect: {
|
|
11
|
+
x: number;
|
|
12
|
+
y: number;
|
|
13
|
+
width: number;
|
|
14
|
+
height: number;
|
|
15
|
+
};
|
|
16
|
+
duration?: number;
|
|
17
|
+
}
|
|
18
|
+
export interface GameEngineSprite {
|
|
19
|
+
id: string;
|
|
20
|
+
name: string;
|
|
21
|
+
assetId: string;
|
|
22
|
+
width: number;
|
|
23
|
+
height: number;
|
|
24
|
+
anchor?: {
|
|
25
|
+
x: number;
|
|
26
|
+
y: number;
|
|
27
|
+
};
|
|
28
|
+
animations?: Record<string, GameEngineSpriteAnimation>;
|
|
29
|
+
}
|
|
30
|
+
export interface GameEngineEntityData {
|
|
31
|
+
id: string;
|
|
32
|
+
name: string;
|
|
33
|
+
components: {
|
|
34
|
+
sprite?: GameEngineSpriteComponent;
|
|
35
|
+
animator?: GameEngineAnimatorComponent;
|
|
36
|
+
transform?: GameEngineTransformComponent;
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
export interface GameEngineSpriteComponent {
|
|
40
|
+
assetId: string;
|
|
41
|
+
width: number;
|
|
42
|
+
height: number;
|
|
43
|
+
anchor?: {
|
|
44
|
+
x: number;
|
|
45
|
+
y: number;
|
|
46
|
+
};
|
|
47
|
+
visible?: boolean;
|
|
48
|
+
tint?: string;
|
|
49
|
+
}
|
|
50
|
+
export interface GameEngineAnimatorComponent {
|
|
51
|
+
currentAnimation: string;
|
|
52
|
+
animations: Record<string, GameEngineSpriteAnimation>;
|
|
53
|
+
frame: number;
|
|
54
|
+
elapsed: number;
|
|
55
|
+
playing: boolean;
|
|
56
|
+
loop: boolean;
|
|
57
|
+
}
|
|
58
|
+
export interface GameEngineTransformComponent {
|
|
59
|
+
position: {
|
|
60
|
+
x: number;
|
|
61
|
+
y: number;
|
|
62
|
+
};
|
|
63
|
+
rotation: number;
|
|
64
|
+
scale: {
|
|
65
|
+
x: number;
|
|
66
|
+
y: number;
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
export interface GameEngineProject {
|
|
70
|
+
id: string;
|
|
71
|
+
name: string;
|
|
72
|
+
assets: GameEngineAsset[];
|
|
73
|
+
entities: GameEngineEntityData[];
|
|
74
|
+
sprites: GameEngineSprite[];
|
|
75
|
+
}
|
|
76
|
+
export interface GameEngineAsset {
|
|
77
|
+
id: string;
|
|
78
|
+
name: string;
|
|
79
|
+
type: 'image' | 'audio' | 'spritesheet' | 'tilemap';
|
|
80
|
+
path: string;
|
|
81
|
+
metadata?: {
|
|
82
|
+
width?: number;
|
|
83
|
+
height?: number;
|
|
84
|
+
frameWidth?: number;
|
|
85
|
+
frameHeight?: number;
|
|
86
|
+
frameCount?: number;
|
|
87
|
+
columns?: number;
|
|
88
|
+
rows?: number;
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Import a sprite from game engine as a puppet character
|
|
93
|
+
*/
|
|
94
|
+
export declare function importSpriteAsCharacter(sprite: GameEngineSprite, project: GameEngineProject, options?: GameEngineImportOptions): PuppetCharacterDef;
|
|
95
|
+
/**
|
|
96
|
+
* Import an entity from game engine as a puppet character
|
|
97
|
+
*/
|
|
98
|
+
export declare function importEntityAsCharacter(entity: GameEngineEntityData, project: GameEngineProject, options?: GameEngineImportOptions): PuppetCharacterDef | null;
|
|
99
|
+
/**
|
|
100
|
+
* Import an asset as a puppet prop
|
|
101
|
+
*/
|
|
102
|
+
export declare function importAssetAsProp(asset: GameEngineAsset, options?: GameEngineImportOptions): PuppetPropDef | null;
|
|
103
|
+
/**
|
|
104
|
+
* Import all sprites from a game engine project
|
|
105
|
+
*/
|
|
106
|
+
export declare function importProjectCharacters(project: GameEngineProject, options?: GameEngineImportOptions): PuppetCharacterDef[];
|
|
107
|
+
/**
|
|
108
|
+
* Import all image assets as props
|
|
109
|
+
*/
|
|
110
|
+
export declare function importProjectProps(project: GameEngineProject, options?: GameEngineImportOptions): PuppetPropDef[];
|
|
111
|
+
/**
|
|
112
|
+
* Export a puppet character back to game engine sprite format
|
|
113
|
+
*/
|
|
114
|
+
export declare function exportCharacterToSprite(character: PuppetCharacterDef): GameEngineSprite;
|
|
115
|
+
/**
|
|
116
|
+
* Export character to game engine entity format
|
|
117
|
+
*/
|
|
118
|
+
export declare function exportCharacterToEntity(character: PuppetCharacterDef, position?: {
|
|
119
|
+
x: number;
|
|
120
|
+
y: number;
|
|
121
|
+
}): GameEngineEntityData;
|
|
122
|
+
/**
|
|
123
|
+
* Create a simple sprite sheet from individual frames
|
|
124
|
+
*/
|
|
125
|
+
export declare function createSpriteSheetFromFrames(frames: Array<{
|
|
126
|
+
id: string;
|
|
127
|
+
image: string;
|
|
128
|
+
width: number;
|
|
129
|
+
height: number;
|
|
130
|
+
}>, options?: {
|
|
131
|
+
columns?: number;
|
|
132
|
+
padding?: number;
|
|
133
|
+
}): {
|
|
134
|
+
image: string;
|
|
135
|
+
atlas: PuppetCharacterDef['visual']['atlas'];
|
|
136
|
+
};
|
|
137
|
+
/**
|
|
138
|
+
* Parse sprite sheet grid into frames
|
|
139
|
+
*/
|
|
140
|
+
export declare function parseSpriteSheetGrid(imageUrl: string, frameWidth: number, frameHeight: number, frameCount: number, columns?: number): SpriteAtlas;
|
|
141
|
+
/**
|
|
142
|
+
* Validate game engine project for puppet show import
|
|
143
|
+
*/
|
|
144
|
+
export declare function validateProjectForImport(project: GameEngineProject): {
|
|
145
|
+
valid: boolean;
|
|
146
|
+
errors: string[];
|
|
147
|
+
warnings: string[];
|
|
148
|
+
};
|
|
149
|
+
//# sourceMappingURL=gameEngineIntegration.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gameEngineIntegration.d.ts","sourceRoot":"","sources":["../../src/puppetShow/gameEngineIntegration.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACV,kBAAkB,EAKlB,WAAW,EACX,aAAa,EACb,uBAAuB,EACxB,MAAM,mBAAmB,CAAC;AAM3B,MAAM,WAAW,yBAAyB;IACxC,MAAM,EAAE,wBAAwB,EAAE,CAAC;IACnC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,OAAO,CAAC;CACf;AAED,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IACjE,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAClC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,yBAAyB,CAAC,CAAC;CACxD;AAED,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE;QACV,MAAM,CAAC,EAAE,yBAAyB,CAAC;QACnC,QAAQ,CAAC,EAAE,2BAA2B,CAAC;QACvC,SAAS,CAAC,EAAE,4BAA4B,CAAC;KAC1C,CAAC;CACH;AAED,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAClC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,2BAA2B;IAC1C,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,yBAAyB,CAAC,CAAC;IACtD,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,OAAO,CAAC;CACf;AAED,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACjC;AAED,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,eAAe,EAAE,CAAC;IAC1B,QAAQ,EAAE,oBAAoB,EAAE,CAAC;IACjC,OAAO,EAAE,gBAAgB,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,OAAO,GAAG,OAAO,GAAG,aAAa,GAAG,SAAS,CAAC;IACpD,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE;QACT,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;CACH;AAMD;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,gBAAgB,EACxB,OAAO,EAAE,iBAAiB,EAC1B,OAAO,CAAC,EAAE,uBAAuB,GAChC,kBAAkB,CAoEpB;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,oBAAoB,EAC5B,OAAO,EAAE,iBAAiB,EAC1B,OAAO,CAAC,EAAE,uBAAuB,GAChC,kBAAkB,GAAG,IAAI,CAwE3B;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,eAAe,EACtB,OAAO,CAAC,EAAE,uBAAuB,GAChC,aAAa,GAAG,IAAI,CActB;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,iBAAiB,EAC1B,OAAO,CAAC,EAAE,uBAAuB,GAChC,kBAAkB,EAAE,CAiBtB;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,iBAAiB,EAC1B,OAAO,CAAC,EAAE,uBAAuB,GAChC,aAAa,EAAE,CAWjB;AAMD;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,kBAAkB,GAC5B,gBAAgB,CAoDlB;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,kBAAkB,EAC7B,QAAQ,CAAC,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,GAClC,oBAAoB,CA6BtB;AAwBD;;GAEG;AACH,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,KAAK,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,EAC3E,OAAO,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAC/C;IACD,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,kBAAkB,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC;CAC9C,CAgDA;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE,MAAM,GACf,WAAW,CAkCb;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,iBAAiB,GAAG;IACpE,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB,CAoCA"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file puppetShow/index.ts
|
|
3
|
+
* @description Puppet Show module exports
|
|
4
|
+
*/
|
|
5
|
+
export type { NicePuppetShowDocument, StageSize, PuppetShowSettings, PuppetShowMetadata, PuppetCharacterDef, CharacterType, CharacterVisual, CharacterAnimation, AnimationCategory, AnimationFrameDef, CharacterExpression, EmotionType, CharacterVoice, PuppetPropDef, SceneBackground, GradientDef, ParallaxLayer, AudioTrackDef, AudioTrackType, PuppetScene, SceneCastMember, SceneProps, SceneAudio, SceneTransition, SceneCamera, TimelineTrack, TimelineTrackType, Keyframe, AnimationKeyframe, TransformKeyframe, ExpressionKeyframe, DialogueKeyframe, AudioKeyframe, CameraKeyframe, EffectKeyframe, DialogueStyle, VisualEffectType, EasingType, PresentationConversionOptions, GameEngineImportOptions, PuppetShowPlayerState, CharacterRuntimeState, ActiveEffect, } from './puppetShowTypes';
|
|
6
|
+
export { PuppetAnimationController, PuppetCharacter, CharacterRegistry, usePuppetAnimation, useCharacterRegistry, createCharacterFromSpriteSheet, addAnimationToCharacter, addExpressionToCharacter, renderCharacterToCanvas, } from './puppetCharacter';
|
|
7
|
+
export { PuppetStage, BackgroundRenderer, EffectRenderer, DialogueBox, usePuppetStage, useCameraShake, } from './puppetStage';
|
|
8
|
+
export type { PuppetStageProps, PuppetStageContextValue, BackgroundRendererProps, EffectRendererProps, DialogueBoxProps, } from './puppetStage';
|
|
9
|
+
export { TimelineEngine, TimelineTrackBuilder, PuppetSceneBuilder, easingFunctions, getEasingFunction, lerp, lerpPosition, cloneTimeline, getTrackDuration, getSceneDuration, timeToFrames, framesToTime, formatTime, parseTime, } from './puppetTimeline';
|
|
10
|
+
export type { TimelineState, TimelineEngineOptions, EasingFunction, } from './puppetTimeline';
|
|
11
|
+
export { PuppetShowPlayer, PuppetShowMiniPlayer, usePuppetShowPlayer, usePuppetPlayer, } from './puppetPlayer';
|
|
12
|
+
export type { PuppetShowPlayerProps, PuppetShowMiniPlayerProps, PuppetPlayerContextValue, UsePuppetShowPlayerOptions, UsePuppetShowPlayerResult, } from './puppetPlayer';
|
|
13
|
+
export { importSpriteAsCharacter, importEntityAsCharacter, importAssetAsProp, importProjectCharacters, importProjectProps, exportCharacterToSprite, exportCharacterToEntity, createSpriteSheetFromFrames, parseSpriteSheetGrid, validateProjectForImport, } from './gameEngineIntegration';
|
|
14
|
+
export type { GameEngineSpriteAnimation, GameEngineAnimationFrame, GameEngineSprite, GameEngineEntityData, GameEngineSpriteComponent, GameEngineAnimatorComponent, GameEngineTransformComponent, GameEngineProject, GameEngineAsset, } from './gameEngineIntegration';
|
|
15
|
+
export { puppetShowToPresentation, presentationToPuppetShow, validatePuppetShowDocument, mergePuppetShows, } from './puppetShowConverter';
|
|
16
|
+
export type { NicePresentationDocument, Slide, SlideElement, SlideLayout, SlideBackground, SlideTransition, ElementPosition, ElementSize, ElementContent, ElementStyle, ElementAnimation, AnimationEffect, AnimationTimeline, PresentationTheme, } from './puppetShowConverter';
|
|
17
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/puppetShow/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,YAAY,EACV,sBAAsB,EACtB,SAAS,EACT,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,aAAa,EACb,eAAe,EACf,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,mBAAmB,EACnB,WAAW,EACX,cAAc,EACd,aAAa,EACb,eAAe,EACf,WAAW,EACX,aAAa,EACb,aAAa,EACb,cAAc,EACd,WAAW,EACX,eAAe,EACf,UAAU,EACV,UAAU,EACV,eAAe,EACf,WAAW,EACX,aAAa,EACb,iBAAiB,EACjB,QAAQ,EACR,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,aAAa,EACb,cAAc,EACd,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,UAAU,EACV,6BAA6B,EAC7B,uBAAuB,EACvB,qBAAqB,EACrB,qBAAqB,EACrB,YAAY,GACb,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EACL,yBAAyB,EACzB,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,8BAA8B,EAC9B,uBAAuB,EACvB,wBAAwB,EACxB,uBAAuB,GACxB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EACL,WAAW,EACX,kBAAkB,EAClB,cAAc,EACd,WAAW,EACX,cAAc,EACd,cAAc,GACf,MAAM,eAAe,CAAC;AACvB,YAAY,EACV,gBAAgB,EAChB,uBAAuB,EACvB,uBAAuB,EACvB,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,eAAe,CAAC;AAGvB,OAAO,EACL,cAAc,EACd,oBAAoB,EACpB,kBAAkB,EAClB,eAAe,EACf,iBAAiB,EACjB,IAAI,EACJ,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,gBAAgB,EAChB,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,SAAS,GACV,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EACV,aAAa,EACb,qBAAqB,EACrB,cAAc,GACf,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,mBAAmB,EACnB,eAAe,GAChB,MAAM,gBAAgB,CAAC;AACxB,YAAY,EACV,qBAAqB,EACrB,yBAAyB,EACzB,wBAAwB,EACxB,0BAA0B,EAC1B,yBAAyB,GAC1B,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EACL,uBAAuB,EACvB,uBAAuB,EACvB,iBAAiB,EACjB,uBAAuB,EACvB,kBAAkB,EAClB,uBAAuB,EACvB,uBAAuB,EACvB,2BAA2B,EAC3B,oBAAoB,EACpB,wBAAwB,GACzB,MAAM,yBAAyB,CAAC;AACjC,YAAY,EACV,yBAAyB,EACzB,wBAAwB,EACxB,gBAAgB,EAChB,oBAAoB,EACpB,yBAAyB,EACzB,2BAA2B,EAC3B,4BAA4B,EAC5B,iBAAiB,EACjB,eAAe,GAChB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EACL,wBAAwB,EACxB,wBAAwB,EACxB,0BAA0B,EAC1B,gBAAgB,GACjB,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EACV,wBAAwB,EACxB,KAAK,EACL,YAAY,EACZ,WAAW,EACX,eAAe,EACf,eAAe,EACf,eAAe,EACf,WAAW,EACX,cAAc,EACd,YAAY,EACZ,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,uBAAuB,CAAC"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { PuppetCharacterDef, CharacterAnimation, CharacterExpression, CharacterRuntimeState, AnimationFrameDef } from './puppetShowTypes';
|
|
3
|
+
|
|
4
|
+
export interface AnimationControllerOptions {
|
|
5
|
+
fps?: number;
|
|
6
|
+
onAnimationComplete?: (animationId: string) => void;
|
|
7
|
+
onFrameEvent?: (animationId: string, event: string) => void;
|
|
8
|
+
}
|
|
9
|
+
export declare class PuppetAnimationController {
|
|
10
|
+
private character;
|
|
11
|
+
private currentAnimation;
|
|
12
|
+
private frameIndex;
|
|
13
|
+
private elapsed;
|
|
14
|
+
private playing;
|
|
15
|
+
private loop;
|
|
16
|
+
private speed;
|
|
17
|
+
private onComplete;
|
|
18
|
+
private onEvent;
|
|
19
|
+
constructor(character: PuppetCharacterDef, options?: AnimationControllerOptions);
|
|
20
|
+
getCharacter(): PuppetCharacterDef;
|
|
21
|
+
getCurrentAnimation(): CharacterAnimation | null;
|
|
22
|
+
getCurrentFrameIndex(): number;
|
|
23
|
+
isPlaying(): boolean;
|
|
24
|
+
play(animationId: string, options?: {
|
|
25
|
+
loop?: boolean;
|
|
26
|
+
speed?: number;
|
|
27
|
+
startFrame?: number;
|
|
28
|
+
}): void;
|
|
29
|
+
stop(): void;
|
|
30
|
+
pause(): void;
|
|
31
|
+
resume(): void;
|
|
32
|
+
setSpeed(speed: number): void;
|
|
33
|
+
update(deltaTime: number): void;
|
|
34
|
+
private checkFrameEvent;
|
|
35
|
+
getCurrentFrame(): AnimationFrameDef | null;
|
|
36
|
+
getSpriteRect(): {
|
|
37
|
+
x: number;
|
|
38
|
+
y: number;
|
|
39
|
+
w: number;
|
|
40
|
+
h: number;
|
|
41
|
+
} | null;
|
|
42
|
+
}
|
|
43
|
+
export interface CharacterRenderState {
|
|
44
|
+
position: {
|
|
45
|
+
x: number;
|
|
46
|
+
y: number;
|
|
47
|
+
};
|
|
48
|
+
scale: number;
|
|
49
|
+
rotation: number;
|
|
50
|
+
opacity: number;
|
|
51
|
+
flipX: boolean;
|
|
52
|
+
visible: boolean;
|
|
53
|
+
}
|
|
54
|
+
export declare function renderCharacterToCanvas(ctx: CanvasRenderingContext2D, character: PuppetCharacterDef, spriteSheet: HTMLImageElement, animationController: PuppetAnimationController, state: CharacterRenderState): void;
|
|
55
|
+
export interface PuppetCharacterProps {
|
|
56
|
+
character: PuppetCharacterDef;
|
|
57
|
+
state: CharacterRuntimeState;
|
|
58
|
+
spriteSheet?: HTMLImageElement;
|
|
59
|
+
className?: string;
|
|
60
|
+
style?: React.CSSProperties;
|
|
61
|
+
}
|
|
62
|
+
export declare function PuppetCharacter({ character, state, spriteSheet, className, style, }: PuppetCharacterProps): React.ReactElement | null;
|
|
63
|
+
export declare class CharacterRegistry {
|
|
64
|
+
private characters;
|
|
65
|
+
private spriteSheets;
|
|
66
|
+
private loadingPromises;
|
|
67
|
+
register(character: PuppetCharacterDef): void;
|
|
68
|
+
unregister(id: string): void;
|
|
69
|
+
get(id: string): PuppetCharacterDef | undefined;
|
|
70
|
+
getAll(): PuppetCharacterDef[];
|
|
71
|
+
loadSpriteSheet(characterId: string): Promise<HTMLImageElement>;
|
|
72
|
+
getSpriteSheet(characterId: string): HTMLImageElement | undefined;
|
|
73
|
+
}
|
|
74
|
+
export declare function usePuppetAnimation(character: PuppetCharacterDef, options?: AnimationControllerOptions): {
|
|
75
|
+
controller: PuppetAnimationController;
|
|
76
|
+
currentFrame: AnimationFrameDef | null;
|
|
77
|
+
frameIndex: number;
|
|
78
|
+
isPlaying: boolean;
|
|
79
|
+
play: (animationId: string, opts?: {
|
|
80
|
+
loop?: boolean;
|
|
81
|
+
speed?: number;
|
|
82
|
+
}) => void;
|
|
83
|
+
stop: () => void;
|
|
84
|
+
pause: () => void;
|
|
85
|
+
resume: () => void;
|
|
86
|
+
};
|
|
87
|
+
export declare function useCharacterRegistry(): {
|
|
88
|
+
registry: CharacterRegistry;
|
|
89
|
+
register: (character: PuppetCharacterDef) => void;
|
|
90
|
+
get: (id: string) => PuppetCharacterDef | undefined;
|
|
91
|
+
loadSpriteSheet: (id: string) => Promise<HTMLImageElement>;
|
|
92
|
+
};
|
|
93
|
+
export declare function createCharacterFromSpriteSheet(id: string, name: string, spriteSheetUrl: string, frameWidth: number, frameHeight: number, frameCount: number, columns: number): PuppetCharacterDef;
|
|
94
|
+
export declare function addAnimationToCharacter(character: PuppetCharacterDef, animationId: string, name: string, frameIds: string[], fps: number, loop: boolean, category?: CharacterAnimation['category']): PuppetCharacterDef;
|
|
95
|
+
export declare function addExpressionToCharacter(character: PuppetCharacterDef, expressionId: string, name: string, emotion: CharacterExpression['emotion'], frameId?: string, overlay?: string): PuppetCharacterDef;
|
|
96
|
+
//# sourceMappingURL=puppetCharacter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"puppetCharacter.d.ts","sourceRoot":"","sources":["../../src/puppetShow/puppetCharacter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { NicePuppetShowDocument, PuppetScene, PuppetShowPlayerState } from './puppetShowTypes';
|
|
3
|
+
import { TimelineState } from './puppetTimeline';
|
|
4
|
+
import { CharacterRegistry } from './puppetCharacter';
|
|
5
|
+
|
|
6
|
+
export interface PuppetPlayerContextValue {
|
|
7
|
+
document: NicePuppetShowDocument | null;
|
|
8
|
+
playerState: PuppetShowPlayerState;
|
|
9
|
+
play: () => void;
|
|
10
|
+
pause: () => void;
|
|
11
|
+
stop: () => void;
|
|
12
|
+
seek: (timeMs: number) => void;
|
|
13
|
+
seekToScene: (sceneIndex: number) => void;
|
|
14
|
+
setPlaybackSpeed: (speed: number) => void;
|
|
15
|
+
setVolume: (volume: number) => void;
|
|
16
|
+
toggleMute: () => void;
|
|
17
|
+
nextScene: () => void;
|
|
18
|
+
previousScene: () => void;
|
|
19
|
+
setLoop: (loop: boolean) => void;
|
|
20
|
+
}
|
|
21
|
+
export declare function usePuppetPlayer(): PuppetPlayerContextValue;
|
|
22
|
+
export interface UsePuppetShowPlayerOptions {
|
|
23
|
+
document: NicePuppetShowDocument;
|
|
24
|
+
autoPlay?: boolean;
|
|
25
|
+
loop?: boolean;
|
|
26
|
+
initialVolume?: number;
|
|
27
|
+
initialSpeed?: number;
|
|
28
|
+
onSceneChange?: (sceneIndex: number, scene: PuppetScene) => void;
|
|
29
|
+
onEnd?: () => void;
|
|
30
|
+
}
|
|
31
|
+
export interface UsePuppetShowPlayerResult {
|
|
32
|
+
playerState: PuppetShowPlayerState;
|
|
33
|
+
timelineState: TimelineState | null;
|
|
34
|
+
characterRegistry: CharacterRegistry;
|
|
35
|
+
play: () => void;
|
|
36
|
+
pause: () => void;
|
|
37
|
+
stop: () => void;
|
|
38
|
+
seek: (timeMs: number) => void;
|
|
39
|
+
seekToScene: (sceneIndex: number) => void;
|
|
40
|
+
setPlaybackSpeed: (speed: number) => void;
|
|
41
|
+
setVolume: (volume: number) => void;
|
|
42
|
+
toggleMute: () => void;
|
|
43
|
+
nextScene: () => void;
|
|
44
|
+
previousScene: () => void;
|
|
45
|
+
setLoop: (loop: boolean) => void;
|
|
46
|
+
}
|
|
47
|
+
export declare function usePuppetShowPlayer(options: UsePuppetShowPlayerOptions): UsePuppetShowPlayerResult;
|
|
48
|
+
export interface PuppetShowPlayerProps {
|
|
49
|
+
document: NicePuppetShowDocument;
|
|
50
|
+
autoPlay?: boolean;
|
|
51
|
+
loop?: boolean;
|
|
52
|
+
showControls?: boolean;
|
|
53
|
+
className?: string;
|
|
54
|
+
style?: React.CSSProperties;
|
|
55
|
+
onSceneChange?: (sceneIndex: number, scene: PuppetScene) => void;
|
|
56
|
+
onEnd?: () => void;
|
|
57
|
+
}
|
|
58
|
+
export declare function PuppetShowPlayer({ document, autoPlay, loop, showControls, className, style, onSceneChange, onEnd, }: PuppetShowPlayerProps): React.ReactElement;
|
|
59
|
+
export interface PuppetShowMiniPlayerProps {
|
|
60
|
+
document: NicePuppetShowDocument;
|
|
61
|
+
width?: number;
|
|
62
|
+
height?: number;
|
|
63
|
+
autoPlay?: boolean;
|
|
64
|
+
className?: string;
|
|
65
|
+
style?: React.CSSProperties;
|
|
66
|
+
}
|
|
67
|
+
export declare function PuppetShowMiniPlayer({ document, width, height, autoPlay, className, style, }: PuppetShowMiniPlayerProps): React.ReactElement;
|
|
68
|
+
//# sourceMappingURL=puppetPlayer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"puppetPlayer.d.ts","sourceRoot":"","sources":["../../src/puppetShow/puppetPlayer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
import { NicePuppetShowDocument, PresentationConversionOptions } from './puppetShowTypes';
|
|
2
|
+
|
|
3
|
+
export interface NicePresentationDocument {
|
|
4
|
+
version: string;
|
|
5
|
+
id: string;
|
|
6
|
+
title: string;
|
|
7
|
+
description?: string;
|
|
8
|
+
author?: string;
|
|
9
|
+
createdAt: string;
|
|
10
|
+
updatedAt: string;
|
|
11
|
+
layout: SlideLayout;
|
|
12
|
+
slides: Slide[];
|
|
13
|
+
theme?: PresentationTheme;
|
|
14
|
+
metadata?: Record<string, any>;
|
|
15
|
+
}
|
|
16
|
+
export interface SlideLayout {
|
|
17
|
+
width: number;
|
|
18
|
+
height: number;
|
|
19
|
+
aspectRatio: string;
|
|
20
|
+
}
|
|
21
|
+
export interface Slide {
|
|
22
|
+
id: string;
|
|
23
|
+
title?: string;
|
|
24
|
+
elements: SlideElement[];
|
|
25
|
+
background?: SlideBackground;
|
|
26
|
+
transition?: SlideTransition;
|
|
27
|
+
duration?: number;
|
|
28
|
+
notes?: string;
|
|
29
|
+
}
|
|
30
|
+
export interface SlideElement {
|
|
31
|
+
id: string;
|
|
32
|
+
type: 'text' | 'image' | 'shape' | 'video' | 'audio' | 'chart' | 'code' | 'embed';
|
|
33
|
+
position: ElementPosition;
|
|
34
|
+
size: ElementSize;
|
|
35
|
+
content: ElementContent;
|
|
36
|
+
style?: ElementStyle;
|
|
37
|
+
animation?: ElementAnimation;
|
|
38
|
+
zIndex?: number;
|
|
39
|
+
}
|
|
40
|
+
export interface ElementPosition {
|
|
41
|
+
x: number;
|
|
42
|
+
y: number;
|
|
43
|
+
rotation?: number;
|
|
44
|
+
}
|
|
45
|
+
export interface ElementSize {
|
|
46
|
+
width: number;
|
|
47
|
+
height: number;
|
|
48
|
+
}
|
|
49
|
+
export interface ElementContent {
|
|
50
|
+
text?: string;
|
|
51
|
+
src?: string;
|
|
52
|
+
alt?: string;
|
|
53
|
+
html?: string;
|
|
54
|
+
data?: any;
|
|
55
|
+
}
|
|
56
|
+
export interface ElementStyle {
|
|
57
|
+
opacity?: number;
|
|
58
|
+
backgroundColor?: string;
|
|
59
|
+
borderRadius?: number;
|
|
60
|
+
border?: string;
|
|
61
|
+
shadow?: string;
|
|
62
|
+
transform?: string;
|
|
63
|
+
}
|
|
64
|
+
export interface ElementAnimation {
|
|
65
|
+
enter?: AnimationEffect;
|
|
66
|
+
exit?: AnimationEffect;
|
|
67
|
+
emphasis?: AnimationEffect;
|
|
68
|
+
timeline?: AnimationTimeline[];
|
|
69
|
+
}
|
|
70
|
+
export interface AnimationEffect {
|
|
71
|
+
type: string;
|
|
72
|
+
duration: number;
|
|
73
|
+
delay?: number;
|
|
74
|
+
easing?: string;
|
|
75
|
+
}
|
|
76
|
+
export interface AnimationTimeline {
|
|
77
|
+
time: number;
|
|
78
|
+
properties: Record<string, any>;
|
|
79
|
+
easing?: string;
|
|
80
|
+
}
|
|
81
|
+
export interface SlideBackground {
|
|
82
|
+
type: 'solid' | 'gradient' | 'image' | 'video';
|
|
83
|
+
color?: string;
|
|
84
|
+
gradient?: {
|
|
85
|
+
type: 'linear' | 'radial';
|
|
86
|
+
angle?: number;
|
|
87
|
+
stops: Array<{
|
|
88
|
+
color: string;
|
|
89
|
+
position: number;
|
|
90
|
+
}>;
|
|
91
|
+
};
|
|
92
|
+
image?: string;
|
|
93
|
+
video?: string;
|
|
94
|
+
}
|
|
95
|
+
export interface SlideTransition {
|
|
96
|
+
type: 'none' | 'fade' | 'slide' | 'zoom' | 'flip';
|
|
97
|
+
duration?: number;
|
|
98
|
+
direction?: 'left' | 'right' | 'up' | 'down';
|
|
99
|
+
}
|
|
100
|
+
export interface PresentationTheme {
|
|
101
|
+
name: string;
|
|
102
|
+
colors: {
|
|
103
|
+
primary: string;
|
|
104
|
+
secondary: string;
|
|
105
|
+
background: string;
|
|
106
|
+
text: string;
|
|
107
|
+
};
|
|
108
|
+
fonts: {
|
|
109
|
+
heading: string;
|
|
110
|
+
body: string;
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Convert a puppet show document to a presentation document
|
|
115
|
+
*/
|
|
116
|
+
export declare function puppetShowToPresentation(puppetShow: NicePuppetShowDocument, options?: PresentationConversionOptions): NicePresentationDocument;
|
|
117
|
+
/**
|
|
118
|
+
* Convert a presentation document to a puppet show document
|
|
119
|
+
*/
|
|
120
|
+
export declare function presentationToPuppetShow(presentation: NicePresentationDocument, options?: {
|
|
121
|
+
defaultCharacterSize?: {
|
|
122
|
+
width: number;
|
|
123
|
+
height: number;
|
|
124
|
+
};
|
|
125
|
+
createCharacterFromImages?: boolean;
|
|
126
|
+
}): NicePuppetShowDocument;
|
|
127
|
+
/**
|
|
128
|
+
* Validate puppet show document structure
|
|
129
|
+
*/
|
|
130
|
+
export declare function validatePuppetShowDocument(doc: NicePuppetShowDocument): {
|
|
131
|
+
valid: boolean;
|
|
132
|
+
errors: string[];
|
|
133
|
+
warnings: string[];
|
|
134
|
+
};
|
|
135
|
+
/**
|
|
136
|
+
* Merge multiple puppet shows into one
|
|
137
|
+
*/
|
|
138
|
+
export declare function mergePuppetShows(shows: NicePuppetShowDocument[], options?: {
|
|
139
|
+
deduplicateCharacters?: boolean;
|
|
140
|
+
}): NicePuppetShowDocument;
|
|
141
|
+
//# sourceMappingURL=puppetShowConverter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"puppetShowConverter.d.ts","sourceRoot":"","sources":["../../src/puppetShow/puppetShowConverter.ts"],"names":[],"mappings":"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"}
|