@aura3d/engine 1.5.1 → 2.0.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 (549) hide show
  1. package/README.md +142 -83
  2. package/dist/animation/FootIk.d.ts +10 -1
  3. package/dist/animation/FootIk.d.ts.map +1 -1
  4. package/dist/animation/FootIk.js.map +1 -1
  5. package/dist/animation/HumanoidRetargeting.js +1 -1
  6. package/dist/animation/RigQuality.d.ts +1 -1
  7. package/dist/animation/RigQuality.js +2 -2
  8. package/dist/animation/RigQuality.js.map +1 -1
  9. package/dist/animation/SecondaryAnimationSampling.d.ts +55 -0
  10. package/dist/animation/SecondaryAnimationSampling.d.ts.map +1 -0
  11. package/dist/animation/SecondaryAnimationSampling.js +145 -0
  12. package/dist/animation/SecondaryAnimationSampling.js.map +1 -0
  13. package/dist/animation/SpringBones.d.ts.map +1 -1
  14. package/dist/animation/SpringBones.js +1 -2
  15. package/dist/animation/SpringBones.js.map +1 -1
  16. package/dist/animation/browser-index.d.ts +0 -2
  17. package/dist/animation/browser-index.d.ts.map +1 -1
  18. package/dist/animation/browser-index.js +0 -2
  19. package/dist/animation/browser-index.js.map +1 -1
  20. package/dist/animation/index.d.ts +0 -2
  21. package/dist/animation/index.d.ts.map +1 -1
  22. package/dist/animation/index.js +0 -2
  23. package/dist/animation/index.js.map +1 -1
  24. package/dist/assets/GLTFAnimationRuntime.d.ts +4 -0
  25. package/dist/assets/GLTFAnimationRuntime.d.ts.map +1 -1
  26. package/dist/assets/GLTFAnimationRuntime.js +29 -6
  27. package/dist/assets/GLTFAnimationRuntime.js.map +1 -1
  28. package/dist/assets/GLTFLoader.d.ts.map +1 -1
  29. package/dist/assets/GLTFLoader.js +13 -4
  30. package/dist/assets/GLTFLoader.js.map +1 -1
  31. package/dist/assets/browser-index.d.ts +0 -4
  32. package/dist/assets/browser-index.d.ts.map +1 -1
  33. package/dist/assets/browser-index.js +0 -2
  34. package/dist/assets/browser-index.js.map +1 -1
  35. package/dist/assets/gltf-runtime.d.ts +6 -0
  36. package/dist/assets/gltf-runtime.d.ts.map +1 -0
  37. package/dist/assets/gltf-runtime.js +4 -0
  38. package/dist/assets/gltf-runtime.js.map +1 -0
  39. package/dist/assets/index.d.ts +0 -4
  40. package/dist/assets/index.d.ts.map +1 -1
  41. package/dist/assets/index.js +0 -2
  42. package/dist/assets/index.js.map +1 -1
  43. package/dist/audio/AudioBus.d.ts +19 -1
  44. package/dist/audio/AudioBus.d.ts.map +1 -1
  45. package/dist/audio/AudioBus.js.map +1 -1
  46. package/dist/audio/AudioFileManager.d.ts +5 -0
  47. package/dist/audio/AudioFileManager.d.ts.map +1 -1
  48. package/dist/audio/AudioFileManager.js +13 -0
  49. package/dist/audio/AudioFileManager.js.map +1 -1
  50. package/dist/audio/AudioSource.d.ts +8 -0
  51. package/dist/audio/AudioSource.d.ts.map +1 -1
  52. package/dist/audio/AudioSource.js +56 -7
  53. package/dist/audio/AudioSource.js.map +1 -1
  54. package/dist/audio/index.d.ts +1 -7
  55. package/dist/audio/index.d.ts.map +1 -1
  56. package/dist/audio/index.js +0 -3
  57. package/dist/audio/index.js.map +1 -1
  58. package/dist/aura3d-cli/asset-core-types.d.ts +1 -1
  59. package/dist/aura3d-cli/asset-core-types.d.ts.map +1 -1
  60. package/dist/aura3d-cli/asset-manifest.d.ts.map +1 -1
  61. package/dist/aura3d-cli/asset-manifest.js +36 -2
  62. package/dist/aura3d-cli/asset-manifest.js.map +1 -1
  63. package/dist/aura3d-cli/asset-role-admission.js +1 -1
  64. package/dist/aura3d-cli/asset-role-admission.js.map +1 -1
  65. package/dist/aura3d-cli/cli-help.js +3 -3
  66. package/dist/aura3d-cli/cli-help.js.map +1 -1
  67. package/dist/aura3d-cli/cli-options.d.ts +1 -1
  68. package/dist/aura3d-cli/cli-options.d.ts.map +1 -1
  69. package/dist/aura3d-cli/cli-options.js +2 -2
  70. package/dist/aura3d-cli/cli-options.js.map +1 -1
  71. package/dist/aura3d-cli/cli.js +1 -1
  72. package/dist/aura3d-cli/cli.js.map +1 -1
  73. package/dist/aura3d-cli/index.d.ts.map +1 -1
  74. package/dist/aura3d-cli/index.js +13 -5
  75. package/dist/aura3d-cli/index.js.map +1 -1
  76. package/dist/create-aura3d/index.d.ts.map +1 -1
  77. package/dist/create-aura3d/index.js +10 -4
  78. package/dist/create-aura3d/index.js.map +1 -1
  79. package/dist/create-aura3d/showcase-spec-evidence.js +5 -1
  80. package/dist/create-aura3d/showcase-spec-evidence.js.map +1 -1
  81. package/dist/create-aura3d/showcase-spec-game-geometry-extractor.d.ts +8 -1
  82. package/dist/create-aura3d/showcase-spec-game-geometry-extractor.d.ts.map +1 -1
  83. package/dist/create-aura3d/showcase-spec-game-geometry-extractor.js +191 -31
  84. package/dist/create-aura3d/showcase-spec-game-geometry-extractor.js.map +1 -1
  85. package/dist/create-aura3d/showcase-spec-game-template-evidence.d.ts.map +1 -1
  86. package/dist/create-aura3d/showcase-spec-game-template-evidence.js +7 -0
  87. package/dist/create-aura3d/showcase-spec-game-template-evidence.js.map +1 -1
  88. package/dist/create-aura3d/showcase-spec-parser.js +1 -1
  89. package/dist/create-aura3d/showcase-spec-parser.js.map +1 -1
  90. package/dist/create-aura3d/showcase-spec-types.d.ts +50 -0
  91. package/dist/create-aura3d/showcase-spec-types.d.ts.map +1 -1
  92. package/dist/editor-runtime/index.d.ts +0 -2
  93. package/dist/editor-runtime/index.d.ts.map +1 -1
  94. package/dist/editor-runtime/index.js +0 -1
  95. package/dist/editor-runtime/index.js.map +1 -1
  96. package/dist/engine/agent-api/GameAssetValidation.js +1 -1
  97. package/dist/engine/agent-api/GameAssetValidation.js.map +1 -1
  98. package/dist/engine/agent-api/GameEvidence.js +1 -1
  99. package/dist/engine/agent-api/GameEvidence.js.map +1 -1
  100. package/dist/engine/agent-api/GameGenreKits.d.ts +63 -0
  101. package/dist/engine/agent-api/GameGenreKits.d.ts.map +1 -1
  102. package/dist/engine/agent-api/GameGenreKits.js +274 -56
  103. package/dist/engine/agent-api/GameGenreKits.js.map +1 -1
  104. package/dist/engine/agent-api/GameRuntime.d.ts +38 -1
  105. package/dist/engine/agent-api/GameRuntime.d.ts.map +1 -1
  106. package/dist/engine/agent-api/GameRuntime.js +69 -1
  107. package/dist/engine/agent-api/GameRuntime.js.map +1 -1
  108. package/dist/engine/agent-api/GameSceneGeometryBindings.d.ts +24 -0
  109. package/dist/engine/agent-api/GameSceneGeometryBindings.d.ts.map +1 -1
  110. package/dist/engine/agent-api/GameSceneGeometryBindings.js +52 -0
  111. package/dist/engine/agent-api/GameSceneGeometryBindings.js.map +1 -1
  112. package/dist/engine/agent-api/LeanArcadeRuntime.d.ts +111 -0
  113. package/dist/engine/agent-api/LeanArcadeRuntime.d.ts.map +1 -0
  114. package/dist/engine/agent-api/LeanArcadeRuntime.js +219 -0
  115. package/dist/engine/agent-api/LeanArcadeRuntime.js.map +1 -0
  116. package/dist/engine/agent-api/PhysicsRuntime.d.ts +332 -0
  117. package/dist/engine/agent-api/PhysicsRuntime.d.ts.map +1 -0
  118. package/dist/engine/agent-api/PhysicsRuntime.js +619 -0
  119. package/dist/engine/agent-api/PhysicsRuntime.js.map +1 -0
  120. package/dist/engine/agent-api/PlatformerMotion.d.ts +124 -0
  121. package/dist/engine/agent-api/PlatformerMotion.d.ts.map +1 -1
  122. package/dist/engine/agent-api/PlatformerMotion.js +101 -16
  123. package/dist/engine/agent-api/PlatformerMotion.js.map +1 -1
  124. package/dist/engine/agent-api/RootGeometry.d.ts +36 -0
  125. package/dist/engine/agent-api/RootGeometry.d.ts.map +1 -0
  126. package/dist/engine/agent-api/RootGeometry.js +152 -0
  127. package/dist/engine/agent-api/RootGeometry.js.map +1 -0
  128. package/dist/engine/agent-api/SpatialAnchoring.d.ts +47 -0
  129. package/dist/engine/agent-api/SpatialAnchoring.d.ts.map +1 -1
  130. package/dist/engine/agent-api/SpatialAnchoring.js +46 -0
  131. package/dist/engine/agent-api/SpatialAnchoring.js.map +1 -1
  132. package/dist/engine/agent-api/VehicleChassis.d.ts +52 -0
  133. package/dist/engine/agent-api/VehicleChassis.d.ts.map +1 -1
  134. package/dist/engine/agent-api/VehicleChassis.js +182 -8
  135. package/dist/engine/agent-api/VehicleChassis.js.map +1 -1
  136. package/dist/engine/agent-api/WorldLabelRenderer.d.ts +65 -1
  137. package/dist/engine/agent-api/WorldLabelRenderer.d.ts.map +1 -1
  138. package/dist/engine/agent-api/WorldLabelRenderer.js +48 -5
  139. package/dist/engine/agent-api/WorldLabelRenderer.js.map +1 -1
  140. package/dist/engine/agent-api/humanoid-walk-runtime.d.ts +1 -1
  141. package/dist/engine/agent-api/index.d.ts +240 -14
  142. package/dist/engine/agent-api/index.d.ts.map +1 -1
  143. package/dist/engine/agent-api/index.js +1435 -344
  144. package/dist/engine/agent-api/index.js.map +1 -1
  145. package/dist/engine/agent-api/lean-base.d.ts +224 -0
  146. package/dist/engine/agent-api/lean-base.d.ts.map +1 -0
  147. package/dist/engine/agent-api/lean-base.js +322 -0
  148. package/dist/engine/agent-api/lean-base.js.map +1 -0
  149. package/dist/engine/agent-api/lean-game.d.ts +3 -0
  150. package/dist/engine/agent-api/lean-game.d.ts.map +1 -0
  151. package/dist/engine/agent-api/lean-game.js +3 -0
  152. package/dist/engine/agent-api/lean-game.js.map +1 -0
  153. package/dist/engine/agent-api/lean-product.d.ts +3 -0
  154. package/dist/engine/agent-api/lean-product.d.ts.map +1 -0
  155. package/dist/engine/agent-api/lean-product.js +3 -0
  156. package/dist/engine/agent-api/lean-product.js.map +1 -0
  157. package/dist/engine/agent-api/lean.d.ts +3 -0
  158. package/dist/engine/agent-api/lean.d.ts.map +1 -0
  159. package/dist/engine/agent-api/lean.js +3 -0
  160. package/dist/engine/agent-api/lean.js.map +1 -0
  161. package/dist/engine/agent-api/media-node.d.ts +42 -0
  162. package/dist/engine/agent-api/media-node.d.ts.map +1 -0
  163. package/dist/engine/agent-api/media-node.js +44 -0
  164. package/dist/engine/agent-api/media-node.js.map +1 -0
  165. package/dist/engine/agent-api/product-viewer-runtime.d.ts.map +1 -1
  166. package/dist/engine/game/GameAudio.d.ts +5 -0
  167. package/dist/engine/game/GameAudio.d.ts.map +1 -1
  168. package/dist/engine/game/GameAudio.js +65 -23
  169. package/dist/engine/game/GameAudio.js.map +1 -1
  170. package/dist/engine/production-runtime/TypedGLBActor.d.ts +9 -1
  171. package/dist/engine/production-runtime/TypedGLBActor.d.ts.map +1 -1
  172. package/dist/engine/production-runtime/TypedGLBActor.js +25 -7
  173. package/dist/engine/production-runtime/TypedGLBActor.js.map +1 -1
  174. package/dist/engine/production-runtime/index.d.ts +2 -2
  175. package/dist/engine/production-runtime/index.d.ts.map +1 -1
  176. package/dist/engine/threejs-example-parity/FlagshipFoundation.d.ts +3 -3
  177. package/dist/engine/threejs-example-parity/FlagshipFoundation.d.ts.map +1 -1
  178. package/dist/environments/index.d.ts +5 -10
  179. package/dist/environments/index.d.ts.map +1 -1
  180. package/dist/environments/index.js +0 -3
  181. package/dist/environments/index.js.map +1 -1
  182. package/dist/environments/node.d.ts +7 -0
  183. package/dist/environments/node.d.ts.map +1 -0
  184. package/dist/environments/node.js +5 -0
  185. package/dist/environments/node.js.map +1 -0
  186. package/dist/index.d.ts +3 -0
  187. package/dist/index.js +3 -0
  188. package/dist/input/InputActionBinding.d.ts +44 -0
  189. package/dist/input/InputActionBinding.d.ts.map +1 -0
  190. package/dist/input/InputActionBinding.js +86 -0
  191. package/dist/input/InputActionBinding.js.map +1 -0
  192. package/dist/input/InputActionBindingFixtures.d.ts +8 -0
  193. package/dist/input/InputActionBindingFixtures.d.ts.map +1 -1
  194. package/dist/input/InputActionBindingFixtures.js +8 -0
  195. package/dist/input/InputActionBindingFixtures.js.map +1 -1
  196. package/dist/input/InputValueProcessors.d.ts +19 -0
  197. package/dist/input/InputValueProcessors.d.ts.map +1 -0
  198. package/dist/input/InputValueProcessors.js +24 -0
  199. package/dist/input/InputValueProcessors.js.map +1 -0
  200. package/dist/input/index.d.ts +2 -6
  201. package/dist/input/index.d.ts.map +1 -1
  202. package/dist/input/index.js +1 -3
  203. package/dist/input/index.js.map +1 -1
  204. package/dist/lean/ArcadeRuntime.d.ts +111 -0
  205. package/dist/lean/ArcadeRuntime.d.ts.map +1 -0
  206. package/dist/lean/ArcadeRuntime.js +219 -0
  207. package/dist/lean/ArcadeRuntime.js.map +1 -0
  208. package/dist/lean/base.d.ts +228 -0
  209. package/dist/lean/base.d.ts.map +1 -0
  210. package/dist/lean/base.js +322 -0
  211. package/dist/lean/base.js.map +1 -0
  212. package/dist/lean/game.d.ts +19 -0
  213. package/dist/lean/game.d.ts.map +1 -0
  214. package/dist/lean/game.js +37 -0
  215. package/dist/lean/game.js.map +1 -0
  216. package/dist/lean/index.d.ts +4 -0
  217. package/dist/lean/index.d.ts.map +1 -0
  218. package/dist/lean/index.js +10 -0
  219. package/dist/lean/index.js.map +1 -0
  220. package/dist/lean/product.d.ts +4 -0
  221. package/dist/lean/product.d.ts.map +1 -0
  222. package/dist/lean/product.js +55 -0
  223. package/dist/lean/product.js.map +1 -0
  224. package/dist/materials/index.d.ts +1 -10
  225. package/dist/materials/index.d.ts.map +1 -1
  226. package/dist/materials/index.js +1 -6
  227. package/dist/materials/index.js.map +1 -1
  228. package/dist/materials/node.d.ts +4 -0
  229. package/dist/materials/node.d.ts.map +1 -0
  230. package/dist/materials/node.js +3 -0
  231. package/dist/materials/node.js.map +1 -0
  232. package/dist/physics/ArcadeCharacterController.d.ts +53 -0
  233. package/dist/physics/ArcadeCharacterController.d.ts.map +1 -0
  234. package/dist/physics/ArcadeCharacterController.js +98 -0
  235. package/dist/physics/ArcadeCharacterController.js.map +1 -0
  236. package/dist/physics/ArcadeVehicleTelemetry.d.ts +162 -0
  237. package/dist/physics/ArcadeVehicleTelemetry.d.ts.map +1 -0
  238. package/dist/physics/ArcadeVehicleTelemetry.js +363 -0
  239. package/dist/physics/ArcadeVehicleTelemetry.js.map +1 -0
  240. package/dist/physics/CharacterController.d.ts +52 -0
  241. package/dist/physics/CharacterController.d.ts.map +1 -1
  242. package/dist/physics/CharacterController.js +380 -7
  243. package/dist/physics/CharacterController.js.map +1 -1
  244. package/dist/physics/Constraint.d.ts +20 -4
  245. package/dist/physics/Constraint.d.ts.map +1 -1
  246. package/dist/physics/Constraint.js +34 -60
  247. package/dist/physics/Constraint.js.map +1 -1
  248. package/dist/physics/FightingCharacterController.d.ts +32 -0
  249. package/dist/physics/FightingCharacterController.d.ts.map +1 -0
  250. package/dist/physics/FightingCharacterController.js +76 -0
  251. package/dist/physics/FightingCharacterController.js.map +1 -0
  252. package/dist/physics/MeshBVH.d.ts +72 -0
  253. package/dist/physics/MeshBVH.d.ts.map +1 -0
  254. package/dist/physics/MeshBVH.js +244 -0
  255. package/dist/physics/MeshBVH.js.map +1 -0
  256. package/dist/physics/PathFollowDriver.d.ts +162 -0
  257. package/dist/physics/PathFollowDriver.d.ts.map +1 -0
  258. package/dist/physics/PathFollowDriver.js +163 -0
  259. package/dist/physics/PathFollowDriver.js.map +1 -0
  260. package/dist/physics/PhysicsDebugDraw.d.ts +40 -1
  261. package/dist/physics/PhysicsDebugDraw.d.ts.map +1 -1
  262. package/dist/physics/PhysicsDebugDraw.js +87 -17
  263. package/dist/physics/PhysicsDebugDraw.js.map +1 -1
  264. package/dist/physics/PhysicsWorld.d.ts +37 -18
  265. package/dist/physics/PhysicsWorld.d.ts.map +1 -1
  266. package/dist/physics/PhysicsWorld.js +231 -630
  267. package/dist/physics/PhysicsWorld.js.map +1 -1
  268. package/dist/physics/RacingLineProfile.d.ts +116 -0
  269. package/dist/physics/RacingLineProfile.d.ts.map +1 -0
  270. package/dist/physics/RacingLineProfile.js +181 -0
  271. package/dist/physics/RacingLineProfile.js.map +1 -0
  272. package/dist/physics/Raycast.d.ts +11 -0
  273. package/dist/physics/Raycast.d.ts.map +1 -1
  274. package/dist/physics/Raycast.js +62 -8
  275. package/dist/physics/Raycast.js.map +1 -1
  276. package/dist/physics/RigidBody.d.ts +16 -9
  277. package/dist/physics/RigidBody.d.ts.map +1 -1
  278. package/dist/physics/RigidBody.js +23 -75
  279. package/dist/physics/RigidBody.js.map +1 -1
  280. package/dist/physics/SurfaceQuery.d.ts +72 -0
  281. package/dist/physics/SurfaceQuery.d.ts.map +1 -0
  282. package/dist/physics/SurfaceQuery.js +89 -0
  283. package/dist/physics/SurfaceQuery.js.map +1 -0
  284. package/dist/physics/VehicleDynamics.d.ts +10 -0
  285. package/dist/physics/VehicleDynamics.d.ts.map +1 -1
  286. package/dist/physics/VehicleDynamics.js +31 -3
  287. package/dist/physics/VehicleDynamics.js.map +1 -1
  288. package/dist/physics/VehicleMotion.d.ts +125 -0
  289. package/dist/physics/VehicleMotion.d.ts.map +1 -0
  290. package/dist/physics/VehicleMotion.js +373 -0
  291. package/dist/physics/VehicleMotion.js.map +1 -0
  292. package/dist/physics/index.d.ts +62 -17
  293. package/dist/physics/index.d.ts.map +1 -1
  294. package/dist/physics/index.js +70 -17
  295. package/dist/physics/index.js.map +1 -1
  296. package/dist/physics/solverless-entry.d.ts +41 -0
  297. package/dist/physics/solverless-entry.d.ts.map +1 -0
  298. package/dist/physics/solverless-entry.js +40 -0
  299. package/dist/physics/solverless-entry.js.map +1 -0
  300. package/dist/physics/solverless.d.ts +37 -0
  301. package/dist/physics/solverless.d.ts.map +1 -0
  302. package/dist/physics/solverless.js +36 -0
  303. package/dist/physics/solverless.js.map +1 -0
  304. package/dist/physics/world-entry.d.ts +31 -0
  305. package/dist/physics/world-entry.d.ts.map +1 -0
  306. package/dist/physics/world-entry.js +30 -0
  307. package/dist/physics/world-entry.js.map +1 -0
  308. package/dist/physics/world.d.ts +18 -0
  309. package/dist/physics/world.d.ts.map +1 -0
  310. package/dist/physics/world.js +17 -0
  311. package/dist/physics/world.js.map +1 -0
  312. package/dist/physics-rapier/index.d.ts +169 -0
  313. package/dist/physics-rapier/index.d.ts.map +1 -0
  314. package/dist/physics-rapier/index.js +311 -0
  315. package/dist/physics-rapier/index.js.map +1 -0
  316. package/dist/product-studio/ProductLighting.d.ts.map +1 -1
  317. package/dist/product-studio/ProductLighting.js +34 -3
  318. package/dist/product-studio/ProductLighting.js.map +1 -1
  319. package/dist/rendering/ArchitecturalLighting.d.ts +35 -0
  320. package/dist/rendering/ArchitecturalLighting.d.ts.map +1 -0
  321. package/dist/rendering/ArchitecturalLighting.js +162 -0
  322. package/dist/rendering/ArchitecturalLighting.js.map +1 -0
  323. package/dist/rendering/ArchitecturalMaterialCatalog.d.ts +1 -1
  324. package/dist/rendering/ArchitecturalMaterialCatalog.d.ts.map +1 -1
  325. package/dist/rendering/ArchitecturalMaterialCatalog.js +1 -1
  326. package/dist/rendering/ArchitecturalMaterialCatalog.js.map +1 -1
  327. package/dist/rendering/ArchitecturalMeasurement.d.ts +27 -0
  328. package/dist/rendering/ArchitecturalMeasurement.d.ts.map +1 -0
  329. package/dist/rendering/ArchitecturalMeasurement.js +112 -0
  330. package/dist/rendering/ArchitecturalMeasurement.js.map +1 -0
  331. package/dist/rendering/CameraFraming.d.ts +77 -0
  332. package/dist/rendering/CameraFraming.d.ts.map +1 -1
  333. package/dist/rendering/CameraFraming.js +176 -1
  334. package/dist/rendering/CameraFraming.js.map +1 -1
  335. package/dist/rendering/CanonicalProductScene.d.ts +13 -0
  336. package/dist/rendering/CanonicalProductScene.d.ts.map +1 -0
  337. package/dist/rendering/CanonicalProductScene.js +78 -0
  338. package/dist/rendering/CanonicalProductScene.js.map +1 -0
  339. package/dist/rendering/CascadedShadowMaps.d.ts +1 -1
  340. package/dist/rendering/CascadedShadowMaps.d.ts.map +1 -1
  341. package/dist/rendering/CascadedShadowMaps.js +1 -1
  342. package/dist/rendering/CascadedShadowMaps.js.map +1 -1
  343. package/dist/rendering/DepthPass.d.ts +1 -1
  344. package/dist/rendering/DepthPass.d.ts.map +1 -1
  345. package/dist/rendering/DepthPass.js +2 -2
  346. package/dist/rendering/DepthPass.js.map +1 -1
  347. package/dist/rendering/EnvironmentBackgroundPass.d.ts +1 -1
  348. package/dist/rendering/EnvironmentBackgroundPass.d.ts.map +1 -1
  349. package/dist/rendering/EnvironmentBackgroundPass.js +2 -2
  350. package/dist/rendering/EnvironmentBackgroundPass.js.map +1 -1
  351. package/dist/rendering/EnvironmentPlatform.js +2 -2
  352. package/dist/rendering/EnvironmentPlatform.js.map +1 -1
  353. package/dist/rendering/ForwardPass.d.ts +1 -1
  354. package/dist/rendering/ForwardPass.d.ts.map +1 -1
  355. package/dist/rendering/ForwardPass.js +24 -10
  356. package/dist/rendering/ForwardPass.js.map +1 -1
  357. package/dist/rendering/Geometry.d.ts +2 -0
  358. package/dist/rendering/Geometry.d.ts.map +1 -1
  359. package/dist/rendering/Geometry.js +15 -0
  360. package/dist/rendering/Geometry.js.map +1 -1
  361. package/dist/rendering/InstancedPBRMaterial.js +1 -1
  362. package/dist/rendering/InstancedPBRMaterial.js.map +1 -1
  363. package/dist/rendering/InstancedUnlitMaterial.js +1 -1
  364. package/dist/rendering/InstancedUnlitMaterial.js.map +1 -1
  365. package/dist/rendering/Material.js +2 -2
  366. package/dist/rendering/Material.js.map +1 -1
  367. package/dist/rendering/MaterialBinding.js +4 -4
  368. package/dist/rendering/MaterialBinding.js.map +1 -1
  369. package/dist/rendering/MaterialInstance.js +2 -2
  370. package/dist/rendering/MaterialInstance.js.map +1 -1
  371. package/dist/rendering/MorphUnlitMaterial.js +1 -1
  372. package/dist/rendering/MorphUnlitMaterial.js.map +1 -1
  373. package/dist/rendering/NormalMappedPBRMaterial.js +1 -1
  374. package/dist/rendering/NormalMappedPBRMaterial.js.map +1 -1
  375. package/dist/rendering/OceanSurface.d.ts +62 -0
  376. package/dist/rendering/OceanSurface.d.ts.map +1 -0
  377. package/dist/rendering/OceanSurface.js +240 -0
  378. package/dist/rendering/OceanSurface.js.map +1 -0
  379. package/dist/rendering/PBRMaterial.d.ts.map +1 -1
  380. package/dist/rendering/PBRMaterial.js +3 -3
  381. package/dist/rendering/PBRMaterial.js.map +1 -1
  382. package/dist/rendering/PortableShaderMaterial.d.ts +60 -0
  383. package/dist/rendering/PortableShaderMaterial.d.ts.map +1 -0
  384. package/dist/rendering/PortableShaderMaterial.js +223 -0
  385. package/dist/rendering/PortableShaderMaterial.js.map +1 -0
  386. package/dist/rendering/PostProcessPass.d.ts.map +1 -1
  387. package/dist/rendering/PostProcessPass.js +30 -6
  388. package/dist/rendering/PostProcessPass.js.map +1 -1
  389. package/dist/rendering/ProceduralTexture.d.ts +27 -0
  390. package/dist/rendering/ProceduralTexture.d.ts.map +1 -0
  391. package/dist/rendering/ProceduralTexture.js +336 -0
  392. package/dist/rendering/ProceduralTexture.js.map +1 -0
  393. package/dist/rendering/ProductTurntable.d.ts +96 -0
  394. package/dist/rendering/ProductTurntable.d.ts.map +1 -0
  395. package/dist/rendering/ProductTurntable.js +639 -0
  396. package/dist/rendering/ProductTurntable.js.map +1 -0
  397. package/dist/rendering/RenderDevice.d.ts +30 -0
  398. package/dist/rendering/RenderDevice.d.ts.map +1 -1
  399. package/dist/rendering/RenderDevice.js.map +1 -1
  400. package/dist/rendering/Renderer.d.ts +28 -4
  401. package/dist/rendering/Renderer.d.ts.map +1 -1
  402. package/dist/rendering/Renderer.js +34 -12
  403. package/dist/rendering/Renderer.js.map +1 -1
  404. package/dist/rendering/RendererPostprocessPlan.js +4 -4
  405. package/dist/rendering/RendererPostprocessPlan.js.map +1 -1
  406. package/dist/rendering/ScreenSpaceLineMaterial.js +1 -1
  407. package/dist/rendering/ScreenSpaceLineMaterial.js.map +1 -1
  408. package/dist/rendering/ShaderChunks.d.ts.map +1 -1
  409. package/dist/rendering/ShaderChunks.js +81 -19
  410. package/dist/rendering/ShaderChunks.js.map +1 -1
  411. package/dist/rendering/ShaderLibrary.d.ts +2 -78
  412. package/dist/rendering/ShaderLibrary.d.ts.map +1 -1
  413. package/dist/rendering/ShaderLibrary.js +127 -793
  414. package/dist/rendering/ShaderLibrary.js.map +1 -1
  415. package/dist/rendering/ShaderLibraryCore.d.ts +100 -0
  416. package/dist/rendering/ShaderLibraryCore.d.ts.map +1 -0
  417. package/dist/rendering/ShaderLibraryCore.js +800 -0
  418. package/dist/rendering/ShaderLibraryCore.js.map +1 -0
  419. package/dist/rendering/ShaderModule.d.ts +1 -1
  420. package/dist/rendering/ShaderModule.d.ts.map +1 -1
  421. package/dist/rendering/ShaderModule.js +4 -2
  422. package/dist/rendering/ShaderModule.js.map +1 -1
  423. package/dist/rendering/ShadowPass.d.ts +1 -1
  424. package/dist/rendering/ShadowPass.d.ts.map +1 -1
  425. package/dist/rendering/ShadowPass.js +6 -4
  426. package/dist/rendering/ShadowPass.js.map +1 -1
  427. package/dist/rendering/SkinnedLitMaterial.js +1 -1
  428. package/dist/rendering/SkinnedLitMaterial.js.map +1 -1
  429. package/dist/rendering/SkinnedUnlitMaterial.js +1 -1
  430. package/dist/rendering/SkinnedUnlitMaterial.js.map +1 -1
  431. package/dist/rendering/SpaceEnvironment.d.ts +54 -0
  432. package/dist/rendering/SpaceEnvironment.d.ts.map +1 -0
  433. package/dist/rendering/SpaceEnvironment.js +116 -0
  434. package/dist/rendering/SpaceEnvironment.js.map +1 -0
  435. package/dist/rendering/TerrainHeightfield.d.ts +60 -0
  436. package/dist/rendering/TerrainHeightfield.d.ts.map +1 -0
  437. package/dist/rendering/TerrainHeightfield.js +239 -0
  438. package/dist/rendering/TerrainHeightfield.js.map +1 -0
  439. package/dist/rendering/TextureBinding.d.ts +14 -0
  440. package/dist/rendering/TextureBinding.d.ts.map +1 -1
  441. package/dist/rendering/TextureBinding.js +17 -0
  442. package/dist/rendering/TextureBinding.js.map +1 -1
  443. package/dist/rendering/TexturedPBRMaterial.js +1 -1
  444. package/dist/rendering/TexturedPBRMaterial.js.map +1 -1
  445. package/dist/rendering/TexturedUnlitMaterial.js +1 -1
  446. package/dist/rendering/TexturedUnlitMaterial.js.map +1 -1
  447. package/dist/rendering/UnlitMaterial.js +1 -1
  448. package/dist/rendering/UnlitMaterial.js.map +1 -1
  449. package/dist/rendering/VegetationFixtures.d.ts +1 -1
  450. package/dist/rendering/VegetationFixtures.d.ts.map +1 -1
  451. package/dist/rendering/VegetationFixtures.js +1 -1
  452. package/dist/rendering/VegetationFixtures.js.map +1 -1
  453. package/dist/rendering/VegetationScatter.d.ts +68 -0
  454. package/dist/rendering/VegetationScatter.d.ts.map +1 -0
  455. package/dist/rendering/VegetationScatter.js +241 -0
  456. package/dist/rendering/VegetationScatter.js.map +1 -0
  457. package/dist/rendering/VoxelWorld.d.ts +51 -0
  458. package/dist/rendering/VoxelWorld.d.ts.map +1 -0
  459. package/dist/rendering/VoxelWorld.js +183 -0
  460. package/dist/rendering/VoxelWorld.js.map +1 -0
  461. package/dist/rendering/Weather.d.ts +44 -0
  462. package/dist/rendering/Weather.d.ts.map +1 -0
  463. package/dist/rendering/Weather.js +140 -0
  464. package/dist/rendering/Weather.js.map +1 -0
  465. package/dist/rendering/WebGL2Device.d.ts +22 -0
  466. package/dist/rendering/WebGL2Device.d.ts.map +1 -1
  467. package/dist/rendering/WebGL2Device.js +134 -23
  468. package/dist/rendering/WebGL2Device.js.map +1 -1
  469. package/dist/rendering/WebGPUDevice.d.ts +19 -2
  470. package/dist/rendering/WebGPUDevice.d.ts.map +1 -1
  471. package/dist/rendering/WebGPUDevice.js +188 -9
  472. package/dist/rendering/WebGPUDevice.js.map +1 -1
  473. package/dist/rendering/index.d.ts +28 -35
  474. package/dist/rendering/index.d.ts.map +1 -1
  475. package/dist/rendering/index.js +36 -20
  476. package/dist/rendering/index.js.map +1 -1
  477. package/dist/rendering/lean/LeanProductRenderer.d.ts +29 -0
  478. package/dist/rendering/lean/LeanProductRenderer.d.ts.map +1 -0
  479. package/dist/rendering/lean/LeanProductRenderer.js +38 -0
  480. package/dist/rendering/lean/LeanProductRenderer.js.map +1 -0
  481. package/dist/rendering/lean/LeanProductionRenderer.d.ts +38 -0
  482. package/dist/rendering/lean/LeanProductionRenderer.d.ts.map +1 -0
  483. package/dist/rendering/lean/LeanProductionRenderer.js +88 -0
  484. package/dist/rendering/lean/LeanProductionRenderer.js.map +1 -0
  485. package/dist/rendering/lean-runtime.d.ts +18 -0
  486. package/dist/rendering/lean-runtime.d.ts.map +1 -0
  487. package/dist/rendering/lean-runtime.js +13 -0
  488. package/dist/rendering/lean-runtime.js.map +1 -0
  489. package/dist/rendering/postprocess/EffectComposer.d.ts.map +1 -1
  490. package/dist/rendering/postprocess/EffectComposer.js +1 -3
  491. package/dist/rendering/postprocess/EffectComposer.js.map +1 -1
  492. package/dist/rendering/production-runtime/PBRHDRPipeline.d.ts.map +1 -1
  493. package/dist/rendering/production-runtime/PBRHDRPipeline.js +5 -1
  494. package/dist/rendering/production-runtime/PBRHDRPipeline.js.map +1 -1
  495. package/dist/rendering/production-runtime/ProductionRendererTypes.d.ts +9 -0
  496. package/dist/rendering/production-runtime/ProductionRendererTypes.d.ts.map +1 -1
  497. package/dist/rendering/production-runtime/ProductionRendererTypes.js.map +1 -1
  498. package/dist/rendering/production-runtime/ProductionRuntimeRenderer.d.ts +5 -0
  499. package/dist/rendering/production-runtime/ProductionRuntimeRenderer.d.ts.map +1 -1
  500. package/dist/rendering/production-runtime/ProductionRuntimeRenderer.js +53 -5
  501. package/dist/rendering/production-runtime/ProductionRuntimeRenderer.js.map +1 -1
  502. package/dist/rendering/production-runtime/ProductionWebGL2Renderer.d.ts +10 -0
  503. package/dist/rendering/production-runtime/ProductionWebGL2Renderer.d.ts.map +1 -1
  504. package/dist/rendering/production-runtime/ProductionWebGL2Renderer.js +21 -2
  505. package/dist/rendering/production-runtime/ProductionWebGL2Renderer.js.map +1 -1
  506. package/dist/rendering/production-runtime/ProductionWebGPURenderer.d.ts.map +1 -1
  507. package/dist/rendering/production-runtime/ProductionWebGPURenderer.js +4 -1
  508. package/dist/rendering/production-runtime/ProductionWebGPURenderer.js.map +1 -1
  509. package/dist/rendering/webgpu-device-entry.d.ts +25 -0
  510. package/dist/rendering/webgpu-device-entry.d.ts.map +1 -0
  511. package/dist/rendering/webgpu-device-entry.js +24 -0
  512. package/dist/rendering/webgpu-device-entry.js.map +1 -0
  513. package/dist/rendering/webgpu.d.ts +25 -0
  514. package/dist/rendering/webgpu.d.ts.map +1 -0
  515. package/dist/rendering/webgpu.js +24 -0
  516. package/dist/rendering/webgpu.js.map +1 -0
  517. package/dist/scene/MathTypes.d.ts +1 -0
  518. package/dist/scene/MathTypes.d.ts.map +1 -1
  519. package/dist/scene/MathTypes.js +3 -0
  520. package/dist/scene/MathTypes.js.map +1 -1
  521. package/dist/scene/Renderable.d.ts +6 -0
  522. package/dist/scene/Renderable.d.ts.map +1 -1
  523. package/dist/scene/Renderable.js +8 -2
  524. package/dist/scene/Renderable.js.map +1 -1
  525. package/dist/scripting/index.d.ts +0 -16
  526. package/dist/scripting/index.d.ts.map +1 -1
  527. package/dist/scripting/index.js +0 -8
  528. package/dist/scripting/index.js.map +1 -1
  529. package/dist/workflows/production-runtime/ProductionExampleRuntime.d.ts +2 -2
  530. package/dist/workflows/production-runtime/ProductionExampleRuntime.d.ts.map +1 -1
  531. package/dist/workflows/production-runtime/ProductionExampleRuntime.js +2 -2
  532. package/dist/workflows/production-runtime/ProductionExampleRuntime.js.map +1 -1
  533. package/package.json +243 -127
  534. package/templates/cinematic-scene/node_modules/.vite/deps/_metadata.json +8 -0
  535. package/templates/cinematic-scene/node_modules/.vite/deps/package.json +3 -0
  536. package/templates/cinematic-scene/package.json +1 -1
  537. package/templates/cinematic-scene/test-results/.last-run.json +6 -0
  538. package/templates/cinematic-scene/test-results/route-health-Aura3D-cinematic-scene-reaches-ready-state/error-context.md +64 -0
  539. package/templates/mini-game/README.md +3 -2
  540. package/templates/mini-game/package.json +1 -1
  541. package/templates/mini-game/src/aura-assets.ts +1 -1
  542. package/templates/mini-game/src/main.ts +69 -141
  543. package/templates/product-viewer/README.md +7 -5
  544. package/templates/product-viewer/index.html +1 -1
  545. package/templates/product-viewer/node_modules/.vite/deps/_metadata.json +8 -0
  546. package/templates/product-viewer/node_modules/.vite/deps/package.json +3 -0
  547. package/templates/product-viewer/package.json +1 -1
  548. package/templates/product-viewer/src/aura-assets.ts +1 -1
  549. package/templates/product-viewer/src/main.ts +29 -23
