@aura3d/engine 1.0.3 → 1.0.6

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 (210) hide show
  1. package/README.md +338 -14
  2. package/dist/animation/AnimationClipEvents.d.ts +57 -0
  3. package/dist/animation/AnimationClipEvents.d.ts.map +1 -0
  4. package/dist/animation/AnimationClipEvents.js +171 -0
  5. package/dist/animation/AnimationClipEvents.js.map +1 -0
  6. package/dist/animation/AnimationClipRegistry.d.ts +76 -0
  7. package/dist/animation/AnimationClipRegistry.d.ts.map +1 -0
  8. package/dist/animation/AnimationClipRegistry.js +130 -0
  9. package/dist/animation/AnimationClipRegistry.js.map +1 -0
  10. package/dist/animation/AnimationController.d.ts +168 -0
  11. package/dist/animation/AnimationController.d.ts.map +1 -0
  12. package/dist/animation/AnimationController.js +619 -0
  13. package/dist/animation/AnimationController.js.map +1 -0
  14. package/dist/animation/AnimationStateGraph.d.ts +2 -0
  15. package/dist/animation/AnimationStateGraph.d.ts.map +1 -0
  16. package/dist/animation/AnimationStateGraph.js +2 -0
  17. package/dist/animation/AnimationStateGraph.js.map +1 -0
  18. package/dist/animation/AnimationStateMachine.d.ts +16 -0
  19. package/dist/animation/AnimationStateMachine.d.ts.map +1 -1
  20. package/dist/animation/AnimationStateMachine.js +69 -7
  21. package/dist/animation/AnimationStateMachine.js.map +1 -1
  22. package/dist/animation/HumanoidRetargeting.d.ts +76 -0
  23. package/dist/animation/HumanoidRetargeting.d.ts.map +1 -0
  24. package/dist/animation/HumanoidRetargeting.js +331 -0
  25. package/dist/animation/HumanoidRetargeting.js.map +1 -0
  26. package/dist/animation/browser-index.d.ts +18 -0
  27. package/dist/animation/browser-index.d.ts.map +1 -1
  28. package/dist/animation/browser-index.js +13 -0
  29. package/dist/animation/browser-index.js.map +1 -1
  30. package/dist/animation/index.d.ts +17 -1
  31. package/dist/animation/index.d.ts.map +1 -1
  32. package/dist/animation/index.js +12 -1
  33. package/dist/animation/index.js.map +1 -1
  34. package/dist/animation/threejs-compatibility/AnimationDiagnostics.d.ts.map +1 -1
  35. package/dist/animation/threejs-compatibility/AnimationDiagnostics.js +3 -5
  36. package/dist/animation/threejs-compatibility/AnimationDiagnostics.js.map +1 -1
  37. package/dist/assets/GLTFAnimationRuntime.js +1 -1
  38. package/dist/assets/GLTFLoader.js +1 -1
  39. package/dist/aura3d-cli/cli.js +225 -8
  40. package/dist/aura3d-cli/cli.js.map +1 -1
  41. package/dist/aura3d-cli/index.d.ts +283 -3
  42. package/dist/aura3d-cli/index.d.ts.map +1 -1
  43. package/dist/aura3d-cli/index.js +1028 -4
  44. package/dist/aura3d-cli/index.js.map +1 -1
  45. package/dist/aura3d-cli/pull-bridge.d.ts +108 -0
  46. package/dist/aura3d-cli/pull-bridge.d.ts.map +1 -0
  47. package/dist/aura3d-cli/pull-bridge.js +333 -0
  48. package/dist/aura3d-cli/pull-bridge.js.map +1 -0
  49. package/dist/create-aura3d/index.d.ts +1 -1
  50. package/dist/create-aura3d/index.d.ts.map +1 -1
  51. package/dist/create-aura3d/index.js +9 -2
  52. package/dist/create-aura3d/index.js.map +1 -1
  53. package/dist/editor-runtime/ProjectSerializer.d.ts +74 -1
  54. package/dist/editor-runtime/ProjectSerializer.d.ts.map +1 -1
  55. package/dist/editor-runtime/ProjectSerializer.js +123 -6
  56. package/dist/editor-runtime/ProjectSerializer.js.map +1 -1
  57. package/dist/editor-runtime/TimelineModel.d.ts +18 -0
  58. package/dist/editor-runtime/TimelineModel.d.ts.map +1 -1
  59. package/dist/editor-runtime/TimelineModel.js +67 -3
  60. package/dist/editor-runtime/TimelineModel.js.map +1 -1
  61. package/dist/editor-runtime/TimelineRuntimeBridge.d.ts +98 -0
  62. package/dist/editor-runtime/TimelineRuntimeBridge.d.ts.map +1 -0
  63. package/dist/editor-runtime/TimelineRuntimeBridge.js +186 -0
  64. package/dist/editor-runtime/TimelineRuntimeBridge.js.map +1 -0
  65. package/dist/editor-runtime/index.d.ts +3 -1
  66. package/dist/editor-runtime/index.d.ts.map +1 -1
  67. package/dist/editor-runtime/index.js +1 -0
  68. package/dist/editor-runtime/index.js.map +1 -1
  69. package/dist/engine/agent-api/AnimationController.d.ts +607 -0
  70. package/dist/engine/agent-api/AnimationController.d.ts.map +1 -0
  71. package/dist/engine/agent-api/AnimationController.js +2192 -0
  72. package/dist/engine/agent-api/AnimationController.js.map +1 -0
  73. package/dist/engine/agent-api/AssetEvidence.d.ts +88 -0
  74. package/dist/engine/agent-api/AssetEvidence.d.ts.map +1 -0
  75. package/dist/engine/agent-api/AssetEvidence.js +157 -0
  76. package/dist/engine/agent-api/AssetEvidence.js.map +1 -0
  77. package/dist/engine/agent-api/AuraAppHandle.d.ts +55 -0
  78. package/dist/engine/agent-api/AuraAppHandle.d.ts.map +1 -0
  79. package/dist/engine/agent-api/AuraAppHandle.js +15 -0
  80. package/dist/engine/agent-api/AuraAppHandle.js.map +1 -0
  81. package/dist/engine/agent-api/AuraVoiceBridge.d.ts +96 -0
  82. package/dist/engine/agent-api/AuraVoiceBridge.d.ts.map +1 -0
  83. package/dist/engine/agent-api/AuraVoiceBridge.js +370 -0
  84. package/dist/engine/agent-api/AuraVoiceBridge.js.map +1 -0
  85. package/dist/engine/agent-api/CartoonDirector.d.ts +95 -0
  86. package/dist/engine/agent-api/CartoonDirector.d.ts.map +1 -0
  87. package/dist/engine/agent-api/CartoonDirector.js +342 -0
  88. package/dist/engine/agent-api/CartoonDirector.js.map +1 -0
  89. package/dist/engine/agent-api/CartoonPerformance.d.ts +149 -0
  90. package/dist/engine/agent-api/CartoonPerformance.d.ts.map +1 -0
  91. package/dist/engine/agent-api/CartoonPerformance.js +317 -0
  92. package/dist/engine/agent-api/CartoonPerformance.js.map +1 -0
  93. package/dist/engine/agent-api/CartoonRenderQueue.d.ts +132 -0
  94. package/dist/engine/agent-api/CartoonRenderQueue.d.ts.map +1 -0
  95. package/dist/engine/agent-api/CartoonRenderQueue.js +385 -0
  96. package/dist/engine/agent-api/CartoonRenderQueue.js.map +1 -0
  97. package/dist/engine/agent-api/CharacterAssembly.d.ts +126 -0
  98. package/dist/engine/agent-api/CharacterAssembly.d.ts.map +1 -0
  99. package/dist/engine/agent-api/CharacterAssembly.js +280 -0
  100. package/dist/engine/agent-api/CharacterAssembly.js.map +1 -0
  101. package/dist/engine/agent-api/DialoguePerformance.d.ts +150 -0
  102. package/dist/engine/agent-api/DialoguePerformance.d.ts.map +1 -0
  103. package/dist/engine/agent-api/DialoguePerformance.js +335 -0
  104. package/dist/engine/agent-api/DialoguePerformance.js.map +1 -0
  105. package/dist/engine/agent-api/FrameLoop.d.ts +70 -0
  106. package/dist/engine/agent-api/FrameLoop.d.ts.map +1 -0
  107. package/dist/engine/agent-api/FrameLoop.js +165 -0
  108. package/dist/engine/agent-api/FrameLoop.js.map +1 -0
  109. package/dist/engine/agent-api/GameAppRuntime.d.ts +62 -0
  110. package/dist/engine/agent-api/GameAppRuntime.d.ts.map +1 -0
  111. package/dist/engine/agent-api/GameAppRuntime.js +189 -0
  112. package/dist/engine/agent-api/GameAppRuntime.js.map +1 -0
  113. package/dist/engine/agent-api/GameAssetValidation.d.ts +279 -0
  114. package/dist/engine/agent-api/GameAssetValidation.d.ts.map +1 -0
  115. package/dist/engine/agent-api/GameAssetValidation.js +719 -0
  116. package/dist/engine/agent-api/GameAssetValidation.js.map +1 -0
  117. package/dist/engine/agent-api/GameEvidence.d.ts +148 -0
  118. package/dist/engine/agent-api/GameEvidence.d.ts.map +1 -0
  119. package/dist/engine/agent-api/GameEvidence.js +269 -0
  120. package/dist/engine/agent-api/GameEvidence.js.map +1 -0
  121. package/dist/engine/agent-api/GameRuntime.d.ts +931 -0
  122. package/dist/engine/agent-api/GameRuntime.d.ts.map +1 -0
  123. package/dist/engine/agent-api/GameRuntime.js +2229 -0
  124. package/dist/engine/agent-api/GameRuntime.js.map +1 -0
  125. package/dist/engine/agent-api/GameSceneBridge.d.ts +54 -0
  126. package/dist/engine/agent-api/GameSceneBridge.d.ts.map +1 -0
  127. package/dist/engine/agent-api/GameSceneBridge.js +110 -0
  128. package/dist/engine/agent-api/GameSceneBridge.js.map +1 -0
  129. package/dist/engine/agent-api/PromptAnimationContract.d.ts +278 -0
  130. package/dist/engine/agent-api/PromptAnimationContract.d.ts.map +1 -0
  131. package/dist/engine/agent-api/PromptAnimationContract.js +238 -0
  132. package/dist/engine/agent-api/PromptAnimationContract.js.map +1 -0
  133. package/dist/engine/agent-api/PromptAnimationEvidence.d.ts +183 -0
  134. package/dist/engine/agent-api/PromptAnimationEvidence.d.ts.map +1 -0
  135. package/dist/engine/agent-api/PromptAnimationEvidence.js +454 -0
  136. package/dist/engine/agent-api/PromptAnimationEvidence.js.map +1 -0
  137. package/dist/engine/agent-api/RuntimeNodeHandle.d.ts +100 -0
  138. package/dist/engine/agent-api/RuntimeNodeHandle.d.ts.map +1 -0
  139. package/dist/engine/agent-api/RuntimeNodeHandle.js +36 -0
  140. package/dist/engine/agent-api/RuntimeNodeHandle.js.map +1 -0
  141. package/dist/engine/agent-api/ShotTimeline.d.ts +179 -0
  142. package/dist/engine/agent-api/ShotTimeline.d.ts.map +1 -0
  143. package/dist/engine/agent-api/ShotTimeline.js +264 -0
  144. package/dist/engine/agent-api/ShotTimeline.js.map +1 -0
  145. package/dist/engine/agent-api/VisemeController.d.ts +89 -0
  146. package/dist/engine/agent-api/VisemeController.d.ts.map +1 -0
  147. package/dist/engine/agent-api/VisemeController.js +207 -0
  148. package/dist/engine/agent-api/VisemeController.js.map +1 -0
  149. package/dist/engine/agent-api/game-kits/fighting.d.ts +123 -0
  150. package/dist/engine/agent-api/game-kits/fighting.d.ts.map +1 -0
  151. package/dist/engine/agent-api/game-kits/fighting.js +483 -0
  152. package/dist/engine/agent-api/game-kits/fighting.js.map +1 -0
  153. package/dist/engine/agent-api/game-kits/index.d.ts +15 -0
  154. package/dist/engine/agent-api/game-kits/index.d.ts.map +1 -0
  155. package/dist/engine/agent-api/game-kits/index.js +6 -0
  156. package/dist/engine/agent-api/game-kits/index.js.map +1 -0
  157. package/dist/engine/agent-api/humanoid-walk-runtime.d.ts +1 -0
  158. package/dist/engine/agent-api/humanoid-walk-runtime.d.ts.map +1 -1
  159. package/dist/engine/agent-api/index.d.ts +495 -1
  160. package/dist/engine/agent-api/index.d.ts.map +1 -1
  161. package/dist/engine/agent-api/index.js +752 -6
  162. package/dist/engine/agent-api/index.js.map +1 -1
  163. package/dist/engine/agent-api/product-viewer-runtime.d.ts.map +1 -1
  164. package/dist/index.d.ts +1 -0
  165. package/dist/index.js +1 -0
  166. package/dist/physics/CollisionVolumes.d.ts +57 -0
  167. package/dist/physics/CollisionVolumes.d.ts.map +1 -0
  168. package/dist/physics/CollisionVolumes.js +159 -0
  169. package/dist/physics/CollisionVolumes.js.map +1 -0
  170. package/dist/physics/HitboxWorld.d.ts +250 -0
  171. package/dist/physics/HitboxWorld.d.ts.map +1 -0
  172. package/dist/physics/HitboxWorld.js +771 -0
  173. package/dist/physics/HitboxWorld.js.map +1 -0
  174. package/dist/physics/KinematicBody.d.ts +157 -0
  175. package/dist/physics/KinematicBody.d.ts.map +1 -0
  176. package/dist/physics/KinematicBody.js +405 -0
  177. package/dist/physics/KinematicBody.js.map +1 -0
  178. package/dist/physics/KinematicWorld.d.ts +58 -0
  179. package/dist/physics/KinematicWorld.d.ts.map +1 -0
  180. package/dist/physics/KinematicWorld.js +246 -0
  181. package/dist/physics/KinematicWorld.js.map +1 -0
  182. package/dist/physics/index.d.ts +4 -0
  183. package/dist/physics/index.d.ts.map +1 -1
  184. package/dist/physics/index.js +4 -0
  185. package/dist/physics/index.js.map +1 -1
  186. package/dist/rendering/ForwardPass.js +2 -2
  187. package/dist/rendering/ShaderLibrary.js +2 -2
  188. package/dist/rendering/SkinnedLitMaterial.js +3 -3
  189. package/dist/rendering/SkinnedUnlitMaterial.js +3 -3
  190. package/dist/scene/Renderable.js +2 -2
  191. package/dist/scripting/VisualGraph.d.ts +2 -1
  192. package/dist/scripting/VisualGraph.d.ts.map +1 -1
  193. package/dist/scripting/VisualGraph.js +118 -1
  194. package/dist/scripting/VisualGraph.js.map +1 -1
  195. package/dist/scripting/VisualGraphContext.d.ts +123 -0
  196. package/dist/scripting/VisualGraphContext.d.ts.map +1 -0
  197. package/dist/scripting/VisualGraphContext.js +2 -0
  198. package/dist/scripting/VisualGraphContext.js.map +1 -0
  199. package/dist/scripting/VisualGraphExecutor.d.ts +6 -1
  200. package/dist/scripting/VisualGraphExecutor.d.ts.map +1 -1
  201. package/dist/scripting/VisualGraphExecutor.js +364 -7
  202. package/dist/scripting/VisualGraphExecutor.js.map +1 -1
  203. package/dist/scripting/VisualNodeCatalog.d.ts +1 -1
  204. package/dist/scripting/VisualNodeCatalog.d.ts.map +1 -1
  205. package/dist/scripting/VisualNodeCatalog.js +61 -1
  206. package/dist/scripting/VisualNodeCatalog.js.map +1 -1
  207. package/dist/scripting/index.d.ts +1 -0
  208. package/dist/scripting/index.d.ts.map +1 -1
  209. package/dist/scripting/index.js.map +1 -1
  210. package/package.json +203 -118
