@aura3d/engine 4.0.7 → 4.1.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 (314) hide show
  1. package/dist/audio/index.d.ts +1 -0
  2. package/dist/audio/index.d.ts.map +1 -1
  3. package/dist/audio/index.js +1 -0
  4. package/dist/audio/index.js.map +1 -1
  5. package/dist/audio/synth/SampleSlices.d.ts +88 -0
  6. package/dist/audio/synth/SampleSlices.d.ts.map +1 -0
  7. package/dist/audio/synth/SampleSlices.js +185 -0
  8. package/dist/audio/synth/SampleSlices.js.map +1 -0
  9. package/dist/audio/synth/SynthCueBank.d.ts +102 -0
  10. package/dist/audio/synth/SynthCueBank.d.ts.map +1 -0
  11. package/dist/audio/synth/SynthCueBank.js +323 -0
  12. package/dist/audio/synth/SynthCueBank.js.map +1 -0
  13. package/dist/audio/synth/SynthLoops.d.ts +77 -0
  14. package/dist/audio/synth/SynthLoops.d.ts.map +1 -0
  15. package/dist/audio/synth/SynthLoops.js +147 -0
  16. package/dist/audio/synth/SynthLoops.js.map +1 -0
  17. package/dist/audio/synth/index.d.ts +9 -0
  18. package/dist/audio/synth/index.d.ts.map +1 -0
  19. package/dist/audio/synth/index.js +5 -0
  20. package/dist/audio/synth/index.js.map +1 -0
  21. package/dist/audio/synth/notes.d.ts +18 -0
  22. package/dist/audio/synth/notes.d.ts.map +1 -0
  23. package/dist/audio/synth/notes.js +35 -0
  24. package/dist/audio/synth/notes.js.map +1 -0
  25. package/dist/audio/synth/types.d.ts +84 -0
  26. package/dist/audio/synth/types.d.ts.map +1 -0
  27. package/dist/audio/synth/types.js +2 -0
  28. package/dist/audio/synth/types.js.map +1 -0
  29. package/dist/aura3d-cli/cli-help.d.ts.map +1 -1
  30. package/dist/aura3d-cli/cli-help.js +6 -0
  31. package/dist/aura3d-cli/cli-help.js.map +1 -1
  32. package/dist/aura3d-cli/cli.js +33 -0
  33. package/dist/aura3d-cli/cli.js.map +1 -1
  34. package/dist/aura3d-cli/commands/assets/gltfToolkit.d.ts +25 -0
  35. package/dist/aura3d-cli/commands/assets/gltfToolkit.d.ts.map +1 -0
  36. package/dist/aura3d-cli/commands/assets/gltfToolkit.js +59 -0
  37. package/dist/aura3d-cli/commands/assets/gltfToolkit.js.map +1 -0
  38. package/dist/aura3d-cli/commands/assets/importMeshy.d.ts +50 -0
  39. package/dist/aura3d-cli/commands/assets/importMeshy.d.ts.map +1 -0
  40. package/dist/aura3d-cli/commands/assets/importMeshy.js +112 -0
  41. package/dist/aura3d-cli/commands/assets/importMeshy.js.map +1 -0
  42. package/dist/aura3d-cli/commands/assets/index.d.ts +6 -0
  43. package/dist/aura3d-cli/commands/assets/index.d.ts.map +1 -0
  44. package/dist/aura3d-cli/commands/assets/index.js +54 -0
  45. package/dist/aura3d-cli/commands/assets/index.js.map +1 -0
  46. package/dist/aura3d-cli/commands/assets/mergeClips.d.ts +44 -0
  47. package/dist/aura3d-cli/commands/assets/mergeClips.d.ts.map +1 -0
  48. package/dist/aura3d-cli/commands/assets/mergeClips.js +103 -0
  49. package/dist/aura3d-cli/commands/assets/mergeClips.js.map +1 -0
  50. package/dist/aura3d-cli/commands/assets/optimize.d.ts +54 -0
  51. package/dist/aura3d-cli/commands/assets/optimize.d.ts.map +1 -0
  52. package/dist/aura3d-cli/commands/assets/optimize.js +76 -0
  53. package/dist/aura3d-cli/commands/assets/optimize.js.map +1 -0
  54. package/dist/aura3d-cli/commands/assets/optimizeVerb.d.ts +9 -0
  55. package/dist/aura3d-cli/commands/assets/optimizeVerb.d.ts.map +1 -0
  56. package/dist/aura3d-cli/commands/assets/optimizeVerb.js +40 -0
  57. package/dist/aura3d-cli/commands/assets/optimizeVerb.js.map +1 -0
  58. package/dist/aura3d-cli/commands/meshyLedger.d.ts +103 -0
  59. package/dist/aura3d-cli/commands/meshyLedger.d.ts.map +1 -0
  60. package/dist/aura3d-cli/commands/meshyLedger.js +308 -0
  61. package/dist/aura3d-cli/commands/meshyLedger.js.map +1 -0
  62. package/dist/aura3d-cli/commands/prd05/index.d.ts.map +1 -1
  63. package/dist/aura3d-cli/commands/prd05/index.js +8 -2
  64. package/dist/aura3d-cli/commands/prd05/index.js.map +1 -1
  65. package/dist/aura3d-cli/commands/registry.d.ts +1 -0
  66. package/dist/aura3d-cli/commands/registry.d.ts.map +1 -1
  67. package/dist/aura3d-cli/commands/registry.js +1 -0
  68. package/dist/aura3d-cli/commands/registry.js.map +1 -1
  69. package/dist/create-aura3d/index.js +1 -1
  70. package/dist/debug/index.d.ts +2 -0
  71. package/dist/debug/index.d.ts.map +1 -1
  72. package/dist/debug/index.js +1 -0
  73. package/dist/debug/index.js.map +1 -1
  74. package/dist/debug/safety/blackFrame.d.ts +45 -0
  75. package/dist/debug/safety/blackFrame.d.ts.map +1 -0
  76. package/dist/debug/safety/blackFrame.js +109 -0
  77. package/dist/debug/safety/blackFrame.js.map +1 -0
  78. package/dist/debug/safety/diagnosticsPanel.d.ts +53 -0
  79. package/dist/debug/safety/diagnosticsPanel.d.ts.map +1 -0
  80. package/dist/debug/safety/diagnosticsPanel.js +117 -0
  81. package/dist/debug/safety/diagnosticsPanel.js.map +1 -0
  82. package/dist/debug/safety/index.d.ts +47 -0
  83. package/dist/debug/safety/index.d.ts.map +1 -0
  84. package/dist/debug/safety/index.js +61 -0
  85. package/dist/debug/safety/index.js.map +1 -0
  86. package/dist/debug/safety/switches.d.ts +27 -0
  87. package/dist/debug/safety/switches.d.ts.map +1 -0
  88. package/dist/debug/safety/switches.js +23 -0
  89. package/dist/debug/safety/switches.js.map +1 -0
  90. package/dist/engine/agent-api/app/runtimeNodes.d.ts.map +1 -1
  91. package/dist/engine/agent-api/app/runtimeNodes.js +15 -0
  92. package/dist/engine/agent-api/app/runtimeNodes.js.map +1 -1
  93. package/dist/engine/agent-api/assets/productionModels.d.ts +58 -0
  94. package/dist/engine/agent-api/assets/productionModels.d.ts.map +1 -0
  95. package/dist/engine/agent-api/assets/productionModels.js +103 -0
  96. package/dist/engine/agent-api/assets/productionModels.js.map +1 -0
  97. package/dist/engine/agent-api/compiler/customMaterial.d.ts +7 -0
  98. package/dist/engine/agent-api/compiler/customMaterial.d.ts.map +1 -1
  99. package/dist/engine/agent-api/compiler/customMaterial.js +20 -3
  100. package/dist/engine/agent-api/compiler/customMaterial.js.map +1 -1
  101. package/dist/engine/agent-api/compiler/errors.d.ts +1 -1
  102. package/dist/engine/agent-api/compiler/errors.d.ts.map +1 -1
  103. package/dist/engine/agent-api/compiler/errors.js.map +1 -1
  104. package/dist/engine/agent-api/compiler/lines.d.ts.map +1 -1
  105. package/dist/engine/agent-api/compiler/lines.js +10 -1
  106. package/dist/engine/agent-api/compiler/lines.js.map +1 -1
  107. package/dist/engine/agent-api/compiler/renderInput.d.ts.map +1 -1
  108. package/dist/engine/agent-api/compiler/renderInput.js +12 -3
  109. package/dist/engine/agent-api/compiler/renderInput.js.map +1 -1
  110. package/dist/engine/agent-api/game-kits/ballFlight.d.ts +145 -0
  111. package/dist/engine/agent-api/game-kits/ballFlight.d.ts.map +1 -0
  112. package/dist/engine/agent-api/game-kits/ballFlight.js +308 -0
  113. package/dist/engine/agent-api/game-kits/ballFlight.js.map +1 -0
  114. package/dist/engine/agent-api/game-kits/index.d.ts +9 -5
  115. package/dist/engine/agent-api/game-kits/index.d.ts.map +1 -1
  116. package/dist/engine/agent-api/game-kits/index.js +1 -0
  117. package/dist/engine/agent-api/game-kits/index.js.map +1 -1
  118. package/dist/engine/agent-api/game-kits/racketAthleteRig.d.ts +107 -0
  119. package/dist/engine/agent-api/game-kits/racketAthleteRig.d.ts.map +1 -0
  120. package/dist/engine/agent-api/game-kits/racketAthleteRig.js +178 -0
  121. package/dist/engine/agent-api/game-kits/racketAthleteRig.js.map +1 -0
  122. package/dist/engine/agent-api/game-kits/racketGeometry.d.ts +8 -0
  123. package/dist/engine/agent-api/game-kits/racketGeometry.d.ts.map +1 -0
  124. package/dist/engine/agent-api/game-kits/racketGeometry.js +73 -0
  125. package/dist/engine/agent-api/game-kits/racketGeometry.js.map +1 -0
  126. package/dist/engine/agent-api/game-kits/racketScoring.d.ts +53 -0
  127. package/dist/engine/agent-api/game-kits/racketScoring.d.ts.map +1 -0
  128. package/dist/engine/agent-api/game-kits/racketScoring.js +69 -0
  129. package/dist/engine/agent-api/game-kits/racketScoring.js.map +1 -0
  130. package/dist/engine/agent-api/game-kits/racketSports.d.ts +20 -6
  131. package/dist/engine/agent-api/game-kits/racketSports.d.ts.map +1 -1
  132. package/dist/engine/agent-api/game-kits/racketSports.js +15 -74
  133. package/dist/engine/agent-api/game-kits/racketSports.js.map +1 -1
  134. package/dist/engine/agent-api/index.d.ts +7 -0
  135. package/dist/engine/agent-api/index.d.ts.map +1 -1
  136. package/dist/engine/agent-api/index.js +5 -0
  137. package/dist/engine/agent-api/index.js.map +1 -1
  138. package/dist/engine/agent-api/nodes/batched.d.ts.map +1 -1
  139. package/dist/engine/agent-api/nodes/batched.js +63 -3
  140. package/dist/engine/agent-api/nodes/batched.js.map +1 -1
  141. package/dist/engine/agent-api/nodes/batchedState.d.ts +5 -0
  142. package/dist/engine/agent-api/nodes/batchedState.d.ts.map +1 -1
  143. package/dist/engine/agent-api/nodes/batchedState.js +10 -0
  144. package/dist/engine/agent-api/nodes/batchedState.js.map +1 -1
  145. package/dist/engine/agent-api/nodes/instances.js +1 -2
  146. package/dist/engine/agent-api/nodes/instances.js.map +1 -1
  147. package/dist/engine/agent-api/nodes/lines.d.ts.map +1 -1
  148. package/dist/engine/agent-api/nodes/lines.js +2 -1
  149. package/dist/engine/agent-api/nodes/lines.js.map +1 -1
  150. package/dist/engine/agent-api/nodes/mergeStatic.d.ts +26 -0
  151. package/dist/engine/agent-api/nodes/mergeStatic.d.ts.map +1 -0
  152. package/dist/engine/agent-api/nodes/mergeStatic.js +126 -0
  153. package/dist/engine/agent-api/nodes/mergeStatic.js.map +1 -0
  154. package/dist/engine/agent-api/nodes/scatter.d.ts +116 -0
  155. package/dist/engine/agent-api/nodes/scatter.d.ts.map +1 -0
  156. package/dist/engine/agent-api/nodes/scatter.js +211 -0
  157. package/dist/engine/agent-api/nodes/scatter.js.map +1 -0
  158. package/dist/engine/agent-api/nodes/scene.d.ts +9 -1
  159. package/dist/engine/agent-api/nodes/scene.d.ts.map +1 -1
  160. package/dist/engine/agent-api/nodes/scene.js +28 -2
  161. package/dist/engine/agent-api/nodes/scene.js.map +1 -1
  162. package/dist/engine/agent-api/sceneMath.d.ts +6 -0
  163. package/dist/engine/agent-api/sceneMath.d.ts.map +1 -1
  164. package/dist/engine/agent-api/sceneMath.js +6 -2
  165. package/dist/engine/agent-api/sceneMath.js.map +1 -1
  166. package/dist/engine/contracts/stubs/game.d.ts +0 -8
  167. package/dist/engine/contracts/stubs/game.d.ts.map +1 -1
  168. package/dist/engine/contracts/stubs/game.js +6 -0
  169. package/dist/engine/contracts/stubs/game.js.map +1 -1
  170. package/dist/engine/deprecated/advanced-runtime.js +2 -2
  171. package/dist/engine/deprecated/apps.js +2 -2
  172. package/dist/engine/deprecated/assets-browser.js +2 -2
  173. package/dist/engine/deprecated/contracts.js +2 -2
  174. package/dist/engine/deprecated/media-node.js +2 -2
  175. package/dist/engine/deprecated/production-runtime.js +2 -2
  176. package/dist/engine/deprecated/rendering-production-runtime.js +2 -2
  177. package/dist/engine/deprecated/rendering-webgpu.js +2 -2
  178. package/dist/engine/deprecated/rendering.js +2 -2
  179. package/dist/engine/deprecated/workflows-production.js +2 -2
  180. package/dist/engine/index.d.ts +1 -0
  181. package/dist/engine/index.d.ts.map +1 -1
  182. package/dist/engine/index.js +1 -0
  183. package/dist/engine/index.js.map +1 -1
  184. package/dist/engine/instances-model/InstancedModel.d.ts.map +1 -1
  185. package/dist/engine/instances-model/InstancedModel.js +2 -5
  186. package/dist/engine/instances-model/InstancedModel.js.map +1 -1
  187. package/dist/engine/production-runtime/TypedGLBActor.d.ts +6 -0
  188. package/dist/engine/production-runtime/TypedGLBActor.d.ts.map +1 -1
  189. package/dist/engine/production-runtime/TypedGLBActor.js +8 -1
  190. package/dist/engine/production-runtime/TypedGLBActor.js.map +1 -1
  191. package/dist/engine/production-runtime/actor/ModelTextureShare.d.ts +38 -0
  192. package/dist/engine/production-runtime/actor/ModelTextureShare.d.ts.map +1 -0
  193. package/dist/engine/production-runtime/actor/ModelTextureShare.js +65 -0
  194. package/dist/engine/production-runtime/actor/ModelTextureShare.js.map +1 -0
  195. package/dist/engine/public/index.d.ts +71 -67
  196. package/dist/engine/public/index.d.ts.map +1 -1
  197. package/dist/engine/public/index.js +59 -54
  198. package/dist/engine/public/index.js.map +1 -1
  199. package/dist/engine/qa/countedRng.d.ts +16 -0
  200. package/dist/engine/qa/countedRng.d.ts.map +1 -0
  201. package/dist/engine/qa/countedRng.js +40 -0
  202. package/dist/engine/qa/countedRng.js.map +1 -0
  203. package/dist/engine/qa/fixedStepLoop.d.ts +43 -0
  204. package/dist/engine/qa/fixedStepLoop.d.ts.map +1 -0
  205. package/dist/engine/qa/fixedStepLoop.js +83 -0
  206. package/dist/engine/qa/fixedStepLoop.js.map +1 -0
  207. package/dist/engine/qa/hooks.d.ts +80 -0
  208. package/dist/engine/qa/hooks.d.ts.map +1 -0
  209. package/dist/engine/qa/hooks.js +95 -0
  210. package/dist/engine/qa/hooks.js.map +1 -0
  211. package/dist/engine/qa/index.d.ts +10 -0
  212. package/dist/engine/qa/index.d.ts.map +1 -0
  213. package/dist/engine/qa/index.js +6 -0
  214. package/dist/engine/qa/index.js.map +1 -0
  215. package/dist/engine/qa/params.d.ts +38 -0
  216. package/dist/engine/qa/params.d.ts.map +1 -0
  217. package/dist/engine/qa/params.js +35 -0
  218. package/dist/engine/qa/params.js.map +1 -0
  219. package/dist/game/capture/captureFromUrl.d.ts +1 -1
  220. package/dist/game/capture/captureFromUrl.d.ts.map +1 -1
  221. package/dist/game/capture/index.d.ts +1 -1
  222. package/dist/game/capture/index.d.ts.map +1 -1
  223. package/dist/game/components.d.ts +1 -1
  224. package/dist/game/components.d.ts.map +1 -1
  225. package/dist/game/createGame.d.ts +1 -1
  226. package/dist/game/createGame.d.ts.map +1 -1
  227. package/dist/game/createGame.js +1 -1
  228. package/dist/game/createGame.js.map +1 -1
  229. package/dist/game/evidence/beacon.d.ts +1 -1
  230. package/dist/game/evidence/beacon.d.ts.map +1 -1
  231. package/dist/game/flagDefault.d.ts +8 -0
  232. package/dist/game/flagDefault.d.ts.map +1 -0
  233. package/dist/game/flagDefault.js +28 -0
  234. package/dist/game/flagDefault.js.map +1 -0
  235. package/dist/game/index.d.ts +4 -2
  236. package/dist/game/index.d.ts.map +1 -1
  237. package/dist/game/index.js +10 -3
  238. package/dist/game/index.js.map +1 -1
  239. package/dist/game/input/bindingStore.d.ts +87 -0
  240. package/dist/game/input/bindingStore.d.ts.map +1 -0
  241. package/dist/game/input/bindingStore.js +164 -0
  242. package/dist/game/input/bindingStore.js.map +1 -0
  243. package/dist/game/session/GameSession.d.ts +2 -2
  244. package/dist/game/session/GameSession.d.ts.map +1 -1
  245. package/dist/game/session/GameSession.js +1 -1
  246. package/dist/game/session/GameSession.js.map +1 -1
  247. package/dist/rendering/ForwardPass.d.ts +5 -0
  248. package/dist/rendering/ForwardPass.d.ts.map +1 -1
  249. package/dist/rendering/ForwardPass.js +13 -3
  250. package/dist/rendering/ForwardPass.js.map +1 -1
  251. package/dist/rendering/MaterialBinding.d.ts.map +1 -1
  252. package/dist/rendering/MaterialBinding.js +11 -1
  253. package/dist/rendering/MaterialBinding.js.map +1 -1
  254. package/dist/rendering/Renderer.d.ts +8 -0
  255. package/dist/rendering/Renderer.d.ts.map +1 -1
  256. package/dist/rendering/Renderer.js +7 -0
  257. package/dist/rendering/Renderer.js.map +1 -1
  258. package/dist/rendering/ShaderLibrary.js +5 -5
  259. package/dist/rendering/ShaderLibraryCore.js +1 -1
  260. package/dist/rendering/WebGPUDevice.js +1 -1
  261. package/dist/rendering/index.d.ts +1 -0
  262. package/dist/rendering/index.d.ts.map +1 -1
  263. package/dist/rendering/index.js +1 -0
  264. package/dist/rendering/index.js.map +1 -1
  265. package/dist/rendering/output/ToneMappingOperators.glsl.d.ts +1 -1
  266. package/dist/rendering/output/ToneMappingOperators.glsl.d.ts.map +1 -1
  267. package/dist/rendering/output/ToneMappingOperators.glsl.js +2 -0
  268. package/dist/rendering/output/ToneMappingOperators.glsl.js.map +1 -1
  269. package/dist/rendering/program/chunks/shadow_forward.glsl.d.ts +2 -2
  270. package/dist/rendering/program/chunks/shadow_forward.glsl.d.ts.map +1 -1
  271. package/dist/rendering/program/chunks/shadow_forward.glsl.js +1 -1
  272. package/dist/rendering/shaders/chunks/author/colorspace.glsl.d.ts +8 -0
  273. package/dist/rendering/shaders/chunks/author/colorspace.glsl.d.ts.map +1 -0
  274. package/dist/rendering/shaders/chunks/author/colorspace.glsl.js +20 -0
  275. package/dist/rendering/shaders/chunks/author/colorspace.glsl.js.map +1 -0
  276. package/dist/rendering/shaders/chunks/author/fog.glsl.d.ts +3 -0
  277. package/dist/rendering/shaders/chunks/author/fog.glsl.d.ts.map +1 -0
  278. package/dist/rendering/shaders/chunks/author/fog.glsl.js +18 -0
  279. package/dist/rendering/shaders/chunks/author/fog.glsl.js.map +1 -0
  280. package/dist/rendering/shaders/chunks/author/index.d.ts +16 -0
  281. package/dist/rendering/shaders/chunks/author/index.d.ts.map +1 -0
  282. package/dist/rendering/shaders/chunks/author/index.js +77 -0
  283. package/dist/rendering/shaders/chunks/author/index.js.map +1 -0
  284. package/dist/rendering/shaders/chunks/author/math.glsl.d.ts +3 -0
  285. package/dist/rendering/shaders/chunks/author/math.glsl.d.ts.map +1 -0
  286. package/dist/rendering/shaders/chunks/author/math.glsl.js +43 -0
  287. package/dist/rendering/shaders/chunks/author/math.glsl.js.map +1 -0
  288. package/dist/rendering/shaders/chunks/author/noise.glsl.d.ts +3 -0
  289. package/dist/rendering/shaders/chunks/author/noise.glsl.d.ts.map +1 -0
  290. package/dist/rendering/shaders/chunks/author/noise.glsl.js +94 -0
  291. package/dist/rendering/shaders/chunks/author/noise.glsl.js.map +1 -0
  292. package/dist/rendering/shaders/chunks/author/sky.glsl.d.ts +3 -0
  293. package/dist/rendering/shaders/chunks/author/sky.glsl.d.ts.map +1 -0
  294. package/dist/rendering/shaders/chunks/author/sky.glsl.js +28 -0
  295. package/dist/rendering/shaders/chunks/author/sky.glsl.js.map +1 -0
  296. package/dist/rendering/shaders/chunks/author/toon.glsl.d.ts +3 -0
  297. package/dist/rendering/shaders/chunks/author/toon.glsl.d.ts.map +1 -0
  298. package/dist/rendering/shaders/chunks/author/toon.glsl.js +21 -0
  299. package/dist/rendering/shaders/chunks/author/toon.glsl.js.map +1 -0
  300. package/dist/rendering/shaders/chunks/author/triplanar.glsl.d.ts +3 -0
  301. package/dist/rendering/shaders/chunks/author/triplanar.glsl.d.ts.map +1 -0
  302. package/dist/rendering/shaders/chunks/author/triplanar.glsl.js +14 -0
  303. package/dist/rendering/shaders/chunks/author/triplanar.glsl.js.map +1 -0
  304. package/dist/rendering/webgl2/LegacyPost.d.ts.map +1 -1
  305. package/dist/rendering/webgl2/LegacyPost.js +3 -2
  306. package/dist/rendering/webgl2/LegacyPost.js.map +1 -1
  307. package/package.json +33 -26
  308. package/templates/cinematic-scene/package.json +2 -2
  309. package/templates/mini-game/package.json +2 -2
  310. package/templates/product-viewer/package.json +2 -2
  311. package/templates/production-asset-inspector/package.json +1 -1
  312. package/templates/production-material-studio/package.json +1 -1
  313. package/templates/production-product-configurator/package.json +1 -1
  314. package/templates/production-product-viewer/package.json +1 -1