@@ -1,6 +1,20 @@
1
- import { type Collider, type ColliderDescriptor, type CollisionEvent, type Constraint, type ConstraintDescriptor, type Contact, type DebugLine, type PhysicsBackendSelection, type PhysicsShape, type PhysicsSnapshot, type PhysicsWorldDescriptor, type RaycastHit, type RaycastOptions, type RigidBody, type RigidBodyDescriptor, type RigidBodyType, type ScenePhysicsNode, type SphereCastHit } from "@aura3d/physics";
1
+ import type { Collider, ColliderDescriptor, CollisionEvent, Constraint, ConstraintDescriptor, Contact, DebugLine, PhysicsBackendSelection, PhysicsShape, PhysicsSnapshot, PhysicsWorldDescriptor, RaycastHit, RaycastOptions, RigidBody, RigidBodyDescriptor, RigidBodyType, ScenePhysicsNode, SphereCastHit } from "@aura3d/physics";
2
2
  import { type ProjectedLabel } from "./WorldLabelRenderer.js";
3
+ import { defineAuraCustomGeometry, type AuraCustomGeometrySpec, type AuraText3DGeometry, type AuraText3DOptions } from "./RootGeometry.js";
4
+ export * from "./RootGeometry.js";
3
5
  export * from "./SpatialAnchoring.js";
