@aura3d/engine 4.3.7 → 4.6.0

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 (577) hide show
  1. package/README.md +1 -0
  2. package/dist/animation/AnimationTrack.d.ts.map +1 -1
  3. package/dist/animation/AnimationTrack.js +3 -1
  4. package/dist/animation/AnimationTrack.js.map +1 -1
  5. package/dist/animation/pose/BoneMask.d.ts +8 -0
  6. package/dist/animation/pose/BoneMask.d.ts.map +1 -1
  7. package/dist/animation/pose/BoneMask.js +18 -1
  8. package/dist/animation/pose/BoneMask.js.map +1 -1
  9. package/dist/animation/pose/PoseMixer.d.ts +18 -2
  10. package/dist/animation/pose/PoseMixer.d.ts.map +1 -1
  11. package/dist/animation/pose/PoseMixer.js +55 -4
  12. package/dist/animation/pose/PoseMixer.js.map +1 -1
  13. package/dist/animation/pose/RetargetWorker.d.ts +8 -1
  14. package/dist/animation/pose/RetargetWorker.d.ts.map +1 -1
  15. package/dist/animation/pose/RetargetWorker.js +30 -2
  16. package/dist/animation/pose/RetargetWorker.js.map +1 -1
  17. package/dist/assets/GLTFAnimationRuntime.d.ts.map +1 -1
  18. package/dist/assets/GLTFAnimationRuntime.js +11 -4
  19. package/dist/assets/GLTFAnimationRuntime.js.map +1 -1
  20. package/dist/assets/GLTFLoader.d.ts +2 -0
  21. package/dist/assets/GLTFLoader.d.ts.map +1 -1
  22. package/dist/assets/GLTFLoader.js +17 -3
  23. package/dist/assets/GLTFLoader.js.map +1 -1
  24. package/dist/aura3d-cli/index.d.ts +6 -0
  25. package/dist/aura3d-cli/index.d.ts.map +1 -1
  26. package/dist/aura3d-cli/index.js +28 -0
  27. package/dist/aura3d-cli/index.js.map +1 -1
  28. package/dist/aura3d-cli/migrate-three/emit.d.ts.map +1 -1
  29. package/dist/aura3d-cli/migrate-three/emit.js +109 -29
  30. package/dist/aura3d-cli/migrate-three/emit.js.map +1 -1
  31. package/dist/aura3d-cli/migrate-three/mappings.d.ts +15 -0
  32. package/dist/aura3d-cli/migrate-three/mappings.d.ts.map +1 -1
  33. package/dist/aura3d-cli/migrate-three/mappings.js +70 -60
  34. package/dist/aura3d-cli/migrate-three/mappings.js.map +1 -1
  35. package/dist/aura3d-cli/migrate-three/parse.d.ts +9 -0
  36. package/dist/aura3d-cli/migrate-three/parse.d.ts.map +1 -1
  37. package/dist/aura3d-cli/migrate-three/parse.js +1 -1
  38. package/dist/aura3d-cli/migrate-three/parse.js.map +1 -1
  39. package/dist/create-aura3d/cli.js +22 -2
  40. package/dist/create-aura3d/cli.js.map +1 -1
  41. package/dist/create-aura3d/index.d.ts +11 -0
  42. package/dist/create-aura3d/index.d.ts.map +1 -1
  43. package/dist/create-aura3d/index.js +9 -2
  44. package/dist/create-aura3d/index.js.map +1 -1
  45. package/dist/create-aura3d/template-assets.d.ts +53 -0
  46. package/dist/create-aura3d/template-assets.d.ts.map +1 -0
  47. package/dist/create-aura3d/template-assets.js +116 -0
  48. package/dist/create-aura3d/template-assets.js.map +1 -0
  49. package/dist/engine/agent-api/Clock.d.ts +9 -3
  50. package/dist/engine/agent-api/Clock.d.ts.map +1 -1
  51. package/dist/engine/agent-api/Clock.js +17 -6
  52. package/dist/engine/agent-api/Clock.js.map +1 -1
  53. package/dist/engine/agent-api/animationMask.d.ts +26 -0
  54. package/dist/engine/agent-api/animationMask.d.ts.map +1 -0
  55. package/dist/engine/agent-api/animationMask.js +38 -0
  56. package/dist/engine/agent-api/animationMask.js.map +1 -0
  57. package/dist/engine/agent-api/app/actorAnimationHandle.d.ts +2 -0
  58. package/dist/engine/agent-api/app/actorAnimationHandle.d.ts.map +1 -1
  59. package/dist/engine/agent-api/app/actorAnimationHandle.js +26 -3
  60. package/dist/engine/agent-api/app/actorAnimationHandle.js.map +1 -1
  61. package/dist/engine/agent-api/app/canvas.d.ts +21 -0
  62. package/dist/engine/agent-api/app/canvas.d.ts.map +1 -1
  63. package/dist/engine/agent-api/app/canvas.js +119 -7
  64. package/dist/engine/agent-api/app/canvas.js.map +1 -1
  65. package/dist/engine/agent-api/app/createAuraApp.d.ts.map +1 -1
  66. package/dist/engine/agent-api/app/createAuraApp.js +153 -14
  67. package/dist/engine/agent-api/app/createAuraApp.js.map +1 -1
  68. package/dist/engine/agent-api/app/frameLoop.d.ts +13 -0
  69. package/dist/engine/agent-api/app/frameLoop.d.ts.map +1 -1
  70. package/dist/engine/agent-api/app/frameLoop.js +118 -15
  71. package/dist/engine/agent-api/app/frameLoop.js.map +1 -1
  72. package/dist/engine/agent-api/app/mountRenderer.d.ts +6 -1
  73. package/dist/engine/agent-api/app/mountRenderer.d.ts.map +1 -1
  74. package/dist/engine/agent-api/app/mountRenderer.js +2 -2
  75. package/dist/engine/agent-api/app/mountRenderer.js.map +1 -1
  76. package/dist/engine/agent-api/app/parentFit.d.ts +20 -2
  77. package/dist/engine/agent-api/app/parentFit.d.ts.map +1 -1
  78. package/dist/engine/agent-api/app/parentFit.js +13 -9
  79. package/dist/engine/agent-api/app/parentFit.js.map +1 -1
  80. package/dist/engine/agent-api/app/renderPath.d.ts +86 -0
  81. package/dist/engine/agent-api/app/renderPath.d.ts.map +1 -0
  82. package/dist/engine/agent-api/app/renderPath.js +269 -0
  83. package/dist/engine/agent-api/app/renderPath.js.map +1 -0
  84. package/dist/engine/agent-api/app/rendererOptions.d.ts +31 -1
  85. package/dist/engine/agent-api/app/rendererOptions.d.ts.map +1 -1
  86. package/dist/engine/agent-api/app/rendererOptions.js +74 -7
  87. package/dist/engine/agent-api/app/rendererOptions.js.map +1 -1
  88. package/dist/engine/agent-api/app/routeState.d.ts.map +1 -1
  89. package/dist/engine/agent-api/app/routeState.js +8 -3
  90. package/dist/engine/agent-api/app/routeState.js.map +1 -1
  91. package/dist/engine/agent-api/app/runtimeNodes.d.ts +2 -0
  92. package/dist/engine/agent-api/app/runtimeNodes.d.ts.map +1 -1
  93. package/dist/engine/agent-api/app/runtimeNodes.js +111 -2
  94. package/dist/engine/agent-api/app/runtimeNodes.js.map +1 -1
  95. package/dist/engine/agent-api/camera/extension.d.ts.map +1 -1
  96. package/dist/engine/agent-api/camera/extension.js +2 -2
  97. package/dist/engine/agent-api/camera/extension.js.map +1 -1
  98. package/dist/engine/agent-api/camera/rigs/fromSpec.d.ts +2 -0
  99. package/dist/engine/agent-api/camera/rigs/fromSpec.d.ts.map +1 -1
  100. package/dist/engine/agent-api/camera/rigs/fromSpec.js +11 -1
  101. package/dist/engine/agent-api/camera/rigs/fromSpec.js.map +1 -1
  102. package/dist/engine/agent-api/compiler/animation.d.ts.map +1 -1
  103. package/dist/engine/agent-api/compiler/animation.js +4 -2
  104. package/dist/engine/agent-api/compiler/animation.js.map +1 -1
  105. package/dist/engine/agent-api/compiler/camera.d.ts.map +1 -1
  106. package/dist/engine/agent-api/compiler/camera.js +10 -0
  107. package/dist/engine/agent-api/compiler/camera.js.map +1 -1
  108. package/dist/engine/agent-api/compiler/compileScene.d.ts +21 -5
  109. package/dist/engine/agent-api/compiler/compileScene.d.ts.map +1 -1
  110. package/dist/engine/agent-api/compiler/compileScene.js +112 -13
  111. package/dist/engine/agent-api/compiler/compileScene.js.map +1 -1
  112. package/dist/engine/agent-api/compiler/contactShadowKey.d.ts +14 -0
  113. package/dist/engine/agent-api/compiler/contactShadowKey.d.ts.map +1 -0
  114. package/dist/engine/agent-api/compiler/contactShadowKey.js +66 -0
  115. package/dist/engine/agent-api/compiler/contactShadowKey.js.map +1 -0
  116. package/dist/engine/agent-api/compiler/environment.d.ts +56 -2
  117. package/dist/engine/agent-api/compiler/environment.d.ts.map +1 -1
  118. package/dist/engine/agent-api/compiler/environment.js +202 -15
  119. package/dist/engine/agent-api/compiler/environment.js.map +1 -1
  120. package/dist/engine/agent-api/compiler/geometry.d.ts +18 -1
  121. package/dist/engine/agent-api/compiler/geometry.d.ts.map +1 -1
  122. package/dist/engine/agent-api/compiler/geometry.js +25 -5
  123. package/dist/engine/agent-api/compiler/geometry.js.map +1 -1
  124. package/dist/engine/agent-api/compiler/lights.d.ts.map +1 -1
  125. package/dist/engine/agent-api/compiler/lights.js +14 -6
  126. package/dist/engine/agent-api/compiler/lights.js.map +1 -1
  127. package/dist/engine/agent-api/compiler/mountedRoots.d.ts +6 -0
  128. package/dist/engine/agent-api/compiler/mountedRoots.d.ts.map +1 -0
  129. package/dist/engine/agent-api/compiler/mountedRoots.js +25 -0
  130. package/dist/engine/agent-api/compiler/mountedRoots.js.map +1 -0
  131. package/dist/engine/agent-api/compiler/observations.d.ts +9 -1
  132. package/dist/engine/agent-api/compiler/observations.d.ts.map +1 -1
  133. package/dist/engine/agent-api/compiler/observations.js +5 -4
  134. package/dist/engine/agent-api/compiler/observations.js.map +1 -1
  135. package/dist/engine/agent-api/compiler/optionCoverage.js +17 -0
  136. package/dist/engine/agent-api/compiler/optionCoverage.js.map +1 -1
  137. package/dist/engine/agent-api/compiler/postprocess.d.ts.map +1 -1
  138. package/dist/engine/agent-api/compiler/postprocess.js +2 -0
  139. package/dist/engine/agent-api/compiler/postprocess.js.map +1 -1
  140. package/dist/engine/agent-api/compiler/primitives.d.ts +34 -0
  141. package/dist/engine/agent-api/compiler/primitives.d.ts.map +1 -1
  142. package/dist/engine/agent-api/compiler/primitives.js +113 -3
  143. package/dist/engine/agent-api/compiler/primitives.js.map +1 -1
  144. package/dist/engine/agent-api/compiler/renderInput.d.ts.map +1 -1
  145. package/dist/engine/agent-api/compiler/renderInput.js +40 -4
  146. package/dist/engine/agent-api/compiler/renderInput.js.map +1 -1
  147. package/dist/engine/agent-api/compiler/renderer.d.ts +6 -4
  148. package/dist/engine/agent-api/compiler/renderer.d.ts.map +1 -1
  149. package/dist/engine/agent-api/compiler/renderer.js +54 -14
  150. package/dist/engine/agent-api/compiler/renderer.js.map +1 -1
  151. package/dist/engine/agent-api/compiler/shadows.d.ts +35 -1
  152. package/dist/engine/agent-api/compiler/shadows.d.ts.map +1 -1
  153. package/dist/engine/agent-api/compiler/shadows.js +103 -4
  154. package/dist/engine/agent-api/compiler/shadows.js.map +1 -1
  155. package/dist/engine/agent-api/diagnostics.d.ts +22 -0
  156. package/dist/engine/agent-api/diagnostics.d.ts.map +1 -1
  157. package/dist/engine/agent-api/diagnostics.js +53 -1
  158. package/dist/engine/agent-api/diagnostics.js.map +1 -1
  159. package/dist/engine/agent-api/feel/extension.d.ts.map +1 -1
  160. package/dist/engine/agent-api/feel/extension.js +2 -1
  161. package/dist/engine/agent-api/feel/extension.js.map +1 -1
  162. package/dist/engine/agent-api/looks/lookFill.d.ts +4 -0
  163. package/dist/engine/agent-api/looks/lookFill.d.ts.map +1 -0
  164. package/dist/engine/agent-api/looks/lookFill.js +29 -0
  165. package/dist/engine/agent-api/looks/lookFill.js.map +1 -0
  166. package/dist/engine/agent-api/looks/lookPresets.d.ts +13 -0
  167. package/dist/engine/agent-api/looks/lookPresets.d.ts.map +1 -1
  168. package/dist/engine/agent-api/looks/lookPresets.js +5 -0
  169. package/dist/engine/agent-api/looks/lookPresets.js.map +1 -1
  170. package/dist/engine/agent-api/looks/looks.d.ts.map +1 -1
  171. package/dist/engine/agent-api/looks/looks.js +6 -0
  172. package/dist/engine/agent-api/looks/looks.js.map +1 -1
  173. package/dist/engine/agent-api/looks/structuralQA.d.ts.map +1 -1
  174. package/dist/engine/agent-api/looks/structuralQA.js +4 -2
  175. package/dist/engine/agent-api/looks/structuralQA.js.map +1 -1
  176. package/dist/engine/agent-api/nodes/game/instanceTransforms.d.ts +5 -4
  177. package/dist/engine/agent-api/nodes/game/instanceTransforms.d.ts.map +1 -1
  178. package/dist/engine/agent-api/nodes/game/instanceTransforms.js +61 -5
  179. package/dist/engine/agent-api/nodes/game/instanceTransforms.js.map +1 -1
  180. package/dist/engine/agent-api/nodes/groups.d.ts.map +1 -1
  181. package/dist/engine/agent-api/nodes/groups.js +2 -1
  182. package/dist/engine/agent-api/nodes/groups.js.map +1 -1
  183. package/dist/engine/agent-api/nodes/instances.d.ts.map +1 -1
  184. package/dist/engine/agent-api/nodes/instances.js +16 -4
  185. package/dist/engine/agent-api/nodes/instances.js.map +1 -1
  186. package/dist/engine/agent-api/nodes/interactions.d.ts +32 -10
  187. package/dist/engine/agent-api/nodes/interactions.d.ts.map +1 -1
  188. package/dist/engine/agent-api/nodes/interactions.js +40 -11
  189. package/dist/engine/agent-api/nodes/interactions.js.map +1 -1
  190. package/dist/engine/agent-api/nodes/model.d.ts +18 -0
  191. package/dist/engine/agent-api/nodes/model.d.ts.map +1 -1
  192. package/dist/engine/agent-api/nodes/model.js +41 -1
  193. package/dist/engine/agent-api/nodes/model.js.map +1 -1
  194. package/dist/engine/agent-api/nodes/optionDiagnostics.d.ts +14 -0
  195. package/dist/engine/agent-api/nodes/optionDiagnostics.d.ts.map +1 -0
  196. package/dist/engine/agent-api/nodes/optionDiagnostics.js +34 -0
  197. package/dist/engine/agent-api/nodes/optionDiagnostics.js.map +1 -0
  198. package/dist/engine/agent-api/nodes/orbitInteraction.d.ts +9 -0
  199. package/dist/engine/agent-api/nodes/orbitInteraction.d.ts.map +1 -0
  200. package/dist/engine/agent-api/nodes/orbitInteraction.js +52 -0
  201. package/dist/engine/agent-api/nodes/orbitInteraction.js.map +1 -0
  202. package/dist/engine/agent-api/nodes/physics.d.ts +26 -0
  203. package/dist/engine/agent-api/nodes/physics.d.ts.map +1 -1
  204. package/dist/engine/agent-api/nodes/physics.js +115 -7
  205. package/dist/engine/agent-api/nodes/physics.js.map +1 -1
  206. package/dist/engine/agent-api/nodes/primitives.d.ts +16 -1
  207. package/dist/engine/agent-api/nodes/primitives.d.ts.map +1 -1
  208. package/dist/engine/agent-api/nodes/primitives.js +27 -1
  209. package/dist/engine/agent-api/nodes/primitives.js.map +1 -1
  210. package/dist/engine/agent-api/nodes/scene.d.ts.map +1 -1
  211. package/dist/engine/agent-api/nodes/scene.js +4 -2
  212. package/dist/engine/agent-api/nodes/scene.js.map +1 -1
  213. package/dist/engine/agent-api/nodes/text3d.d.ts.map +1 -1
  214. package/dist/engine/agent-api/nodes/text3d.js +11 -2
  215. package/dist/engine/agent-api/nodes/text3d.js.map +1 -1
  216. package/dist/engine/agent-api/nodes/types/runtime.d.ts +38 -0
  217. package/dist/engine/agent-api/nodes/types/runtime.d.ts.map +1 -1
  218. package/dist/engine/agent-api/nodes/types.d.ts +44 -0
  219. package/dist/engine/agent-api/nodes/types.d.ts.map +1 -1
  220. package/dist/engine/agent-api/platform.d.ts +5 -0
  221. package/dist/engine/agent-api/platform.d.ts.map +1 -1
  222. package/dist/engine/agent-api/platform.js +15 -0
  223. package/dist/engine/agent-api/platform.js.map +1 -1
  224. package/dist/engine/agent-api/postBridge.d.ts.map +1 -1
  225. package/dist/engine/agent-api/postBridge.js +5 -1
  226. package/dist/engine/agent-api/postBridge.js.map +1 -1
  227. package/dist/engine/agent-api/sceneKitDiagnostics.d.ts.map +1 -1
  228. package/dist/engine/agent-api/sceneKitDiagnostics.js +5 -2
  229. package/dist/engine/agent-api/sceneKitDiagnostics.js.map +1 -1
  230. package/dist/engine/contracts/animation.d.ts +5 -3
  231. package/dist/engine/contracts/animation.d.ts.map +1 -1
  232. package/dist/engine/contracts/animation.js.map +1 -1
  233. package/dist/engine/contracts/environment.d.ts +9 -0
  234. package/dist/engine/contracts/environment.d.ts.map +1 -1
  235. package/dist/engine/contracts/environment.js.map +1 -1
  236. package/dist/engine/contracts/flags.d.ts.map +1 -1
  237. package/dist/engine/contracts/flags.js +2 -1
  238. package/dist/engine/contracts/flags.js.map +1 -1
  239. package/dist/engine/contracts/lighting.d.ts +3 -0
  240. package/dist/engine/contracts/lighting.d.ts.map +1 -1
  241. package/dist/engine/contracts/lighting.js.map +1 -1
  242. package/dist/engine/contracts/stubs/game.d.ts.map +1 -1
  243. package/dist/engine/contracts/stubs/game.js +9 -1
  244. package/dist/engine/contracts/stubs/game.js.map +1 -1
  245. package/dist/engine/contracts/urlCache.d.ts +4 -0
  246. package/dist/engine/contracts/urlCache.d.ts.map +1 -0
  247. package/dist/engine/contracts/urlCache.js +25 -0
  248. package/dist/engine/contracts/urlCache.js.map +1 -0
  249. package/dist/engine/lanes/prd01/outputSurface.d.ts.map +1 -1
  250. package/dist/engine/lanes/prd01/outputSurface.js +25 -1
  251. package/dist/engine/lanes/prd01/outputSurface.js.map +1 -1
  252. package/dist/engine/lanes/prd02.d.ts +12 -4
  253. package/dist/engine/lanes/prd02.d.ts.map +1 -1
  254. package/dist/engine/lanes/prd02.js +23 -7
  255. package/dist/engine/lanes/prd02.js.map +1 -1
  256. package/dist/game/touch/TouchControls.d.ts.map +1 -1
  257. package/dist/game/touch/TouchControls.js +48 -12
  258. package/dist/game/touch/TouchControls.js.map +1 -1
  259. package/dist/math/SphericalHarmonics3.d.ts +6 -3
  260. package/dist/math/SphericalHarmonics3.d.ts.map +1 -1
  261. package/dist/math/SphericalHarmonics3.js +8 -5
  262. package/dist/math/SphericalHarmonics3.js.map +1 -1
  263. package/dist/math/three/Box3.d.ts +106 -0
  264. package/dist/math/three/Box3.d.ts.map +1 -0
  265. package/dist/math/three/Box3.js +348 -0
  266. package/dist/math/three/Box3.js.map +1 -0
  267. package/dist/math/three/Color.d.ts +127 -0
  268. package/dist/math/three/Color.d.ts.map +1 -0
  269. package/dist/math/three/Color.js +501 -0
  270. package/dist/math/three/Color.js.map +1 -0
  271. package/dist/math/three/Euler.d.ts +50 -0
  272. package/dist/math/three/Euler.d.ts.map +1 -0
  273. package/dist/math/three/Euler.js +210 -0
  274. package/dist/math/three/Euler.js.map +1 -0
  275. package/dist/math/three/Frustum.d.ts +59 -0
  276. package/dist/math/three/Frustum.d.ts.map +1 -0
  277. package/dist/math/three/Frustum.js +135 -0
  278. package/dist/math/three/Frustum.js.map +1 -0
  279. package/dist/math/three/Matrix3.d.ts +56 -0
  280. package/dist/math/three/Matrix3.d.ts.map +1 -0
  281. package/dist/math/three/Matrix3.js +248 -0
  282. package/dist/math/three/Matrix3.js.map +1 -0
  283. package/dist/math/three/Matrix4.d.ts +79 -0
  284. package/dist/math/three/Matrix4.d.ts.map +1 -0
  285. package/dist/math/three/Matrix4.js +708 -0
  286. package/dist/math/three/Matrix4.js.map +1 -0
  287. package/dist/math/three/Plane.d.ts +65 -0
  288. package/dist/math/three/Plane.d.ts.map +1 -0
  289. package/dist/math/three/Plane.js +135 -0
  290. package/dist/math/three/Plane.js.map +1 -0
  291. package/dist/math/three/Quaternion.d.ts +91 -0
  292. package/dist/math/three/Quaternion.d.ts.map +1 -0
  293. package/dist/math/three/Quaternion.js +444 -0
  294. package/dist/math/three/Quaternion.js.map +1 -0
  295. package/dist/math/three/Ray.d.ts +56 -0
  296. package/dist/math/three/Ray.d.ts.map +1 -0
  297. package/dist/math/three/Ray.js +340 -0
  298. package/dist/math/three/Ray.js.map +1 -0
  299. package/dist/math/three/Sphere.d.ts +58 -0
  300. package/dist/math/three/Sphere.d.ts.map +1 -0
  301. package/dist/math/three/Sphere.js +166 -0
  302. package/dist/math/three/Sphere.js.map +1 -0
  303. package/dist/math/three/Triangle.d.ts +58 -0
  304. package/dist/math/three/Triangle.d.ts.map +1 -0
  305. package/dist/math/three/Triangle.js +229 -0
  306. package/dist/math/three/Triangle.js.map +1 -0
  307. package/dist/math/three/Vector2.d.ts +88 -0
  308. package/dist/math/three/Vector2.d.ts.map +1 -0
  309. package/dist/math/three/Vector2.js +283 -0
  310. package/dist/math/three/Vector2.js.map +1 -0
  311. package/dist/math/three/Vector3.d.ts +137 -0
  312. package/dist/math/three/Vector3.d.ts.map +1 -0
  313. package/dist/math/three/Vector3.js +458 -0
  314. package/dist/math/three/Vector3.js.map +1 -0
  315. package/dist/math/three/Vector4.d.ts +100 -0
  316. package/dist/math/three/Vector4.d.ts.map +1 -0
  317. package/dist/math/three/Vector4.js +443 -0
  318. package/dist/math/three/Vector4.js.map +1 -0
  319. package/dist/math/three/index.d.ts +29 -0
  320. package/dist/math/three/index.d.ts.map +1 -0
  321. package/dist/math/three/index.js +29 -0
  322. package/dist/math/three/index.js.map +1 -0
  323. package/dist/react/index.d.ts +21 -0
  324. package/dist/react/index.d.ts.map +1 -1
  325. package/dist/react/index.js +128 -21
  326. package/dist/react/index.js.map +1 -1
  327. package/dist/rendering/DepthPass.d.ts +7 -0
  328. package/dist/rendering/DepthPass.d.ts.map +1 -1
  329. package/dist/rendering/DepthPass.js +43 -6
  330. package/dist/rendering/DepthPass.js.map +1 -1
  331. package/dist/rendering/ForwardPass.d.ts +82 -5
  332. package/dist/rendering/ForwardPass.d.ts.map +1 -1
  333. package/dist/rendering/ForwardPass.js +180 -35
  334. package/dist/rendering/ForwardPass.js.map +1 -1
  335. package/dist/rendering/MaterialBinding.js +6 -2
  336. package/dist/rendering/MaterialBinding.js.map +1 -1
  337. package/dist/rendering/RenderDevice.d.ts +5 -0
  338. package/dist/rendering/RenderDevice.d.ts.map +1 -1
  339. package/dist/rendering/RenderDevice.js.map +1 -1
  340. package/dist/rendering/Renderer.d.ts +8 -0
  341. package/dist/rendering/Renderer.d.ts.map +1 -1
  342. package/dist/rendering/Renderer.js +37 -6
  343. package/dist/rendering/Renderer.js.map +1 -1
  344. package/dist/rendering/RendererPostprocessPlan.d.ts.map +1 -1
  345. package/dist/rendering/RendererPostprocessPlan.js +8 -1
  346. package/dist/rendering/RendererPostprocessPlan.js.map +1 -1
  347. package/dist/rendering/ShaderChunks.d.ts.map +1 -1
  348. package/dist/rendering/ShaderChunks.js +3 -1
  349. package/dist/rendering/ShaderChunks.js.map +1 -1
  350. package/dist/rendering/ShaderLibrary.d.ts.map +1 -1
  351. package/dist/rendering/ShaderLibrary.js +17 -5
  352. package/dist/rendering/ShaderLibrary.js.map +1 -1
  353. package/dist/rendering/ShaderLibraryCore.d.ts.map +1 -1
  354. package/dist/rendering/ShaderLibraryCore.js +2 -1
  355. package/dist/rendering/ShaderLibraryCore.js.map +1 -1
  356. package/dist/rendering/WebGL2Device.d.ts +19 -1
  357. package/dist/rendering/WebGL2Device.d.ts.map +1 -1
  358. package/dist/rendering/WebGL2Device.js +114 -37
  359. package/dist/rendering/WebGL2Device.js.map +1 -1
  360. package/dist/rendering/WebGL2StateCache.d.ts +22 -0
  361. package/dist/rendering/WebGL2StateCache.d.ts.map +1 -1
  362. package/dist/rendering/WebGL2StateCache.js +71 -42
  363. package/dist/rendering/WebGL2StateCache.js.map +1 -1
  364. package/dist/rendering/contracts/core.d.ts.map +1 -1
  365. package/dist/rendering/contracts/core.js +22 -2
  366. package/dist/rendering/contracts/core.js.map +1 -1
  367. package/dist/rendering/contracts/program.d.ts.map +1 -1
  368. package/dist/rendering/contracts/program.js +8 -1
  369. package/dist/rendering/contracts/program.js.map +1 -1
  370. package/dist/rendering/contracts/quality.d.ts +21 -0
  371. package/dist/rendering/contracts/quality.d.ts.map +1 -1
  372. package/dist/rendering/contracts/quality.js +5 -0
  373. package/dist/rendering/contracts/quality.js.map +1 -1
  374. package/dist/rendering/contracts/renderItem.d.ts +6 -0
  375. package/dist/rendering/contracts/renderItem.d.ts.map +1 -1
  376. package/dist/rendering/contracts/structuralMemo.d.ts +23 -0
  377. package/dist/rendering/contracts/structuralMemo.d.ts.map +1 -0
  378. package/dist/rendering/contracts/structuralMemo.js +81 -0
  379. package/dist/rendering/contracts/structuralMemo.js.map +1 -0
  380. package/dist/rendering/environment/EnvironmentCache.d.ts.map +1 -1
  381. package/dist/rendering/environment/EnvironmentCache.js +6 -1
  382. package/dist/rendering/environment/EnvironmentCache.js.map +1 -1
  383. package/dist/rendering/environment/FirstFrameGate.d.ts +23 -0
  384. package/dist/rendering/environment/FirstFrameGate.d.ts.map +1 -0
  385. package/dist/rendering/environment/FirstFrameGate.js +58 -0
  386. package/dist/rendering/environment/FirstFrameGate.js.map +1 -0
  387. package/dist/rendering/environment/Rgb9e5Cube.d.ts.map +1 -1
  388. package/dist/rendering/environment/Rgb9e5Cube.js +8 -4
  389. package/dist/rendering/environment/Rgb9e5Cube.js.map +1 -1
  390. package/dist/rendering/environment/probeBuild.d.ts +29 -0
  391. package/dist/rendering/environment/probeBuild.d.ts.map +1 -1
  392. package/dist/rendering/environment/probeBuild.js +124 -45
  393. package/dist/rendering/environment/probeBuild.js.map +1 -1
  394. package/dist/rendering/forward/Lighting.d.ts +43 -3
  395. package/dist/rendering/forward/Lighting.d.ts.map +1 -1
  396. package/dist/rendering/forward/Lighting.js +127 -17
  397. package/dist/rendering/forward/Lighting.js.map +1 -1
  398. package/dist/rendering/forward/contactShadowMaskStore.d.ts +41 -0
  399. package/dist/rendering/forward/contactShadowMaskStore.d.ts.map +1 -0
  400. package/dist/rendering/forward/contactShadowMaskStore.js +85 -0
  401. package/dist/rendering/forward/contactShadowMaskStore.js.map +1 -0
  402. package/dist/rendering/geometry/Shape.d.ts.map +1 -1
  403. package/dist/rendering/geometry/Shape.js +7 -2
  404. package/dist/rendering/geometry/Shape.js.map +1 -1
  405. package/dist/rendering/geometry/Support.d.ts +4 -0
  406. package/dist/rendering/geometry/Support.d.ts.map +1 -1
  407. package/dist/rendering/geometry/Support.js +3 -2
  408. package/dist/rendering/geometry/Support.js.map +1 -1
  409. package/dist/rendering/index.d.ts +6 -0
  410. package/dist/rendering/index.d.ts.map +1 -1
  411. package/dist/rendering/index.js +5 -0
  412. package/dist/rendering/index.js.map +1 -1
  413. package/dist/rendering/passes/ContactShadowPass.d.ts +40 -3
  414. package/dist/rendering/passes/ContactShadowPass.d.ts.map +1 -1
  415. package/dist/rendering/passes/ContactShadowPass.js +73 -13
  416. package/dist/rendering/passes/ContactShadowPass.js.map +1 -1
  417. package/dist/rendering/passes/Prd02ContactShadowsContributor.d.ts +19 -0
  418. package/dist/rendering/passes/Prd02ContactShadowsContributor.d.ts.map +1 -1
  419. package/dist/rendering/passes/Prd02ContactShadowsContributor.js +179 -28
  420. package/dist/rendering/passes/Prd02ContactShadowsContributor.js.map +1 -1
  421. package/dist/rendering/post/v2Stages.d.ts.map +1 -1
  422. package/dist/rendering/post/v2Stages.js +2 -0
  423. package/dist/rendering/post/v2Stages.js.map +1 -1
  424. package/dist/rendering/program/ProgramFeatures.d.ts +6 -0
  425. package/dist/rendering/program/ProgramFeatures.d.ts.map +1 -1
  426. package/dist/rendering/program/ProgramFeatures.js +11 -5
  427. package/dist/rendering/program/ProgramFeatures.js.map +1 -1
  428. package/dist/rendering/program/ProgramGenerator.d.ts +6 -0
  429. package/dist/rendering/program/ProgramGenerator.d.ts.map +1 -1
  430. package/dist/rendering/program/ProgramGenerator.js +36 -1
  431. package/dist/rendering/program/ProgramGenerator.js.map +1 -1
  432. package/dist/rendering/program/ProgramKey.d.ts.map +1 -1
  433. package/dist/rendering/program/ProgramKey.js +4 -1
  434. package/dist/rendering/program/ProgramKey.js.map +1 -1
  435. package/dist/rendering/program/chunks/shadow_forward.glsl.d.ts +1 -1
  436. package/dist/rendering/program/chunks/shadow_forward.glsl.d.ts.map +1 -1
  437. package/dist/rendering/program/chunks/shadow_forward.glsl.js +4 -1
  438. package/dist/rendering/program/chunks/shadow_forward.glsl.js.map +1 -1
  439. package/dist/rendering/quality/DirectPath.d.ts +56 -0
  440. package/dist/rendering/quality/DirectPath.d.ts.map +1 -0
  441. package/dist/rendering/quality/DirectPath.js +74 -0
  442. package/dist/rendering/quality/DirectPath.js.map +1 -0
  443. package/dist/rendering/renderer/Background.d.ts +0 -5
  444. package/dist/rendering/renderer/Background.d.ts.map +1 -1
  445. package/dist/rendering/renderer/Background.js +56 -4
  446. package/dist/rendering/renderer/Background.js.map +1 -1
  447. package/dist/rendering/renderer/InstanceFrustumCull.d.ts +41 -0
  448. package/dist/rendering/renderer/InstanceFrustumCull.d.ts.map +1 -0
  449. package/dist/rendering/renderer/InstanceFrustumCull.js +138 -0
  450. package/dist/rendering/renderer/InstanceFrustumCull.js.map +1 -0
  451. package/dist/rendering/renderer/ShadowOrchestration.d.ts +2 -0
  452. package/dist/rendering/renderer/ShadowOrchestration.d.ts.map +1 -1
  453. package/dist/rendering/renderer/ShadowOrchestration.js +1 -0
  454. package/dist/rendering/renderer/ShadowOrchestration.js.map +1 -1
  455. package/dist/rendering/renderer/coreOutputPostRoute.d.ts +0 -5
  456. package/dist/rendering/renderer/coreOutputPostRoute.d.ts.map +1 -1
  457. package/dist/rendering/renderer/coreOutputPostRoute.js +12 -2
  458. package/dist/rendering/renderer/coreOutputPostRoute.js.map +1 -1
  459. package/dist/rendering/resources/InstanceBuffer.d.ts +2 -0
  460. package/dist/rendering/resources/InstanceBuffer.d.ts.map +1 -1
  461. package/dist/rendering/resources/InstanceBuffer.js +23 -0
  462. package/dist/rendering/resources/InstanceBuffer.js.map +1 -1
  463. package/dist/rendering/shaders/chunks/contact_shadow.glsl.d.ts +11 -6
  464. package/dist/rendering/shaders/chunks/contact_shadow.glsl.d.ts.map +1 -1
  465. package/dist/rendering/shaders/chunks/contact_shadow.glsl.js +41 -19
  466. package/dist/rendering/shaders/chunks/contact_shadow.glsl.js.map +1 -1
  467. package/dist/rendering/shaders/chunks/contact_shadow_mask.glsl.d.ts +12 -0
  468. package/dist/rendering/shaders/chunks/contact_shadow_mask.glsl.d.ts.map +1 -0
  469. package/dist/rendering/shaders/chunks/contact_shadow_mask.glsl.js +21 -0
  470. package/dist/rendering/shaders/chunks/contact_shadow_mask.glsl.js.map +1 -0
  471. package/dist/rendering/shaders/chunks/lighting_ibl.glsl.d.ts +6 -1
  472. package/dist/rendering/shaders/chunks/lighting_ibl.glsl.d.ts.map +1 -1
  473. package/dist/rendering/shaders/chunks/lighting_ibl.glsl.js +8 -2
  474. package/dist/rendering/shaders/chunks/lighting_ibl.glsl.js.map +1 -1
  475. package/dist/rendering/shadows/CascadeUse.d.ts +31 -0
  476. package/dist/rendering/shadows/CascadeUse.d.ts.map +1 -0
  477. package/dist/rendering/shadows/CascadeUse.js +60 -0
  478. package/dist/rendering/shadows/CascadeUse.js.map +1 -0
  479. package/dist/rendering/shadows/Prd02DepthShaderLibrary.d.ts +7 -1
  480. package/dist/rendering/shadows/Prd02DepthShaderLibrary.d.ts.map +1 -1
  481. package/dist/rendering/shadows/Prd02DepthShaderLibrary.js +12 -3
  482. package/dist/rendering/shadows/Prd02DepthShaderLibrary.js.map +1 -1
  483. package/dist/rendering/shadows/Prd02ShadowBridge.d.ts +12 -1
  484. package/dist/rendering/shadows/Prd02ShadowBridge.d.ts.map +1 -1
  485. package/dist/rendering/shadows/Prd02ShadowBridge.js +17 -5
  486. package/dist/rendering/shadows/Prd02ShadowBridge.js.map +1 -1
  487. package/dist/rendering/shadows/Prd02ShadowsContributor.d.ts +4 -0
  488. package/dist/rendering/shadows/Prd02ShadowsContributor.d.ts.map +1 -1
  489. package/dist/rendering/shadows/Prd02ShadowsContributor.js +3 -1
  490. package/dist/rendering/shadows/Prd02ShadowsContributor.js.map +1 -1
  491. package/dist/rendering/shadows/ShadowFilterTier.d.ts +51 -0
  492. package/dist/rendering/shadows/ShadowFilterTier.d.ts.map +1 -0
  493. package/dist/rendering/shadows/ShadowFilterTier.js +89 -0
  494. package/dist/rendering/shadows/ShadowFilterTier.js.map +1 -0
  495. package/dist/rendering/shadows/ShadowSystem.d.ts +15 -0
  496. package/dist/rendering/shadows/ShadowSystem.d.ts.map +1 -1
  497. package/dist/rendering/shadows/ShadowSystem.js +12 -2
  498. package/dist/rendering/shadows/ShadowSystem.js.map +1 -1
  499. package/dist/rendering/shadows/shadowLegacy.d.ts +12 -0
  500. package/dist/rendering/shadows/shadowLegacy.d.ts.map +1 -1
  501. package/dist/rendering/shadows/shadowLegacy.js +24 -0
  502. package/dist/rendering/shadows/shadowLegacy.js.map +1 -1
  503. package/dist/rendering/webgl2/BloomFusion.d.ts +31 -0
  504. package/dist/rendering/webgl2/BloomFusion.d.ts.map +1 -0
  505. package/dist/rendering/webgl2/BloomFusion.js +25 -0
  506. package/dist/rendering/webgl2/BloomFusion.js.map +1 -0
  507. package/dist/rendering/webgl2/ContextLifecycle.d.ts +14 -0
  508. package/dist/rendering/webgl2/ContextLifecycle.d.ts.map +1 -1
  509. package/dist/rendering/webgl2/ContextLifecycle.js +44 -5
  510. package/dist/rendering/webgl2/ContextLifecycle.js.map +1 -1
  511. package/dist/rendering/webgl2/LegacyPost.d.ts +30 -0
  512. package/dist/rendering/webgl2/LegacyPost.d.ts.map +1 -1
  513. package/dist/rendering/webgl2/LegacyPost.js +259 -27
  514. package/dist/rendering/webgl2/LegacyPost.js.map +1 -1
  515. package/dist/rendering/webgl2/MultiDraw.d.ts +2 -0
  516. package/dist/rendering/webgl2/MultiDraw.d.ts.map +1 -1
  517. package/dist/rendering/webgl2/MultiDraw.js +33 -7
  518. package/dist/rendering/webgl2/MultiDraw.js.map +1 -1
  519. package/dist/rendering/webgl2/Samplers.d.ts +10 -1
  520. package/dist/rendering/webgl2/Samplers.d.ts.map +1 -1
  521. package/dist/rendering/webgl2/Samplers.js +24 -1
  522. package/dist/rendering/webgl2/Samplers.js.map +1 -1
  523. package/dist/rendering/webgl2/TextureFormats.d.ts +12 -0
  524. package/dist/rendering/webgl2/TextureFormats.d.ts.map +1 -1
  525. package/dist/rendering/webgl2/TextureFormats.js +16 -0
  526. package/dist/rendering/webgl2/TextureFormats.js.map +1 -1
  527. package/package.json +25 -25
  528. package/templates/cinematic-scene/package.json +2 -2
  529. package/templates/mini-game/package.json +2 -2
  530. package/templates/product-viewer/package.json +2 -2
  531. package/templates/production-asset-inspector/package.json +1 -1
  532. package/templates/production-material-studio/package.json +1 -1
  533. package/templates/production-product-configurator/package.json +1 -1
  534. package/templates/production-product-viewer/package.json +1 -1
  535. package/dist/environments/EnvironmentPreview.d.ts +0 -13
  536. package/dist/environments/EnvironmentPreview.d.ts.map +0 -1
  537. package/dist/environments/EnvironmentPreview.js +0 -16
  538. package/dist/environments/EnvironmentPreview.js.map +0 -1
  539. package/dist/environments/EnvironmentRegistry.d.ts +0 -35
  540. package/dist/environments/EnvironmentRegistry.d.ts.map +0 -1
  541. package/dist/environments/EnvironmentRegistry.js +0 -39
  542. package/dist/environments/EnvironmentRegistry.js.map +0 -1
  543. package/dist/environments/HDRIEnvironment.d.ts +0 -38
  544. package/dist/environments/HDRIEnvironment.d.ts.map +0 -1
  545. package/dist/environments/HDRIEnvironment.js +0 -34
  546. package/dist/environments/HDRIEnvironment.js.map +0 -1
  547. package/dist/environments/PMREMPreset.d.ts +0 -14
  548. package/dist/environments/PMREMPreset.d.ts.map +0 -1
  549. package/dist/environments/PMREMPreset.js +0 -16
  550. package/dist/environments/PMREMPreset.js.map +0 -1
  551. package/dist/environments/index.d.ts +0 -6
  552. package/dist/environments/index.d.ts.map +0 -1
  553. package/dist/environments/index.js +0 -3
  554. package/dist/environments/index.js.map +0 -1
  555. package/dist/environments/node.d.ts +0 -7
  556. package/dist/environments/node.d.ts.map +0 -1
  557. package/dist/environments/node.js +0 -5
  558. package/dist/environments/node.js.map +0 -1
  559. package/dist/environments/production-runtime/ProductionEnvironmentCorpus.d.ts +0 -78
  560. package/dist/environments/production-runtime/ProductionEnvironmentCorpus.d.ts.map +0 -1
  561. package/dist/environments/production-runtime/ProductionEnvironmentCorpus.js +0 -67
  562. package/dist/environments/production-runtime/ProductionEnvironmentCorpus.js.map +0 -1
  563. package/dist/environments/production-runtime/index.d.ts +0 -3
  564. package/dist/environments/production-runtime/index.d.ts.map +0 -1
  565. package/dist/environments/production-runtime/index.js +0 -2
  566. package/dist/environments/production-runtime/index.js.map +0 -1
  567. package/dist/environments/threejs-example-parity/index.d.ts +0 -17
  568. package/dist/environments/threejs-example-parity/index.d.ts.map +0 -1
  569. package/dist/environments/threejs-example-parity/index.js +0 -49
  570. package/dist/environments/threejs-example-parity/index.js.map +0 -1
  571. package/templates/cinematic-scene/node_modules/.vite/deps/_metadata.json +0 -8
  572. package/templates/cinematic-scene/node_modules/.vite/deps/package.json +0 -3
  573. package/templates/cinematic-scene/test-results/.last-run.json +0 -6
  574. package/templates/cinematic-scene/test-results/route-health-Aura3D-cinematic-scene-reaches-ready-state/error-context.md +0 -64
  575. package/templates/mini-game/package-lock.json +0 -1312
  576. package/templates/product-viewer/node_modules/.vite/deps/_metadata.json +0 -8
  577. package/templates/product-viewer/node_modules/.vite/deps/package.json +0 -3
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../../../packages/create-aura3d/src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../../../packages/create-aura3d/src/cli.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { type FetchTemplateAssetsOptions, type FetchTemplateAssetsResult, type TemplateAssetEntry } from "./template-assets.js";
1
2
  export declare const CREATE_AURA3D_TEMPLATES: readonly ["product-viewer", "cinematic-scene", "mini-game", "racing-starter", "falling-blocks-starter", "fighting-game", "arena-shooter", "animation-channel", "prompt-animation-channel", "animation-studio", "episode-builder", "character-controller", "premium-product-viewer", "architecture-interior", "material-authoring", "asset-inspector", "character-viewer", "postprocess-scene", "custom-scene", "large-scene"];