@@ -9,113 +9,118 @@
9
9
  // Lane provide() side-effects — how lane contract implementations reach ".".
10
10
  import "../lanes/index.js";
11
11
  // ── Live surface (§6.6 keep-set) ────────────────────────────────────────
12
- export { AnimationController, appExtensionsAll, asRuntimeCompiled, atmosphere, auditArtDirection, AuraColorParseError, AuraSceneBuilder, batched, bindGameTouchControls, bindRuntimeCompiled, blendSkyBandColor, camera, cameras, captionCueAtTime, captureFromUrl, characterAssembly, characters, charts, checkSpatialInvariants, city, clearFocus, Clock, cloneSkinned, combatFrameAdvantage, compilePromptEpisodePlan, compilePromptPlanV2, compilerSlot, compileScene, composeWorldMatrix, compute, computeLineDistances, createAnimationPerformanceCoverage, createAnimationRenderOutputPackageMetadata, createArchitectureKit, createAssetDiagnostics, createAudioStemManifest, createAuraApp, createAuraRouteHealthSnapshot, createAuraText3DGeometry, createAuraVoiceBridgePackage, createAuraVoiceVisemeTrack, createCameraPathFromPreset, createCinematicKit, createCollisionLayers, createCombatAi, createDiagnosticsPanel, createDigitalTwinKit, createEnvironment, createFightingGameKit, createFrameLoop, createGame, createGameApp, createGameArcadeVehicle, createGameAudio, createGlbBlendshapeVisemeCue, createInitialDiagnostics, createMeshSurfaceQuery, createPrimitiveMouthVisemeCues, createProductConfiguratorKit, createProductionRuntimeCollectedLights, createPromptAnimationDeterministicScreenshotFixtureMetadata, createShotPlaybackPlan, createSmartCityKit, createVehicleChassis, createVehicleDriverAi, decomposeMatrix, defineAuraAssets, defineDubMap, definePromptPlan, DIAGNOSTIC_ONLY_FIELDS, DIAGNOSTICS_SECTION_KEYS, diagnosticsSectionsAll, distanceLod, distributeInRegion, effects, enforceFrameBudget, environments, eulerToQuaternion, fat, fitSizeToRegion, focusCameraIntent, focusObject, focusSemanticRegion, game, gameFeel, games, geometry, glbVisemeBlendshapeExample, groundedFittedModelPosition, groundedRenderedAssetPlacement, group, groups, helpers, installShotPlayback, instances, interactions, labels, lights, line, lines, lookLint, looks, loop, material, model, nodeHandleExtensionFor, nodeHandleExtensionsAll, nodeHandlerFor, nodeHandlersAll, normalizeLinePositions, optionCoverageRows, parseAuraColor, parseAuraColorSrgb, particles, physics, placedBounds, placedBoundsFromAsset, planLayeredSceneComposition, planScatterInstances, planSkyBackdrop, platformerCompositionSpec, points, postPresets, prefabs, primitiveMouthVisemeExample, primitives, product, promptPlanToScene, promptRecipes, raycast, raycastFirst, registerAppExtension, registerDiagnosticsSection, registerEnvironmentSource, registerLookLintRule, registerNodeHandleExtension, registerNodeHandler, registerOptionCoverage, renderer, resolveBoundsAnchor, resolveCameraFrame, resolveChaseFraming, resolveEnvironment, resolveQrFlags, resolveSemanticRegion, sampleAuraVoiceBridgeAtTime, sampleCameraPath, sampleShotPlaybackPlan, sampleVisemeTrack, scatterWindOffset, scene, sceneKits, SCREEN_FEEL_BLACKBOARD_KEY, segments, setCompilerImpl, shadows, skyBandCountForRamp, snapshotDiagnostics, solar, solveCombatFrameData, solvePlatformerMotion, sprite, sprites, StubActorAnimationApi, StubAppAtmosphere, StubAppEffects, stubCameraRigFactories, StubFeelBus, StubLightingRuntime, StubModelMaterialHandle, StubPostSurface, StubTimeController, surfaces, text3D, timeline, tsl, ui, updateCompiledScene, validateAuraVoiceBridgePackage, validateCombatFrameData, vehicleChassisSpecFromBounds, WIND_CHUNK, workflows, worldQueriesSlot } from "../agent-api/index.js";
13
- /** @deprecated Use `@aura3d/engine/renderer`. Kept at 4.0.0 — removes in the next minor once its blocking lane's request lands. */
12
+ export { AnimationController, appExtensionsAll, asRuntimeCompiled, atmosphere, auditArtDirection, AuraColorParseError, AuraSceneBuilder, batched, bindGameTouchControls, bindRuntimeCompiled, blendSkyBandColor, camera, cameras, captionCueAtTime, captureFromUrl, characterAssembly, characters, charts, checkSpatialInvariants, city, clearFocus, Clock, cloneSkinned, combatFrameAdvantage, compilePromptEpisodePlan, compilePromptPlanV2, compilerSlot, compileScene, composeWorldMatrix, compute, computeLineDistances, createAnimationPerformanceCoverage, createAnimationRenderOutputPackageMetadata, createArchitectureKit, createAssetDiagnostics, createAudioStemManifest, createAuraApp, createAuraRouteHealthSnapshot, createAuraText3DGeometry, createAuraVoiceBridgePackage, createAuraVoiceVisemeTrack, createCameraPathFromPreset, createCinematicKit, createCollisionLayers, createCombatAi, createDiagnosticsPanel, createDigitalTwinKit, createEnvironment, createFightingGameKit, createFrameLoop, createGame, createGameApp, createGameArcadeVehicle, createGameAudio, createGlbBlendshapeVisemeCue, createInitialDiagnostics, createMeshSurfaceQuery, createPrimitiveMouthVisemeCues, createProductConfiguratorKit, createProductionRuntimeCollectedLights, createPromptAnimationDeterministicScreenshotFixtureMetadata, createShotPlaybackPlan, createSmartCityKit, createVehicleChassis, createVehicleDriverAi, decomposeMatrix, defineAuraAssets, defineDubMap, defineModelAssets, definePromptPlan, DIAGNOSTIC_ONLY_FIELDS, DIAGNOSTICS_SECTION_KEYS, diagnosticsSectionsAll, distanceLod, distributeInRegion, effects, enforceFrameBudget, environments, eulerToQuaternion, fat, fitSizeToRegion, focusCameraIntent, focusObject, focusSemanticRegion, game, gameFeel, games, geometry, glbVisemeBlendshapeExample, groundedFittedModelPosition, groundedRenderedAssetPlacement, group, groups, helpers, installShotPlayback, instances, interactions, labels, lights, line, lines, lookLint, looks, loop, material, model, modelsEnabledFromUrl, nodeHandleExtensionFor, nodeHandleExtensionsAll, nodeHandlerFor, nodeHandlersAll, normalizeLinePositions, optionCoverageRows, parseAuraColor, parseAuraColorSrgb, particles, physics, placedBounds, placedBoundsFromAsset, planLayeredSceneComposition, planScatterInstances, planSkyBackdrop, platformerCompositionSpec, points, postPresets, prefabs, primitiveMouthVisemeExample, primitives, product, promptPlanToScene, promptRecipes, raycast, raycastFirst, registerAppExtension, registerDiagnosticsSection, registerEnvironmentSource, registerLookLintRule, registerNodeHandleExtension, registerNodeHandler, registerOptionCoverage, renderer, resolveBoundsAnchor, resolveCameraFrame, resolveChaseFraming, resolveEnvironment, resolveQrFlags, resolveSemanticRegion, sampleAuraVoiceBridgeAtTime, sampleCameraPath, sampleShotPlaybackPlan, sampleVisemeTrack, scatterWindOffset, scene, sceneKits, SCREEN_FEEL_BLACKBOARD_KEY, segments, setCompilerImpl, shadows, skyBandCountForRamp, snapshotDiagnostics, solar, solveCombatFrameData, solvePlatformerMotion, sprite, sprites, StubActorAnimationApi, StubAppAtmosphere, StubAppEffects, stubCameraRigFactories, StubFeelBus, StubLightingRuntime, StubModelMaterialHandle, StubPostSurface, StubTimeController, surfaces, text3D, timeline, tsl, ui, updateCompiledScene, validateAuraVoiceBridgePackage, validateCombatFrameData, vehicleChassisSpecFromBounds, WIND_CHUNK, workflows, worldQueriesSlot } from "../agent-api/index.js";
13
+ // QA and replay kit (docs/api/qa-kit.md).
14
+ export { createCountedRng, createFixedStepLoop, fixedStepLoop, installQaHooks, qaErrorGlobalName, qaHookGlobalName, readQaParams } from "../qa/index.js";
15
+ // ── Deprecated union (kept at 4.0.0 per §6.6 step 3 — removes in 5.0.0; each names its destination) ──
16
+ /** @deprecated No replacement — removes in 5.0.0. Kept at 4.0.0 once its blocking lane's request lands. */
17
+ export { createScatterRandom, mergeStatic, mergeStaticByKey, scatterAlongPath, scatterInArea, scatterTransforms, splitScatterByDistance } from "../agent-api/index.js";
18
+ /** @deprecated Use `@aura3d/engine/renderer`. Kept at 4.0.0 — removes in 5.0.0 once its blocking lane's request lands. */
14
19
  export { A3DRenderer } from "../agent-api/index.js";