6
+ export * from "./PhysicsRuntime.js";
7
+ /**
8
+ * WS-2.4: mesh surface queries on the public surface.
9
+ *
10
+ * Re-exported from `@aura3d/physics` so grounding anything to a mesh is a one-liner for any
11
+ * genre, from `@aura3d/engine` alone. Without this a route wanting real per-point ground
12
+ * height had to either deep-import `@aura3d/physics/src` (banned by the lint rule) or
13
+ * hand-roll an analytic approximation — which is exactly what every racing route did, and
14
+ * why wheels sank through visible road.
15
+ */
16
+ export { buildMeshBVH, createMeshSurfaceQuery, raycastMesh, type MeshBVH, type MeshRayHit, type MeshSurfaceQuery, type MeshSurfaceQueryOptions, type SurfaceSample } from "@aura3d/physics/solverless";
17
+ import { type AuraCollisionLayers, type AuraPhysicsRuntime } from "./PhysicsRuntime.js";
4
18
  export * from "./FocusSelection.js";
5
19
  export * from "./WorldLabelRenderer.js";
6
20
  export * from "./VehicleChassis.js";
@@ -13,16 +27,12 @@ export * from "./FrameEncoder.js";
13
27
  export * from "./BrowserFrameCaptureAdapter.js";
14
28
  export * from "./MediaRecorderFrameEncoder.js";
