@aura3d/engine 1.4.3 → 1.4.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (161) hide show
  1. package/README.md +34 -22
  2. package/dist/aura3d-cli/asset-core-types.d.ts +43 -0
  3. package/dist/aura3d-cli/asset-core-types.d.ts.map +1 -1
  4. package/dist/aura3d-cli/cli-help.d.ts.map +1 -1
  5. package/dist/aura3d-cli/cli-help.js +7 -1
  6. package/dist/aura3d-cli/cli-help.js.map +1 -1
  7. package/dist/aura3d-cli/cli-options.d.ts +3 -1
  8. package/dist/aura3d-cli/cli-options.d.ts.map +1 -1
  9. package/dist/aura3d-cli/cli-options.js +23 -0
  10. package/dist/aura3d-cli/cli-options.js.map +1 -1
  11. package/dist/aura3d-cli/cli.js +40 -3
  12. package/dist/aura3d-cli/cli.js.map +1 -1
  13. package/dist/aura3d-cli/index.d.ts +4 -2
  14. package/dist/aura3d-cli/index.d.ts.map +1 -1
  15. package/dist/aura3d-cli/index.js +384 -8
  16. package/dist/aura3d-cli/index.js.map +1 -1
  17. package/dist/create-aura3d/index.d.ts +4 -0
  18. package/dist/create-aura3d/index.d.ts.map +1 -1
  19. package/dist/create-aura3d/index.js +3 -1
  20. package/dist/create-aura3d/index.js.map +1 -1
  21. package/dist/create-aura3d/showcase-spec-artifacts.d.ts +5 -0
  22. package/dist/create-aura3d/showcase-spec-artifacts.d.ts.map +1 -1
  23. package/dist/create-aura3d/showcase-spec-artifacts.js +11 -2
  24. package/dist/create-aura3d/showcase-spec-artifacts.js.map +1 -1
  25. package/dist/create-aura3d/showcase-spec-asset-pair-composition.d.ts +116 -0
  26. package/dist/create-aura3d/showcase-spec-asset-pair-composition.d.ts.map +1 -0
  27. package/dist/create-aura3d/showcase-spec-asset-pair-composition.js +336 -0
  28. package/dist/create-aura3d/showcase-spec-asset-pair-composition.js.map +1 -0
  29. package/dist/create-aura3d/showcase-spec-compiler.d.ts.map +1 -1
  30. package/dist/create-aura3d/showcase-spec-compiler.js +149 -10
  31. package/dist/create-aura3d/showcase-spec-compiler.js.map +1 -1
  32. package/dist/create-aura3d/showcase-spec-composition-evidence.d.ts +14 -0
  33. package/dist/create-aura3d/showcase-spec-composition-evidence.d.ts.map +1 -0
  34. package/dist/create-aura3d/showcase-spec-composition-evidence.js +123 -0
  35. package/dist/create-aura3d/showcase-spec-composition-evidence.js.map +1 -0
  36. package/dist/create-aura3d/showcase-spec-evidence.js +50 -1
  37. package/dist/create-aura3d/showcase-spec-evidence.js.map +1 -1
  38. package/dist/create-aura3d/showcase-spec-game-geometry-extractor.d.ts +4 -2
  39. package/dist/create-aura3d/showcase-spec-game-geometry-extractor.d.ts.map +1 -1
  40. package/dist/create-aura3d/showcase-spec-game-geometry-extractor.js +260 -30
  41. package/dist/create-aura3d/showcase-spec-game-geometry-extractor.js.map +1 -1
  42. package/dist/create-aura3d/showcase-spec-game-geometry-probe.d.ts +20 -0
  43. package/dist/create-aura3d/showcase-spec-game-geometry-probe.d.ts.map +1 -0
  44. package/dist/create-aura3d/showcase-spec-game-geometry-probe.js +16 -0
  45. package/dist/create-aura3d/showcase-spec-game-geometry-probe.js.map +1 -0
  46. package/dist/create-aura3d/showcase-spec-game-replacement-evidence.js +7 -3
  47. package/dist/create-aura3d/showcase-spec-game-replacement-evidence.js.map +1 -1
  48. package/dist/create-aura3d/showcase-spec-game-scene-scale.d.ts +10 -0
  49. package/dist/create-aura3d/showcase-spec-game-scene-scale.d.ts.map +1 -0
  50. package/dist/create-aura3d/showcase-spec-game-scene-scale.js +71 -0
  51. package/dist/create-aura3d/showcase-spec-game-scene-scale.js.map +1 -0
  52. package/dist/create-aura3d/showcase-spec-game-template-evidence.d.ts +10 -0
  53. package/dist/create-aura3d/showcase-spec-game-template-evidence.d.ts.map +1 -1
  54. package/dist/create-aura3d/showcase-spec-game-template-evidence.js +50 -7
  55. package/dist/create-aura3d/showcase-spec-game-template-evidence.js.map +1 -1
  56. package/dist/create-aura3d/showcase-spec-gameplay-evidence.js +4 -3
  57. package/dist/create-aura3d/showcase-spec-gameplay-evidence.js.map +1 -1
  58. package/dist/create-aura3d/showcase-spec-parser.d.ts.map +1 -1
  59. package/dist/create-aura3d/showcase-spec-parser.js +3 -0
  60. package/dist/create-aura3d/showcase-spec-parser.js.map +1 -1
  61. package/dist/create-aura3d/showcase-spec-platformer-artifacts.d.ts +1 -0
  62. package/dist/create-aura3d/showcase-spec-platformer-artifacts.d.ts.map +1 -1
  63. package/dist/create-aura3d/showcase-spec-platformer-artifacts.js +188 -56
  64. package/dist/create-aura3d/showcase-spec-platformer-artifacts.js.map +1 -1
  65. package/dist/create-aura3d/showcase-spec-racing-artifacts.d.ts +1 -0
  66. package/dist/create-aura3d/showcase-spec-racing-artifacts.d.ts.map +1 -1
  67. package/dist/create-aura3d/showcase-spec-racing-artifacts.js +208 -31
  68. package/dist/create-aura3d/showcase-spec-racing-artifacts.js.map +1 -1
  69. package/dist/create-aura3d/showcase-spec-replacement-candidates.js +2 -1
  70. package/dist/create-aura3d/showcase-spec-replacement-candidates.js.map +1 -1
  71. package/dist/create-aura3d/showcase-spec-types.d.ts +22 -0
  72. package/dist/create-aura3d/showcase-spec-types.d.ts.map +1 -1
  73. package/dist/engine/agent-api/GameGenreKits.d.ts +44 -0
  74. package/dist/engine/agent-api/GameGenreKits.d.ts.map +1 -1
  75. package/dist/engine/agent-api/GameGenreKits.js +126 -28
  76. package/dist/engine/agent-api/GameGenreKits.js.map +1 -1
  77. package/dist/engine/agent-api/GameSceneGeometryBindings.d.ts +26 -0
  78. package/dist/engine/agent-api/GameSceneGeometryBindings.d.ts.map +1 -1
  79. package/dist/engine/agent-api/GameSceneGeometryBindings.js +11 -1
  80. package/dist/engine/agent-api/GameSceneGeometryBindings.js.map +1 -1
  81. package/dist/engine/agent-api/index.d.ts +8 -6
  82. package/dist/engine/agent-api/index.d.ts.map +1 -1
  83. package/dist/engine/agent-api/index.js +71 -3
  84. package/dist/engine/agent-api/index.js.map +1 -1
  85. package/dist/engine/agent-api/product-viewer-runtime.d.ts.map +1 -1
  86. package/package.json +23 -22
  87. package/templates/cinematic-scene/package.json +1 -1
  88. package/templates/mini-game/package.json +1 -1
  89. package/templates/product-viewer/package.json +1 -1
  90. package/dist/animation/Retargeting.d.ts +0 -12
  91. package/dist/animation/Retargeting.d.ts.map +0 -1
  92. package/dist/animation/Retargeting.js +0 -19
  93. package/dist/animation/Retargeting.js.map +0 -1
  94. package/dist/aura3d-cli/cartoon-asset-profiles.d.ts +0 -15
  95. package/dist/aura3d-cli/cartoon-asset-profiles.d.ts.map +0 -1
  96. package/dist/aura3d-cli/cartoon-asset-profiles.js +0 -46
  97. package/dist/aura3d-cli/cartoon-asset-profiles.js.map +0 -1
  98. package/dist/editor-runtime/CartoonSceneEditor.d.ts +0 -111
  99. package/dist/editor-runtime/CartoonSceneEditor.d.ts.map +0 -1
  100. package/dist/editor-runtime/CartoonSceneEditor.js +0 -285
  101. package/dist/editor-runtime/CartoonSceneEditor.js.map +0 -1
  102. package/dist/engine/agent-api/CartoonAssetManifest.d.ts +0 -50
  103. package/dist/engine/agent-api/CartoonAssetManifest.d.ts.map +0 -1
  104. package/dist/engine/agent-api/CartoonAssetManifest.js +0 -65
  105. package/dist/engine/agent-api/CartoonAssetManifest.js.map +0 -1
  106. package/dist/engine/agent-api/CartoonDirector.d.ts +0 -120
  107. package/dist/engine/agent-api/CartoonDirector.d.ts.map +0 -1
  108. package/dist/engine/agent-api/CartoonDirector.js +0 -432
  109. package/dist/engine/agent-api/CartoonDirector.js.map +0 -1
  110. package/dist/engine/agent-api/CartoonEpisodePackage.d.ts +0 -51
  111. package/dist/engine/agent-api/CartoonEpisodePackage.d.ts.map +0 -1
  112. package/dist/engine/agent-api/CartoonEpisodePackage.js +0 -79
  113. package/dist/engine/agent-api/CartoonEpisodePackage.js.map +0 -1
  114. package/dist/engine/agent-api/CartoonMotionQuality.d.ts +0 -83
  115. package/dist/engine/agent-api/CartoonMotionQuality.d.ts.map +0 -1
  116. package/dist/engine/agent-api/CartoonMotionQuality.js +0 -128
  117. package/dist/engine/agent-api/CartoonMotionQuality.js.map +0 -1
  118. package/dist/engine/agent-api/CartoonPerformance.d.ts +0 -150
  119. package/dist/engine/agent-api/CartoonPerformance.d.ts.map +0 -1
  120. package/dist/engine/agent-api/CartoonPerformance.js +0 -345
  121. package/dist/engine/agent-api/CartoonPerformance.js.map +0 -1
  122. package/dist/engine/agent-api/CartoonRenderQueue.d.ts +0 -143
  123. package/dist/engine/agent-api/CartoonRenderQueue.d.ts.map +0 -1
  124. package/dist/engine/agent-api/CartoonRenderQueue.js +0 -410
  125. package/dist/engine/agent-api/CartoonRenderQueue.js.map +0 -1
  126. package/dist/engine/agent-api/CartoonRouteProof.d.ts +0 -112
  127. package/dist/engine/agent-api/CartoonRouteProof.d.ts.map +0 -1
  128. package/dist/engine/agent-api/CartoonRouteProof.js +0 -127
  129. package/dist/engine/agent-api/CartoonRouteProof.js.map +0 -1
  130. package/dist/rendering/cartoon/CartoonMaterialStyle.d.ts +0 -19
  131. package/dist/rendering/cartoon/CartoonMaterialStyle.d.ts.map +0 -1
  132. package/dist/rendering/cartoon/CartoonMaterialStyle.js +0 -13
  133. package/dist/rendering/cartoon/CartoonMaterialStyle.js.map +0 -1
  134. package/dist/rendering/cartoon/CartoonRenderPreset.d.ts +0 -36
  135. package/dist/rendering/cartoon/CartoonRenderPreset.d.ts.map +0 -1
  136. package/dist/rendering/cartoon/CartoonRenderPreset.js +0 -23
  137. package/dist/rendering/cartoon/CartoonRenderPreset.js.map +0 -1
  138. package/dist/rendering/cartoon/CartoonToonMaterial.d.ts +0 -130
  139. package/dist/rendering/cartoon/CartoonToonMaterial.d.ts.map +0 -1
  140. package/dist/rendering/cartoon/CartoonToonMaterial.js +0 -303
  141. package/dist/rendering/cartoon/CartoonToonMaterial.js.map +0 -1
  142. package/dist/rendering/cartoon/CartoonVisualQuality.d.ts +0 -28
  143. package/dist/rendering/cartoon/CartoonVisualQuality.d.ts.map +0 -1
  144. package/dist/rendering/cartoon/CartoonVisualQuality.js +0 -39
  145. package/dist/rendering/cartoon/CartoonVisualQuality.js.map +0 -1
  146. package/dist/rendering/cartoon/applyCartoonRenderPreset.d.ts +0 -79
  147. package/dist/rendering/cartoon/applyCartoonRenderPreset.d.ts.map +0 -1
  148. package/dist/rendering/cartoon/applyCartoonRenderPreset.js +0 -88
  149. package/dist/rendering/cartoon/applyCartoonRenderPreset.js.map +0 -1
  150. package/dist/rendering/cartoon/index.d.ts +0 -6
  151. package/dist/rendering/cartoon/index.d.ts.map +0 -1
  152. package/dist/rendering/cartoon/index.js +0 -6
  153. package/dist/rendering/cartoon/index.js.map +0 -1
  154. package/dist/scripting/CartoonNodeCategories.d.ts +0 -3
  155. package/dist/scripting/CartoonNodeCategories.d.ts.map +0 -1
  156. package/dist/scripting/CartoonNodeCategories.js +0 -9
  157. package/dist/scripting/CartoonNodeCategories.js.map +0 -1
  158. package/dist/scripting/CartoonVisualNodes.d.ts +0 -3
  159. package/dist/scripting/CartoonVisualNodes.d.ts.map +0 -1
  160. package/dist/scripting/CartoonVisualNodes.js +0 -41
  161. package/dist/scripting/CartoonVisualNodes.js.map +0 -1