15
- /** @deprecated Use `@aura3d/engine/animation`. Kept at 4.0.0 — removes in the next minor once its blocking lane's request lands. */
20
+ /** @deprecated Use `@aura3d/engine/animation`. Kept at 4.0.0 — removes in 5.0.0 once its blocking lane's request lands. */
16
21
  export { A3DAppLifecycle } from "../agent-api/index.js";
17
22
  export { AnimationAction } from "../agent-api/index.js";
18
- /** @deprecated Use `@aura3d/engine/animation`. Kept at 4.0.0 — removes in the next minor once its blocking lane's request lands. */
23
+ /** @deprecated Use `@aura3d/engine/animation`. Kept at 4.0.0 — removes in 5.0.0 once its blocking lane's request lands. */
19
24
  export { AnimationClip } from "../agent-api/index.js";
20
- /** @deprecated Use `@aura3d/engine/animation`. Kept at 4.0.0 — removes in the next minor once its blocking lane's request lands. */
25
+ /** @deprecated Use `@aura3d/engine/animation`. Kept at 4.0.0 — removes in 5.0.0 once its blocking lane's request lands. */
21
26
  export { AnimationLayer } from "../agent-api/index.js";
22
- /** @deprecated Use `@aura3d/engine/animation`. Kept at 4.0.0 — removes in the next minor once its blocking lane's request lands. */
27
+ /** @deprecated Use `@aura3d/engine/animation`. Kept at 4.0.0 — removes in 5.0.0 once its blocking lane's request lands. */
23
28
  export { AnimationMixer } from "../agent-api/index.js";