15
29
  export * from "./WebCodecsFrameEncoder.js";
16
- export * from "./FfmpegFrameEncoder.js";
17
- export * from "./PngSequenceEncoder.js";
18
- export * from "./AudioMuxer.js";
19
30
  export { GameInspector, createGameInspector } from "./GameInspector.js";
20
31
  export type { GameInspectorRuntimeInput, GameInspectorSnapshot } from "./GameInspector.js";
21
32
  import { createGameInspector } from "./GameInspector";
22
33
  export { createGameAudio } from "../game/GameAudio.js";
23
34
  export type { GameAudio, GameAudioBusDefinition, GameAudioBusId, GameAudioContextLike, GameAudioCueDefinition, GameAudioCueEvent, GameAudioEvidence, GameAudioOptions } from "../game/GameAudio.js";
24
35
  export * from "./RenderProgressTracker.js";
25
- export * from "./VideoExportPipeline.js";
26
36
  export * from "./AudioVisemeAnalyzer.js";
27
37
  export * from "./ExternalPhonemeAnalyzer.js";
28
38
  export * from "./WaveformVisualizer.js";
@@ -34,12 +44,7 @@ export * from "./CameraPresetLibrary.js";
34
44
  export * from "./ShotCompositionRules.js";
35
45
  export * from "./CameraChoreographer.js";