2
3
  export type CreateA3DTemplate = (typeof CREATE_AURA3D_TEMPLATES)[number];
3
4
  /**
@@ -40,12 +41,22 @@ export interface CreateA3DProjectResult {
40
41
  readonly template: CreateA3DTemplate;
41
42
  readonly files: readonly string[];
42
43
  readonly agentSkills?: import("./agent-skills.js").WriteAgentSkillsResult;
44
+ /**
45
+ * Large template binaries the npm package does not ship (template-assets.json) and that are not in the project yet.
46
+ * Empty in a source checkout. Pass the result to `fetchMissingTemplateAssets` (the CLI does) to download them.
47
+ */
48
+ readonly missingAssets: readonly TemplateAssetEntry[];
43
49
  }
44
50
  export declare function createA3DProject(options: CreateA3DProjectOptions): CreateA3DProjectResult;
51
+ /** Download the template binaries `createA3DProject` reported missing; each is verified against its size and sha256. */
52
+ export declare function fetchMissingTemplateAssets(result: CreateA3DProjectResult, options: {
53
+ readonly version: string;
54
+ } & Pick<FetchTemplateAssetsOptions, "bases" | "fetch" | "log">): Promise<FetchTemplateAssetsResult>;
45
55
  export declare function writeCreateA3DReport(path: string, result: CreateA3DProjectResult): void;