24
- /** @deprecated Use `@aura3d/engine/animation`. Kept at 4.0.0 — removes in the next minor once its blocking lane's request lands. */
29
+ /** @deprecated Use `@aura3d/engine/animation`. Kept at 4.0.0 — removes in 5.0.0 once its blocking lane's request lands. */
25
30
  export { AnimationTrack } from "../agent-api/index.js";
26
- /** @deprecated No replacement — removes next minor. Kept at 4.0.0 once its blocking lane's request lands. */
31
+ /** @deprecated No replacement — removes in 5.0.0. Kept at 4.0.0 once its blocking lane's request lands. */
27
32
  export { AuraNodeBuilder } from "../agent-api/index.js";
28
- /** @deprecated Use `@aura3d/engine/devtools`. Kept at 4.0.0 — removes in the next minor once its blocking lane's request lands. */
33
+ /** @deprecated Use `@aura3d/engine/devtools`. Kept at 4.0.0 — removes in 5.0.0 once its blocking lane's request lands. */
29
34
  export { captureAuraAppScreenshot } from "../agent-api/index.js";
30
- /** @deprecated No replacement — removes next minor. Kept at 4.0.0 once its blocking lane's request lands. */
35
+ /** @deprecated No replacement — removes in 5.0.0. Kept at 4.0.0 once its blocking lane's request lands. */
31
36
  export { captureScreenshot } from "../agent-api/index.js";