36
46
  export * from "./CameraPathEditor.js";
37
- export * from "./CaptionExporter.js";
38
47
  export * from "./ThumbnailGenerator.js";
39
- export * from "./YouTubeMetadataGenerator.js";
40
- export * from "./YouTubeUploadAdapter.js";
41
- export * from "./PublishingPipeline.js";
42
- export * from "./CloudRenderAdapter.js";
43
48
  export * from "./BatchEpisodeRenderer.js";
44
49
  export * from "./AnimationAssetManifest.js";
45
50
  export * from "./SceneGroundingUtils.js";
@@ -123,7 +128,7 @@ export * from "./TouchControlBinding.js";
123
128
  export * from "./AssetLibraryBrowser.js";
124
129
  export type AuraVec3 = readonly [number, number, number];
125
130
  export type AuraColor = `#${string}` | string;
126
- export type AuraAssetType = "model" | "texture" | "environment" | "audio";
131
+ export type AuraAssetType = "model" | "texture" | "environment" | "audio" | "navigation";
127
132
  export type AuraModelFormat = "glb" | "gltf";
128
133
  export type AuraTextureFormat = "png" | "jpg" | "jpeg" | "webp" | "ktx2";
129
134
  export type AuraProceduralTextureKind = "fabric-normal" | "rubber-roughness" | "brushed-metal-anisotropy" | "plastic-micro-scratch";