46
56
  export { probeShowcaseGameGeometry, type ShowcaseGameGeometryCategory, type ShowcaseGameGeometryProbeResult } from "./showcase-spec-game-geometry-probe.js";
47
57
  export type { ExtractOptions as ShowcaseGameGeometryExtractOptions, GeometryExtractionFailure as ShowcaseGameGeometryExtractionFailure, GeometryExtractionResult as ShowcaseGameGeometryExtractionResult, GeometryExtractionSuccess as ShowcaseGameGeometryExtractionSuccess } from "./showcase-spec-game-geometry-extractor.js";
48
58
  export type { ShowcasePlatformerPlayableSurfaceMap, ShowcaseRacingTrackTopology } from "./showcase-spec-types.js";
49
59
  export { SHOWCASE_ASSET_PAIR_COMPOSITION_THRESHOLDS, validateShowcaseAssetPairComposition, validateShowcaseAssetPairCompositionFromDisk, type ShowcaseAssetPairCompositionCategory, type ShowcaseAssetPairCompositionCheck, type ShowcaseAssetPairCompositionInput, type ShowcaseAssetPairCompositionReport, type ValidateShowcaseAssetPairCompositionFromDiskOptions } from "./showcase-spec-asset-pair-composition.js";
60
+ export { DEFAULT_TEMPLATE_ASSET_BASES, TEMPLATE_ASSET_MANIFEST, buildTemplateAssetManifest, fetchTemplateAssets, missingTemplateAssets, readTemplateAssetManifest, templateAssetBases, type FetchTemplateAssetsOptions, type FetchTemplateAssetsResult, type TemplateAssetEntry, type TemplateAssetManifest } from "./template-assets.js";
50
61
  export { AURA_AGENT_CLIENTS, AURA_SKILLS_LEDGER, findBundledSkillsDir, readSkillsManifest, selectSkills, writeAgentSkills, type AuraAgentClient, type AuraAgentTarget, type AuraSkillMode, type AuraSkillsManifest, type WriteAgentSkillsOptions, type WriteAgentSkillsResult } from "./agent-skills.js";