32
- /** @deprecated No replacement — removes next minor. Kept at 4.0.0 once its blocking lane's request lands. */
37
+ /** @deprecated No replacement — removes in 5.0.0. Kept at 4.0.0 once its blocking lane's request lands. */
33
38
  export { character } from "../agent-api/index.js";
34
- /** @deprecated Use `@aura3d/engine/devtools`. Kept at 4.0.0 — removes in the next minor once its blocking lane's request lands. */
39
+ /** @deprecated Use `@aura3d/engine/devtools`. Kept at 4.0.0 — removes in 5.0.0 once its blocking lane's request lands. */
35
40
  export { collectAuraSceneEvidence } from "../agent-api/index.js";
36
- /** @deprecated Use `@aura3d/engine/devtools`. Kept at 4.0.0 — removes in the next minor once its blocking lane's request lands. */
41
+ /** @deprecated Use `@aura3d/engine/devtools`. Kept at 4.0.0 — removes in 5.0.0 once its blocking lane's request lands. */
37
42
  export { collectPromptAnimationEvidence } from "../agent-api/index.js";
38
- /** @deprecated No replacement — removes next minor. Kept at 4.0.0 once its blocking lane's request lands. */
43
+ /** @deprecated No replacement — removes in 5.0.0. Kept at 4.0.0 once its blocking lane's request lands. */
39
44
  export { compilePromptPlan } from "../agent-api/index.js";
40
- /** @deprecated No replacement — removes next minor. Kept at 4.0.0 once its blocking lane's request lands. */
45
+ /** @deprecated No replacement — removes in 5.0.0. Kept at 4.0.0 once its blocking lane's request lands. */
41
46
  export { compositeMetallicRoughnessPixels } from "../agent-api/index.js";
42
- /** @deprecated No replacement — removes next minor. Kept at 4.0.0 once its blocking lane's request lands. */
47
+ /** @deprecated No replacement — removes in 5.0.0. Kept at 4.0.0 once its blocking lane's request lands. */
43
48
  export { createA3DApp } from "../agent-api/index.js";
44
- /** @deprecated No replacement — removes next minor. Kept at 4.0.0 once its blocking lane's request lands. */
49
+ /** @deprecated No replacement — removes in 5.0.0. Kept at 4.0.0 once its blocking lane's request lands. */
45
50
  export { createAnimationController } from "../agent-api/index.js";
46
- /** @deprecated Use `@aura3d/engine/devtools`. Kept at 4.0.0 — removes in the next minor once its blocking lane's request lands. */
51
+ /** @deprecated Use `@aura3d/engine/devtools`. Kept at 4.0.0 — removes in 5.0.0 once its blocking lane's request lands. */
47
52
  export { createAssetCompatibilityReport } from "../agent-api/index.js";
48
- /** @deprecated No replacement — removes next minor. Kept at 4.0.0 once its blocking lane's request lands. */
53
+ /** @deprecated No replacement — removes in 5.0.0. Kept at 4.0.0 once its blocking lane's request lands. */
49
54
  export { createAssetViewerWorkflow } from "../agent-api/index.js";
50
- /** @deprecated Use `@aura3d/engine/devtools`. Kept at 4.0.0 — removes in the next minor once its blocking lane's request lands. */
55
+ /** @deprecated Use `@aura3d/engine/devtools`. Kept at 4.0.0 — removes in 5.0.0 once its blocking lane's request lands. */
51
56
  export { createCaptionTimingProof } from "../agent-api/index.js";
52
- /** @deprecated No replacement — removes next minor. Kept at 4.0.0 once its blocking lane's request lands. */
57
+ /** @deprecated No replacement — removes in 5.0.0. Kept at 4.0.0 once its blocking lane's request lands. */
53
58
  export { createExternalParityEnvironmentPipeline } from "../agent-api/index.js";
54
- /** @deprecated No replacement — removes next minor. Kept at 4.0.0 once its blocking lane's request lands. */
59
+ /** @deprecated No replacement — removes in 5.0.0. Kept at 4.0.0 once its blocking lane's request lands. */
55
60
  export { createGameAppRuntime } from "../agent-api/index.js";
56
- /** @deprecated No replacement — removes next minor. Kept at 4.0.0 once its blocking lane's request lands. */
61
+ /** @deprecated No replacement — removes in 5.0.0. Kept at 4.0.0 once its blocking lane's request lands. */
57
62
  export { createInteractiveSceneWorkflow } from "../agent-api/index.js";
58
- /** @deprecated No replacement — removes next minor. Kept at 4.0.0 once its blocking lane's request lands. */
63
+ /** @deprecated No replacement — removes in 5.0.0. Kept at 4.0.0 once its blocking lane's request lands. */
59
64
  export { createProductConfiguratorWorkflow } from "../agent-api/index.js";
60
- /** @deprecated No replacement — removes next minor. Kept at 4.0.0 once its blocking lane's request lands. */
65
+ /** @deprecated No replacement — removes in 5.0.0. Kept at 4.0.0 once its blocking lane's request lands. */
61
66
  export { createProductionPrimitiveTextureIntent } from "../agent-api/index.js";
62
- /** @deprecated No replacement — removes next minor. Kept at 4.0.0 once its blocking lane's request lands. */
67
+ /** @deprecated No replacement — removes in 5.0.0. Kept at 4.0.0 once its blocking lane's request lands. */
63
68
  export { crowds } from "../agent-api/index.js";
64
- /** @deprecated No replacement — removes next minor. Kept at 4.0.0 once its blocking lane's request lands. */
69
+ /** @deprecated No replacement — removes in 5.0.0. Kept at 4.0.0 once its blocking lane's request lands. */
65
70
  export { decals } from "../agent-api/index.js";
66
- /** @deprecated No replacement — removes next minor. Kept at 4.0.0 once its blocking lane's request lands. */
71
+ /** @deprecated No replacement — removes in 5.0.0. Kept at 4.0.0 once its blocking lane's request lands. */
67
72
  export { describeProductionSpotShadow } from "../agent-api/index.js";
