@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,317 @@
1
+ import { createPromptAnimationIssue, normalizePromptAnimationTime, promptAnimationContractVersion } from "./PromptAnimationContract.js";
2
+ export const cartoonEmotionPoseLibrary = {
3
+ neutral: {
4
+ id: "neutral",
5
+ emotion: "neutral",
6
+ body: { posture: "neutral", armPose: "neutral", handPose: "relaxed", energy: 0.35 },
7
+ facial: { brow: "neutral", eyes: "open", eyeOpen: 0.88, mouth: "neutral" },
8
+ gaze: { mode: "camera", intensity: 0.5 }
9
+ },
10
+ happy: {
11
+ id: "happy",
12
+ emotion: "happy",
13
+ body: { posture: "upright", headTilt: 0.08, armPose: "open", handPose: "open", energy: 0.72 },
14
+ facial: { brow: "raised", eyes: "soft", eyeOpen: 0.82, mouth: "smile", cheek: "lifted" },
15
+ gaze: { mode: "listener", intensity: 0.72 }
16
+ },
17
+ excited: {
18
+ id: "excited",
19
+ emotion: "excited",
20
+ body: { posture: "bounce", headTilt: 0.04, torsoLean: 0.08, armPose: "waving", handPose: "open", energy: 1 },
21
+ facial: { brow: "raised", eyes: "wide", eyeOpen: 1, mouth: "wide", cheek: "lifted" },
22
+ gaze: { mode: "camera", intensity: 0.92 },
23
+ notes: ["Keep reduced-motion variants to small bounces and slow waves."]
24
+ },
25
+ curious: {
26
+ id: "curious",
27
+ emotion: "curious",
28
+ body: { posture: "lean-forward", headTilt: -0.12, torsoLean: 0.12, armPose: "neutral", handPose: "pinch", energy: 0.56 },
29
+ facial: { brow: "arched", eyes: "wide", eyeOpen: 0.96, mouth: "round" },
30
+ gaze: { mode: "target", intensity: 0.86 }
31
+ },
32
+ concerned: {
33
+ id: "concerned",
34
+ emotion: "concerned",
35
+ body: { posture: "lean-forward", headTilt: 0.1, torsoLean: 0.06, armPose: "open", handPose: "relaxed", energy: 0.44 },
36
+ facial: { brow: "furrowed", eyes: "soft", eyeOpen: 0.76, mouth: "frown" },
37
+ gaze: { mode: "speaker", intensity: 0.78 }
38
+ },
39
+ sad: {
40
+ id: "sad",
41
+ emotion: "sad",
42
+ body: { posture: "lean-back", headTilt: 0.16, torsoLean: -0.08, armPose: "neutral", handPose: "relaxed", energy: 0.22 },
43
+ facial: { brow: "soft", eyes: "soft", eyeOpen: 0.62, mouth: "frown" },
44
+ gaze: { mode: "down", intensity: 0.64 }
45
+ },
46
+ surprised: {
47
+ id: "surprised",
48
+ emotion: "surprised",
49
+ body: { posture: "upright", headTilt: -0.04, shoulderRaise: 0.24, armPose: "open", handPose: "open", energy: 0.84 },
50
+ facial: { brow: "raised", eyes: "wide", eyeOpen: 1, mouth: "round" },
51
+ gaze: { mode: "target", intensity: 0.95 }
52
+ },
53
+ whisper: {
54
+ id: "whisper",
55
+ emotion: "whisper",
56
+ body: { posture: "lean-forward", headTilt: -0.06, torsoLean: 0.18, armPose: "neutral", handPose: "open", energy: 0.3 },
57
+ facial: { brow: "soft", eyes: "squint", eyeOpen: 0.58, mouth: "round" },
58
+ gaze: { mode: "listener", intensity: 0.88 }
59
+ },
60
+ shout: {
61
+ id: "shout",
62
+ emotion: "shout",
63
+ body: { posture: "upright", headTilt: 0, shoulderRaise: 0.18, armPose: "open", handPose: "open", energy: 1 },
64
+ facial: { brow: "raised", eyes: "wide", eyeOpen: 1, mouth: "wide" },
65
+ gaze: { mode: "target", intensity: 1 },
66
+ notes: ["Use only for stylized cartoon emphasis; avoid aggressive staging."]
67
+ }
68
+ };
69
+ export const cartoonGestureLibrary = {
70
+ "small-wave": {
71
+ id: "small-wave",
72
+ label: "Small friendly wave",
73
+ action: "wave",
74
+ defaultDuration: 1.2,
75
+ body: { posture: "upright", armPose: "waving", handPose: "open", energy: 0.62 },
76
+ gesture: { gestureId: "small-wave", hand: "right", amplitude: 0.42, frequency: 1.2, loop: false },
77
+ facial: { mouth: "smile", eyes: "soft" },
78
+ reducedMotionSafe: true
79
+ },
80
+ "two-hand-wave": {
81
+ id: "two-hand-wave",
82
+ label: "Two hand celebration wave",
83
+ action: "wave",
84
+ defaultDuration: 1,
85
+ body: { posture: "bounce", armPose: "waving", handPose: "open", energy: 0.92 },
86
+ gesture: { gestureId: "two-hand-wave", hand: "both", amplitude: 0.7, frequency: 1.4, loop: false },
87
+ facial: { mouth: "wide", eyes: "wide" },
88
+ reducedMotionSafe: false
89
+ },
90
+ "gentle-point": {
91
+ id: "gentle-point",
92
+ label: "Gentle point to a safe object",
93
+ action: "point",
94
+ defaultDuration: 0.9,
95
+ body: { posture: "lean-forward", armPose: "pointing", handPose: "point", energy: 0.5 },
96
+ gesture: { gestureId: "gentle-point", hand: "right", amplitude: 0.36, frequency: 0.7, loop: false },
97
+ reducedMotionSafe: true
98
+ },
99
+ "curious-lean": {
100
+ id: "curious-lean",
101
+ label: "Curious lean toward target",
102
+ action: "lean",
103
+ defaultDuration: 1.1,
104
+ body: { posture: "lean-forward", torsoLean: 0.16, headTilt: -0.12, handPose: "pinch", energy: 0.48 },
105
+ gesture: { gestureId: "curious-lean", hand: "both", amplitude: 0.2, frequency: 0.35, loop: false },
106
+ facial: { brow: "arched", mouth: "round" },
107
+ reducedMotionSafe: true
108
+ },
109
+ "soft-nod": {
110
+ id: "soft-nod",
111
+ label: "Soft agreement nod",
112
+ action: "nod",
113
+ defaultDuration: 0.8,
114
+ body: { posture: "neutral", headTilt: 0.1, energy: 0.4 },
115
+ gesture: { gestureId: "soft-nod", amplitude: 0.18, frequency: 0.8, loop: false },
116
+ facial: { mouth: "smile", eyes: "soft" },
117
+ reducedMotionSafe: true
118
+ }
119
+ };
120
+ export function defineCartoonPerformance(performance) {
121
+ return performance;
122
+ }
123
+ export function createCartoonPerformance(input) {
124
+ return {
125
+ artifact: "cartoon-performance",
126
+ contractId: promptAnimationContractVersion,
127
+ episodeId: input.episodeId,
128
+ frameRate: input.frameRate,
129
+ cues: input.cues,
130
+ ...(input.generatedAt ? { generatedAt: input.generatedAt } : {})
131
+ };
132
+ }
133
+ export function createDialogueCartoonPerformance(dialogue, options = {}) {
134
+ const cues = dialogue.lines.map((line) => ({
135
+ id: `${line.lineId}:speak`,
136
+ ...(options.shotByLineId?.[line.lineId] ? { shotId: options.shotByLineId[line.lineId] } : {}),
137
+ characterId: line.speakerId,
138
+ lineId: line.lineId,
139
+ startTime: line.startTime,
140
+ endTime: line.endTime,
141
+ action: "speak",
142
+ emotion: line.emotion,
143
+ emotionPoseId: resolveCartoonEmotionPose(line.emotion).id,
144
+ intensity: line.emotion === "shout" || line.emotion === "excited" ? 1 : 0.66,
145
+ body: resolveCartoonEmotionPose(line.emotion).body,
146
+ facial: resolveCartoonEmotionPose(line.emotion).facial,
147
+ gestureId: line.emotion === "excited" ? "two-hand-wave" : line.emotion === "curious" ? "curious-lean" : undefined,
148
+ ...(line.emotion === "excited" || line.emotion === "curious"
149
+ ? { gesture: resolveCartoonGesture(line.emotion === "excited" ? "two-hand-wave" : "curious-lean")?.gesture }
150
+ : {}),
151
+ gaze: { mode: "listener", intensity: 0.74 },
152
+ ...(options.visemeTrackId ? { visemeTrackId: options.visemeTrackId } : {}),
153
+ notes: [line.delivery]
154
+ }));
155
+ return createCartoonPerformance({
156
+ episodeId: dialogue.episodeId,
157
+ frameRate: options.frameRate ?? 30,
158
+ cues
159
+ });
160
+ }
161
+ export function resolveCartoonEmotionPose(emotionOrPoseId) {
162
+ const key = normalizeLibraryKey(emotionOrPoseId ?? "neutral");
163
+ return cartoonEmotionPoseLibrary[key] ?? cartoonEmotionPoseLibrary.neutral;
164
+ }
165
+ export function resolveCartoonGesture(gestureId) {
166
+ if (!gestureId)
167
+ return undefined;
168
+ return cartoonGestureLibrary[normalizeLibraryKey(gestureId)];
169
+ }
170
+ export function sampleCartoonCharacterPerformance(performance, time, characterId) {
171
+ const normalized = normalizePromptAnimationTime(time);
172
+ const activeCues = cartoonPerformanceCuesAtTime(performance, normalized, characterId);
173
+ const primaryCue = activeCues.find((cue) => cue.action === "speak") ??
174
+ activeCues.find((cue) => cue.gesture || cue.gestureId) ??
175
+ activeCues[activeCues.length - 1];
176
+ const emotionPose = resolveCartoonEmotionPose(primaryCue?.emotionPoseId ?? primaryCue?.emotion);
177
+ const gesture = resolveCartoonGesture(primaryCue?.gestureId ?? primaryCue?.gesture?.gestureId);
178
+ const body = {
179
+ ...emotionPose.body,
180
+ ...(gesture?.body ?? {}),
181
+ ...(primaryCue?.body ?? {})
182
+ };
183
+ const facial = {
184
+ ...emotionPose.facial,
185
+ ...(gesture?.facial ?? {}),
186
+ ...(primaryCue?.facial ?? {})
187
+ };
188
+ return {
189
+ time: normalized,
190
+ characterId,
191
+ activeCues,
192
+ ...(primaryCue ? { primaryCue } : {}),
193
+ action: primaryCue?.action ?? "idle",
194
+ emotion: primaryCue?.emotion ?? emotionPose.emotion,
195
+ intensity: clampUnit(primaryCue?.intensity ?? body.energy ?? 0.35),
196
+ emotionPose,
197
+ ...(gesture ? { gesture } : {}),
198
+ body,
199
+ facial,
200
+ ...(primaryCue?.blocking ? { blocking: primaryCue.blocking } : {}),
201
+ gaze: primaryCue?.gaze ?? emotionPose.gaze,
202
+ ...(primaryCue?.animationClip ? { animationClip: primaryCue.animationClip } : {})
203
+ };
204
+ }
205
+ export function cartoonPerformanceCuesAtTime(performance, time, characterId) {
206
+ const normalized = normalizePromptAnimationTime(time);
207
+ return performance.cues.filter((cue) => {
208
+ if (characterId && cue.characterId !== characterId)
209
+ return false;
210
+ return normalized >= cue.startTime && normalized < cue.endTime;
211
+ });
212
+ }
213
+ export function validateCartoonPerformance(performance) {
214
+ const issues = [];
215
+ const ids = new Set();
216
+ for (const [index, cue] of performance.cues.entries()) {
217
+ if (ids.has(cue.id)) {
218
+ issues.push(createPromptAnimationIssue("error", "performance-cue-id-duplicate", `Duplicate performance cue id "${cue.id}".`, {
219
+ path: `cues.${index}.id`,
220
+ time: cue.startTime
221
+ }));
222
+ }
223
+ ids.add(cue.id);
224
+ if (cue.endTime <= cue.startTime) {
225
+ issues.push(createPromptAnimationIssue("error", "performance-cue-duration", `Performance cue "${cue.id}" must end after it starts.`, {
226
+ path: `cues.${index}`,
227
+ time: cue.startTime
228
+ }));
229
+ }
230
+ if (cue.intensity !== undefined && (cue.intensity < 0 || cue.intensity > 1)) {
231
+ issues.push(createPromptAnimationIssue("error", "performance-cue-intensity", `Performance cue "${cue.id}" intensity must be between 0 and 1.`, {
232
+ path: `cues.${index}.intensity`,
233
+ time: cue.startTime
234
+ }));
235
+ }
236
+ if (cue.body?.energy !== undefined && (cue.body.energy < 0 || cue.body.energy > 1)) {
237
+ issues.push(createPromptAnimationIssue("error", "performance-body-energy", `Performance cue "${cue.id}" body energy must be between 0 and 1.`, {
238
+ path: `cues.${index}.body.energy`,
239
+ time: cue.startTime
240
+ }));
241
+ }
242
+ if (cue.facial?.eyeOpen !== undefined && (cue.facial.eyeOpen < 0 || cue.facial.eyeOpen > 1)) {
243
+ issues.push(createPromptAnimationIssue("error", "performance-facial-eye-open", `Performance cue "${cue.id}" eyeOpen must be between 0 and 1.`, {
244
+ path: `cues.${index}.facial.eyeOpen`,
245
+ time: cue.startTime
246
+ }));
247
+ }
248
+ if (cue.gestureId && !resolveCartoonGesture(cue.gestureId)) {
249
+ issues.push(createPromptAnimationIssue("warning", "performance-gesture-library-missing", `Performance cue "${cue.id}" uses custom gesture "${cue.gestureId}".`, {
250
+ path: `cues.${index}.gestureId`,
251
+ time: cue.startTime
252
+ }));
253
+ }
254
+ }
255
+ return issues;
256
+ }
257
+ export function createCartoonPerformanceCoverage(performance, dialogue) {
258
+ const animatedCharacterIds = new Set();
259
+ const coveredLineIds = new Set();
260
+ let speakingCueCount = 0;
261
+ let bodyCueCount = 0;
262
+ let facialCueCount = 0;
263
+ let gestureCueCount = 0;
264
+ let blockingCueCount = 0;
265
+ let gazeCueCount = 0;
266
+ for (const cue of performance.cues) {
267
+ animatedCharacterIds.add(cue.characterId);
268
+ if (cue.action === "speak")
269
+ speakingCueCount += 1;
270
+ if (cue.body)
271
+ bodyCueCount += 1;
272
+ if (cue.facial)
273
+ facialCueCount += 1;
274
+ if (cue.gesture || cue.gestureId)
275
+ gestureCueCount += 1;
276
+ if (cue.blocking)
277
+ blockingCueCount += 1;
278
+ if (cue.gaze)
279
+ gazeCueCount += 1;
280
+ if (cue.lineId)
281
+ coveredLineIds.add(cue.lineId);
282
+ }
283
+ const uncoveredDialogueLineIds = [];
284
+ if (dialogue) {
285
+ for (const line of dialogue.lines) {
286
+ if (!coveredLineIds.has(line.lineId))
287
+ uncoveredDialogueLineIds.push(line.lineId);
288
+ }
289
+ }
290
+ const issues = [...validateCartoonPerformance(performance)];
291
+ for (const lineId of uncoveredDialogueLineIds) {
292
+ issues.push(createPromptAnimationIssue("error", "performance-dialogue-uncovered", `Dialogue line "${lineId}" has no speaking cue.`, {
293
+ path: `dialogue.${lineId}`
294
+ }));
295
+ }
296
+ return {
297
+ cueCount: performance.cues.length,
298
+ speakingCueCount,
299
+ bodyCueCount,
300
+ facialCueCount,
301
+ gestureCueCount,
302
+ blockingCueCount,
303
+ gazeCueCount,
304
+ animatedCharacterIds: [...animatedCharacterIds],
305
+ uncoveredDialogueLineIds,
306
+ issues
307
+ };
308
+ }
309
+ function normalizeLibraryKey(value) {
310
+ return value.toLowerCase().trim().replace(/_/g, "-");
311
+ }
312
+ function clampUnit(value) {
313
+ if (!Number.isFinite(value))
314
+ return 0;
315
+ return Math.min(1, Math.max(0, value));
316
+ }
317
+ //# sourceMappingURL=CartoonPerformance.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CartoonPerformance.js","sourceRoot":"","sources":["../../../../../packages/engine/src/agent-api/CartoonPerformance.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,132 @@
1
+ import { type PromptAnimationArtifactBase, type PromptAnimationEpisodePlan, type PromptAnimationFrameRate, type PromptAnimationId, type PromptAnimationLanguageCode, type PromptAnimationSeconds, type PromptAnimationValidationIssue, type PromptAnimationYouTubeDraftMetadata } from "./PromptAnimationContract.js";
2
+ import { type ShotTimelineArtifact } from "./ShotTimeline.js";
3
+ export interface CartoonViewport {
4
+ readonly width: number;
5
+ readonly height: number;
6
+ readonly deviceScaleFactor?: number | undefined;
7
+ }
8
+ export type CartoonRenderOutputKind = "mp4" | "webm" | "png-sequence" | "thumbnail" | "caption-vtt" | "caption-srt" | "timeline-json" | "evidence-json" | "youtube-metadata";
9
+ export interface CartoonRenderOutput {
10
+ readonly id: PromptAnimationId;
11
+ readonly kind: CartoonRenderOutputKind;
12
+ readonly path: string;
13
+ readonly label?: string | undefined;
14
+ readonly codec?: string | undefined;
15
+ readonly mimeType?: string | undefined;
16
+ readonly language?: PromptAnimationLanguageCode | undefined;
17
+ readonly required?: boolean | undefined;
18
+ readonly quality?: "draft" | "review" | "publish" | undefined;
19
+ }
20
+ export interface CartoonRenderPackageOutputs {
21
+ readonly mp4?: CartoonRenderOutput | undefined;
22
+ readonly webm?: CartoonRenderOutput | undefined;
23
+ readonly captions: readonly CartoonRenderOutput[];
24
+ readonly thumbnail?: CartoonRenderOutput | undefined;
25
+ readonly timelineJson?: CartoonRenderOutput | undefined;
26
+ readonly evidenceJson?: CartoonRenderOutput | undefined;
27
+ readonly youtubeMetadata?: CartoonRenderOutput | undefined;
28
+ }
29
+ export interface CartoonEvidenceTarget {
30
+ readonly id: PromptAnimationId;
31
+ readonly kind: "screenshot-hash" | "timing-drift" | "caption-sync" | "viseme-sync" | "deterministic-capture" | "route-health" | "accessibility";
32
+ readonly required: boolean;
33
+ }
34
+ export interface CartoonRenderSceneStateSource {
35
+ readonly source: "aura3d-scene-state";
36
+ readonly sceneStateId: PromptAnimationId;
37
+ readonly route: string;
38
+ readonly time: PromptAnimationSeconds;
39
+ readonly auraVoiceTimestamp: PromptAnimationSeconds;
40
+ readonly frame: number;
41
+ readonly shotId?: PromptAnimationId | undefined;
42
+ readonly deterministicSeed: string;
43
+ }
44
+ export interface CartoonThumbnailSceneStateCapture {
45
+ readonly id: PromptAnimationId;
46
+ readonly source: "same-aura3d-scene-state";
47
+ readonly outputId: PromptAnimationId;
48
+ readonly outputPath: string;
49
+ readonly route: string;
50
+ readonly time: PromptAnimationSeconds;
51
+ readonly auraVoiceTimestamp: PromptAnimationSeconds;
52
+ readonly frame: number;
53
+ readonly shotId?: PromptAnimationId | undefined;
54
+ readonly sourceSceneStateId: PromptAnimationId;
55
+ readonly deterministicSeed: string;
56
+ }
57
+ export interface CartoonRenderReviewPackagePaths {
58
+ readonly video: readonly string[];
59
+ readonly captions: readonly string[];
60
+ readonly thumbnail: string;
61
+ readonly evidence: string;
62
+ readonly youtubeDraftMetadata: string;
63
+ }
64
+ export interface CartoonRenderQueueItem {
65
+ readonly id: PromptAnimationId;
66
+ readonly route: string;
67
+ readonly language: PromptAnimationLanguageCode;
68
+ readonly time: PromptAnimationSeconds;
69
+ readonly frame: number;
70
+ readonly shotId?: PromptAnimationId | undefined;
71
+ readonly viewport: CartoonViewport;
72
+ readonly outputIds: readonly PromptAnimationId[];
73
+ readonly evidenceTargetIds: readonly PromptAnimationId[];
74
+ readonly sourceSceneState?: CartoonRenderSceneStateSource | undefined;
75
+ }
76
+ export interface CartoonRenderQueueArtifact extends PromptAnimationArtifactBase<"render-queue"> {
77
+ readonly route: string;
78
+ readonly language: PromptAnimationLanguageCode;
79
+ readonly frameRate: PromptAnimationFrameRate;
80
+ readonly viewport: CartoonViewport;
81
+ readonly captureTimes: readonly PromptAnimationSeconds[];
82
+ readonly outputs: readonly CartoonRenderOutput[];
83
+ readonly evidenceTargets: readonly CartoonEvidenceTarget[];
84
+ readonly items: readonly CartoonRenderQueueItem[];
85
+ }
86
+ export interface CartoonRenderOutputPackageMetadata extends PromptAnimationArtifactBase<"render-output-package"> {
87
+ readonly packageId: PromptAnimationId;
88
+ readonly route: string;
89
+ readonly language: PromptAnimationLanguageCode;
90
+ readonly frameRate: PromptAnimationFrameRate;
91
+ readonly duration: PromptAnimationSeconds;
92
+ readonly viewport: CartoonViewport;
93
+ readonly outputs: CartoonRenderPackageOutputs;
94
+ readonly requiredOutputKinds: readonly CartoonRenderOutputKind[];
95
+ readonly youtubeDraft: PromptAnimationYouTubeDraftMetadata;
96
+ readonly thumbnailCapture: CartoonThumbnailSceneStateCapture;
97
+ readonly reviewPackagePaths: CartoonRenderReviewPackagePaths;
98
+ }
99
+ export interface CreateCartoonRenderQueueOptions {
100
+ readonly episodePlan: PromptAnimationEpisodePlan;
101
+ readonly shotTimeline: ShotTimelineArtifact;
102
+ readonly route: string;
103
+ readonly viewport?: CartoonViewport | undefined;
104
+ readonly language?: PromptAnimationLanguageCode | undefined;
105
+ readonly captureTimes?: readonly PromptAnimationSeconds[] | undefined;
106
+ readonly outputs?: readonly CartoonRenderOutput[] | undefined;
107
+ readonly evidenceTargets?: readonly CartoonEvidenceTarget[] | undefined;
108
+ readonly generatedAt?: string | undefined;
109
+ }
110
+ export interface CreateCartoonRenderOutputPackageMetadataOptions {
111
+ readonly episodePlan: PromptAnimationEpisodePlan;
112
+ readonly shotTimeline: ShotTimelineArtifact;
113
+ readonly renderQueue: CartoonRenderQueueArtifact;
114
+ readonly packageId?: PromptAnimationId | undefined;
115
+ readonly youtube?: PromptAnimationYouTubeDraftMetadata | undefined;
116
+ readonly generatedAt?: string | undefined;
117
+ }
118
+ export declare const defaultCartoonViewport: CartoonViewport;
119
+ export declare const defaultCartoonRenderOutputs: readonly CartoonRenderOutput[];
120
+ export declare const requiredCartoonRenderPackageOutputKinds: readonly CartoonRenderOutputKind[];
121
+ export declare const captionCartoonRenderOutputKinds: readonly CartoonRenderOutputKind[];
122
+ export declare const defaultCartoonEvidenceTargets: readonly CartoonEvidenceTarget[];
123
+ export declare function defineCartoonRenderQueue<const TQueue extends CartoonRenderQueueArtifact>(queue: TQueue): TQueue;
124
+ export declare function createCartoonRenderQueue(options: CreateCartoonRenderQueueOptions): CartoonRenderQueueArtifact;
125
+ export declare function createCartoonRenderOutputPackageMetadata(options: CreateCartoonRenderOutputPackageMetadataOptions): CartoonRenderOutputPackageMetadata;
126
+ export declare function normalizeRenderCaptureTimes(times: readonly PromptAnimationSeconds[]): readonly PromptAnimationSeconds[];
127
+ export declare function validateCartoonRenderQueue(queue: CartoonRenderQueueArtifact): readonly PromptAnimationValidationIssue[];
128
+ export declare function collectCartoonRenderPackageOutputs(outputs: readonly CartoonRenderOutput[]): CartoonRenderPackageOutputs;
129
+ export declare function createCartoonRenderReviewPackagePaths(outputs: CartoonRenderPackageOutputs): CartoonRenderReviewPackagePaths;
130
+ export declare function validateCartoonRenderOutputs(outputs: readonly CartoonRenderOutput[], pathPrefix?: string): readonly PromptAnimationValidationIssue[];
131
+ export declare function validateCartoonRenderOutputPackageMetadata(metadata: CartoonRenderOutputPackageMetadata): readonly PromptAnimationValidationIssue[];
132
+ //# sourceMappingURL=CartoonRenderQueue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CartoonRenderQueue.d.ts","sourceRoot":"","sources":["../../../../../packages/engine/src/agent-api/CartoonRenderQueue.ts"],"names":[],"mappings":"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"}