51
62
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../packages/create-aura3d/src/index.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,uBAAuB,+ZAqB1B,CAAC;AACX,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,uBAAuB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEzE;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;;EAS0B,CAAC;AACxD,MAAM,MAAM,sBAAsB,GAAG,MAAM,OAAO,gBAAgB,CAAC;AAEnE,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAC;IACrC,6EAA6E;IAC7E,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CACpC;AAED,6EAA6E;AAC7E,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,oBAAoB,GAAG,IAAI,CAM9E;AAED,6EAA6E;AAC7E,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,oBAAoB,GAAG,MAAM,GAAG,IAAI,CAGlF;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IACtC,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,8FAA8F;IAC9F,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,mBAAmB,EAAE,eAAe,CAAC;IAC7D,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,mBAAmB,EAAE,aAAa,CAAC;CAC7D;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAC;IACrC,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,mBAAmB,EAAE,sBAAsB,CAAC;CAC3E;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,uBAAuB,GAAG,sBAAsB,CAwCzF;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,sBAAsB,GAAG,IAAI,CAGvF;AA0BD,OAAO,EACL,yBAAyB,EACzB,KAAK,4BAA4B,EACjC,KAAK,+BAA+B,EACrC,MAAM,wCAAwC,CAAC;AAChD,YAAY,EACV,cAAc,IAAI,kCAAkC,EACpD,yBAAyB,IAAI,qCAAqC,EAClE,wBAAwB,IAAI,oCAAoC,EAChE,yBAAyB,IAAI,qCAAqC,EACnE,MAAM,4CAA4C,CAAC;AACpD,YAAY,EACV,oCAAoC,EACpC,2BAA2B,EAC5B,MAAM,0BAA0B,CAAC;AAElC,OAAO,EACL,0CAA0C,EAC1C,oCAAoC,EACpC,4CAA4C,EAC5C,KAAK,oCAAoC,EACzC,KAAK,iCAAiC,EACtC,KAAK,iCAAiC,EACtC,KAAK,kCAAkC,EACvC,KAAK,mDAAmD,EACzD,MAAM,2CAA2C,CAAC;AAEnD,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,EACpB,kBAAkB,EAClB,YAAY,EACZ,gBAAgB,EAChB,KAAK,eAAe,EACpB,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACvB,KAAK,uBAAuB,EAC5B,KAAK,sBAAsB,EAC5B,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../packages/create-aura3d/src/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAyE,KAAK,0BAA0B,EAAE,KAAK,yBAAyB,EAAE,KAAK,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAEvM,eAAO,MAAM,uBAAuB,+ZAqB1B,CAAC;AACX,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,uBAAuB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEzE;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;;EAS0B,CAAC;AACxD,MAAM,MAAM,sBAAsB,GAAG,MAAM,OAAO,gBAAgB,CAAC;AAEnE,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAC;IACrC,6EAA6E;IAC7E,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CACpC;AAED,6EAA6E;AAC7E,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,oBAAoB,GAAG,IAAI,CAM9E;AAED,6EAA6E;AAC7E,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,oBAAoB,GAAG,MAAM,GAAG,IAAI,CAGlF;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IACtC,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,8FAA8F;IAC9F,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,mBAAmB,EAAE,eAAe,CAAC;IAC7D,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,mBAAmB,EAAE,aAAa,CAAC;CAC7D;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAC;IACrC,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,mBAAmB,EAAE,sBAAsB,CAAC;IAC1E;;;OAGG;IACH,QAAQ,CAAC,aAAa,EAAE,SAAS,kBAAkB,EAAE,CAAC;CACvD;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,uBAAuB,GAAG,sBAAsB,CAyCzF;AAED,wHAAwH;AACxH,wBAAsB,0BAA0B,CAC9C,MAAM,EAAE,sBAAsB,EAC9B,OAAO,EAAE;IAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAAC,0BAA0B,EAAE,OAAO,GAAG,OAAO,GAAG,KAAK,CAAC,GAClG,OAAO,CAAC,yBAAyB,CAAC,CAEpC;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,sBAAsB,GAAG,IAAI,CAGvF;AA0BD,OAAO,EACL,yBAAyB,EACzB,KAAK,4BAA4B,EACjC,KAAK,+BAA+B,EACrC,MAAM,wCAAwC,CAAC;AAChD,YAAY,EACV,cAAc,IAAI,kCAAkC,EACpD,yBAAyB,IAAI,qCAAqC,EAClE,wBAAwB,IAAI,oCAAoC,EAChE,yBAAyB,IAAI,qCAAqC,EACnE,MAAM,4CAA4C,CAAC;AACpD,YAAY,EACV,oCAAoC,EACpC,2BAA2B,EAC5B,MAAM,0BAA0B,CAAC;AAElC,OAAO,EACL,0CAA0C,EAC1C,oCAAoC,EACpC,4CAA4C,EAC5C,KAAK,oCAAoC,EACzC,KAAK,iCAAiC,EACtC,KAAK,iCAAiC,EACtC,KAAK,kCAAkC,EACvC,KAAK,mDAAmD,EACzD,MAAM,2CAA2C,CAAC;AAEnD,OAAO,EACL,4BAA4B,EAC5B,uBAAuB,EACvB,0BAA0B,EAC1B,mBAAmB,EACnB,qBAAqB,EACrB,yBAAyB,EACzB,kBAAkB,EAClB,KAAK,0BAA0B,EAC/B,KAAK,yBAAyB,EAC9B,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,EAC3B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,EACpB,kBAAkB,EAClB,YAAY,EACZ,gBAAgB,EAChB,KAAK,eAAe,EACpB,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACvB,KAAK,uBAAuB,EAC5B,KAAK,sBAAsB,EAC5B,MAAM,mBAAmB,CAAC"}
@@ -3,6 +3,7 @@ import { dirname, relative, resolve } from "node:path";
3
3
  import { fileURLToPath } from "node:url";