68
- /** @deprecated No replacement — removes next minor. Kept at 4.0.0 once its blocking lane's request lands. */
73
+ /** @deprecated No replacement — removes in 5.0.0. Kept at 4.0.0 once its blocking lane's request lands. */
69
74
  export { editor } from "../agent-api/index.js";
70
- /** @deprecated Use `@aura3d/engine/devtools`. Kept at 4.0.0 — removes in the next minor once its blocking lane's request lands. */
75
+ /** @deprecated Use `@aura3d/engine/devtools`. Kept at 4.0.0 — removes in 5.0.0 once its blocking lane's request lands. */
71
76
  export { evaluatePromptAnimationPublishReadiness } from "../agent-api/index.js";
72
- /** @deprecated Use `@aura3d/engine/devtools`. Kept at 4.0.0 — removes in the next minor once its blocking lane's request lands. */
77
+ /** @deprecated Use `@aura3d/engine/devtools`. Kept at 4.0.0 — removes in 5.0.0 once its blocking lane's request lands. */
73
78
  export { gameAssetValidation } from "../agent-api/index.js";
74
- /** @deprecated Use `@aura3d/engine/assets`. Kept at 4.0.0 — removes in the next minor once its blocking lane's request lands. */
79
+ /** @deprecated Use `@aura3d/engine/assets`. Kept at 4.0.0 — removes in 5.0.0 once its blocking lane's request lands. */
75
80
  export { GLTFLoader } from "../agent-api/index.js";
76
- /** @deprecated No replacement — removes next minor. Kept at 4.0.0 once its blocking lane's request lands. */
81
+ /** @deprecated No replacement — removes in 5.0.0. Kept at 4.0.0 once its blocking lane's request lands. */
77
82
  export { inspectAsset } from "../agent-api/index.js";
78
- /** @deprecated Use `@aura3d/engine/assets`. Kept at 4.0.0 — removes in the next minor once its blocking lane's request lands. */
83
+ /** @deprecated Use `@aura3d/engine/assets`. Kept at 4.0.0 — removes in 5.0.0 once its blocking lane's request lands. */
79
84
  export { inspectGLTFAsset } from "../agent-api/index.js";
80
- /** @deprecated No replacement — removes next minor. Kept at 4.0.0 once its blocking lane's request lands. */
85
+ /** @deprecated No replacement — removes in 5.0.0. Kept at 4.0.0 once its blocking lane's request lands. */
81
86
  export { listExternalParityEnvironmentTargets } from "../agent-api/index.js";
82
- /** @deprecated No replacement — removes next minor. Kept at 4.0.0 once its blocking lane's request lands. */
87
+ /** @deprecated No replacement — removes in 5.0.0. Kept at 4.0.0 once its blocking lane's request lands. */
83
88
  export { loadAsset } from "../agent-api/index.js";
84
- /** @deprecated Use `@aura3d/engine/assets`. Kept at 4.0.0 — removes in the next minor once its blocking lane's request lands. */
89
+ /** @deprecated Use `@aura3d/engine/assets`. Kept at 4.0.0 — removes in 5.0.0 once its blocking lane's request lands. */
85
90
  export { loadRenderableAsset } from "../agent-api/index.js";
86
- /** @deprecated No replacement — removes next minor. Kept at 4.0.0 once its blocking lane's request lands. */
91
+ /** @deprecated No replacement — removes in 5.0.0. Kept at 4.0.0 once its blocking lane's request lands. */
87
92
  export { meshVehicleSurface } from "../agent-api/index.js";
88
- /** @deprecated No replacement — removes next minor. Kept at 4.0.0 once its blocking lane's request lands. */
93
+ /** @deprecated No replacement — removes in 5.0.0. Kept at 4.0.0 once its blocking lane's request lands. */
89
94
  export { mipChainBytesCoarseToFine } from "../agent-api/index.js";
90
- /** @deprecated No replacement — removes next minor. Kept at 4.0.0 once its blocking lane's request lands. */
95
+ /** @deprecated No replacement — removes in 5.0.0. Kept at 4.0.0 once its blocking lane's request lands. */
91
96
  export { navigation } from "../agent-api/index.js";
92
- /** @deprecated No replacement — removes next minor. Kept at 4.0.0 once its blocking lane's request lands. */
97
+ /** @deprecated No replacement — removes in 5.0.0. Kept at 4.0.0 once its blocking lane's request lands. */
93
98
  export { normalizeSceneSnapshot } from "../agent-api/index.js";
94
- /** @deprecated No replacement — removes next minor. Kept at 4.0.0 once its blocking lane's request lands. */
99
+ /** @deprecated No replacement — removes in 5.0.0. Kept at 4.0.0 once its blocking lane's request lands. */
95
100
  export { normalizeTextureBudgetBytes } from "../agent-api/index.js";
96
- /** @deprecated Use `@aura3d/engine/devtools`. Kept at 4.0.0 — removes in the next minor once its blocking lane's request lands. */
101
+ /** @deprecated Use `@aura3d/engine/devtools`. Kept at 4.0.0 — removes in 5.0.0 once its blocking lane's request lands. */
97
102
  export { quaterniusGameReadyFighterValidationContract } from "../agent-api/index.js";
98
- /** @deprecated Use `@aura3d/engine/renderer`. Kept at 4.0.0 — removes in the next minor once its blocking lane's request lands. */
103
+ /** @deprecated Use `@aura3d/engine/renderer`. Kept at 4.0.0 — removes in 5.0.0 once its blocking lane's request lands. */
99
104
  export { Renderer } from "../agent-api/index.js";
100
- /** @deprecated No replacement — removes next minor. Kept at 4.0.0 once its blocking lane's request lands. */
105
+ /** @deprecated No replacement — removes in 5.0.0. Kept at 4.0.0 once its blocking lane's request lands. */
101
106
  export { resolveProductionRuntimeShadowTuning } from "../agent-api/index.js";
102
- /** @deprecated No replacement — removes next minor. Kept at 4.0.0 once its blocking lane's request lands. */
107
+ /** @deprecated No replacement — removes in 5.0.0. Kept at 4.0.0 once its blocking lane's request lands. */
103
108
  export { resolveProductionShadowCasterIndex } from "../agent-api/index.js";
104
- /** @deprecated No replacement — removes next minor. Kept at 4.0.0 once its blocking lane's request lands. */
109
+ /** @deprecated No replacement — removes in 5.0.0. Kept at 4.0.0 once its blocking lane's request lands. */
105
110
  export { sky } from "../agent-api/index.js";
106
- /** @deprecated No replacement — removes next minor. Kept at 4.0.0 once its blocking lane's request lands. */
111
+ /** @deprecated No replacement — removes in 5.0.0. Kept at 4.0.0 once its blocking lane's request lands. */
107
112
  export { summarizeExternalParityGLTFCorpus } from "../agent-api/index.js";
108
- /** @deprecated No replacement — removes next minor. Kept at 4.0.0 once its blocking lane's request lands. */
113
+ /** @deprecated No replacement — removes in 5.0.0. Kept at 4.0.0 once its blocking lane's request lands. */
109
114
  export { unsafeModelUrl } from "../agent-api/index.js";
110
- /** @deprecated No replacement — removes next minor. Kept at 4.0.0 once its blocking lane's request lands. */
115
+ /** @deprecated No replacement — removes in 5.0.0. Kept at 4.0.0 once its blocking lane's request lands. */
111
116
  export { upgradeProductionPrimitiveTextures } from "../agent-api/index.js";
112
- /** @deprecated No replacement — removes next minor. Kept at 4.0.0 once its blocking lane's request lands. */
117
+ /** @deprecated No replacement — removes in 5.0.0. Kept at 4.0.0 once its blocking lane's request lands. */
113
118
  export { validatePlatformerMotion } from "../agent-api/index.js";
114
- /** @deprecated Use `@aura3d/engine/devtools`. Kept at 4.0.0 — removes in the next minor once its blocking lane's request lands. */
119
+ /** @deprecated Use `@aura3d/engine/devtools`. Kept at 4.0.0 — removes in 5.0.0 once its blocking lane's request lands. */
115
120
  export { validateQuaterniusGameReadyFighterAsset } from "../agent-api/index.js";
116
- /** @deprecated No replacement — removes next minor. Kept at 4.0.0 once its blocking lane's request lands. */
121
+ /** @deprecated No replacement — removes in 5.0.0. Kept at 4.0.0 once its blocking lane's request lands. */
117
122
  export { water } from "../agent-api/index.js";
118
- /** @deprecated No replacement — removes next minor. Kept at 4.0.0 once its blocking lane's request lands. */
123
+ /** @deprecated No replacement — removes in 5.0.0. Kept at 4.0.0 once its blocking lane's request lands. */
119
124
  export { weather } from "../agent-api/index.js";