@@ -160,6 +165,11 @@ export interface AuraAssetMetadata {
160
165
  };
161
166
  readonly thumbnailUrl?: string;
162
167
  readonly license?: string;
168
+ readonly author?: string;
169
+ readonly provenance?: {
170
+ readonly sourceUrl?: string;
171
+ readonly [key: string]: unknown;
172
+ };
163
173
  }
164
174
  declare const auraAssetRefBrand: unique symbol;
165
175
  export type AuraAssetRef<TType extends AuraAssetType = AuraAssetType, TId extends string = string> = AuraAssetDefinition & {
@@ -303,6 +313,8 @@ export interface AuraModelOptions extends AuraTransformSpec {
303
313
  readonly targetMaxDimension?: number;
304
314
  readonly targetLength?: number;
305
315
  readonly physics?: AuraNodePhysicsSpec;
316
+ /** Exact glTF node names to suppress when composing a typed model into a route. */
317
+ readonly hiddenNodeNames?: readonly string[];
306
318
  }
307
319
  export interface AuraPrimitiveOptions extends AuraTransformSpec {
308
320
  readonly name?: string;
@@ -311,6 +323,23 @@ export interface AuraPrimitiveOptions extends AuraTransformSpec {
311
323
  readonly castShadow?: boolean;
312
324
  readonly receiveShadow?: boolean;
313
325
  readonly physics?: AuraNodePhysicsSpec;
326
+ readonly instances?: readonly AuraTransformSpec[];
327
+ readonly instanceColors?: readonly AuraColor[];
328
+ readonly geometry?: AuraCustomGeometrySpec;
329
+ readonly text3D?: Omit<AuraText3DGeometry, "geometry">;
330
+ readonly lod?: AuraRootLodSpec;
331
+ }
332
+ export type AuraBuiltinPrimitive = "box" | "sphere" | "plane" | "cylinder" | "capsule" | "torus";
333
+ export interface AuraRootLodLevelSpec {
334
+ readonly name: string;
335
+ readonly maxDistance?: number;
336
+ readonly primitive?: AuraBuiltinPrimitive;
337
+ readonly geometry?: AuraCustomGeometrySpec;
338
+ readonly material?: AuraMaterialSpec;
339
+ }
340
+ export interface AuraRootLodSpec {
341
+ readonly levels: readonly AuraRootLodLevelSpec[];
342
+ readonly hysteresis?: number;
314
343
  }
315
344
  export interface AuraAnimationSpec {
316
345
  readonly clip?: string;
@@ -449,11 +478,12 @@ export interface AuraModelNode extends AuraTransformSpec {
449
478
  readonly animation?: AuraAnimationSpec;
450
479
  readonly interaction?: AuraInteractionSpec;
451
480
  readonly physics?: AuraNodePhysicsSpec;
481
+ readonly hiddenNodeNames?: readonly string[];
452
482
  readonly runtime?: AuraRuntimeNodeSpec;
453
483
  }
454
484
  export interface AuraPrimitiveNode extends AuraTransformSpec {
455
485
  readonly kind: "primitive";
456
- readonly primitive: "box" | "sphere" | "plane" | "cylinder" | "capsule" | "torus";
486
+ readonly primitive: AuraBuiltinPrimitive | "custom";
457
487
  readonly name?: string;
458
488
  readonly material?: AuraMaterialSpec;
459
489
  readonly size?: number | AuraVec3;
@@ -463,6 +493,11 @@ export interface AuraPrimitiveNode extends AuraTransformSpec {
463
493
  readonly interaction?: AuraInteractionSpec;
464
494
  readonly physics?: AuraNodePhysicsSpec;
465
495
  readonly runtime?: AuraRuntimeNodeSpec;
496
+ readonly instances?: readonly AuraTransformSpec[];
497
+ readonly instanceColors?: readonly AuraColor[];
498
+ readonly geometry?: AuraCustomGeometrySpec;
499
+ readonly text3D?: Omit<AuraText3DGeometry, "geometry">;
500
+ readonly lod?: AuraRootLodSpec;
466
501
  }
467
502
  export interface AuraGroupNode extends AuraTransformSpec {
468
503
  readonly kind: "group";
@@ -673,6 +708,8 @@ export interface AuraRendererDiagnosticReport {
673
708
  readonly requestedPasses: readonly string[];
674
709
  readonly actualPasses: readonly string[];
675
710
  readonly fallbackPasses: readonly string[];
711
+ /** Device-observed render-target format used by the mounted composer. */
712
+ readonly targetFormat?: "rgba8" | "rgba16f" | "rgba32f";
676
713
  readonly evidence: string;
677
714
  };
678
715
  readonly runtime: {
@@ -681,6 +718,16 @@ export interface AuraRendererDiagnosticReport {
681
718
  readonly postprocessVerified: boolean;
682
719
  readonly passNames: readonly string[];
683
720
  readonly warnings: readonly string[];
721
+ readonly nativeInstancedSubmissions: number;
722
+ readonly submittedObjects: number;
723
+ readonly visibleObjects: number;
724
+ readonly culledObjects: number;
725
+ readonly frustumTestedObjects: number;
726
+ readonly lodSelections: readonly {
727
+ readonly nodeName: string;
728
+ readonly levelIndex: number;
729
+ readonly levelName: string;
730
+ }[];
684
731
  };
685
732
  readonly environment: {
686
733
  readonly enabled: boolean;
@@ -811,6 +858,41 @@ export declare const primitives: {
811
858
  readonly capsule: (options?: AuraPrimitiveOptions) => AuraNodeBuilder<AuraPrimitiveNode>;
812
859
  readonly torus: (options?: AuraPrimitiveOptions) => AuraNodeBuilder<AuraPrimitiveNode>;
813
860
  };
861
+ export declare const instances: {
862
+ readonly box: (options: AuraPrimitiveOptions & {
863
+ readonly transforms: readonly AuraTransformSpec[];
864
+ readonly colors?: readonly AuraColor[];
865
+ }) => AuraNodeBuilder<AuraPrimitiveNode>;
866
+ readonly sphere: (options: AuraPrimitiveOptions & {
867
+ readonly transforms: readonly AuraTransformSpec[];
868
+ readonly colors?: readonly AuraColor[];
869
+ }) => AuraNodeBuilder<AuraPrimitiveNode>;
870
+ readonly plane: (options: AuraPrimitiveOptions & {
871
+ readonly transforms: readonly AuraTransformSpec[];
872
+ readonly colors?: readonly AuraColor[];
873
+ }) => AuraNodeBuilder<AuraPrimitiveNode>;
874
+ readonly cylinder: (options: AuraPrimitiveOptions & {
875
+ readonly transforms: readonly AuraTransformSpec[];
876
+ readonly colors?: readonly AuraColor[];
877
+ }) => AuraNodeBuilder<AuraPrimitiveNode>;
878
+ readonly capsule: (options: AuraPrimitiveOptions & {
879
+ readonly transforms: readonly AuraTransformSpec[];
880
+ readonly colors?: readonly AuraColor[];
881
+ }) => AuraNodeBuilder<AuraPrimitiveNode>;
882
+ readonly torus: (options: AuraPrimitiveOptions & {
883
+ readonly transforms: readonly AuraTransformSpec[];
884
+ readonly colors?: readonly AuraColor[];
885
+ }) => AuraNodeBuilder<AuraPrimitiveNode>;
886
+ };
887
+ export declare const geometry: {
888
+ readonly define: typeof defineAuraCustomGeometry;
889
+ readonly custom: (spec: AuraCustomGeometrySpec, options?: Omit<AuraPrimitiveOptions, "geometry">) => AuraNodeBuilder<AuraPrimitiveNode>;
890
+ };
891
+ export declare function text3D(text: string, options?: AuraText3DOptions & Omit<AuraPrimitiveOptions, "geometry" | "text3D">): AuraNodeBuilder<AuraPrimitiveNode>;
892
+ export declare function distanceLod(options: Omit<AuraPrimitiveOptions, "lod" | "geometry"> & {
893
+ readonly levels: readonly AuraRootLodLevelSpec[];
894
+ readonly hysteresis?: number;
895
+ }): AuraNodeBuilder<AuraPrimitiveNode>;
814
896
  export declare const groups: {
815
897
  readonly create: typeof group;
816
898
  readonly flatten: (nodes: readonly AuraSceneNode[]) => readonly AuraSceneNode[];
@@ -908,7 +990,7 @@ export declare const lights: {
908
990
  readonly intensity?: number;
909
991
  }) => AuraNodeBuilder<AuraLightNode>;
910
992
  };
911
- export type AuraCameraMode = "perspective" | "orbit" | "dolly" | "follow" | "path" | "flythrough";
993
+ export type AuraCameraMode = "perspective" | "orbit" | "dolly" | "follow" | "path" | "flythrough" | "orthographic" | "isometric";
912
994
  export interface AuraCameraSpec {
913
995
  readonly mode: AuraCameraMode;
914
996
  readonly position?: AuraVec3;
@@ -926,6 +1008,16 @@ export interface AuraCameraSpec {
926
1008
  readonly captureTime?: number;
927
1009
  readonly smoothing?: number;
928
1010
  readonly subjectEmphasis?: number;
1011
+ /**
1012
+ * Half-height of the orthographic frustum, in world units.
1013
+ *
1014
+ * Orthographic projection has no field of view, so this is what sets image
1015
+ * scale: the camera sees `orthographicSize` units above and below its target
1016
+ * regardless of how far away it sits. Horizontal extent follows from the
1017
+ * viewport aspect, which keeps the image square-on rather than stretched.
1018
+ * Ignored by every perspective mode.
1019
+ */
1020
+ readonly orthographicSize?: number;
929
1021
  }
930
1022
  export interface AuraBoundsSpec {
931
1023
  readonly min: AuraVec3;
@@ -962,6 +1054,28 @@ export declare const camera: {
962
1054
  readonly from?: AuraVec3;
963
1055
  readonly to?: AuraVec3;
964
1056
  }) => AuraCameraSpec;
1057
+ /**
1058
+ * A parallel-projection camera: no foreshortening, so equal world lengths
1059
+ * occupy equal screen lengths wherever they sit in depth.
1060
+ *
1061
+ * Reach for this when the projection is part of the meaning rather than a
1062
+ * stylistic choice — CAD and engineering views, floor plans, technical
1063
+ * diagrams, sprite and texture bakes, chart axes, and product shots that must
1064
+ * read as measurable. A long-lens perspective camera approximates it but
1065
+ * still converges, which is visible on long straight edges.
1066
+ */
1067
+ readonly orthographic: (options?: Omit<AuraCameraSpec, "mode">) => AuraCameraSpec;
1068
+ /**
1069
+ * The conventional isometric view: an orthographic camera on a 45-degree
1070
+ * azimuth and a ~35.264-degree elevation.
1071
+ *
1072
+ * That elevation is `atan(1 / sqrt(2))`, the angle at which the three world
1073
+ * axes project to equal screen lengths and 120 degrees apart. Authoring it as
1074
+ * a preset matters because the value is not memorable and an approximation
1075
+ * such as 30 or 45 degrees produces the subtly-wrong grid alignment that
1076
+ * isometric tile art immediately reveals.
1077
+ */
1078
+ readonly isometric: (options?: Omit<AuraCameraSpec, "mode">) => AuraCameraSpec;
965
1079
  readonly autoFrame: (options?: {
966
1080
  readonly bounds?: AuraBoundsSpec;
967
1081
  readonly target?: AuraVec3;
@@ -1179,11 +1293,13 @@ export interface AuraCityStateChangeEvidence {
1179
1293
  }
1180
1294
  export interface AuraCityInstancingPlan {
1181
1295
  readonly kind: "aura-city-instancing-plan";
1182
- readonly rendererPath: "auraWebGL2PrimitiveBatches";
1296
+ readonly rendererPath: "productionRuntimeNativeInstancing";
1183
1297
  readonly windows: number;
1184
1298
  readonly props: number;
1185
1299
  readonly roadMarkings: number;
1186
1300
  readonly lights: number;
1301
+ readonly nativeInstanceGroups: number;
1302
+ readonly nativeInstances: number;
1187
1303
  readonly groups: readonly string[];
1188
1304
  readonly instanced: boolean;
1189
1305
  }
@@ -2243,6 +2359,16 @@ export declare const promptRecipes: {
2243
2359
  readonly "mini-game": (asset: AuraAssetRef<"model">, plan: AuraPromptPlan) => AuraSceneBuilder;
2244
2360
  readonly "material-studio": (asset: AuraAssetRef<"model">, plan: AuraPromptPlan) => AuraSceneBuilder;
2245
2361
  };
2362
+ /**
2363
+ * Which backend a mounted app is drawing with.
2364
+ *
2365
+ * `"canvas2d"` is **internal and diagnostic-only** (WS-2.5). It is never selected for a scene that
2366
+ * declares renderable content: such a scene either renders through WebGL2/WebGPU or raises a diagnosable
2367
+ * error. It appears here because `diagnostics().backend` can still report it for a scene with nothing to
2368
+ * render, and hiding that would make the diagnostic less useful, not more honest.
2369
+ *
2370
+ * Do not treat a `"canvas2d"` reading as a render. See `renderDiagnosticPreviewToCanvas`.
2371
+ */
2246
2372
  export type AuraBackend = "webgl2" | "webgpu" | "canvas2d" | "headless";
2247
2373
  export interface AuraDiagnostics {
2248
2374
  readonly backend: AuraBackend;
@@ -2459,12 +2585,71 @@ export interface AuraApp {
2459
2585
  readonly backend: AuraBackend;
2460
2586
  readonly nodes: AuraRuntimeNodeRegistry;
2461
2587
  readonly runtime: AuraRuntimeState;
2588
+ /**
2589
+ * The live physics simulation for this app.
2590
+ *
2591
+ * This is the seam that makes `@aura3d/engine` a game engine rather than a scene
2592
+ * declaration format. Before it existed, `.physics({ type: "dynamic" })` let a developer
2593
+ * watch a box fall and nothing else: no force, no collision callback, no raycast, no
2594
+ * joint. Every genre outside the four bundled kits had no path at all.
2595
+ *
2596
+ * Bodies declared on scene nodes are registered here under their node name, so
2597
+ * `app.physics.bodies.require("crate").applyImpulse([4, 0, 0])` works with no extra setup.
2598
+ */
2599
+ readonly physics: AuraPhysicsRuntime;
2462
2600
  setScene(scene: AuraSceneBuilder | AuraSceneSnapshot): void;
2463
2601
  onFrame(callback: AuraFrameCallback): () => void;
2464
2602
  offFrame(callback: AuraFrameCallback): void;
2465
2603
  input(options: GameInputOptions): ReturnType<typeof createGameInput>;
2466
2604
  pause(): void;
2467
2605
  resume(): void;
2606
+ /**
2607
+ * Resolves once the renderer has finished mounting and a frame can be drawn.
2608
+ *
2609
+ * WS-2.9. The production WebGL renderer mounts asynchronously, so immediately after
2610
+ * `createAuraApp` returns there is a window in which nothing can be drawn yet. `step(dt)` used to
2611
+ * fall through to a Canvas-2D path in that window and render nothing, with no warning — a blank
2612
+ * image for anyone writing a headless capture or a deterministic test.
2613
+ *
2614
+ * Awaiting this is the fix, and it exists because a warning that says "wait for the mount" is
2615
+ * useless without a way to wait:
2616
+ *
2617
+ * ```ts
2618
+ * const app = createAuraApp(canvas, { scene, autoStart: false });
2619
+ * await app.ready();
2620
+ * app.step(1 / 60); // now renders
2621
+ * ```
2622
+ *
2623
+ * Resolves immediately for a scene with no async mount, and resolves — rather than rejecting — if
2624
+ * the mount fails, because the failure is already reported through `diagnostics().errors` and a
2625
+ * rejection here would make the common `await app.ready()` line throw for a diagnosable condition.
2626
+ */
2627
+ ready(): Promise<void>;
2628
+ /**
2629
+ * Subscribe to WebGL context loss. Returns an unsubscribe function.
2630
+ *
2631
+ * WS-2.6. A lost context is not something a developer can prevent — the browser reclaims GPU
2632
+ * resources under memory pressure, on driver reset, or when a tab is backgrounded too long. What they
2633
+ * can do is be told, and until 1.6 they could not be: `WebGL2Device` has tracked and handled
2634
+ * `webglcontextlost` for a long time, but nothing surfaced it, so the only symptom reaching a
2635
+ * developer was a canvas that stopped updating.
2636
+ *
2637
+ * That distinction is why the parity table listed this as a gap while the listeners existed. The
2638
+ * device layer was never the gap; the absence of a public signal was.
2639
+ *
2640
+ * ```ts
2641
+ * app.onDeviceLost(() => showReconnectingOverlay());
2642
+ * app.onDeviceRestored(() => hideReconnectingOverlay());
2643
+ * ```
2644
+ *
2645
+ * Registering before the renderer has mounted is safe: the subscription is held and attached when the
2646
+ * device arrives, so a caller does not have to await `ready()` first.
2647
+ */
2648
+ onDeviceLost(listener: () => void): () => void;
2649
+ /** Subscribe to WebGL context restoration. Returns an unsubscribe function. See {@link onDeviceLost}. */
2650
+ onDeviceRestored(listener: () => void): () => void;
2651
+ /** True while the WebGL context is lost, so a caller can check state rather than only react to events. */
2652
+ deviceLost(): boolean;
2468
2653
  step(dt?: number): void;
2469
2654
  diagnostics(): AuraDiagnostics;
2470
2655
  evidence(options?: GameRuntimeEvidenceOptions): ReturnType<typeof collectGameRuntimeEvidenceV105>;
@@ -2473,6 +2658,21 @@ export interface AuraApp {
2473
2658
  }
2474
2659
  export interface AuraCreateAppOptions {
2475
2660
  readonly scene: AuraSceneBuilder | AuraSceneSnapshot;
2661
+ /**
2662
+ * Configuration for {@link AuraApp.physics}.
2663
+ *
2664
+ * `layers` has to be supplied here rather than per body, because a collision mask is only
2665
+ * meaningful relative to the complete set of layers: building the bitmask for "bullet"
2666
+ * requires knowing every layer that exists. Without this option a developer could call
2667
+ * `createCollisionLayers` and then have nowhere to put the result — which is exactly the
2668
+ * hole the clean-room top-down shooter hit, since "bullets hit enemies but not each other"
2669
+ * is the first thing any shooter needs.
2670
+ */
2671
+ readonly physics?: {
2672
+ readonly layers?: AuraCollisionLayers | undefined;
2673
+ /** World gravity. Defaults to `[0, -9.81, 0]`; top-down games usually want zero. */
2674
+ readonly gravity?: readonly [number, number, number] | undefined;
2675
+ };
2476
2676
  readonly diagnostics?: boolean | AuraDiagnosticsOptions;
2477
2677
  readonly renderer?: AuraCreateAppRendererOptions;
2478
2678
  readonly pixelRatio?: number;
@@ -2501,6 +2701,31 @@ export declare class AuraRuntimeError extends Error {
2501
2701
  constructor(code: AuraRuntimeError["code"], message: string);
2502
2702
  }
2503
2703
  export declare function createAuraApp(target: AuraAppTarget, options: AuraCreateAppOptions): AuraApp;
2704
+ /**
2705
+ * Control surface for every app mounted on this page.
2706
+ *
2707
+ * Exposed on `globalThis.__AURA3D_LIVE_APPS__` as well as being exported, so a Playwright
2708
+ * `page.evaluate` can reach it without the route having to opt in.
2709
+ */
2710
+ export interface AuraAppRegistry {
2711
+ readonly kind: "aura3d-live-app-registry";
2712
+ /** Number of apps currently mounted. */
2713
+ count(): number;
2714
+ /** Pause every app's frame loop. Returns how many were paused. */
2715
+ pauseAll(): number;
2716
+ /** Resume every app's frame loop. */
2717
+ resumeAll(): number;
2718
+ /**
2719
+ * Pause every app and advance each by a fixed number of fixed-size steps.
2720
+ *
2721
+ * This is what makes a capture reproducible: rather than photographing an arbitrary moment of a
2722
+ * live loop, a caller settles every scene to a *named* frame — the same `steps` and `dt` always
2723
+ * produce the same state, so a screenshot hash becomes a stable thing to approve.
2724
+ */
2725
+ settle(steps?: number, dt?: number): number;
2726
+ all(): readonly AuraApp[];
2727
+ }
2728
+ export declare const auraAppRegistry: AuraAppRegistry;
2504
2729
  export declare function createGameApp(target: AuraAppTarget, options: AuraCreateGameAppOptions): GameAppRuntime<AuraApp>;
2505
2730
  export declare function createAuraRouteHealthSnapshot(app: AuraApp): {
2506
2731
  readonly status: "ready" | "error";
@@ -2538,4 +2763,5 @@ interface ProductionBoundsProbe {
2538
2763
  * silently producing mismatched framing.
2539
2764
  */
2540
2765
  export declare function auraProductionBoundsProbes(): readonly ProductionBoundsProbe[];
2766
+ export declare function isOrthographicCameraMode(mode: AuraCameraMode): boolean;
2541
2767
  //# sourceMappingURL=index.d.ts.map