@@ -0,0 +1,342 @@
1
+ import { createPromptAnimationEpisodePlan, createPromptAnimationStoryBible, promptAnimationContractVersion } from "./PromptAnimationContract.js";
2
+ import { createCartoonPerformance, resolveCartoonEmotionPose, resolveCartoonGesture } from "./CartoonPerformance.js";
3
+ import { createDialogueTrack, deriveCaptionTrackFromDialogue } from "./DialoguePerformance.js";
4
+ import { createCartoonRenderQueue } from "./CartoonRenderQueue.js";
5
+ import { createShotTimeline } from "./ShotTimeline.js";
6
+ export function defineCartoonDirectorPlan(plan) {
7
+ return plan;
8
+ }
9
+ export function createCartoonDirectorPlan(input) {
10
+ const characters = input.characters.map((character) => ({
11
+ id: character.id,
12
+ name: character.name,
13
+ role: character.role ?? "hero",
14
+ ...(character.voiceId ? { voiceId: character.voiceId } : {}),
15
+ language: input.language,
16
+ ...(character.style ? { style: character.style } : {}),
17
+ rig: {
18
+ ...(character.asset ? { asset: character.asset } : {}),
19
+ facing: "camera",
20
+ scale: 1,
21
+ mouthFallback: character.asset ? "blendshape" : "primitive-mouth-card"
22
+ }
23
+ }));
24
+ const locations = input.locations.map((location) => ({
25
+ id: location.id,
26
+ name: location.name,
27
+ ...(location.description ? { description: location.description } : {}),
28
+ ...(location.mood ? { mood: location.mood } : {})
29
+ }));
30
+ const props = (input.props ?? []).map((prop) => ({
31
+ id: prop.id,
32
+ name: prop.name,
33
+ role: prop.role ?? "set-dressing",
34
+ ...(prop.description ? { description: prop.description } : {}),
35
+ ...(prop.ownerCharacterId ? { ownerCharacterId: prop.ownerCharacterId } : {}),
36
+ ...(prop.locationId ? { locationId: prop.locationId } : {}),
37
+ ...(prop.asset ? { asset: prop.asset } : {}),
38
+ ...(prop.primitiveFallback ? { primitiveFallback: prop.primitiveFallback } : {}),
39
+ ...(prop.styleNotes ? { styleNotes: prop.styleNotes } : {}),
40
+ ...(prop.safetyNotes ? { safetyNotes: prop.safetyNotes } : {})
41
+ }));
42
+ const episodePlan = createPromptAnimationEpisodePlan({
43
+ episodeId: input.episodeId,
44
+ title: input.title,
45
+ language: input.language,
46
+ runtime: input.runtime,
47
+ characters,
48
+ locations,
49
+ production: {
50
+ sourcePrompt: input.prompt,
51
+ target: "youtube",
52
+ reviewStatus: "draft"
53
+ },
54
+ safety: input.safety,
55
+ accessibilityProof: input.accessibilityProof,
56
+ generatedAt: input.generatedAt
57
+ });
58
+ const beatDuration = input.beats.length > 0 ? input.runtime.duration / input.beats.length : input.runtime.duration;
59
+ let cursor = 0;
60
+ const shots = [];
61
+ const dialogueLines = [];
62
+ const performanceCues = [];
63
+ for (const [index, beat] of input.beats.entries()) {
64
+ const duration = beat.duration ?? beatDuration;
65
+ const startTime = cursor;
66
+ const endTime = cursor + duration;
67
+ const sceneId = beat.sceneId ?? `scene-${index + 1}`;
68
+ const shotId = beat.shotId ?? `shot-${index + 1}`;
69
+ const midpoint = startTime + duration / 2;
70
+ shots.push({
71
+ id: shotId,
72
+ shotId,
73
+ sceneId,
74
+ startTime,
75
+ endTime,
76
+ transitionIn: index === 0 ? "cut" : "match-cut",
77
+ transitionOut: "cut",
78
+ camera: {
79
+ move: index % 3 === 0 ? "push-in" : "static",
80
+ notes: [beat.visualIntent]
81
+ },
82
+ characters: beat.characters.map((characterId) => ({
83
+ characterId,
84
+ ...(beat.blockingByCharacterId?.[characterId]?.position
85
+ ? { position: beat.blockingByCharacterId[characterId].position }
86
+ : { position: defaultCharacterBlockingPosition(beat.characters.indexOf(characterId), beat.characters.length) }),
87
+ action: beat.dialogue?.some((line) => line.speakerId === characterId) ? "speak" : "listen",
88
+ facing: "camera",
89
+ emotion: beat.dialogue?.find((line) => line.speakerId === characterId)?.emotion ?? "neutral",
90
+ pose: resolveCartoonEmotionPose(beat.dialogue?.find((line) => line.speakerId === characterId)?.emotion).id,
91
+ gestureId: beat.gestureByCharacterId?.[characterId]
92
+ })),
93
+ ...(beat.props
94
+ ? {
95
+ props: beat.props.map((propId) => ({
96
+ propId,
97
+ visible: true,
98
+ action: "storyboard-required"
99
+ }))
100
+ }
101
+ : {}),
102
+ captureTimes: [startTime, midpoint],
103
+ ...(beat.dialogue && beat.dialogue.length > 0
104
+ ? { captions: beat.dialogue.map((_, lineIndex) => `${shotId}:line-${lineIndex + 1}:caption`) }
105
+ : {}),
106
+ intent: beat.visualIntent
107
+ });
108
+ const dialogue = beat.dialogue ?? [];
109
+ const lineDuration = dialogue.length > 0 ? duration / dialogue.length : 0;
110
+ dialogue.forEach((line, lineIndex) => {
111
+ const lineStart = startTime + lineDuration * lineIndex;
112
+ const lineEnd = lineIndex === dialogue.length - 1 ? endTime : lineStart + lineDuration;
113
+ const lineId = `${shotId}:line-${lineIndex + 1}`;
114
+ dialogueLines.push({
115
+ lineId,
116
+ speakerId: line.speakerId,
117
+ text: line.text,
118
+ language: input.language,
119
+ ...(line.audioFile ? { audioFile: line.audioFile } : {}),
120
+ startTime: lineStart,
121
+ endTime: lineEnd,
122
+ emotion: line.emotion ?? "neutral",
123
+ delivery: line.delivery ?? "natural",
124
+ direction: beat.summary
125
+ });
126
+ performanceCues.push({
127
+ id: `${lineId}:speak`,
128
+ shotId,
129
+ characterId: line.speakerId,
130
+ lineId,
131
+ startTime: lineStart,
132
+ endTime: lineEnd,
133
+ action: "speak",
134
+ emotion: line.emotion ?? "neutral",
135
+ emotionPoseId: resolveCartoonEmotionPose(line.emotion ?? "neutral").id,
136
+ intensity: line.emotion === "excited" ? 1 : 0.66,
137
+ body: resolveCartoonEmotionPose(line.emotion ?? "neutral").body,
138
+ facial: resolveCartoonEmotionPose(line.emotion ?? "neutral").facial,
139
+ gestureId: beat.gestureByCharacterId?.[line.speakerId] ?? defaultGestureForEmotion(line.emotion),
140
+ ...(createCueGestureState(beat.gestureByCharacterId?.[line.speakerId] ?? defaultGestureForEmotion(line.emotion))
141
+ ? { gesture: createCueGestureState(beat.gestureByCharacterId?.[line.speakerId] ?? defaultGestureForEmotion(line.emotion)) }
142
+ : {}),
143
+ blocking: {
144
+ position: beat.blockingByCharacterId?.[line.speakerId]?.position ??
145
+ defaultCharacterBlockingPosition(beat.characters.indexOf(line.speakerId), beat.characters.length),
146
+ visible: true,
147
+ layer: beat.blockingByCharacterId?.[line.speakerId]?.layer ?? "midground"
148
+ },
149
+ gaze: {
150
+ mode: "listener",
151
+ targetId: beat.characters.find((characterId) => characterId !== line.speakerId),
152
+ intensity: 0.72
153
+ },
154
+ notes: [line.delivery ?? "natural"]
155
+ });
156
+ });
157
+ for (const characterId of beat.characters) {
158
+ if (dialogue.some((line) => line.speakerId === characterId))
159
+ continue;
160
+ const listenPose = resolveCartoonEmotionPose(beat.mood === "soft neon bedtime" ? "happy" : "neutral");
161
+ performanceCues.push({
162
+ id: `${shotId}:${characterId}:listen`,
163
+ shotId,
164
+ characterId,
165
+ startTime,
166
+ endTime,
167
+ action: "listen",
168
+ emotion: listenPose.emotion,
169
+ emotionPoseId: listenPose.id,
170
+ intensity: 0.45,
171
+ body: listenPose.body,
172
+ facial: listenPose.facial,
173
+ gestureId: beat.gestureByCharacterId?.[characterId] ?? "soft-nod",
174
+ gesture: resolveCartoonGesture(beat.gestureByCharacterId?.[characterId] ?? "soft-nod")?.gesture,
175
+ blocking: {
176
+ position: beat.blockingByCharacterId?.[characterId]?.position ??
177
+ defaultCharacterBlockingPosition(beat.characters.indexOf(characterId), beat.characters.length),
178
+ visible: true,
179
+ layer: beat.blockingByCharacterId?.[characterId]?.layer ?? "midground"
180
+ },
181
+ gaze: {
182
+ mode: "speaker",
183
+ targetId: dialogue[0]?.speakerId,
184
+ intensity: 0.58
185
+ },
186
+ notes: [`Listening during ${beat.summary}`]
187
+ });
188
+ }
189
+ cursor = endTime;
190
+ }
191
+ const storyboard = {
192
+ artifact: "storyboard",
193
+ contractId: promptAnimationContractVersion,
194
+ episodeId: input.episodeId,
195
+ title: input.title,
196
+ scenes: input.beats.map((beat, index) => {
197
+ const sceneId = beat.sceneId ?? `scene-${index + 1}`;
198
+ const shotId = beat.shotId ?? `shot-${index + 1}`;
199
+ return {
200
+ id: sceneId,
201
+ sceneId,
202
+ locationId: beat.locationId,
203
+ storyBeat: beat.summary,
204
+ ...(beat.mood ? { mood: beat.mood } : {}),
205
+ shots: [
206
+ {
207
+ id: shotId,
208
+ shotId,
209
+ storyBeat: beat.summary,
210
+ characters: beat.characters,
211
+ ...(beat.props ? { props: beat.props } : {}),
212
+ ...(beat.mood ? { mood: beat.mood } : {}),
213
+ visualIntent: beat.visualIntent,
214
+ ...(beat.duration ? { suggestedDuration: beat.duration } : {})
215
+ }
216
+ ]
217
+ };
218
+ }),
219
+ ...(input.generatedAt ? { generatedAt: input.generatedAt } : {})
220
+ };
221
+ const shotTimeline = createShotTimeline({
222
+ episodeId: input.episodeId,
223
+ frameRate: input.runtime.frameRate,
224
+ duration: input.runtime.duration,
225
+ shots,
226
+ generatedAt: input.generatedAt
227
+ });
228
+ const dialogueTrack = createDialogueTrack({
229
+ episodeId: input.episodeId,
230
+ language: input.language,
231
+ lines: dialogueLines,
232
+ duration: input.runtime.duration,
233
+ generatedAt: input.generatedAt
234
+ });
235
+ const captionTrack = deriveCaptionTrackFromDialogue(dialogueTrack, { generatedAt: input.generatedAt });
236
+ const performance = createCartoonPerformance({
237
+ episodeId: input.episodeId,
238
+ frameRate: input.runtime.frameRate,
239
+ cues: performanceCues,
240
+ generatedAt: input.generatedAt
241
+ });
242
+ const styleGuide = createCartoonStoryBibleStyleGuide(input.styleGuide);
243
+ const storyBible = createPromptAnimationStoryBible({
244
+ episodeId: input.episodeId,
245
+ title: input.title,
246
+ logline: input.prompt,
247
+ characters,
248
+ locations,
249
+ props,
250
+ styleGuide,
251
+ shotList: shots.map((shot) => {
252
+ const matchingBeat = input.beats.find((beat) => (beat.shotId ?? `shot-${input.beats.indexOf(beat) + 1}`) === shot.shotId);
253
+ return {
254
+ shotId: shot.shotId,
255
+ sceneId: shot.sceneId,
256
+ locationId: matchingBeat?.locationId ?? input.locations[0]?.id ?? "location",
257
+ purpose: shot.intent ?? matchingBeat?.summary ?? shot.shotId,
258
+ characters: shot.characters.map((character) => character.characterId),
259
+ ...(matchingBeat?.props ? { props: matchingBeat.props } : {}),
260
+ startTime: shot.startTime,
261
+ endTime: shot.endTime,
262
+ duration: shot.endTime - shot.startTime,
263
+ camera: shot.camera.move,
264
+ ...(shot.captions ? { captionIds: shot.captions } : {}),
265
+ continuityNotes: [
266
+ `Scene ${shot.sceneId} and shot ${shot.shotId} ids must stay stable across AuraVoice dubbing and rerender passes.`
267
+ ]
268
+ };
269
+ }),
270
+ continuityRules: input.continuityRules ??
271
+ [
272
+ "Do not change character ids, storyboard scene ids, shot ids, caption ids, or dialogue line ids during dubbing.",
273
+ "AuraVoice timing artifacts remain the master clock for captions, visemes, audio stems, and render captures.",
274
+ "Primitive fallback props may be replaced by typed GLB assets only through generated ./aura-assets imports."
275
+ ],
276
+ generatedAt: input.generatedAt
277
+ });
278
+ const renderQueue = createCartoonRenderQueue({
279
+ episodePlan,
280
+ shotTimeline,
281
+ route: input.route ?? "/prompt-animation",
282
+ viewport: input.viewport,
283
+ generatedAt: input.generatedAt
284
+ });
285
+ return {
286
+ kind: "cartoon-director-plan",
287
+ episodePlan,
288
+ storyBible,
289
+ storyboard,
290
+ shotTimeline,
291
+ dialogueTrack,
292
+ captionTrack,
293
+ performance,
294
+ renderQueue
295
+ };
296
+ }
297
+ export function compilePromptEpisodePlan(input) {
298
+ return createCartoonDirectorPlan(input);
299
+ }
300
+ export const cartoonDirector = {
301
+ compile: compilePromptEpisodePlan,
302
+ createPlan: createCartoonDirectorPlan,
303
+ definePlan: defineCartoonDirectorPlan
304
+ };
305
+ function createCartoonStoryBibleStyleGuide(input) {
306
+ return {
307
+ visualStyle: input?.visualStyle ?? "rounded bedtime sci-fi cartoon with readable silhouettes",
308
+ palette: input?.palette ?? ["#081b2a", "#7de2ff", "#ffe18e", "#40ffbf", "#f8fff2"],
309
+ shapeLanguage: input?.shapeLanguage ?? "soft circles, chunky robot forms, oversized safe props, and simple moon-garden silhouettes",
310
+ lighting: input?.lighting ?? "soft high-contrast blue key light with warm prop glows and reduced flash",
311
+ cameraLanguage: input?.cameraLanguage ?? "stable wide and medium shots, gentle push-ins, hard cuts only at shot boundaries",
312
+ motionRules: input?.motionRules ??
313
+ [
314
+ "Keep character gestures small enough for reduced-motion playback.",
315
+ "Use app.onFrame shot playback rather than recreating the Aura app per frame.",
316
+ "Captions, visemes, and mouth cards sample from the AuraVoice master clock."
317
+ ],
318
+ captionStyle: input?.captionStyle ?? "bottom-center high-contrast rounded plate with line-safe caption text",
319
+ ...(input?.continuityRules ? { continuityRules: input.continuityRules } : {})
320
+ };
321
+ }
322
+ function defaultCharacterBlockingPosition(index, total) {
323
+ if (total <= 1)
324
+ return [0, 0.7, 0];
325
+ const spacing = 1.55 / Math.max(1, total - 1);
326
+ return [-0.775 + spacing * index, 0.72, 0];
327
+ }
328
+ function defaultGestureForEmotion(emotion) {
329
+ if (emotion === "excited")
330
+ return "two-hand-wave";
331
+ if (emotion === "happy")
332
+ return "small-wave";
333
+ if (emotion === "curious")
334
+ return "curious-lean";
335
+ if (emotion === "concerned")
336
+ return "gentle-point";
337
+ return undefined;
338
+ }
339
+ function createCueGestureState(gestureId) {
340
+ return resolveCartoonGesture(gestureId)?.gesture;
341
+ }
342
+ //# sourceMappingURL=CartoonDirector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CartoonDirector.js","sourceRoot":"","sources":["../../../../../packages/engine/src/agent-api/CartoonDirector.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,149 @@
1
+ import { type PromptAnimationArtifactBase, type PromptAnimationFrameRate, type PromptAnimationId, type PromptAnimationSeconds, type PromptAnimationValidationIssue } from "./PromptAnimationContract.js";
2
+ import type { AuraColor, AuraVec3 } from "./index.js";
3
+ import type { DialogueTrackArtifact } from "./DialoguePerformance.js";
4
+ export type CartoonPerformanceAction = "idle" | "speak" | "listen" | "gesture" | "walk" | "run" | "react" | "look-at" | "enter" | "exit" | "blink" | "hold" | "nod" | "wave" | "point" | "reach" | "turn" | "lean";
5
+ export type CartoonPerformancePosture = "neutral" | "upright" | "lean-forward" | "lean-back" | "crouch" | "bounce";
6
+ export type CartoonFacialBrow = "neutral" | "raised" | "soft" | "furrowed" | "arched";
7
+ export type CartoonFacialEyeShape = "open" | "soft" | "wide" | "squint" | "closed";
8
+ export type CartoonFacialMouthShape = "neutral" | "smile" | "frown" | "open" | "round" | "wide";
9
+ export type CartoonGazeMode = "camera" | "target" | "speaker" | "listener" | "offscreen" | "down" | "up";
10
+ export interface CartoonPerformanceBodyState {
11
+ readonly position?: AuraVec3 | undefined;
12
+ readonly rotation?: AuraVec3 | undefined;
13
+ readonly scale?: number | AuraVec3 | undefined;
14
+ readonly rootMotion?: AuraVec3 | undefined;
15
+ readonly posture?: CartoonPerformancePosture | string | undefined;
16
+ readonly headTilt?: number | undefined;
17
+ readonly torsoLean?: number | undefined;
18
+ readonly shoulderRaise?: number | undefined;
19
+ readonly armPose?: "neutral" | "open" | "crossed" | "pointing" | "waving" | "holding-prop" | string | undefined;
20
+ readonly handPose?: "relaxed" | "open" | "point" | "fist" | "pinch" | string | undefined;
21
+ readonly energy?: number | undefined;
22
+ }
23
+ export interface CartoonPerformanceFacialState {
24
+ readonly brow?: CartoonFacialBrow | string | undefined;
25
+ readonly eyes?: CartoonFacialEyeShape | string | undefined;
26
+ readonly eyeOpen?: number | undefined;
27
+ readonly mouth?: CartoonFacialMouthShape | string | undefined;
28
+ readonly cheek?: "neutral" | "lifted" | "puffed" | string | undefined;
29
+ readonly colorAccent?: AuraColor | undefined;
30
+ readonly blinkRate?: number | undefined;
31
+ }
32
+ export interface CartoonPerformanceGestureState {
33
+ readonly gestureId?: PromptAnimationId | undefined;
34
+ readonly label?: string | undefined;
35
+ readonly hand?: "left" | "right" | "both" | undefined;
36
+ readonly amplitude?: number | undefined;
37
+ readonly frequency?: number | undefined;
38
+ readonly loop?: boolean | undefined;
39
+ readonly phase?: number | undefined;
40
+ }
41
+ export interface CartoonPerformanceBlockingState {
42
+ readonly position?: AuraVec3 | undefined;
43
+ readonly rotation?: AuraVec3 | undefined;
44
+ readonly scale?: number | AuraVec3 | undefined;
45
+ readonly visible?: boolean | undefined;
46
+ readonly layer?: "foreground" | "midground" | "background" | string | undefined;
47
+ readonly anchorId?: PromptAnimationId | undefined;
48
+ readonly propId?: PromptAnimationId | undefined;
49
+ }
50
+ export interface CartoonPerformanceGazeState {
51
+ readonly mode: CartoonGazeMode | string;
52
+ readonly targetId?: PromptAnimationId | undefined;
53
+ readonly target?: AuraVec3 | undefined;
54
+ readonly intensity?: number | undefined;
55
+ readonly leadTime?: PromptAnimationSeconds | undefined;
56
+ }
57
+ export interface CartoonEmotionPose {
58
+ readonly id: PromptAnimationId;
59
+ readonly emotion: string;
60
+ readonly body: CartoonPerformanceBodyState;
61
+ readonly facial: CartoonPerformanceFacialState;
62
+ readonly gaze?: CartoonPerformanceGazeState | undefined;
63
+ readonly notes?: readonly string[] | undefined;
64
+ }
65
+ export interface CartoonGesture {
66
+ readonly id: PromptAnimationId;
67
+ readonly label: string;
68
+ readonly action: CartoonPerformanceAction | string;
69
+ readonly defaultDuration: PromptAnimationSeconds;
70
+ readonly body: CartoonPerformanceBodyState;
71
+ readonly gesture: CartoonPerformanceGestureState;
72
+ readonly facial?: CartoonPerformanceFacialState | undefined;
73
+ readonly reducedMotionSafe: boolean;
74
+ readonly notes?: readonly string[] | undefined;
75
+ }
76
+ export declare const cartoonEmotionPoseLibrary: Record<string, CartoonEmotionPose>;
77
+ export declare const cartoonGestureLibrary: Record<string, CartoonGesture>;
78
+ export interface CartoonPerformanceCue {
79
+ readonly id: PromptAnimationId;
80
+ readonly shotId?: PromptAnimationId | undefined;
81
+ readonly characterId: PromptAnimationId;
82
+ readonly lineId?: PromptAnimationId | undefined;
83
+ readonly startTime: PromptAnimationSeconds;
84
+ readonly endTime: PromptAnimationSeconds;
85
+ readonly action: CartoonPerformanceAction | string;
86
+ readonly emotion?: string | undefined;
87
+ readonly emotionPoseId?: PromptAnimationId | undefined;
88
+ readonly intensity?: number | undefined;
89
+ readonly animationClip?: string | undefined;
90
+ readonly visemeTrackId?: PromptAnimationId | undefined;
91
+ readonly body?: CartoonPerformanceBodyState | undefined;
92
+ readonly facial?: CartoonPerformanceFacialState | undefined;
93
+ readonly gestureId?: PromptAnimationId | undefined;
94
+ readonly gesture?: CartoonPerformanceGestureState | undefined;
95
+ readonly blocking?: CartoonPerformanceBlockingState | undefined;
96
+ readonly gaze?: CartoonPerformanceGazeState | undefined;
97
+ readonly notes?: readonly string[] | undefined;
98
+ }
99
+ export interface CartoonPerformanceArtifact extends PromptAnimationArtifactBase<"cartoon-performance"> {
100
+ readonly frameRate: PromptAnimationFrameRate;
101
+ readonly cues: readonly CartoonPerformanceCue[];
102
+ }
103
+ export interface CartoonPerformanceCoverage {
104
+ readonly cueCount: number;
105
+ readonly speakingCueCount: number;
106
+ readonly bodyCueCount: number;
107
+ readonly facialCueCount: number;
108
+ readonly gestureCueCount: number;
109
+ readonly blockingCueCount: number;
110
+ readonly gazeCueCount: number;
111
+ readonly animatedCharacterIds: readonly PromptAnimationId[];
112
+ readonly uncoveredDialogueLineIds: readonly PromptAnimationId[];
113
+ readonly issues: readonly PromptAnimationValidationIssue[];
114
+ }
115
+ export interface CartoonCharacterPerformanceState {
116
+ readonly time: PromptAnimationSeconds;
117
+ readonly characterId: PromptAnimationId;
118
+ readonly activeCues: readonly CartoonPerformanceCue[];
119
+ readonly primaryCue?: CartoonPerformanceCue | undefined;
120
+ readonly action: CartoonPerformanceAction | string;
121
+ readonly emotion: string;
122
+ readonly intensity: number;
123
+ readonly emotionPose: CartoonEmotionPose;
124
+ readonly gesture?: CartoonGesture | undefined;
125
+ readonly body: CartoonPerformanceBodyState;
126
+ readonly facial: CartoonPerformanceFacialState;
127
+ readonly blocking?: CartoonPerformanceBlockingState | undefined;
128
+ readonly gaze?: CartoonPerformanceGazeState | undefined;
129
+ readonly animationClip?: string | undefined;
130
+ }
131
+ export declare function defineCartoonPerformance<const TPerformance extends CartoonPerformanceArtifact>(performance: TPerformance): TPerformance;
132
+ export declare function createCartoonPerformance(input: {
133
+ readonly episodeId: PromptAnimationId;
134
+ readonly frameRate: PromptAnimationFrameRate;
135
+ readonly cues: readonly CartoonPerformanceCue[];
136
+ readonly generatedAt?: string | undefined;
137
+ }): CartoonPerformanceArtifact;
138
+ export declare function createDialogueCartoonPerformance(dialogue: DialogueTrackArtifact, options?: {
139
+ readonly frameRate?: PromptAnimationFrameRate | undefined;
140
+ readonly shotByLineId?: Record<string, PromptAnimationId> | undefined;
141
+ readonly visemeTrackId?: PromptAnimationId | undefined;
142
+ }): CartoonPerformanceArtifact;
143
+ export declare function resolveCartoonEmotionPose(emotionOrPoseId: string | undefined): CartoonEmotionPose;
144
+ export declare function resolveCartoonGesture(gestureId: string | undefined): CartoonGesture | undefined;
145
+ export declare function sampleCartoonCharacterPerformance(performance: CartoonPerformanceArtifact, time: PromptAnimationSeconds, characterId: PromptAnimationId): CartoonCharacterPerformanceState;
146
+ export declare function cartoonPerformanceCuesAtTime(performance: CartoonPerformanceArtifact, time: PromptAnimationSeconds, characterId?: PromptAnimationId): readonly CartoonPerformanceCue[];
147
+ export declare function validateCartoonPerformance(performance: CartoonPerformanceArtifact): readonly PromptAnimationValidationIssue[];
148
+ export declare function createCartoonPerformanceCoverage(performance: CartoonPerformanceArtifact, dialogue?: DialogueTrackArtifact): CartoonPerformanceCoverage;
149
+ //# sourceMappingURL=CartoonPerformance.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CartoonPerformance.d.ts","sourceRoot":"","sources":["../../../../../packages/engine/src/agent-api/CartoonPerformance.ts"],"names":[],"mappings":"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"}