120
125
  // ── Lane-facing leaves consumed by shipped tests (prd02/prd03 contract
121
126
  // impls) — these names live on leaf modules, not the agent-api barrel, so
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/engine/src/public/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/engine/src/public/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ /** Seeded random stream (mulberry32) that counts its draws, so replays can assert the exact draw count. */
2
+ export interface QaCountedRng {
3
+ readonly seed: number;
4
+ /** Number of draws taken since the last `reset`. */
5
+ readonly count: number;
6
+ /** Uniform float in [0, 1). */
7
+ next(): number;
8
+ /** Uniform float in [min, max). */
9
+ range(min: number, max: number): number;
10
+ /** Integer in [min, maxExclusive). */
11
+ int(min: number, maxExclusive: number): number;
12
+ /** Restart the stream (optionally with a new seed) and zero the draw counter. */
13
+ reset(seed?: number): void;
14
+ }
15
+ export declare function createCountedRng(seed?: number): QaCountedRng;
16
+ //# sourceMappingURL=countedRng.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"countedRng.d.ts","sourceRoot":"","sources":["../../../../../packages/engine/src/qa/countedRng.ts"],"names":[],"mappings":"AAAA,2GAA2G;AAC3G,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,oDAAoD;IACpD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,+BAA+B;IAC/B,IAAI,IAAI,MAAM,CAAC;IACf,mCAAmC;IACnC,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;IACxC,sCAAsC;IACtC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,CAAC;IAC/C,iFAAiF;IACjF,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED,wBAAgB,gBAAgB,CAAC,IAAI,SAAI,GAAG,YAAY,CAoCvD"}
@@ -0,0 +1,40 @@
1
+ export function createCountedRng(seed = 1) {
2
+ let state = seed >>> 0;
3
+ let currentSeed = seed;
4
+ let count = 0;
5
+ const next = () => {
6
+ count++;
7
+ state = (state + 0x6d2b79f5) >>> 0;
8
+ let t = state;
9
+ t = Math.imul(t ^ (t >>> 15), t | 1);
10
+ t ^= t + Math.imul(t ^ (t >>> 7), t | 61);
11
+ return ((t ^ (t >>> 14)) >>> 0) / 4294967296;
12
+ };
13
+ return {
14
+ get seed() {
15
+ return currentSeed;
16
+ },
17
+ get count() {
18
+ return count;
19
+ },
20
+ next,
21
+ range(min, max) {
22
+ if (min > max)
23
+ throw new RangeError("min must be <= max");
24
+ return min + (max - min) * next();
25
+ },
26
+ int(min, maxExclusive) {
27
+ if (!Number.isInteger(min) || !Number.isInteger(maxExclusive) || min >= maxExclusive) {
28
+ throw new RangeError("int requires integer min < maxExclusive.");
29
+ }
30
+ return min + Math.floor(next() * (maxExclusive - min));
31
+ },
32
+ reset(nextSeed) {
33
+ if (nextSeed !== undefined)
34
+ currentSeed = nextSeed;
35
+ state = currentSeed >>> 0;
36
+ count = 0;
37
+ }
38
+ };
39
+ }
40
+ //# sourceMappingURL=countedRng.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"countedRng.js","sourceRoot":"","sources":["../../../../../packages/engine/src/qa/countedRng.ts"],"names":[],"mappings":"AAeA,MAAM,UAAU,gBAAgB,CAAC,IAAI,GAAG,CAAC;IACvC,IAAI,KAAK,GAAG,IAAI,KAAK,CAAC,CAAC;IACvB,IAAI,WAAW,GAAG,IAAI,CAAC;IACvB,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,MAAM,IAAI,GAAG,GAAW,EAAE;QACxB,KAAK,EAAE,CAAC;QACR,KAAK,GAAG,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;QACnC,IAAI,CAAC,GAAG,KAAK,CAAC;QACd,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QACrC,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;QAC1C,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,UAAU,CAAC;IAC/C,CAAC,CAAC;IACF,OAAO;QACL,IAAI,IAAI;YACN,OAAO,WAAW,CAAC;QACrB,CAAC;QACD,IAAI,KAAK;YACP,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI;QACJ,KAAK,CAAC,GAAG,EAAE,GAAG;YACZ,IAAI,GAAG,GAAG,GAAG;gBAAE,MAAM,IAAI,UAAU,CAAC,oBAAoB,CAAC,CAAC;YAC1D,OAAO,GAAG,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC;QACpC,CAAC;QACD,GAAG,CAAC,GAAG,EAAE,YAAY;YACnB,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,GAAG,IAAI,YAAY,EAAE,CAAC;gBACrF,MAAM,IAAI,UAAU,CAAC,0CAA0C,CAAC,CAAC;YACnE,CAAC;YACD,OAAO,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,YAAY,GAAG,GAAG,CAAC,CAAC,CAAC;QACzD,CAAC;QACD,KAAK,CAAC,QAAQ;YACZ,IAAI,QAAQ,KAAK,SAAS;gBAAE,WAAW,GAAG,QAAQ,CAAC;YACnD,KAAK,GAAG,WAAW,KAAK,CAAC,CAAC;YAC1B,KAAK,GAAG,CAAC,CAAC;QACZ,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,43 @@
1
+ export interface FixedStepLoopOptions {
2
+ /** Advance the simulation by one fixed step (`stepSeconds`). */
3
+ readonly step: (stepSeconds: number, stepIndex: number) => void;
4
+ /** Present the current state; called once per animation frame (after its steps) and once at the end of `advance`. */
5
+ readonly render?: (frameSeconds: number) => void;
6
+ /** Fixed step length in seconds. Default 1/60. */
7
+ readonly stepSeconds?: number;
8
+ /** Most steps one frame may run before the remaining time is dropped. Default 6. */
9
+ readonly maxCatchUpSteps?: number;
10
+ /** A frame longer than this is clamped (tab switches, debugger pauses). Default 0.1. */
11
+ readonly maxFrameSeconds?: number;
12
+ /** Shortest frame time used for the accumulator. Default 0.001. */
13
+ readonly minFrameSeconds?: number;
14
+ /** Manual mode: the loop never advances on its own; only `advance(n)` moves it (QA runs). */
15
+ readonly manual?: boolean;
16
+ /** Returning false pauses the loop (for example before the app is ready) without losing the clock. */
17
+ readonly isActive?: () => boolean;
18
+ /** Injectable clock and scheduler for tests. Default `performance.now` and `requestAnimationFrame`. */
19
+ readonly now?: () => number;
20
+ readonly schedule?: (callback: (nowMs: number) => void) => unknown;
21
+ readonly cancel?: (handle: unknown) => void;
22
+ }
23
+ export interface FixedStepLoop {
24
+ /** Begin scheduling frames. Idempotent. */
25
+ start(): void;
26
+ stop(): void;
27
+ readonly running: boolean;
28
+ manual: boolean;
29
+ /** Total simulation steps executed through this loop (live and manual). */
30
+ readonly steps: number;
31
+ /** Seconds of unsimulated time carried to the next frame. */
32
+ readonly accumulator: number;
33
+ /** Run one animation frame at `nowMs` (what the scheduler calls); returns the steps it executed. */
34
+ tick(nowMs: number): number;
35
+ /** Run exactly `count` steps now, ignoring the clock, then render once. Returns the step count. */
36
+ advance(count: number, beforeStep?: (indexInBatch: number) => void): number;
37
+ }
38
+ /**
39
+ * The accumulator loop every port hand-rolled: variable frame time in, fixed simulation steps out, with the
40
+ * same clamping and catch-up guard, a manual mode for deterministic QA, and one render per frame.
41
+ */
42
+ export declare function createFixedStepLoop(options: FixedStepLoopOptions): FixedStepLoop;
43
+ //# sourceMappingURL=fixedStepLoop.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fixedStepLoop.d.ts","sourceRoot":"","sources":["../../../../../packages/engine/src/qa/fixedStepLoop.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,oBAAoB;IACnC,gEAAgE;IAChE,QAAQ,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAChE,qHAAqH;IACrH,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,IAAI,CAAC;IACjD,kDAAkD;IAClD,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,oFAAoF;IACpF,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,wFAAwF;IACxF,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,mEAAmE;IACnE,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,6FAA6F;IAC7F,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC1B,sGAAsG;IACtG,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,OAAO,CAAC;IAClC,uGAAuG;IACvG,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,KAAK,OAAO,CAAC;IACnE,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;CAC7C;AAED,MAAM,WAAW,aAAa;IAC5B,2CAA2C;IAC3C,KAAK,IAAI,IAAI,CAAC;IACd,IAAI,IAAI,IAAI,CAAC;IACb,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,MAAM,EAAE,OAAO,CAAC;IAChB,2EAA2E;IAC3E,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,6DAA6D;IAC7D,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,oGAAoG;IACpG,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B,mGAAmG;IACnG,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,IAAI,GAAG,MAAM,CAAC;CAC7E;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,oBAAoB,GAAG,aAAa,CA0EhF"}
@@ -0,0 +1,83 @@
1
+ /**
2
+ * The accumulator loop every port hand-rolled: variable frame time in, fixed simulation steps out, with the
3
+ * same clamping and catch-up guard, a manual mode for deterministic QA, and one render per frame.
4
+ */
5
+ export function createFixedStepLoop(options) {
6
+ const stepSeconds = options.stepSeconds ?? 1 / 60;
7
+ const maxCatchUp = options.maxCatchUpSteps ?? 6;
8
+ const maxFrame = options.maxFrameSeconds ?? 0.1;
9
+ const minFrame = options.minFrameSeconds ?? 0.001;
10
+ if (!(stepSeconds > 0))
11
+ throw new RangeError("stepSeconds must be > 0");
12
+ const now = options.now ?? (() => (typeof performance === "undefined" ? Date.now() : performance.now()));
13
+ const schedule = options.schedule ?? ((cb) => requestAnimationFrame(cb));
14
+ const cancel = options.cancel ?? ((handle) => cancelAnimationFrame(handle));
15
+ let running = false;
16
+ let handle;
17
+ let last = 0;
18
+ let accumulator = 0;
19
+ let steps = 0;
20
+ const runStep = () => {
21
+ options.step(stepSeconds, steps);
22
+ steps++;
23
+ };
24
+ const loop = {
25
+ manual: options.manual ?? false,
26
+ get running() {
27
+ return running;
28
+ },
29
+ get steps() {
30
+ return steps;
31
+ },
32
+ get accumulator() {
33
+ return accumulator;
34
+ },
35
+ tick(nowMs) {
36
+ const frameSeconds = Math.min(maxFrame, Math.max(minFrame, (nowMs - last) / 1000));
37
+ last = nowMs;
38
+ if (loop.manual || (options.isActive && !options.isActive()))
39
+ return 0;
40
+ accumulator += frameSeconds;
41
+ let executed = 0;
42
+ while (accumulator >= stepSeconds && executed < maxCatchUp) {
43
+ accumulator -= stepSeconds;
44
+ runStep();
45
+ executed++;
46
+ }
47
+ if (executed === maxCatchUp && accumulator >= stepSeconds)
48
+ accumulator = 0;
49
+ options.render?.(frameSeconds);
50
+ return executed;
51
+ },
52
+ advance(count, beforeStep) {
53
+ const n = Math.max(0, Math.trunc(count));
54
+ for (let i = 0; i < n; i++) {
55
+ beforeStep?.(i);
56
+ runStep();
57
+ }
58
+ options.render?.(stepSeconds);
59
+ return n;
60
+ },
61
+ start() {
62
+ if (running)
63
+ return;
64
+ running = true;
65
+ last = now();
66
+ const frame = (nowMs) => {
67
+ if (!running)
68
+ return;
69
+ handle = schedule(frame);
70
+ loop.tick(nowMs);
71
+ };
72
+ handle = schedule(frame);
73
+ },
74
+ stop() {
75
+ running = false;
76
+ if (handle !== undefined)
77
+ cancel(handle);
78
+ handle = undefined;
79
+ }
80
+ };
81
+ return loop;
82
+ }
83
+ //# sourceMappingURL=fixedStepLoop.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fixedStepLoop.js","sourceRoot":"","sources":["../../../../../packages/engine/src/qa/fixedStepLoop.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,80 @@
1
+ /** The slice of an `AuraApp` the generated hooks read; every member is optional so partial apps work. */
2
+ export interface QaHookApp {
3
+ capture?(options: {
4
+ type: "png-blob";
5
+ }): Promise<unknown>;
6
+ diagnostics?(): unknown;
7
+ /** Renderer info: either a getter function or the info object itself (`AuraApp.info`). */
8
+ readonly info?: unknown;
9
+ }
10
+ export interface QaHooksOptions<S, I, X extends object = {}> {
11
+ /** True once the app finished booting. */
12
+ readonly ready: () => boolean;
13
+ /** Plain-data snapshot of the simulation (compared against recorded references). */
14
+ readonly state: () => S;
15
+ /** Advance `n` simulation steps (input applies to the first step) and present once. Default: not installed. */
16
+ readonly stepFrames?: (n: number, input?: Partial<I>) => void;
17
+ /** Rebuild the simulation, optionally with a new seed. */
18
+ readonly reset?: (seed?: number) => void;
19
+ /** Headless replay of a recorded script; returns the trace. */
20
+ readonly replay?: (script: string, ...rest: number[]) => unknown;
21
+ /** Start a run (press Start) without rendering a title flow. */
22
+ readonly begin?: () => void;
23
+ readonly seed?: number;
24
+ /** One compact trace row for the current step and the column names (for capture/replay tooling). */
25
+ readonly traceRow?: () => unknown;
26
+ readonly traceColumns?: readonly string[];
27
+ /** The mounted app (or a getter, because ports create it asynchronously). Powers `frame`, `pixels`, `info`, `diagnostics`. */
28
+ readonly app?: QaHookApp | null | (() => QaHookApp | null | undefined);
29
+ readonly routeHealth?: () => unknown;
30
+ readonly nodeCount?: () => number;
31
+ /** Game-specific hooks merged on top of the standard ones (they win on name clashes). */
32
+ readonly extras?: X;
33
+ /** Install target; defaults to `globalThis`. */
34
+ readonly target?: Record<string, unknown>;
35
+ }
36
+ export interface QaPixels {
37
+ readonly width: number;
38
+ readonly height: number;
39
+ readonly data: Uint8ClampedArray;
40
+ }
41
+ export interface QaStandardHooks<S, I> {
42
+ ready(): boolean;
43
+ readonly seed: number | undefined;
44
+ state(): S;
45
+ stepFrames(n: number, input?: Partial<I>): S;
46
+ reset(seed?: number): void;
47
+ replay(script: string, ...rest: number[]): unknown;
48
+ begin(): void;
49
+ traceRow(): unknown;
50
+ readonly traceColumns: readonly string[] | undefined;
51
+ frame(width?: number, height?: number, quality?: number): Promise<string>;
52
+ pixels(): Promise<QaPixels>;
53
+ info(): unknown;
54
+ diagnostics(): unknown;
55
+ routeHealth(): unknown;
56
+ nodeCount(): number;
57
+ }
58
+ export type QaHooks<S, I, X extends object = {}> = QaStandardHooks<S, I> & X;
59
+ export interface InstalledQaHooks<S, I, X extends object = {}> {
60
+ readonly hooks: QaHooks<S, I, X>;
61
+ /** Name of the global the hooks live on, for example `__AURA_SPLAT_RUSH__`. */
62
+ readonly globalName: string;
63
+ /** Name of the global the first boot error is stored on, for example `__AURA_SPLAT_RUSH_ERROR__`. */
64
+ readonly errorGlobalName: string;
65
+ /** Record a boot/runtime error; the first error wins so later noise cannot hide the cause. */
66
+ reportError(error: unknown): void;
67
+ /** Remove the hooks (and the error global) from the target. */
68
+ uninstall(): void;
69
+ }
70
+ /** `splat-rush` -> `__AURA_SPLAT_RUSH__`. */
71
+ export declare function qaHookGlobalName(name: string): string;
72
+ /** `splat-rush` -> `__AURA_SPLAT_RUSH_ERROR__`. */
73
+ export declare function qaErrorGlobalName(name: string): string;
74
+ /**
75
+ * Install the `window.__AURA_<NAME>__` QA hooks browser specs, capture tools and the live smoke read:
76
+ * `ready`, `state`, `stepFrames`, `reset`, `replay`, `begin`, `traceRow`, `frame` (JPEG data URL), `pixels`
77
+ * (RGBA), `info`, `diagnostics`, `routeHealth` and `nodeCount`, plus any game-specific extras.
78
+ */
79
+ export declare function installQaHooks<S, I = Record<string, unknown>, X extends object = {}>(name: string, options: QaHooksOptions<S, I, X>): InstalledQaHooks<S, I, X>;
80
+ //# sourceMappingURL=hooks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../../../../packages/engine/src/qa/hooks.ts"],"names":[],"mappings":"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"}