4
4
  import { writeAgentSkills } from "./agent-skills.js";
5
5
  import { copyTemplateHdris, TEMPLATE_HDRI_DIR, templateAuthorsLook } from "./template-hdri.js";
6
+ import { fetchTemplateAssets, missingTemplateAssets, readTemplateAssetManifest } from "./template-assets.js";
6
7
  export const CREATE_AURA3D_TEMPLATES = [
7
8
  "product-viewer",
8
9
  "cinematic-scene",
@@ -75,7 +76,7 @@ export function createA3DProject(options) {
75
76
  const dependencies = { ...(packageJson.dependencies ?? {}) };
76
77
  const auraDependencies = Object.keys(dependencies).filter((name) => name.startsWith("@aura3d/"));
77
78
  if (auraDependencies.length === 0) {
78
- dependencies["@aura3d/engine"] = options.packageVersion ?? "4.3.7";
79
+ dependencies["@aura3d/engine"] = options.packageVersion ?? "4.6.0";
79
80
  }
80
81
  else if (options.packageVersion) {
81
82
  for (const dependency of auraDependencies)
@@ -94,9 +95,14 @@ export function createA3DProject(options) {
94
95
  targetDir,
95
96
  template,
96
97
  files: listTemplateFiles(targetDir),
97
- ...(agentSkills ? { agentSkills } : {})
98
+ ...(agentSkills ? { agentSkills } : {}),
99
+ missingAssets: missingTemplateAssets(readTemplateAssetManifest(rootDir), template, targetDir)
98
100
  };
99
101
  }
102
+ /** Download the template binaries `createA3DProject` reported missing; each is verified against its size and sha256. */
103
+ export async function fetchMissingTemplateAssets(result, options) {
104
+ return fetchTemplateAssets({ projectDir: result.targetDir, template: result.template, entries: result.missingAssets, ...options });
105
+ }
100
106
  export function writeCreateA3DReport(path, result) {
101
107
  mkdirSync(dirname(resolve(path)), { recursive: true });
102
108
  writeFileSync(resolve(path), `${JSON.stringify(result, null, 2)}\n`);
@@ -129,5 +135,6 @@ function findDefaultTemplateRoot() {
129
135
  }
130
136
  export { probeShowcaseGameGeometry } from "./showcase-spec-game-geometry-probe.js";
131
137
  export { SHOWCASE_ASSET_PAIR_COMPOSITION_THRESHOLDS, validateShowcaseAssetPairComposition, validateShowcaseAssetPairCompositionFromDisk } from "./showcase-spec-asset-pair-composition.js";
138
+ export { DEFAULT_TEMPLATE_ASSET_BASES, TEMPLATE_ASSET_MANIFEST, buildTemplateAssetManifest, fetchTemplateAssets, missingTemplateAssets, readTemplateAssetManifest, templateAssetBases } from "./template-assets.js";
132
139
  export { AURA_AGENT_CLIENTS, AURA_SKILLS_LEDGER, findBundledSkillsDir, readSkillsManifest, selectSkills, writeAgentSkills } from "./agent-skills.js";
133
140
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/create-aura3d/src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/create-aura3d/src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,53 @@
1
+ export declare const TEMPLATE_ASSET_MANIFEST = "template-assets.json";
2
+ /** Files at or above this size, with a binary extension, are fetched on demand instead of shipped. */
3
+ export declare const TEMPLATE_ASSET_MIN_BYTES: number;
4
+ export declare const TEMPLATE_ASSET_EXTENSIONS: readonly [".glb", ".gltf", ".bin", ".wav", ".ogg", ".mp3", ".ktx2", ".hdr"];
5
+ export interface TemplateAssetEntry {
6
+ /** Path inside the template, POSIX separators (e.g. "public/aura-assets/hero.glb"). */
7
+ readonly path: string;
8
+ readonly bytes: number;
9
+ readonly sha256: string;
10
+ }
11
+ export interface TemplateAssetManifest {
12
+ readonly schema: "create-aura3d/template-assets@1";
13
+ /** template name -> entries */
14
+ readonly templates: Readonly<Record<string, readonly TemplateAssetEntry[]>>;
15
+ }
16
+ /**
17
+ * Where a file comes from: `<base>/<path inside the package>`. `{version}` in a base is replaced with the package
18
+ * version. Tried in order; AURA3D_TEMPLATE_ASSET_BASE (one base, or several separated by spaces) replaces the defaults.
19
+ */
20
+ export declare const DEFAULT_TEMPLATE_ASSET_BASES: readonly ["https://raw.githubusercontent.com/auraoneai/aura3d/v{version}/packages/create-aura3d", "https://cdn.jsdelivr.net/gh/auraoneai/aura3d@v{version}/packages/create-aura3d"];
21
+ /** Build the manifest from a package root (`<root>/templates/<name>/...`). Pure filesystem, sorted, deterministic. */
22
+ export declare function buildTemplateAssetManifest(rootDir: string, templates: readonly string[], listFiles: (dir: string) => string[]): TemplateAssetManifest;
23
+ export declare function readTemplateAssetManifest(rootDir: string): TemplateAssetManifest | null;
24
+ /** Manifest entries of `template` that are missing (or the wrong size) in `projectDir`. */
25
+ export declare function missingTemplateAssets(manifest: TemplateAssetManifest | null, template: string, projectDir: string): TemplateAssetEntry[];
26
+ export interface FetchTemplateAssetsOptions {
27
+ readonly projectDir: string;
28
+ readonly template: string;
29
+ readonly entries: readonly TemplateAssetEntry[];
30
+ readonly version: string;
31
+ readonly bases?: readonly string[];
32
+ readonly fetch?: (url: string) => Promise<{
33
+ ok: boolean;
34
+ status: number;
35
+ arrayBuffer(): Promise<ArrayBuffer>;
36
+ }>;
37
+ readonly log?: (line: string) => void;
38
+ }
39
+ export interface FetchTemplateAssetsResult {
40
+ readonly fetched: readonly {
41
+ path: string;
42
+ url: string;
43
+ bytes: number;
44
+ }[];
45
+ readonly failed: readonly {
46
+ path: string;
47
+ reasons: readonly string[];
48
+ }[];
49
+ }
50
+ export declare function templateAssetBases(env?: Record<string, string | undefined>): string[];
51
+ /** Download each entry, verify size and sha256, write it atomically. Never writes a file that fails verification. */
52
+ export declare function fetchTemplateAssets(options: FetchTemplateAssetsOptions): Promise<FetchTemplateAssetsResult>;
53
+ //# sourceMappingURL=template-assets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"template-assets.d.ts","sourceRoot":"","sources":["../../../../packages/create-aura3d/src/template-assets.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,uBAAuB,yBAAyB,CAAC;AAC9D,sGAAsG;AACtG,eAAO,MAAM,wBAAwB,QAAa,CAAC;AACnD,eAAO,MAAM,yBAAyB,6EAA8E,CAAC;AAErH,MAAM,WAAW,kBAAkB;IACjC,uFAAuF;IACvF,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AACD,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,MAAM,EAAE,iCAAiC,CAAC;IACnD,+BAA+B;IAC/B,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,kBAAkB,EAAE,CAAC,CAAC,CAAC;CAC7E;AAED;;;GAGG;AACH,eAAO,MAAM,4BAA4B,qLAG/B,CAAC;AAKX,sHAAsH;AACtH,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,MAAM,EAAE,EAAE,SAAS,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,EAAE,GAAG,qBAAqB,CAgBrJ;AAED,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,MAAM,GAAG,qBAAqB,GAAG,IAAI,CAMvF;AAED,2FAA2F;AAC3F,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,qBAAqB,GAAG,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,kBAAkB,EAAE,CAMxI;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,SAAS,kBAAkB,EAAE,CAAC;IAChD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;QAAE,EAAE,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,WAAW,IAAI,OAAO,CAAC,WAAW,CAAC,CAAA;KAAE,CAAC,CAAC;IAChH,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACvC;AACD,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,OAAO,EAAE,SAAS;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC1E,QAAQ,CAAC,MAAM,EAAE,SAAS;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAA;KAAE,EAAE,CAAC;CAC1E;AAED,wBAAgB,kBAAkB,CAAC,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAe,GAAG,MAAM,EAAE,CAGlG;AAED,qHAAqH;AACrH,wBAAsB,mBAAmB,CAAC,OAAO,EAAE,0BAA0B,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAqCjH"}
@@ -0,0 +1,116 @@
1
+ // On-demand template assets (audit RH-14). create-aura3d@4.5.0 is 101.9 MB unpacked; 87 MB of it is 51 binary files
2
+ // (GLB, WAV) under templates/*/public. Those files are left out of the npm tarball and listed, with size and sha256, in
3
+ // template-assets.json. After a template is copied, any listed file that is missing is downloaded from the tagged
4
+ // source tree for this package version and written only if its size and sha256 match. In a source checkout every file
5
+ // is present, so nothing is fetched.
6
+ import { createHash } from "node:crypto";
7
+ import { existsSync, mkdirSync, readFileSync, renameSync, statSync, writeFileSync } from "node:fs";
8
+ import { dirname, join, relative, resolve, sep } from "node:path";
9
+ export const TEMPLATE_ASSET_MANIFEST = "template-assets.json";
10
+ /** Files at or above this size, with a binary extension, are fetched on demand instead of shipped. */
11
+ export const TEMPLATE_ASSET_MIN_BYTES = 256 * 1024;
12
+ export const TEMPLATE_ASSET_EXTENSIONS = [".glb", ".gltf", ".bin", ".wav", ".ogg", ".mp3", ".ktx2", ".hdr"];
13
+ /**
14
+ * Where a file comes from: `<base>/<path inside the package>`. `{version}` in a base is replaced with the package
15
+ * version. Tried in order; AURA3D_TEMPLATE_ASSET_BASE (one base, or several separated by spaces) replaces the defaults.
16
+ */
17
+ export const DEFAULT_TEMPLATE_ASSET_BASES = [
18
+ "https://raw.githubusercontent.com/auraoneai/aura3d/v{version}/packages/create-aura3d",
19
+ "https://cdn.jsdelivr.net/gh/auraoneai/aura3d@v{version}/packages/create-aura3d"
20
+ ];
21
+ const toPosix = (p) => p.split(sep).join("/");
22
+ const sha256 = (bytes) => createHash("sha256").update(bytes).digest("hex");
23
+ /** Build the manifest from a package root (`<root>/templates/<name>/...`). Pure filesystem, sorted, deterministic. */
24
+ export function buildTemplateAssetManifest(rootDir, templates, listFiles) {
25
+ const out = {};
26
+ for (const template of [...templates].sort()) {
27
+ const dir = resolve(rootDir, "templates", template);
28
+ const entries = [];
29
+ for (const file of listFiles(dir).sort()) {
30
+ const rel = toPosix(relative(dir, file));
31
+ if (rel.split("/").some((part) => part === "node_modules" || part === "dist" || part === "test-results"))
32
+ continue;
33
+ if (!TEMPLATE_ASSET_EXTENSIONS.some((ext) => rel.toLowerCase().endsWith(ext)))
34
+ continue;
35
+ const size = statSync(file).size;
36
+ if (size < TEMPLATE_ASSET_MIN_BYTES)
37
+ continue;
38
+ entries.push({ path: rel, bytes: size, sha256: sha256(readFileSync(file)) });
39
+ }
40
+ if (entries.length)
41
+ out[template] = entries;
42
+ }
43
+ return { schema: "create-aura3d/template-assets@1", templates: out };
44
+ }
45
+ export function readTemplateAssetManifest(rootDir) {
46
+ const file = resolve(rootDir, TEMPLATE_ASSET_MANIFEST);
47
+ if (!existsSync(file))
48
+ return null;
49
+ const parsed = JSON.parse(readFileSync(file, "utf8"));
50
+ if (parsed.schema !== "create-aura3d/template-assets@1")
51
+ throw new Error(`create-aura3d: unknown ${TEMPLATE_ASSET_MANIFEST} schema ${String(parsed.schema)}`);
52
+ return parsed;
53
+ }
54
+ /** Manifest entries of `template` that are missing (or the wrong size) in `projectDir`. */
55
+ export function missingTemplateAssets(manifest, template, projectDir) {
56
+ const entries = manifest?.templates[template] ?? [];
57
+ return entries.filter((entry) => {
58
+ const file = join(projectDir, ...entry.path.split("/"));
59
+ return !existsSync(file) || statSync(file).size !== entry.bytes;
60
+ });
61
+ }
62
+ export function templateAssetBases(env = process.env) {
63
+ const override = env.AURA3D_TEMPLATE_ASSET_BASE?.trim();
64
+ return override ? override.split(/\s+/) : [...DEFAULT_TEMPLATE_ASSET_BASES];
65
+ }
66
+ /** Download each entry, verify size and sha256, write it atomically. Never writes a file that fails verification. */
67
+ export async function fetchTemplateAssets(options) {
68
+ const doFetch = options.fetch ?? ((url) => fetch(url));
69
+ const bases = (options.bases ?? templateAssetBases()).map((b) => b.replace(/\{version\}/g, options.version).replace(/\/+$/, ""));
70
+ const fetched = [];
71
+ const failed = [];
72
+ for (const entry of options.entries) {
73
+ if (entry.path.split("/").some((part) => part === ".." || part === "") || entry.path.startsWith("/")) {
74
+ failed.push({ path: entry.path, reasons: ["unsafe path in manifest"] });
75
+ continue;
76
+ }
77
+ const reasons = [];
78
+ let done = false;
79
+ for (const base of bases) {
80
+ const url = `${base}/templates/${options.template}/${entry.path}`;
81
+ try {
82
+ const response = await doFetch(url);
83
+ if (!response.ok) {
84
+ reasons.push(`${url}: HTTP ${response.status}`);
85
+ continue;
86
+ }
87
+ const bytes = new Uint8Array(await response.arrayBuffer());
88
+ if (bytes.byteLength !== entry.bytes) {
89
+ reasons.push(`${url}: ${bytes.byteLength} bytes, expected ${entry.bytes}`);
90
+ continue;
91
+ }
92
+ const digest = sha256(bytes);
93
+ if (digest !== entry.sha256) {
94
+ reasons.push(`${url}: sha256 ${digest.slice(0, 12)}..., expected ${entry.sha256.slice(0, 12)}...`);
95
+ continue;
96
+ }
97
+ const target = join(options.projectDir, ...entry.path.split("/"));
98
+ mkdirSync(dirname(target), { recursive: true });
99
+ const temp = `${target}.download`;
100
+ writeFileSync(temp, bytes);
101
+ renameSync(temp, target);
102
+ fetched.push({ path: entry.path, url, bytes: bytes.byteLength });
103
+ options.log?.(`fetched ${entry.path} (${(bytes.byteLength / 1048576).toFixed(1)} MB)`);
104
+ done = true;
105
+ break;
106
+ }
107
+ catch (error) {
108
+ reasons.push(`${url}: ${error instanceof Error ? error.message : String(error)}`);
109
+ }
110
+ }
111
+ if (!done)
112
+ failed.push({ path: entry.path, reasons });
113
+ }
114
+ return { fetched, failed };
115
+ }
116
+ //# sourceMappingURL=template-assets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"template-assets.js","sourceRoot":"","sources":["../../../../packages/create-aura3d/src/template-assets.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,9 @@
3
3
  * time base. `getDelta()` returns seconds since the last `getDelta`/
4
4
  * `getElapsedTime` call (0 while stopped); `getElapsedTime()` returns total
5
5
  * seconds since `start()`. `autoStart` (default true) starts the clock on the
6
- * first read, matching three.js.
6
+ * first read, matching three.js. `stop()` folds the pending interval into
7
+ * `elapsedTime` and clears `autoStart`, as three does, so a stopped clock stays
8
+ * stopped and keeps its time (anim-phys-05).
7
9
  *
8
10
  * Backed by `createFrameLoop({ useRaf: false, fixedDt: 0 })`: the loop is a
9
11
  * pure accumulator here — `step(dt)` adds scaled real seconds to `time`, which
@@ -19,10 +21,14 @@ export interface AuraClockOptions {
19
21
  export declare class Clock {
20
22
  private readonly loop;
21
23
  private readonly now;
22
- private readonly autoStart;
24
+ /** three's `clock.autoStart`; `stop()` sets it to false. */
25
+ autoStart: boolean;
23
26
  private lastNow;
24
27
  private runningFlag;
25
- constructor(options?: AuraClockOptions);
28
+ /** Loop time at the last start(); three resets elapsedTime to 0 on every start(). */
29
+ private baseTime;
30
+ /** `new Clock(false)` is three's `autoStart` argument; the options object is the Aura form. */
31
+ constructor(options?: AuraClockOptions | boolean);
26
32
  /** three's `clock.running`. */
27
33
  get running(): boolean;
28
34
  /** three's `clock.elapsedTime` (seconds accumulated since start). */
@@ -1 +1 @@
1
- {"version":3,"file":"Clock.d.ts","sourceRoot":"","sources":["../../../../../packages/engine/src/agent-api/Clock.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH,MAAM,WAAW,gBAAgB;IAC/B,mFAAmF;IACnF,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IAC5B,uFAAuF;IACvF,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,qBAAa,KAAK;IAChB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAY;IACjC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAe;IACnC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAU;IACpC,OAAO,CAAC,OAAO,CAAqB;IACpC,OAAO,CAAC,WAAW,CAAS;gBAEhB,OAAO,GAAE,gBAAqB;IAM1C,+BAA+B;IAC/B,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,qEAAqE;IACrE,IAAI,WAAW,IAAI,MAAM,CAExB;IAED,KAAK,IAAI,IAAI;IAQb,IAAI,IAAI,IAAI;IAMZ,gFAAgF;IAChF,QAAQ,IAAI,MAAM;IAgBlB,mGAAmG;IACnG,cAAc,IAAI,MAAM;CAIzB"}
1
+ {"version":3,"file":"Clock.d.ts","sourceRoot":"","sources":["../../../../../packages/engine/src/agent-api/Clock.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAIH,MAAM,WAAW,gBAAgB;IAC/B,mFAAmF;IACnF,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IAC5B,uFAAuF;IACvF,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,qBAAa,KAAK;IAChB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAY;IACjC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAe;IACnC,4DAA4D;IAC5D,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,OAAO,CAAqB;IACpC,OAAO,CAAC,WAAW,CAAS;IAC5B,qFAAqF;IACrF,OAAO,CAAC,QAAQ,CAAK;IAErB,+FAA+F;gBACnF,OAAO,GAAE,gBAAgB,GAAG,OAAY;IAOpD,+BAA+B;IAC/B,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,qEAAqE;IACrE,IAAI,WAAW,IAAI,MAAM,CAExB;IAED,KAAK,IAAI,IAAI;IASb,IAAI,IAAI,IAAI;IASZ,gFAAgF;IAChF,QAAQ,IAAI,MAAM;IAalB,mGAAmG;IACnG,cAAc,IAAI,MAAM;CAIzB"}
@@ -3,7 +3,9 @@
3
3
  * time base. `getDelta()` returns seconds since the last `getDelta`/
4
4
  * `getElapsedTime` call (0 while stopped); `getElapsedTime()` returns total
5
5
  * seconds since `start()`. `autoStart` (default true) starts the clock on the
6
- * first read, matching three.js.
6
+ * first read, matching three.js. `stop()` folds the pending interval into
7
+ * `elapsedTime` and clears `autoStart`, as three does, so a stopped clock stays
8
+ * stopped and keeps its time (anim-phys-05).
7
9
  *
8
10
  * Backed by `createFrameLoop({ useRaf: false, fixedDt: 0 })`: the loop is a
9
11
  * pure accumulator here — `step(dt)` adds scaled real seconds to `time`, which
@@ -14,10 +16,16 @@ import { createFrameLoop } from "./FrameLoop.js";
14
16
  export class Clock {
15
17
  loop;
16
18
  now;
19
+ /** three's `clock.autoStart`; `stop()` sets it to false. */
17
20
  autoStart;
18
21
  lastNow;
19
22
  runningFlag = false;
23
+ /** Loop time at the last start(); three resets elapsedTime to 0 on every start(). */
24
+ baseTime = 0;
25
+ /** `new Clock(false)` is three's `autoStart` argument; the options object is the Aura form. */
20
26
  constructor(options = {}) {
27
+ if (typeof options === "boolean")
28
+ options = { autoStart: options };
21
29
  this.now = options.now ?? (() => (typeof performance === "undefined" ? Date.now() : performance.now()));
22
30
  this.autoStart = options.autoStart !== false;
23
31
  this.loop = createFrameLoop({ useRaf: false, autoStart: false, fixedDt: 0, now: this.now });
@@ -28,9 +36,10 @@ export class Clock {
28
36
  }
29
37
  /** three's `clock.elapsedTime` (seconds accumulated since start). */
30
38
  get elapsedTime() {
31
- return this.loop.snapshot().time;
39
+ return this.loop.snapshot().time - this.baseTime;
32
40
  }
33
41
  start() {
42
+ this.baseTime = this.loop.snapshot().time;
34
43
  this.runningFlag = true;
35
44
  this.loop.start();
36
45
  // `lastNow` marks the resume instant so the stopped interval never leaks
@@ -38,6 +47,10 @@ export class Clock {
38
47
  this.lastNow = this.now();
39
48
  }
40
49
  stop() {
50
+ // three: `this.getElapsedTime(); this.running = false; this.autoStart = false;`
51
+ if (this.runningFlag)
52
+ this.getDelta();
53
+ this.autoStart = false;
41
54
  this.runningFlag = false;
42
55
  this.loop.stop();
43
56
  this.lastNow = undefined;
@@ -45,10 +58,8 @@ export class Clock {
45
58
  /** Seconds since the previous `getDelta`/`getElapsedTime` (0 while stopped). */
46
59
  getDelta() {
47
60
  if (!this.runningFlag) {
48
- if (this.autoStart && this.lastNow === undefined) {
61
+ if (this.autoStart)
49
62
  this.start();
50
- return 0;
51
- }
52
63
  return 0;
53
64
  }
54
65
  const now = this.now();
@@ -61,7 +72,7 @@ export class Clock {
61
72
  /** Total seconds since `start()`; pulling a pending delta first keeps the two reads consistent. */
62
73
  getElapsedTime() {
63
74
  this.getDelta();
64
- return this.loop.snapshot().time;
75
+ return this.elapsedTime;
65
76
  }
66
77
  }
67
78
  //# sourceMappingURL=Clock.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Clock.js","sourceRoot":"","sources":["../../../../../packages/engine/src/agent-api/Clock.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,eAAe,EAAkB,MAAM,gBAAgB,CAAC;AASjE,MAAM,OAAO,KAAK;IACC,IAAI,CAAY;IAChB,GAAG,CAAe;IAClB,SAAS,CAAU;IAC5B,OAAO,CAAqB;IAC5B,WAAW,GAAG,KAAK,CAAC;IAE5B,YAAY,UAA4B,EAAE;QACxC,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,OAAO,WAAW,KAAK,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACxG,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,KAAK,KAAK,CAAC;QAC7C,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IAC9F,CAAC;IAED,+BAA+B;IAC/B,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED,qEAAqE;IACrE,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC;IACnC,CAAC;IAED,KAAK;QACH,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QAClB,yEAAyE;QACzE,uBAAuB;QACvB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC5B,CAAC;IAED,IAAI;QACF,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACzB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;IAC3B,CAAC;IAED,gFAAgF;IAChF,QAAQ;QACN,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;gBACjD,IAAI,CAAC,KAAK,EAAE,CAAC;gBACb,OAAO,CAAC,CAAC;YACX,CAAC;YACD,OAAO,CAAC,CAAC;QACX,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;QAC7D,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC;QACnB,4DAA4D;QAC5D,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACnB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,mGAAmG;IACnG,cAAc;QACZ,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChB,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC;IACnC,CAAC;CACF"}
1
+ {"version":3,"file":"Clock.js","sourceRoot":"","sources":["../../../../../packages/engine/src/agent-api/Clock.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,eAAe,EAAkB,MAAM,gBAAgB,CAAC;AASjE,MAAM,OAAO,KAAK;IACC,IAAI,CAAY;IAChB,GAAG,CAAe;IACnC,4DAA4D;IAC5D,SAAS,CAAU;IACX,OAAO,CAAqB;IAC5B,WAAW,GAAG,KAAK,CAAC;IAC5B,qFAAqF;IAC7E,QAAQ,GAAG,CAAC,CAAC;IAErB,+FAA+F;IAC/F,YAAY,UAAsC,EAAE;QAClD,IAAI,OAAO,OAAO,KAAK,SAAS;YAAE,OAAO,GAAG,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC;QACnE,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,OAAO,WAAW,KAAK,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACxG,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,KAAK,KAAK,CAAC;QAC7C,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IAC9F,CAAC;IAED,+BAA+B;IAC/B,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED,qEAAqE;IACrE,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC;IACnD,CAAC;IAED,KAAK;QACH,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC;QAC1C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QAClB,yEAAyE;QACzE,uBAAuB;QACvB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC5B,CAAC;IAED,IAAI;QACF,gFAAgF;QAChF,IAAI,IAAI,CAAC,WAAW;YAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;QACtC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACzB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;IAC3B,CAAC;IAED,gFAAgF;IAChF,QAAQ;QACN,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,IAAI,IAAI,CAAC,SAAS;gBAAE,IAAI,CAAC,KAAK,EAAE,CAAC;YACjC,OAAO,CAAC,CAAC;QACX,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;QAC7D,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC;QACnB,4DAA4D;QAC5D,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACnB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,mGAAmG;IACnG,cAAc;QACZ,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChB,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;CACF"}
@@ -0,0 +1,26 @@
1
+ import type { BoneMaskSkeleton, BoneMaskSpec } from "../../animation/lanes/index.js";
2
+ import type { AuraBoneMaskSpec } from "../contracts/animation.js";
3
+ /**
4
+ * The public `AuraBoneMaskSpec` (`{ include?, exclude?, humanoid? }`) is not the shape the pose mixer's
5
+ * `createBoneMask` reads (`{ include: selector[], weights }`). Handing the public spec over unchanged made
6
+ * `humanoid` and `exclude` silent no-ops, so `mask: { humanoid: "upper-body" }` produced an all-zero mask and
7
+ * the layer did nothing. This maps one onto the other:
8
+ *
9
+ * - `include` entries are exact bone names (or pose selectors, passed through);
10
+ * - `humanoid` adds the matching preset (`"arms"` is both arms);
11
+ * - `exclude` names get weight 0 after the includes, so they win, and take their child bones with them;
12
+ * with no `include`/`humanoid`, the mask starts from the full body (anim-phys-08).
13
+ */
14
+ /**
15
+ * The skeleton a mask is built over: bind-order joint names plus parent indices, so subtree
16
+ * selectors (`upper-body`, `exclude`) reach child bones. Without the mixer's skeleton the parents
17
+ * are unknown and every selector touches only the named joints (anim-phys-08).
18
+ */
19
+ export declare function boneMaskSkeletonFor(runtime: {
20
+ readonly skeletonJointNames?: () => readonly string[];
21
+ readonly mixer?: () => {
22
+ readonly skeleton?: BoneMaskSkeleton;
23
+ };
24
+ }): BoneMaskSkeleton | undefined;
25
+ export declare function toPoseBoneMaskSpec(spec: AuraBoneMaskSpec | BoneMaskSpec): BoneMaskSpec;
26
+ //# sourceMappingURL=animationMask.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"animationMask.d.ts","sourceRoot":"","sources":["../../../../../packages/engine/src/agent-api/animationMask.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAoB,gBAAgB,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAChG,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAElE;;;;;;;;;;GAUG;AACH;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE;IAC3C,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,SAAS,MAAM,EAAE,CAAC;IACtD,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM;QAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,gBAAgB,CAAA;KAAE,CAAC;CACjE,GAAG,gBAAgB,GAAG,SAAS,CAI/B;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,gBAAgB,GAAG,YAAY,GAAG,YAAY,CAYtF"}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * The public `AuraBoneMaskSpec` (`{ include?, exclude?, humanoid? }`) is not the shape the pose mixer's
3
+ * `createBoneMask` reads (`{ include: selector[], weights }`). Handing the public spec over unchanged made
4
+ * `humanoid` and `exclude` silent no-ops, so `mask: { humanoid: "upper-body" }` produced an all-zero mask and
5
+ * the layer did nothing. This maps one onto the other:
6
+ *
7
+ * - `include` entries are exact bone names (or pose selectors, passed through);
8
+ * - `humanoid` adds the matching preset (`"arms"` is both arms);
9
+ * - `exclude` names get weight 0 after the includes, so they win, and take their child bones with them;
10
+ * with no `include`/`humanoid`, the mask starts from the full body (anim-phys-08).
11
+ */
12
+ /**
13
+ * The skeleton a mask is built over: bind-order joint names plus parent indices, so subtree
14
+ * selectors (`upper-body`, `exclude`) reach child bones. Without the mixer's skeleton the parents
15
+ * are unknown and every selector touches only the named joints (anim-phys-08).
16
+ */
17
+ export function boneMaskSkeletonFor(runtime) {
18
+ const skeleton = typeof runtime.mixer === "function" ? runtime.mixer().skeleton : undefined;
19
+ if (skeleton?.parentIndices !== undefined)
20
+ return { jointNames: skeleton.jointNames, parentIndices: skeleton.parentIndices };
21
+ return typeof runtime.skeletonJointNames === "function" ? { jointNames: runtime.skeletonJointNames() } : undefined;
22
+ }
23
+ export function toPoseBoneMaskSpec(spec) {
24
+ const source = spec;
25
+ const include = [...(source.include ?? [])];
26
+ if (source.humanoid === "arms")
27
+ include.push({ humanoid: "left-arm" }, { humanoid: "right-arm" });
28
+ else if (source.humanoid !== undefined)
29
+ include.push({ humanoid: source.humanoid });
30
+ const weights = { ...(source.weights ?? {}) };
31
+ const exclude = [...(source.exclude ?? [])];
32
+ return {
33
+ include,
34
+ ...(Object.keys(weights).length > 0 ? { weights } : {}),
35
+ ...(exclude.length > 0 ? { exclude } : {})
36
+ };
37
+ }
38
+ //# sourceMappingURL=animationMask.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"animationMask.js","sourceRoot":"","sources":["../../../../../packages/engine/src/agent-api/animationMask.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;GAUG;AACH;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,OAGnC;IACC,MAAM,QAAQ,GAAG,OAAO,OAAO,CAAC,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;IAC5F,IAAI,QAAQ,EAAE,aAAa,KAAK,SAAS;QAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,CAAC,UAAU,EAAE,aAAa,EAAE,QAAQ,CAAC,aAAa,EAAE,CAAC;IAC7H,OAAO,OAAO,OAAO,CAAC,kBAAkB,KAAK,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AACrH,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,IAAqC;IACtE,MAAM,MAAM,GAAG,IAAgD,CAAC;IAChE,MAAM,OAAO,GAAuB,CAAC,GAAI,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAiC,CAAC,CAAC;IACjG,IAAI,MAAM,CAAC,QAAQ,KAAK,MAAM;QAAE,OAAO,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,CAAC;SAC7F,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS;QAAE,OAAO,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;IACpF,MAAM,OAAO,GAA2B,EAAE,GAAG,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,CAAC;IACtE,MAAM,OAAO,GAAuB,CAAC,GAAI,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAiC,CAAC,CAAC;IACjG,OAAO;QACL,OAAO;QACP,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvD,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC3C,CAAC;AACJ,CAAC"}
@@ -19,6 +19,8 @@ export declare function resetQrAnimationFlags(): void;
19
19
  * the §5.2 chain, the highest sources reachable without the app seam.
20
20
  */
21
21
  export declare function qrAnimationFlags(): QrFlags;
22
+ /** Error code `addClipsFrom` rejects with when a node-handle source has no loaded actor. */
23
+ export declare const ANIMATION_RETARGET_SOURCE_NOT_LOADED = "ANIMATION_RETARGET_SOURCE_NOT_LOADED";
22
24
  /** Warning code emitted through `runtimeWarnings` for a rejected empty pose (T0.2). */
23
25
  export declare const ANIMATION_EMPTY_POSE = "ANIMATION_EMPTY_POSE";
24
26
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"actorAnimationHandle.d.ts","sourceRoot":"","sources":["../../../../../../packages/engine/src/agent-api/app/actorAnimationHandle.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAWvD,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,6BAA6B,CAAC;AACjF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAE3D,OAAO,KAAK,EAA2C,2CAA2C,EAAE,MAAM,yBAAyB,CAAC;AACpI,OAAO,EAEL,KAAK,qBAAqB,EAE1B,KAAK,wBAAwB,EAI7B,KAAK,oBAAoB,EAC1B,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAClE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2CAA2C,CAAC;AAO/E;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,GAAG,IAAI,CAEpE;AAED,4EAA4E;AAC5E,wBAAgB,qBAAqB,IAAI,IAAI,CAG5C;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,IAAI,OAAO,CAO1C;AAED,uFAAuF;AACvF,eAAO,MAAM,oBAAoB,yBAAyB,CAAC;AAO3D;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,aAAa,GAAG,SAAS,GAAG,IAAI,GAAG,aAAa,GAAG,SAAS,CAK1G;AAQD;;;;;GAKG;AACH,wBAAgB,gCAAgC,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAIpF;AAED,sDAAsD;AACtD,wBAAgB,wBAAwB,IAAI,IAAI,CAG/C;AAED,MAAM,WAAW,8BAA8B;IAC7C,gBAAgB,CAAC,IAAI,EAAE,aAAa,GAAG,SAAS,EAAE,QAAQ,CAAC,EAAE,2CAA2C,GAAG,OAAO,CAAC;CACpH;AAED,MAAM,WAAW,mCAAmC;IAClD,0EAA0E;IAC1E,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,+FAA+F;IAC/F,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC1B;;;OAGG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC;CAC5D;AAED;;;;;;;;GAQG;AACH,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,8BAA8B,EACtC,IAAI,EAAE,aAAa,GAAG,SAAS,EAC/B,QAAQ,CAAC,EAAE,2CAA2C,EACtD,OAAO,GAAE,mCAAwC,GAChD,OAAO,CAuBT;AAED,4EAA4E;AAC5E,eAAO,MAAM,cAAc,EAAE,OAAwB,CAAC;AAStD,MAAM,MAAM,mBAAmB,GAAG,MAAM,SAAS,oBAAoB,EAAE,CAAC;AAUxE;;;;GAIG;AACH,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,mBAAmB,GAAG,MAAM,IAAI,CAsBpG;AAED,4EAA4E;AAC5E,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,oBAAoB,EAAE,CAAC,CAcrG;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAE/D;AAWD,wEAAwE;AACxE,MAAM,MAAM,yBAAyB,GAAG,MAAM,6BAA6B,GAAG,IAAI,GAAG,SAAS,CAAC;AAE/F,kFAAkF;AAClF,MAAM,MAAM,qBAAqB,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,SAAS,MAAM,EAAE,GAAG,YAAY,GAAG,IAAI,GAAG,SAAS,CAAC;AAE1G;;;;;GAKG;AACH,MAAM,MAAM,qBAAqB,GAAG,qBAAqB,CAAC;AAM1D,+EAA+E;AAC/E,eAAO,MAAM,6BAA6B,kCAAkC,CAAC;AAU7E,wEAAwE;AACxE,wBAAgB,iCAAiC,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,yBAAyB,GAAG,MAAM,IAAI,CAEhH;AAED,wEAAwE;AACxE,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,qBAAqB,GAAG,MAAM,IAAI,CAExG;AAED,6FAA6F;AAC7F,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,qBAAqB,GAAG,MAAM,IAAI,CAExG;AAED,8EAA8E;AAC9E,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CAGrF;AAED,wDAAwD;AACxD,wBAAgB,+BAA+B,IAAI,IAAI,CAKtD;AASD,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,2DAA2D;IAC3D,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAID;;;;GAIG;AACH,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,wBAAwB,GACnC,MAAM,IAAI,CAWZ;AAED,2DAA2D;AAC3D,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAE/D;AAED,uCAAuC;AACvC,wBAAgB,yBAAyB,IAAI,IAAI,CAEhD;AAED;;;;;;;;GAQG;AACH,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,SAAS,CAAC,MAAM,CAAC,EAC9B,YAAY,EAAE;IAAE,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG;QAAE,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;QAAC,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,GAAG,SAAS,CAAA;CAAE,GAAG,SAAS,GAC5M,MAAM,CAkBR;AAED;;;;;GAKG;AACH,wBAAgB,gCAAgC,IAAI,wBAAwB,CAmB3E;AAuBD,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM,IAAI,CAK5E;AAyTD;;GAEG;AACH,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,qBAAqB,EAAE,GAAG,CAAC,EAAE,OAAO,GAAG,qBAAqB,CAEhH;AAED,iEAAiE;AACjE,wBAAgB,yBAAyB,IAAI,IAAI,CAIhD"}
1
+ {"version":3,"file":"actorAnimationHandle.d.ts","sourceRoot":"","sources":["../../../../../../packages/engine/src/agent-api/app/actorAnimationHandle.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,7 @@
8
8
  import { composeMat4, decomposeMat4, eulerXYZFromQuat, multiplyMat4, quatFromEulerXYZ } from "../../../scene/index.js";
9
9
  import { addPrd06ActorConstraint, addPrd06ActorSpringBones, clearPrd06ActorConstraints, clearPrd06ActorSpringBones } from "../../production-runtime/actor/TypedGLBActorAnimation.js";
10
10
  import { createBoneMask } from "../../../animation/lanes/index.js";
11
+ import { boneMaskSkeletonFor, toPoseBoneMaskSpec } from "../animationMask.js";
11
12
  import { resolveQrFlags } from "../../contracts/flags.js";
12
13
  import { StubActorAnimationApi } from "../../contracts/animation.js";
13
14
  let overrideQrAnimationFlags;
@@ -40,6 +41,8 @@ export function qrAnimationFlags() {
40
41
  });
41
42
  return lazyQrAnimationFlags;
42
43
  }
44
+ /** Error code `addClipsFrom` rejects with when a node-handle source has no loaded actor. */
45
+ export const ANIMATION_RETARGET_SOURCE_NOT_LOADED = "ANIMATION_RETARGET_SOURCE_NOT_LOADED";
43
46
  /** Warning code emitted through `runtimeWarnings` for a rejected empty pose (T0.2). */
44
47
  export const ANIMATION_EMPTY_POSE = "ANIMATION_EMPTY_POSE";
45
48
  function nonEmptyRecord(value) {
@@ -349,8 +352,9 @@ class Prd06ActorAnimationApi extends StubActorAnimationApi {
349
352
  if (mixer === undefined)
350
353
  return super.playLayer(layer, clip, options);
351
354
  const runtime = this.actor.animation;
352
- const mask = options?.mask !== undefined && typeof runtime.skeletonJointNames === "function"
353
- ? createBoneMask(options.mask, { jointNames: runtime.skeletonJointNames() })
355
+ const maskSkeleton = options?.mask !== undefined ? boneMaskSkeletonFor(runtime) : undefined;
356
+ const mask = options?.mask !== undefined && maskSkeleton !== undefined
357
+ ? createBoneMask(toPoseBoneMaskSpec(options.mask), maskSkeleton)
354
358
  : undefined;
355
359
  const additiveWanted = options?.blendMode === "additive";
356
360
  const clipName = additiveWanted && typeof runtime.ensureAdditiveClip === "function"
@@ -360,7 +364,9 @@ class Prd06ActorAnimationApi extends StubActorAnimationApi {
360
364
  weight: options?.weight,
361
365
  blendMode: options?.blendMode,
362
366
  additive: additiveWanted,
363
- mask
367
+ mask,
368
+ // A replaced clip on the same layer fades out while the new one fades in (anim-phys-03).
369
+ ...(options?.fadeIn !== undefined && options.fadeIn > 0 ? { fadeOutPrevious: options.fadeIn } : {})
364
370
  });
365
371
  if (options?.fadeIn !== undefined && options.fadeIn > 0)
366
372
  action.fadeIn(options.fadeIn);
@@ -492,6 +498,23 @@ class Prd06ActorAnimationApi extends StubActorAnimationApi {
492
498
  if (!qrAnimationFlags().on("A3D_QR_ANIMATION") || runtime === undefined || typeof runtime.addClipsFrom !== "function") {
493
499
  return Promise.resolve([]);
494
500
  }
501
+ // Root reach: a route only holds runtime-node handles, never the loaded actor's
502
+ // animation runtime. A handle (or its id) names a loaded model node; its actor
503
+ // runtime is the retarget source. A node that has not loaded yet is a caller error,
504
+ // never a silent empty bake.
505
+ const sourceNodeId = typeof source === "string"
506
+ ? source
507
+ : source !== null && typeof source === "object" && typeof source.id === "string"
508
+ && source.kind === "model"
509
+ ? source.id
510
+ : undefined;
511
+ if (sourceNodeId !== undefined) {
512
+ const sourceRuntime = prd06AnimationActors.get(sourceNodeId)?.animation;
513
+ if (sourceRuntime === undefined) {
514
+ return Promise.reject(new Error(`${ANIMATION_RETARGET_SOURCE_NOT_LOADED}: model node "${sourceNodeId}" has no loaded actor animation runtime. Await app.ready() (and step once) before addClipsFrom.`));
515
+ }
516
+ source = sourceRuntime;
517
+ }
495
518
  return runtime.addClipsFrom(source, {
496
519
  ...(options?.map !== undefined ? { map: options.map } : {}),
497
520
  ...(options?.hipsScale !== undefined ? { hipsScale: options.hipsScale } : {}),