@@ -1,410 +0,0 @@
1
- import { createPromptAnimationIssue, normalizePromptAnimationTime, promptAnimationContractVersion } from "./PromptAnimationContract.js";
2
- import { getShotTimelineCaptureTimes } from "./ShotTimeline.js";
3
- export const defaultCartoonViewport = {
4
- width: 1920,
5
- height: 1080,
6
- deviceScaleFactor: 1
7
- };
8
- export const defaultCartoonRenderOutputs = [
9
- {
10
- id: "video:mp4",
11
- kind: "mp4",
12
- path: "dist/render/episode.mp4",
13
- label: "H.264 MP4 publish video",
14
- codec: "h264",
15
- mimeType: "video/mp4",
16
- required: true,
17
- quality: "review"
18
- },
19
- {
20
- id: "video:webm",
21
- kind: "webm",
22
- path: "dist/render/episode.webm",
23
- label: "VP9 WebM web preview",
24
- codec: "vp9",
25
- mimeType: "video/webm",
26
- required: true,
27
- quality: "review"
28
- },
29
- {
30
- id: "captions:vtt",
31
- kind: "caption-vtt",
32
- path: "dist/render/captions.vtt",
33
- label: "WebVTT captions",
34
- mimeType: "text/vtt",
35
- required: true,
36
- quality: "review"
37
- },
38
- {
39
- id: "captions:srt",
40
- kind: "caption-srt",
41
- path: "dist/render/captions.srt",
42
- label: "SRT captions",
43
- mimeType: "application/x-subrip",
44
- required: true,
45
- quality: "review"
46
- },
47
- {
48
- id: "thumbnail",
49
- kind: "thumbnail",
50
- path: "dist/render/thumbnail.webp",
51
- label: "YouTube thumbnail",
52
- mimeType: "image/webp",
53
- required: true,
54
- quality: "review"
55
- },
56
- {
57
- id: "timeline",
58
- kind: "timeline-json",
59
- path: "dist/render/timeline.json",
60
- label: "Frame-accurate timeline JSON",
61
- mimeType: "application/json",
62
- required: true,
63
- quality: "review"
64
- },
65
- {
66
- id: "evidence",
67
- kind: "evidence-json",
68
- path: "dist/render/prompt-animation-evidence.json",
69
- label: "Publish-readiness evidence JSON",
70
- mimeType: "application/json",
71
- required: true,
72
- quality: "review"
73
- },
74
- {
75
- id: "youtube:draft",
76
- kind: "youtube-metadata",
77
- path: "dist/render/youtube-draft.json",
78
- label: "YouTube draft metadata",
79
- mimeType: "application/json",
80
- required: true,
81
- quality: "draft"
82
- }
83
- ];
84
- export const requiredCartoonRenderPackageOutputKinds = [
85
- "mp4",
86
- "webm",
87
- "thumbnail",
88
- "timeline-json",
89
- "evidence-json",
90
- "youtube-metadata"
91
- ];
92
- export const captionCartoonRenderOutputKinds = ["caption-vtt", "caption-srt"];
93
- export const defaultCartoonEvidenceTargets = [
94
- { id: "screenshot-hashes", kind: "screenshot-hash", required: true },
95
- { id: "timing-drift", kind: "timing-drift", required: true },
96
- { id: "caption-sync", kind: "caption-sync", required: true },
97
- { id: "viseme-sync", kind: "viseme-sync", required: true },
98
- { id: "deterministic-capture", kind: "deterministic-capture", required: true },
99
- { id: "route-health", kind: "route-health", required: true },
100
- { id: "accessibility", kind: "accessibility", required: true }
101
- ];
102
- export function defineCartoonRenderQueue(queue) {
103
- return queue;
104
- }
105
- export function createCartoonRenderQueue(options) {
106
- const viewport = options.viewport ?? defaultCartoonViewport;
107
- const outputs = options.outputs ?? defaultCartoonRenderOutputs;
108
- const evidenceTargets = options.evidenceTargets ?? defaultCartoonEvidenceTargets;
109
- const captureTimes = normalizeRenderCaptureTimes(options.captureTimes && options.captureTimes.length > 0
110
- ? options.captureTimes
111
- : getShotTimelineCaptureTimes(options.shotTimeline));
112
- const outputIds = outputs.map((output) => output.id);
113
- const evidenceTargetIds = evidenceTargets.map((target) => target.id);
114
- const frameRate = options.shotTimeline.frameRate || options.episodePlan.runtime.frameRate;
115
- const items = captureTimes.map((time) => {
116
- const shot = options.shotTimeline.shots.find((candidate) => time >= candidate.startTime && time <= candidate.endTime);
117
- const frame = Math.round(time * frameRate);
118
- return {
119
- id: `capture:${frame}`,
120
- route: options.route,
121
- language: options.language ?? options.episodePlan.language,
122
- time,
123
- frame,
124
- ...(shot ? { shotId: shot.shotId } : {}),
125
- viewport,
126
- outputIds,
127
- evidenceTargetIds,
128
- sourceSceneState: createCartoonRenderSceneStateSource({
129
- episodeId: options.episodePlan.episodeId,
130
- route: options.route,
131
- time,
132
- frame,
133
- ...(shot ? { shotId: shot.shotId } : {})
134
- })
135
- };
136
- });
137
- return {
138
- artifact: "render-queue",
139
- contractId: promptAnimationContractVersion,
140
- episodeId: options.episodePlan.episodeId,
141
- route: options.route,
142
- language: options.language ?? options.episodePlan.language,
143
- frameRate,
144
- viewport,
145
- captureTimes,
146
- seekMode: "timeline-time",
147
- frameList: items.map((item) => item.frame),
148
- outputTargets: outputs.map((output) => ({
149
- outputId: output.id,
150
- kind: output.kind,
151
- path: output.path,
152
- required: output.required ?? false
153
- })),
154
- thumbnailFrame: items[0]?.frame ?? 0,
155
- evidenceFrames: items.map((item) => item.frame),
156
- outputs,
157
- evidenceTargets,
158
- items,
159
- ...(options.generatedAt ? { generatedAt: options.generatedAt } : {})
160
- };
161
- }
162
- export function createCartoonRenderOutputPackageMetadata(options) {
163
- const firstCaptureTime = options.renderQueue.captureTimes[0] ?? 0;
164
- const youtubeDraft = options.youtube ??
165
- options.episodePlan.youtube ?? {
166
- title: options.episodePlan.title,
167
- ...(options.episodePlan.production.sourcePrompt
168
- ? { description: options.episodePlan.production.sourcePrompt }
169
- : {}),
170
- tags: ["Aura3D", "cartoon", "prompt-animation"],
171
- madeForKids: options.episodePlan.safety.childSafe,
172
- thumbnailCaptureTime: firstCaptureTime,
173
- defaultLanguage: options.episodePlan.language,
174
- privacyStatus: "private"
175
- };
176
- const packageId = options.packageId ?? `${options.episodePlan.episodeId}:render-package`;
177
- const outputs = collectCartoonRenderPackageOutputs(options.renderQueue.outputs);
178
- const thumbnailCapture = createCartoonThumbnailSceneStateCapture(packageId, options.renderQueue, outputs, youtubeDraft);
179
- return {
180
- artifact: "render-output-package",
181
- contractId: promptAnimationContractVersion,
182
- episodeId: options.episodePlan.episodeId,
183
- packageId,
184
- route: options.renderQueue.route,
185
- language: options.renderQueue.language,
186
- frameRate: options.renderQueue.frameRate,
187
- duration: options.shotTimeline.duration || options.episodePlan.runtime.duration,
188
- viewport: options.renderQueue.viewport,
189
- outputs,
190
- requiredOutputKinds: [...requiredCartoonRenderPackageOutputKinds, "caption-vtt"],
191
- youtubeDraft,
192
- thumbnailCapture,
193
- reviewPackagePaths: createCartoonRenderReviewPackagePaths(outputs),
194
- ...(options.generatedAt ? { generatedAt: options.generatedAt } : {})
195
- };
196
- }
197
- export function normalizeRenderCaptureTimes(times) {
198
- const unique = new Set();
199
- for (const time of times)
200
- unique.add(normalizePromptAnimationTime(time));
201
- return [...unique].sort((a, b) => a - b);
202
- }
203
- export function validateCartoonRenderQueue(queue) {
204
- const issues = [];
205
- if (!queue.route) {
206
- issues.push(createPromptAnimationIssue("error", "render-route-missing", "Render queue route is required."));
207
- }
208
- if (queue.frameRate <= 0) {
209
- issues.push(createPromptAnimationIssue("error", "render-frame-rate", "Render queue frame rate must be positive."));
210
- }
211
- if (queue.captureTimes.length === 0) {
212
- issues.push(createPromptAnimationIssue("error", "render-capture-times-missing", "Render queue needs capture times."));
213
- }
214
- if (queue.outputs.length === 0) {
215
- issues.push(createPromptAnimationIssue("error", "render-outputs-missing", "Render queue needs at least one output."));
216
- }
217
- if (queue.seekMode && queue.seekMode !== "timeline-time" && queue.seekMode !== "frame-index") {
218
- issues.push(createPromptAnimationIssue("error", "render-seek-mode-invalid", "Render queue seek mode must be timeline-time or frame-index."));
219
- }
220
- if (queue.frameList && queue.frameList.length !== queue.items.length) {
221
- issues.push(createPromptAnimationIssue("error", "render-frame-list-mismatch", "Render queue frame list must match render items."));
222
- }
223
- if (queue.outputTargets && queue.outputTargets.some((target) => !target.path)) {
224
- issues.push(createPromptAnimationIssue("error", "render-output-target-path-missing", "Every render output target needs a path."));
225
- }
226
- if (queue.thumbnailFrame !== undefined && !queue.items.some((item) => item.frame === queue.thumbnailFrame)) {
227
- issues.push(createPromptAnimationIssue("error", "render-thumbnail-frame-missing", "Thumbnail frame must be present in the render queue."));
228
- }
229
- if (queue.evidenceFrames && queue.evidenceFrames.some((frame) => !queue.items.some((item) => item.frame === frame))) {
230
- issues.push(createPromptAnimationIssue("error", "render-evidence-frame-missing", "Evidence frames must be present in the render queue."));
231
- }
232
- issues.push(...validateCartoonRenderOutputs(queue.outputs));
233
- for (const item of queue.items) {
234
- if (!item.outputIds.length) {
235
- issues.push(createPromptAnimationIssue("error", "render-item-output-missing", `Render item "${item.id}" has no outputs.`, {
236
- path: `items.${item.id}`,
237
- time: item.time,
238
- frame: item.frame
239
- }));
240
- }
241
- if (!item.sourceSceneState) {
242
- issues.push(createPromptAnimationIssue("error", "render-item-scene-state-missing", `Render item "${item.id}" must bind capture to an Aura3D scene state.`, { path: `items.${item.id}.sourceSceneState`, time: item.time, frame: item.frame }));
243
- continue;
244
- }
245
- if (!item.sourceSceneState.sceneStateId) {
246
- issues.push(createPromptAnimationIssue("error", "render-item-scene-state-id-missing", `Render item "${item.id}" source scene state is missing a stable id.`, { path: `items.${item.id}.sourceSceneState.sceneStateId`, time: item.time, frame: item.frame }));
247
- }
248
- if (item.sourceSceneState.frame !== item.frame) {
249
- issues.push(createPromptAnimationIssue("error", "render-item-scene-state-frame-mismatch", `Render item "${item.id}" scene state frame must match the render frame.`, { path: `items.${item.id}.sourceSceneState.frame`, time: item.time, frame: item.frame }));
250
- }
251
- if (!sameRenderTime(item.sourceSceneState.time, item.time) || !sameRenderTime(item.sourceSceneState.auraVoiceTimestamp, item.time)) {
252
- issues.push(createPromptAnimationIssue("error", "render-item-auravoice-timestamp-mismatch", `Render item "${item.id}" must capture from the exact AuraVoice timestamp.`, { path: `items.${item.id}.sourceSceneState.auraVoiceTimestamp`, time: item.time, frame: item.frame }));
253
- }
254
- if (item.shotId && item.sourceSceneState.shotId !== item.shotId) {
255
- issues.push(createPromptAnimationIssue("error", "render-item-scene-state-shot-mismatch", `Render item "${item.id}" scene state must preserve shot id "${item.shotId}".`, { path: `items.${item.id}.sourceSceneState.shotId`, time: item.time, frame: item.frame }));
256
- }
257
- }
258
- return issues;
259
- }
260
- export function collectCartoonRenderPackageOutputs(outputs) {
261
- return {
262
- mp4: outputs.find((output) => output.kind === "mp4"),
263
- webm: outputs.find((output) => output.kind === "webm"),
264
- captions: outputs.filter((output) => output.kind === "caption-vtt" || output.kind === "caption-srt"),
265
- thumbnail: outputs.find((output) => output.kind === "thumbnail"),
266
- timelineJson: outputs.find((output) => output.kind === "timeline-json"),
267
- evidenceJson: outputs.find((output) => output.kind === "evidence-json"),
268
- youtubeMetadata: outputs.find((output) => output.kind === "youtube-metadata")
269
- };
270
- }
271
- export function createCartoonRenderReviewPackagePaths(outputs) {
272
- return {
273
- video: [outputs.mp4?.path, outputs.webm?.path].filter(isNonEmptyString),
274
- captions: outputs.captions.map((output) => output.path).filter(isNonEmptyString),
275
- thumbnail: outputs.thumbnail?.path ?? "",
276
- evidence: outputs.evidenceJson?.path ?? "",
277
- youtubeDraftMetadata: outputs.youtubeMetadata?.path ?? ""
278
- };
279
- }
280
- export function validateCartoonRenderOutputs(outputs, pathPrefix = "outputs") {
281
- const issues = [];
282
- const outputIds = new Set();
283
- const outputKinds = new Set();
284
- outputs.forEach((output, index) => {
285
- if (!output.id) {
286
- issues.push(createPromptAnimationIssue("error", "render-output-id-missing", `Render output at index ${index} is missing an id.`, {
287
- path: `${pathPrefix}.${index}.id`
288
- }));
289
- }
290
- if (outputIds.has(output.id)) {
291
- issues.push(createPromptAnimationIssue("error", "render-output-id-duplicate", `Duplicate render output id "${output.id}".`, {
292
- path: `${pathPrefix}.${index}.id`
293
- }));
294
- }
295
- outputIds.add(output.id);
296
- outputKinds.add(output.kind);
297
- if (!output.path) {
298
- issues.push(createPromptAnimationIssue("error", "render-output-path-missing", `Render output "${output.id}" has no path.`, {
299
- path: `${pathPrefix}.${index}.path`
300
- }));
301
- }
302
- });
303
- for (const kind of requiredCartoonRenderPackageOutputKinds) {
304
- if (!outputKinds.has(kind)) {
305
- issues.push(createPromptAnimationIssue("error", `render-output-${kind}-missing`, `Render package requires ${kind} output.`));
306
- }
307
- }
308
- if (!captionCartoonRenderOutputKinds.some((kind) => outputKinds.has(kind))) {
309
- issues.push(createPromptAnimationIssue("error", "render-output-captions-missing", "Render package requires captions output."));
310
- }
311
- return issues;
312
- }
313
- export function validateCartoonRenderOutputPackageMetadata(metadata) {
314
- const outputs = [
315
- metadata.outputs.mp4,
316
- metadata.outputs.webm,
317
- ...metadata.outputs.captions,
318
- metadata.outputs.thumbnail,
319
- metadata.outputs.timelineJson,
320
- metadata.outputs.evidenceJson,
321
- metadata.outputs.youtubeMetadata
322
- ].filter((output) => Boolean(output));
323
- const issues = [...validateCartoonRenderOutputs(outputs, "renderOutputPackage.outputs")];
324
- if (!metadata.packageId) {
325
- issues.push(createPromptAnimationIssue("error", "render-package-id-missing", "Render output package id is required."));
326
- }
327
- if (!metadata.youtubeDraft.title.trim()) {
328
- issues.push(createPromptAnimationIssue("error", "youtube-draft-title-missing", "YouTube draft metadata requires a title.", {
329
- path: "renderOutputPackage.youtubeDraft.title"
330
- }));
331
- }
332
- if (metadata.youtubeDraft.thumbnailCaptureTime === undefined) {
333
- issues.push(createPromptAnimationIssue("error", "youtube-draft-thumbnail-time-missing", "YouTube draft metadata requires a thumbnail capture time.", { path: "renderOutputPackage.youtubeDraft.thumbnailCaptureTime" }));
334
- }
335
- if (metadata.youtubeDraft.thumbnailCaptureTime !== undefined) {
336
- const thumbnailTime = normalizePromptAnimationTime(metadata.youtubeDraft.thumbnailCaptureTime);
337
- if (!sameRenderTime(metadata.thumbnailCapture.time, thumbnailTime)) {
338
- issues.push(createPromptAnimationIssue("error", "thumbnail-capture-time-mismatch", "Thumbnail capture must use the YouTube draft thumbnail capture time.", { path: "renderOutputPackage.thumbnailCapture.time", time: metadata.thumbnailCapture.time }));
339
- }
340
- }
341
- if (!metadata.thumbnailCapture.sourceSceneStateId) {
342
- issues.push(createPromptAnimationIssue("error", "thumbnail-capture-scene-state-missing", "Thumbnail capture must reference the Aura3D scene state used for the rendered frame.", { path: "renderOutputPackage.thumbnailCapture.sourceSceneStateId", time: metadata.thumbnailCapture.time }));
343
- }
344
- if (metadata.outputs.thumbnail?.path && metadata.thumbnailCapture.outputPath !== metadata.outputs.thumbnail.path) {
345
- issues.push(createPromptAnimationIssue("error", "thumbnail-capture-output-path-mismatch", "Thumbnail capture output path must match the review package thumbnail path.", { path: "renderOutputPackage.thumbnailCapture.outputPath", time: metadata.thumbnailCapture.time }));
346
- }
347
- if (metadata.reviewPackagePaths.video.length === 0) {
348
- issues.push(createPromptAnimationIssue("error", "review-package-video-paths-missing", "Review package requires video output paths."));
349
- }
350
- if (metadata.reviewPackagePaths.captions.length === 0) {
351
- issues.push(createPromptAnimationIssue("error", "review-package-caption-paths-missing", "Review package requires caption output paths."));
352
- }
353
- if (!metadata.reviewPackagePaths.thumbnail) {
354
- issues.push(createPromptAnimationIssue("error", "review-package-thumbnail-path-missing", "Review package requires a thumbnail path."));
355
- }
356
- if (!metadata.reviewPackagePaths.evidence) {
357
- issues.push(createPromptAnimationIssue("error", "review-package-evidence-path-missing", "Review package requires an evidence path."));
358
- }
359
- if (!metadata.reviewPackagePaths.youtubeDraftMetadata) {
360
- issues.push(createPromptAnimationIssue("error", "review-package-youtube-metadata-path-missing", "Review package requires a YouTube draft metadata path."));
361
- }
362
- return issues;
363
- }
364
- function createCartoonRenderSceneStateSource(input) {
365
- const stableShotId = input.shotId ?? "timeline";
366
- const normalizedTime = normalizePromptAnimationTime(input.time);
367
- return {
368
- source: "aura3d-scene-state",
369
- sceneStateId: `${input.episodeId}:${stableShotId}:frame-${input.frame}:scene-state`,
370
- route: input.route,
371
- time: normalizedTime,
372
- auraVoiceTimestamp: normalizedTime,
373
- frame: input.frame,
374
- ...(input.shotId ? { shotId: input.shotId } : {}),
375
- deterministicSeed: `${input.episodeId}:${stableShotId}:frame-${input.frame}:time-${normalizedTime.toFixed(6)}`
376
- };
377
- }
378
- function createCartoonThumbnailSceneStateCapture(packageId, renderQueue, outputs, youtubeDraft) {
379
- const requestedTime = normalizePromptAnimationTime(youtubeDraft.thumbnailCaptureTime ?? renderQueue.captureTimes[0] ?? 0);
380
- const item = renderQueue.items.find((candidate) => sameRenderTime(candidate.time, requestedTime)) ?? renderQueue.items[0];
381
- const fallbackFrame = Math.round(requestedTime * renderQueue.frameRate);
382
- const sourceSceneState = item?.sourceSceneState ??
383
- createCartoonRenderSceneStateSource({
384
- episodeId: renderQueue.episodeId,
385
- route: renderQueue.route,
386
- time: requestedTime,
387
- frame: fallbackFrame,
388
- ...(item?.shotId ? { shotId: item.shotId } : {})
389
- });
390
- return {
391
- id: `${packageId}:thumbnail-capture`,
392
- source: "same-aura3d-scene-state",
393
- outputId: outputs.thumbnail?.id ?? "thumbnail",
394
- outputPath: outputs.thumbnail?.path ?? "",
395
- route: item?.route ?? renderQueue.route,
396
- time: item?.time ?? requestedTime,
397
- auraVoiceTimestamp: sourceSceneState.auraVoiceTimestamp,
398
- frame: item?.frame ?? fallbackFrame,
399
- ...(sourceSceneState.shotId ? { shotId: sourceSceneState.shotId } : {}),
400
- sourceSceneStateId: sourceSceneState.sceneStateId,
401
- deterministicSeed: sourceSceneState.deterministicSeed
402
- };
403
- }
404
- function sameRenderTime(a, b) {
405
- return Math.abs(normalizePromptAnimationTime(a) - normalizePromptAnimationTime(b)) <= 0.000001;
406
- }
407
- function isNonEmptyString(value) {
408
- return Boolean(value && value.trim());
409
- }
410
- //# sourceMappingURL=CartoonRenderQueue.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CartoonRenderQueue.js","sourceRoot":"","sources":["../../../../../packages/engine/src/agent-api/CartoonRenderQueue.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,0BAA0B,EAC1B,4BAA4B,EAC5B,8BAA8B,EAS/B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,2BAA2B,EAA6B,MAAM,mBAAmB,CAAC;AA8J3F,MAAM,CAAC,MAAM,sBAAsB,GAAoB;IACrD,KAAK,EAAE,IAAI;IACX,MAAM,EAAE,IAAI;IACZ,iBAAiB,EAAE,CAAC;CACrB,CAAC;AAEF,MAAM,CAAC,MAAM,2BAA2B,GAAmC;IACzE;QACE,EAAE,EAAE,WAAW;QACf,IAAI,EAAE,KAAK;QACX,IAAI,EAAE,yBAAyB;QAC/B,KAAK,EAAE,yBAAyB;QAChC,KAAK,EAAE,MAAM;QACb,QAAQ,EAAE,WAAW;QACrB,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,QAAQ;KAClB;IACD;QACE,EAAE,EAAE,YAAY;QAChB,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,0BAA0B;QAChC,KAAK,EAAE,sBAAsB;QAC7B,KAAK,EAAE,KAAK;QACZ,QAAQ,EAAE,YAAY;QACtB,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,QAAQ;KAClB;IACD;QACE,EAAE,EAAE,cAAc;QAClB,IAAI,EAAE,aAAa;QACnB,IAAI,EAAE,0BAA0B;QAChC,KAAK,EAAE,iBAAiB;QACxB,QAAQ,EAAE,UAAU;QACpB,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,QAAQ;KAClB;IACD;QACE,EAAE,EAAE,cAAc;QAClB,IAAI,EAAE,aAAa;QACnB,IAAI,EAAE,0BAA0B;QAChC,KAAK,EAAE,cAAc;QACrB,QAAQ,EAAE,sBAAsB;QAChC,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,QAAQ;KAClB;IACD;QACE,EAAE,EAAE,WAAW;QACf,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,4BAA4B;QAClC,KAAK,EAAE,mBAAmB;QAC1B,QAAQ,EAAE,YAAY;QACtB,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,QAAQ;KAClB;IACD;QACE,EAAE,EAAE,UAAU;QACd,IAAI,EAAE,eAAe;QACrB,IAAI,EAAE,2BAA2B;QACjC,KAAK,EAAE,8BAA8B;QACrC,QAAQ,EAAE,kBAAkB;QAC5B,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,QAAQ;KAClB;IACD;QACE,EAAE,EAAE,UAAU;QACd,IAAI,EAAE,eAAe;QACrB,IAAI,EAAE,4CAA4C;QAClD,KAAK,EAAE,iCAAiC;QACxC,QAAQ,EAAE,kBAAkB;QAC5B,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,QAAQ;KAClB;IACD;QACE,EAAE,EAAE,eAAe;QACnB,IAAI,EAAE,kBAAkB;QACxB,IAAI,EAAE,gCAAgC;QACtC,KAAK,EAAE,wBAAwB;QAC/B,QAAQ,EAAE,kBAAkB;QAC5B,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,OAAO;KACjB;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,uCAAuC,GAAuC;IACzF,KAAK;IACL,MAAM;IACN,WAAW;IACX,eAAe;IACf,eAAe;IACf,kBAAkB;CACnB,CAAC;AAEF,MAAM,CAAC,MAAM,+BAA+B,GAAuC,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;AAElH,MAAM,CAAC,MAAM,6BAA6B,GAAqC;IAC7E,EAAE,EAAE,EAAE,mBAAmB,EAAE,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,IAAI,EAAE;IACpE,EAAE,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;IAC5D,EAAE,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;IAC5D,EAAE,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI,EAAE;IAC1D,EAAE,EAAE,EAAE,uBAAuB,EAAE,IAAI,EAAE,uBAAuB,EAAE,QAAQ,EAAE,IAAI,EAAE;IAC9E,EAAE,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;IAC5D,EAAE,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,IAAI,EAAE;CAC/D,CAAC;AAEF,MAAM,UAAU,wBAAwB,CAAkD,KAAa;IACrG,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,OAAwC;IAC/E,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,sBAAsB,CAAC;IAC5D,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,2BAA2B,CAAC;IAC/D,MAAM,eAAe,GAAG,OAAO,CAAC,eAAe,IAAI,6BAA6B,CAAC;IACjF,MAAM,YAAY,GAAG,2BAA2B,CAC9C,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC;QACrD,CAAC,CAAC,OAAO,CAAC,YAAY;QACtB,CAAC,CAAC,2BAA2B,CAAC,OAAO,CAAC,YAAY,CAAC,CACtD,CAAC;IACF,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACrD,MAAM,iBAAiB,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACrE,MAAM,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,SAAS,IAAI,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC;IAE1F,MAAM,KAAK,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACtC,MAAM,IAAI,GAAG,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,IAAI,SAAS,CAAC,SAAS,IAAI,IAAI,IAAI,SAAS,CAAC,OAAO,CAAC,CAAC;QACtH,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,SAAS,CAAC,CAAC;QAC3C,OAAO;YACL,EAAE,EAAE,WAAW,KAAK,EAAE;YACtB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,WAAW,CAAC,QAAQ;YAC1D,IAAI;YACJ,KAAK;YACL,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACxC,QAAQ;YACR,SAAS;YACT,iBAAiB;YACjB,gBAAgB,EAAE,mCAAmC,CAAC;gBACpD,SAAS,EAAE,OAAO,CAAC,WAAW,CAAC,SAAS;gBACxC,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,IAAI;gBACJ,KAAK;gBACL,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACzC,CAAC;SACH,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,OAAO;QACL,QAAQ,EAAE,cAAc;QACxB,UAAU,EAAE,8BAA8B;QAC1C,SAAS,EAAE,OAAO,CAAC,WAAW,CAAC,SAAS;QACxC,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,WAAW,CAAC,QAAQ;QAC1D,SAAS;QACT,QAAQ;QACR,YAAY;QACZ,QAAQ,EAAE,eAAe;QACzB,SAAS,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;QAC1C,aAAa,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YACtC,QAAQ,EAAE,MAAM,CAAC,EAAE;YACnB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,KAAK;SACnC,CAAC,CAAC;QACH,cAAc,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC;QACpC,cAAc,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;QAC/C,OAAO;QACP,eAAe;QACf,KAAK;QACL,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACrE,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,wCAAwC,CACtD,OAAwD;IAExD,MAAM,gBAAgB,GAAG,OAAO,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAClE,MAAM,YAAY,GAAwC,OAAO,CAAC,OAAO;QACvE,OAAO,CAAC,WAAW,CAAC,OAAO,IAAI;QAC7B,KAAK,EAAE,OAAO,CAAC,WAAW,CAAC,KAAK;QAChC,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC,YAAY;YAC7C,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC,YAAY,EAAE;YAC9D,CAAC,CAAC,EAAE,CAAC;QACP,IAAI,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,kBAAkB,CAAC;QAC/C,WAAW,EAAE,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS;QACjD,oBAAoB,EAAE,gBAAgB;QACtC,eAAe,EAAE,OAAO,CAAC,WAAW,CAAC,QAAQ;QAC7C,aAAa,EAAE,SAAS;KACzB,CAAC;IACJ,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,GAAG,OAAO,CAAC,WAAW,CAAC,SAAS,iBAAiB,CAAC;IACzF,MAAM,OAAO,GAAG,kCAAkC,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAChF,MAAM,gBAAgB,GAAG,uCAAuC,CAAC,SAAS,EAAE,OAAO,CAAC,WAAW,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;IAExH,OAAO;QACL,QAAQ,EAAE,uBAAuB;QACjC,UAAU,EAAE,8BAA8B;QAC1C,SAAS,EAAE,OAAO,CAAC,WAAW,CAAC,SAAS;QACxC,SAAS;QACT,KAAK,EAAE,OAAO,CAAC,WAAW,CAAC,KAAK;QAChC,QAAQ,EAAE,OAAO,CAAC,WAAW,CAAC,QAAQ;QACtC,SAAS,EAAE,OAAO,CAAC,WAAW,CAAC,SAAS;QACxC,QAAQ,EAAE,OAAO,CAAC,YAAY,CAAC,QAAQ,IAAI,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,QAAQ;QAC/E,QAAQ,EAAE,OAAO,CAAC,WAAW,CAAC,QAAQ;QACtC,OAAO;QACP,mBAAmB,EAAE,CAAC,GAAG,uCAAuC,EAAE,aAAa,CAAC;QAChF,YAAY;QACZ,gBAAgB;QAChB,kBAAkB,EAAE,qCAAqC,CAAC,OAAO,CAAC;QAClE,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACrE,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,KAAwC;IAClF,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAC;IACjC,KAAK,MAAM,IAAI,IAAI,KAAK;QAAE,MAAM,CAAC,GAAG,CAAC,4BAA4B,CAAC,IAAI,CAAC,CAAC,CAAC;IACzE,OAAO,CAAC,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,KAAiC;IAC1E,MAAM,MAAM,GAAqC,EAAE,CAAC;IACpD,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACjB,MAAM,CAAC,IAAI,CAAC,0BAA0B,CAAC,OAAO,EAAE,sBAAsB,EAAE,iCAAiC,CAAC,CAAC,CAAC;IAC9G,CAAC;IACD,IAAI,KAAK,CAAC,SAAS,IAAI,CAAC,EAAE,CAAC;QACzB,MAAM,CAAC,IAAI,CAAC,0BAA0B,CAAC,OAAO,EAAE,mBAAmB,EAAE,2CAA2C,CAAC,CAAC,CAAC;IACrH,CAAC;IACD,IAAI,KAAK,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpC,MAAM,CAAC,IAAI,CAAC,0BAA0B,CAAC,OAAO,EAAE,8BAA8B,EAAE,mCAAmC,CAAC,CAAC,CAAC;IACxH,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,MAAM,CAAC,IAAI,CAAC,0BAA0B,CAAC,OAAO,EAAE,wBAAwB,EAAE,yCAAyC,CAAC,CAAC,CAAC;IACxH,CAAC;IACD,IAAI,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,KAAK,eAAe,IAAI,KAAK,CAAC,QAAQ,KAAK,aAAa,EAAE,CAAC;QAC7F,MAAM,CAAC,IAAI,CAAC,0BAA0B,CAAC,OAAO,EAAE,0BAA0B,EAAE,8DAA8D,CAAC,CAAC,CAAC;IAC/I,CAAC;IACD,IAAI,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,SAAS,CAAC,MAAM,KAAK,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QACrE,MAAM,CAAC,IAAI,CAAC,0BAA0B,CAAC,OAAO,EAAE,4BAA4B,EAAE,kDAAkD,CAAC,CAAC,CAAC;IACrI,CAAC;IACD,IAAI,KAAK,CAAC,aAAa,IAAI,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9E,MAAM,CAAC,IAAI,CAAC,0BAA0B,CAAC,OAAO,EAAE,mCAAmC,EAAE,0CAA0C,CAAC,CAAC,CAAC;IACpI,CAAC;IACD,IAAI,KAAK,CAAC,cAAc,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC;QAC3G,MAAM,CAAC,IAAI,CAAC,0BAA0B,CAAC,OAAO,EAAE,gCAAgC,EAAE,sDAAsD,CAAC,CAAC,CAAC;IAC7I,CAAC;IACD,IAAI,KAAK,CAAC,cAAc,IAAI,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;QACpH,MAAM,CAAC,IAAI,CAAC,0BAA0B,CAAC,OAAO,EAAE,+BAA+B,EAAE,sDAAsD,CAAC,CAAC,CAAC;IAC5I,CAAC;IACD,MAAM,CAAC,IAAI,CAAC,GAAG,4BAA4B,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IAC5D,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QAC/B,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;YAC3B,MAAM,CAAC,IAAI,CACT,0BAA0B,CAAC,OAAO,EAAE,4BAA4B,EAAE,gBAAgB,IAAI,CAAC,EAAE,mBAAmB,EAAE;gBAC5G,IAAI,EAAE,SAAS,IAAI,CAAC,EAAE,EAAE;gBACxB,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,KAAK,EAAE,IAAI,CAAC,KAAK;aAClB,CAAC,CACH,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC3B,MAAM,CAAC,IAAI,CACT,0BAA0B,CACxB,OAAO,EACP,iCAAiC,EACjC,gBAAgB,IAAI,CAAC,EAAE,+CAA+C,EACtE,EAAE,IAAI,EAAE,SAAS,IAAI,CAAC,EAAE,mBAAmB,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAClF,CACF,CAAC;YACF,SAAS;QACX,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,CAAC;YACxC,MAAM,CAAC,IAAI,CACT,0BAA0B,CACxB,OAAO,EACP,oCAAoC,EACpC,gBAAgB,IAAI,CAAC,EAAE,8CAA8C,EACrE,EAAE,IAAI,EAAE,SAAS,IAAI,CAAC,EAAE,gCAAgC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAC/F,CACF,CAAC;QACJ,CAAC;QACD,IAAI,IAAI,CAAC,gBAAgB,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC;YAC/C,MAAM,CAAC,IAAI,CACT,0BAA0B,CACxB,OAAO,EACP,wCAAwC,EACxC,gBAAgB,IAAI,CAAC,EAAE,kDAAkD,EACzE,EAAE,IAAI,EAAE,SAAS,IAAI,CAAC,EAAE,yBAAyB,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CACxF,CACF,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACnI,MAAM,CAAC,IAAI,CACT,0BAA0B,CACxB,OAAO,EACP,0CAA0C,EAC1C,gBAAgB,IAAI,CAAC,EAAE,oDAAoD,EAC3E,EAAE,IAAI,EAAE,SAAS,IAAI,CAAC,EAAE,sCAAsC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CACrG,CACF,CAAC;QACJ,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;YAChE,MAAM,CAAC,IAAI,CACT,0BAA0B,CACxB,OAAO,EACP,uCAAuC,EACvC,gBAAgB,IAAI,CAAC,EAAE,wCAAwC,IAAI,CAAC,MAAM,IAAI,EAC9E,EAAE,IAAI,EAAE,SAAS,IAAI,CAAC,EAAE,0BAA0B,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CACzF,CACF,CAAC;QACJ,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,kCAAkC,CAAC,OAAuC;IACxF,OAAO;QACL,GAAG,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,KAAK,CAAC;QACpD,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC;QACtD,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,aAAa,IAAI,MAAM,CAAC,IAAI,KAAK,aAAa,CAAC;QACpG,SAAS,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,WAAW,CAAC;QAChE,YAAY,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,eAAe,CAAC;QACvE,YAAY,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,eAAe,CAAC;QACvE,eAAe,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,kBAAkB,CAAC;KAC9E,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,qCAAqC,CAAC,OAAoC;IACxF,OAAO;QACL,KAAK,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC;QACvE,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC;QAChF,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,IAAI,IAAI,EAAE;QACxC,QAAQ,EAAE,OAAO,CAAC,YAAY,EAAE,IAAI,IAAI,EAAE;QAC1C,oBAAoB,EAAE,OAAO,CAAC,eAAe,EAAE,IAAI,IAAI,EAAE;KAC1D,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,4BAA4B,CAC1C,OAAuC,EACvC,UAAU,GAAG,SAAS;IAEtB,MAAM,MAAM,GAAqC,EAAE,CAAC;IACpD,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;IACpC,MAAM,WAAW,GAAG,IAAI,GAAG,EAA2B,CAAC;IAEvD,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;QAChC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;YACf,MAAM,CAAC,IAAI,CACT,0BAA0B,CAAC,OAAO,EAAE,0BAA0B,EAAE,0BAA0B,KAAK,oBAAoB,EAAE;gBACnH,IAAI,EAAE,GAAG,UAAU,IAAI,KAAK,KAAK;aAClC,CAAC,CACH,CAAC;QACJ,CAAC;QACD,IAAI,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;YAC7B,MAAM,CAAC,IAAI,CACT,0BAA0B,CAAC,OAAO,EAAE,4BAA4B,EAAE,+BAA+B,MAAM,CAAC,EAAE,IAAI,EAAE;gBAC9G,IAAI,EAAE,GAAG,UAAU,IAAI,KAAK,KAAK;aAClC,CAAC,CACH,CAAC;QACJ,CAAC;QACD,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACzB,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAE7B,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACjB,MAAM,CAAC,IAAI,CACT,0BAA0B,CAAC,OAAO,EAAE,4BAA4B,EAAE,kBAAkB,MAAM,CAAC,EAAE,gBAAgB,EAAE;gBAC7G,IAAI,EAAE,GAAG,UAAU,IAAI,KAAK,OAAO;aACpC,CAAC,CACH,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,KAAK,MAAM,IAAI,IAAI,uCAAuC,EAAE,CAAC;QAC3D,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3B,MAAM,CAAC,IAAI,CAAC,0BAA0B,CAAC,OAAO,EAAE,iBAAiB,IAAI,UAAU,EAAE,2BAA2B,IAAI,UAAU,CAAC,CAAC,CAAC;QAC/H,CAAC;IACH,CAAC;IACD,IAAI,CAAC,+BAA+B,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;QAC3E,MAAM,CAAC,IAAI,CAAC,0BAA0B,CAAC,OAAO,EAAE,gCAAgC,EAAE,0CAA0C,CAAC,CAAC,CAAC;IACjI,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,0CAA0C,CACxD,QAA4C;IAE5C,MAAM,OAAO,GAAG;QACd,QAAQ,CAAC,OAAO,CAAC,GAAG;QACpB,QAAQ,CAAC,OAAO,CAAC,IAAI;QACrB,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ;QAC5B,QAAQ,CAAC,OAAO,CAAC,SAAS;QAC1B,QAAQ,CAAC,OAAO,CAAC,YAAY;QAC7B,QAAQ,CAAC,OAAO,CAAC,YAAY;QAC7B,QAAQ,CAAC,OAAO,CAAC,eAAe;KACjC,CAAC,MAAM,CAAC,CAAC,MAAM,EAAiC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IACrE,MAAM,MAAM,GAAqC,CAAC,GAAG,4BAA4B,CAAC,OAAO,EAAE,6BAA6B,CAAC,CAAC,CAAC;IAE3H,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC;QACxB,MAAM,CAAC,IAAI,CAAC,0BAA0B,CAAC,OAAO,EAAE,2BAA2B,EAAE,uCAAuC,CAAC,CAAC,CAAC;IACzH,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;QACxC,MAAM,CAAC,IAAI,CACT,0BAA0B,CAAC,OAAO,EAAE,6BAA6B,EAAE,0CAA0C,EAAE;YAC7G,IAAI,EAAE,wCAAwC;SAC/C,CAAC,CACH,CAAC;IACJ,CAAC;IACD,IAAI,QAAQ,CAAC,YAAY,CAAC,oBAAoB,KAAK,SAAS,EAAE,CAAC;QAC7D,MAAM,CAAC,IAAI,CACT,0BAA0B,CACxB,OAAO,EACP,sCAAsC,EACtC,2DAA2D,EAC3D,EAAE,IAAI,EAAE,uDAAuD,EAAE,CAClE,CACF,CAAC;IACJ,CAAC;IACD,IAAI,QAAQ,CAAC,YAAY,CAAC,oBAAoB,KAAK,SAAS,EAAE,CAAC;QAC7D,MAAM,aAAa,GAAG,4BAA4B,CAAC,QAAQ,CAAC,YAAY,CAAC,oBAAoB,CAAC,CAAC;QAC/F,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,EAAE,aAAa,CAAC,EAAE,CAAC;YACnE,MAAM,CAAC,IAAI,CACT,0BAA0B,CACxB,OAAO,EACP,iCAAiC,EACjC,sEAAsE,EACtE,EAAE,IAAI,EAAE,2CAA2C,EAAE,IAAI,EAAE,QAAQ,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAC5F,CACF,CAAC;QACJ,CAAC;IACH,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,CAAC;QAClD,MAAM,CAAC,IAAI,CACT,0BAA0B,CACxB,OAAO,EACP,uCAAuC,EACvC,sFAAsF,EACtF,EAAE,IAAI,EAAE,yDAAyD,EAAE,IAAI,EAAE,QAAQ,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAC1G,CACF,CAAC;IACJ,CAAC;IACD,IAAI,QAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,IAAI,QAAQ,CAAC,gBAAgB,CAAC,UAAU,KAAK,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QACjH,MAAM,CAAC,IAAI,CACT,0BAA0B,CACxB,OAAO,EACP,wCAAwC,EACxC,6EAA6E,EAC7E,EAAE,IAAI,EAAE,iDAAiD,EAAE,IAAI,EAAE,QAAQ,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAClG,CACF,CAAC;IACJ,CAAC;IACD,IAAI,QAAQ,CAAC,kBAAkB,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnD,MAAM,CAAC,IAAI,CAAC,0BAA0B,CAAC,OAAO,EAAE,oCAAoC,EAAE,6CAA6C,CAAC,CAAC,CAAC;IACxI,CAAC;IACD,IAAI,QAAQ,CAAC,kBAAkB,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtD,MAAM,CAAC,IAAI,CACT,0BAA0B,CAAC,OAAO,EAAE,sCAAsC,EAAE,+CAA+C,CAAC,CAC7H,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,SAAS,EAAE,CAAC;QAC3C,MAAM,CAAC,IAAI,CAAC,0BAA0B,CAAC,OAAO,EAAE,uCAAuC,EAAE,2CAA2C,CAAC,CAAC,CAAC;IACzI,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,QAAQ,EAAE,CAAC;QAC1C,MAAM,CAAC,IAAI,CAAC,0BAA0B,CAAC,OAAO,EAAE,sCAAsC,EAAE,2CAA2C,CAAC,CAAC,CAAC;IACxI,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,oBAAoB,EAAE,CAAC;QACtD,MAAM,CAAC,IAAI,CACT,0BAA0B,CACxB,OAAO,EACP,8CAA8C,EAC9C,wDAAwD,CACzD,CACF,CAAC;IACJ,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,mCAAmC,CAAC,KAM5C;IACC,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,IAAI,UAAU,CAAC;IAChD,MAAM,cAAc,GAAG,4BAA4B,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAChE,OAAO;QACL,MAAM,EAAE,oBAAoB;QAC5B,YAAY,EAAE,GAAG,KAAK,CAAC,SAAS,IAAI,YAAY,UAAU,KAAK,CAAC,KAAK,cAAc;QACnF,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,IAAI,EAAE,cAAc;QACpB,kBAAkB,EAAE,cAAc;QAClC,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjD,iBAAiB,EAAE,GAAG,KAAK,CAAC,SAAS,IAAI,YAAY,UAAU,KAAK,CAAC,KAAK,SAAS,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;KAC/G,CAAC;AACJ,CAAC;AAED,SAAS,uCAAuC,CAC9C,SAA4B,EAC5B,WAAuC,EACvC,OAAoC,EACpC,YAAiD;IAEjD,MAAM,aAAa,GAAG,4BAA4B,CAAC,YAAY,CAAC,oBAAoB,IAAI,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAC1H,MAAM,IAAI,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC,IAAI,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC1H,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC;IACxE,MAAM,gBAAgB,GACpB,IAAI,EAAE,gBAAgB;QACtB,mCAAmC,CAAC;YAClC,SAAS,EAAE,WAAW,CAAC,SAAS;YAChC,KAAK,EAAE,WAAW,CAAC,KAAK;YACxB,IAAI,EAAE,aAAa;YACnB,KAAK,EAAE,aAAa;YACpB,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACjD,CAAC,CAAC;IAEL,OAAO;QACL,EAAE,EAAE,GAAG,SAAS,oBAAoB;QACpC,MAAM,EAAE,yBAAyB;QACjC,QAAQ,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,WAAW;QAC9C,UAAU,EAAE,OAAO,CAAC,SAAS,EAAE,IAAI,IAAI,EAAE;QACzC,KAAK,EAAE,IAAI,EAAE,KAAK,IAAI,WAAW,CAAC,KAAK;QACvC,IAAI,EAAE,IAAI,EAAE,IAAI,IAAI,aAAa;QACjC,kBAAkB,EAAE,gBAAgB,CAAC,kBAAkB;QACvD,KAAK,EAAE,IAAI,EAAE,KAAK,IAAI,aAAa;QACnC,GAAG,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvE,kBAAkB,EAAE,gBAAgB,CAAC,YAAY;QACjD,iBAAiB,EAAE,gBAAgB,CAAC,iBAAiB;KACtD,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,CAAyB,EAAE,CAAyB;IAC1E,OAAO,IAAI,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC,CAAC,GAAG,4BAA4B,CAAC,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC;AACjG,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAyB;IACjD,OAAO,OAAO,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;AACxC,CAAC"}
@@ -1,112 +0,0 @@
1
- import { type PromptAnimationFrameRate, type PromptAnimationId, type PromptAnimationSeconds, type PromptAnimationValidationIssue } from "./PromptAnimationContract.js";
2
- export declare const cartoonRouteProofSchemaVersion: "aura3d-cartoon-route-proof/v1";
3
- export type CartoonRouteProofStatus = "pass" | "fail";
4
- export interface CartoonRouteProofAsset {
5
- readonly id: PromptAnimationId;
6
- readonly role: "character" | "set" | "prop" | "audio" | "other";
7
- readonly typedAsset: boolean;
8
- readonly source: "aura-assets" | "placeholder" | "runtime-generated" | "unknown";
9
- readonly url?: string | undefined;
10
- readonly checksum?: string | undefined;
11
- readonly ready: boolean;
12
- readonly issues?: readonly string[] | undefined;
13
- }
14
- export interface CartoonRouteProofShot {
15
- readonly id: PromptAnimationId;
16
- readonly startTime: PromptAnimationSeconds;
17
- readonly endTime: PromptAnimationSeconds;
18
- readonly expectedCharacterIds: readonly PromptAnimationId[];
19
- readonly visibleCharacterIds: readonly PromptAnimationId[];
20
- readonly captionIds: readonly PromptAnimationId[];
21
- readonly gestureIds: readonly PromptAnimationId[];
22
- readonly visemeCueIds: readonly PromptAnimationId[];
23
- readonly nonblank: boolean;
24
- readonly frameCount: number;
25
- readonly frameHashes: readonly string[];
26
- }
27
- export interface CartoonRouteProofCaption {
28
- readonly id: PromptAnimationId;
29
- readonly lineId?: PromptAnimationId | undefined;
30
- readonly text: string;
31
- readonly startTime: PromptAnimationSeconds;
32
- readonly endTime: PromptAnimationSeconds;
33
- readonly rendered: boolean;
34
- }
35
- export interface CartoonRouteProofViseme {
36
- readonly id: PromptAnimationId;
37
- readonly characterId: PromptAnimationId;
38
- readonly startTime: PromptAnimationSeconds;
39
- readonly endTime: PromptAnimationSeconds;
40
- readonly mode: "blendshape-lip-sync" | "primitive-mouth-card" | "amplitude-only" | "manual" | "missing-mouth-motion";
41
- readonly rendered: boolean;
42
- }
43
- export interface CartoonRouteProofGesture {
44
- readonly id: PromptAnimationId;
45
- readonly characterId: PromptAnimationId;
46
- readonly state: string;
47
- readonly startTime: PromptAnimationSeconds;
48
- readonly endTime: PromptAnimationSeconds;
49
- readonly rendered: boolean;
50
- }
51
- export interface CartoonRouteProofRenderState {
52
- readonly frameCount: number;
53
- readonly nonblank: boolean;
54
- readonly sourceOnly?: boolean | undefined;
55
- readonly notTrue3D?: boolean | undefined;
56
- readonly debugOverlaysVisible?: boolean | undefined;
57
- readonly routeChromeVisible?: boolean | undefined;
58
- }
59
- export interface CartoonRouteProofPlaybackState {
60
- readonly canPlay: boolean;
61
- readonly canPause: boolean;
62
- readonly canScrub: boolean;
63
- readonly canJumpShots: boolean;
64
- readonly captionsToggle: boolean;
65
- readonly muteToggle: boolean;
66
- readonly reducedMotion: boolean;
67
- readonly reducedFlash: boolean;
68
- }
69
- export interface CartoonRouteReadinessCheck {
70
- readonly id: string;
71
- readonly passed: boolean;
72
- readonly message: string;
73
- }
74
- export interface CartoonRouteProof {
75
- readonly artifact: "cartoon-route-proof";
76
- readonly schemaVersion: typeof cartoonRouteProofSchemaVersion;
77
- readonly contractId: string;
78
- readonly episodeId: PromptAnimationId;
79
- readonly generatedAt?: string | undefined;
80
- readonly route: string;
81
- readonly duration: PromptAnimationSeconds;
82
- readonly frameRate: PromptAnimationFrameRate;
83
- readonly assets: readonly CartoonRouteProofAsset[];
84
- readonly shots: readonly CartoonRouteProofShot[];
85
- readonly captions: readonly CartoonRouteProofCaption[];
86
- readonly visemes: readonly CartoonRouteProofViseme[];
87
- readonly gestures: readonly CartoonRouteProofGesture[];
88
- readonly render: CartoonRouteProofRenderState;
89
- readonly playback: CartoonRouteProofPlaybackState;
90
- readonly routeErrors: readonly string[];
91
- readonly checks: readonly CartoonRouteReadinessCheck[];
92
- readonly issues: readonly PromptAnimationValidationIssue[];
93
- readonly status: CartoonRouteProofStatus;
94
- }
95
- export interface CreateCartoonRouteProofInput {
96
- readonly episodeId: PromptAnimationId;
97
- readonly route: string;
98
- readonly duration: PromptAnimationSeconds;
99
- readonly frameRate: PromptAnimationFrameRate;
100
- readonly generatedAt?: string | undefined;
101
- readonly assets: readonly CartoonRouteProofAsset[];
102
- readonly shots: readonly CartoonRouteProofShot[];
103
- readonly captions?: readonly CartoonRouteProofCaption[] | undefined;
104
- readonly visemes?: readonly CartoonRouteProofViseme[] | undefined;
105
- readonly gestures?: readonly CartoonRouteProofGesture[] | undefined;
106
- readonly render: CartoonRouteProofRenderState;
107
- readonly playback: CartoonRouteProofPlaybackState;
108
- readonly routeErrors?: readonly string[] | undefined;
109
- }
110
- export declare function createCartoonRouteProof(input: CreateCartoonRouteProofInput): CartoonRouteProof;
111
- export declare function validateCartoonRouteProof(proof: CartoonRouteProof): readonly PromptAnimationValidationIssue[];
112
- //# sourceMappingURL=CartoonRouteProof.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CartoonRouteProof.d.ts","sourceRoot":"","sources":["../../../../../packages/engine/src/agent-api/CartoonRouteProof.ts"],"names":[],"mappings":"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"}