@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
@@ -0,0 +1,332 @@
1
+ /**
2
+ * Public physics runtime: the seam that turns declared bodies into a simulation a
3
+ * developer can actually drive.
4
+ *
5
+ * ## The defect this addresses
6
+ *
7
+ * `@aura3d/physics` already wraps a real engine. `PhysicsWorld` has `createRigidBody`,
8
+ * `createCollider`, `createConstraint`, `step()` returning `CollisionEvent[]`,
9
+ * `raycast`/`raycastAll`, configurable solver iterations and sleeping, over the one
10
+ * production Rapier adapter. `RigidBody` already has `applyForce`,
11
+ * `applyTorque`, `applyImpulse`, `setVelocity`, `wake` and `sleep`.
12
+ *
13
+ * None of it was reachable. Across ~47k lines of the public agent API there were zero
14
+ * occurrences of `applyForce`, zero of `onCollision`, zero of a public `rigidBody`
15
+ * type, and exactly one `applyImpulse` — buried inside the canned mini-golf helper and
16
+ * unreachable to any other route. The public surface let a developer *declare*
17
+ * `.physics({ type: "dynamic", mass: 1 })` and watch a box fall. They could not push
18
+ * it, could not know when it hit anything, and could not read its velocity.
19
+ *
20
+ * Declaring a simulation you cannot interact with is not a physics API. That is why the
21
+ * library had four hardcoded genre kits and no path to a fifth: every genre outside
22
+ * racing, platformer, falling-blocks and locomotion had to reach into internals.
23
+ *
24
+ * This module is the answer. It mirrors the existing `app.nodes` registry shape so the
25
+ * ergonomics are already familiar, and it deliberately exposes only what the backend
26
+ * genuinely supports — an unsupported shape throws with an actionable message rather
27
+ * than silently doing nothing.
28
+ */
29
+ import type { CollisionEvent, PhysicsWorld, RaycastHit, RigidBody } from "@aura3d/physics";
30
+ export type PhysicsVec3 = readonly [number, number, number];
31
+ /** A live handle onto one simulated body. */
32
+ export interface AuraBodyHandle {
33
+ readonly id: number;
34
+ /** Scene node name this body was declared on, when it came from a node. */
35
+ readonly nodeName?: string | undefined;
36
+ readonly type: "static" | "dynamic" | "kinematic";
37
+ readonly mass: number;
38
+ /** Current world position, read from the simulation. */
39
+ position(): PhysicsVec3;
40
+ /** Current linear velocity. */
41
+ velocity(): PhysicsVec3;
42
+ /** Current angular velocity. */
43
+ angularVelocity(): PhysicsVec3;
44
+ /** True when the solver has put this body to sleep. */
45
+ sleeping(): boolean;
46
+ /**
47
+ * Continuous force, applied until cleared by the next step.
48
+ *
49
+ * Use for thrust, wind or buoyancy. For an instantaneous change of motion — a hit,
50
+ * a jump, a bullet — use {@link applyImpulse}, which is mass-independent in effect
51
+ * per unit of impulse and does not depend on step length.
52
+ */
53
+ applyForce(force: PhysicsVec3): this;
54
+ applyTorque(torque: PhysicsVec3): this;
55
+ applyImpulse(impulse: PhysicsVec3): this;
56
+ applyAngularImpulse(impulse: PhysicsVec3): this;
57
+ /** Impulse at a world point, so an off-centre hit induces spin. */
58
+ applyImpulseAtPoint(impulse: PhysicsVec3, worldPoint: PhysicsVec3): this;
59
+ setVelocity(velocity: PhysicsVec3): this;
60
+ setAngularVelocity(velocity: PhysicsVec3): this;
61
+ /**
62
+ * Move the body, preserving velocity.
63
+ *
64
+ * This is a simulation write, not a teleport: a fast-moving body moved this way can
65
+ * still tunnel. Use {@link teleport} to move and stop in one call.
66
+ */
67
+ setPosition(position: PhysicsVec3): this;
68
+ /** Move and zero velocity, for respawns and resets. */
69
+ teleport(position: PhysicsVec3): this;
70
+ wake(): this;
71
+ sleep(): this;
72
+ }
73
+ /** A collision or trigger contact, in public terms. */
74
+ export interface AuraCollisionEvent {
75
+ readonly phase: "begin" | "stay" | "end";
76
+ readonly bodyA: AuraBodyHandle;
77
+ readonly bodyB: AuraBodyHandle;
78
+ /** Node names when both bodies came from named scene nodes. */
79
+ readonly nodeA?: string | undefined;
80
+ readonly nodeB?: string | undefined;
81
+ readonly normal: PhysicsVec3;
82
+ readonly point?: PhysicsVec3 | undefined;
83
+ readonly penetration: number;
84
+ /** True when either collider is a sensor, i.e. a trigger rather than a solid hit. */
85
+ readonly sensor: boolean;
86
+ /** Approach speed along the contact normal. Zero for a resting contact. */
87
+ readonly relativeSpeed: number;
88
+ }
89
+ export interface AuraRaycastOptions {
90
+ readonly maxDistance?: number | undefined;
91
+ /** Only hit bodies whose layer is in this list. */
92
+ readonly layers?: readonly string[] | undefined;
93
+ /** Skip these body ids. Use to stop a shooter hitting itself. */
94
+ readonly ignore?: readonly number[] | undefined;
95
+ }
96
+ export interface AuraRaycastResult {
97
+ readonly body: AuraBodyHandle;
98
+ readonly nodeName?: string | undefined;
99
+ readonly point: PhysicsVec3;
100
+ readonly normal: PhysicsVec3;
101
+ readonly distance: number;
102
+ }
103
+ export interface AuraBodyRegistry {
104
+ get(id: number | string): AuraBodyHandle | undefined;
105
+ require(id: number | string): AuraBodyHandle;
106
+ has(id: number | string): boolean;
107
+ ids(): readonly number[];
108
+ all(): readonly AuraBodyHandle[];
109
+ }
110
+ export interface AuraPhysicsQueries {
111
+ raycast(origin: PhysicsVec3, direction: PhysicsVec3, options?: AuraRaycastOptions): AuraRaycastResult | undefined;
112
+ raycastAll(origin: PhysicsVec3, direction: PhysicsVec3, options?: AuraRaycastOptions): readonly AuraRaycastResult[];
113
+ /** Bodies whose collider overlaps a sphere. */
114
+ overlapSphere(center: PhysicsVec3, radius: number, options?: AuraRaycastOptions): readonly AuraBodyHandle[];
115
+ /** Bodies whose collider overlaps an axis-aligned box. */
116
+ overlapBox(center: PhysicsVec3, halfExtents: PhysicsVec3, options?: AuraRaycastOptions): readonly AuraBodyHandle[];
117
+ /**
118
+ * Sphere swept along a direction. Use instead of {@link raycast} when the moving
119
+ * thing has width: a zero-radius ray slips between colliders that a real projectile
120
+ * would hit.
121
+ */
122
+ sphereCast(origin: PhysicsVec3, radius: number, direction: PhysicsVec3, options?: AuraRaycastOptions): AuraRaycastResult | undefined;
123
+ }
124
+ /** A debug line segment, in world space. */
125
+ export interface AuraDebugLine {
126
+ readonly from: PhysicsVec3;
127
+ readonly to: PhysicsVec3;
128
+ /** Linear RGB, 0..1. */
129
+ readonly color: PhysicsVec3;
130
+ /** What the segment represents, for filtering or a legend. */
131
+ readonly category?: string | undefined;
132
+ }
133
+ export interface AuraPhysicsDebugOptions {
134
+ readonly contacts?: boolean | undefined;
135
+ readonly joints?: boolean | undefined;
136
+ readonly sleeping?: boolean | undefined;
137
+ readonly normalLength?: number | undefined;
138
+ /** Rays to draw. The world cannot know about a query you ran, so pass it here. */
139
+ readonly raycasts?: readonly {
140
+ readonly origin: PhysicsVec3;
141
+ readonly direction: PhysicsVec3;
142
+ readonly distance: number;
143
+ readonly hit?: boolean | undefined;
144
+ }[] | undefined;
145
+ }
146
+ export type AuraCollisionHandler = (event: AuraCollisionEvent) => void;
147
+ /** Unsubscribe function returned by every listener registration. */
148
+ export type AuraUnsubscribe = () => void;
149
+ /** Declaration for a body created at runtime rather than through the scene. */
150
+ export interface AuraBodySpec {
151
+ /** Name used by {@link AuraBodyRegistry.get} and reported on collision events. */
152
+ readonly name?: string | undefined;
153
+ readonly type?: "static" | "dynamic" | "kinematic" | undefined;
154
+ readonly shape?: AuraColliderShape | undefined;
155
+ readonly position?: PhysicsVec3 | undefined;
156
+ readonly halfExtents?: PhysicsVec3 | undefined;
157
+ readonly radius?: number | undefined;
158
+ readonly halfHeight?: number | undefined;
159
+ readonly mass?: number | undefined;
160
+ readonly friction?: number | undefined;
161
+ readonly restitution?: number | undefined;
162
+ readonly linearDamping?: number | undefined;
163
+ readonly angularDamping?: number | undefined;
164
+ /** Sensors report overlaps through `onTriggerEnter`/`onTriggerExit` and never push. */
165
+ readonly sensor?: boolean | undefined;
166
+ /** Layer name, resolved against the layers passed to {@link createPhysicsRuntime}. */
167
+ readonly layer?: string | undefined;
168
+ }
169
+ export interface AuraPhysicsRuntime {
170
+ readonly bodies: AuraBodyRegistry;
171
+ readonly queries: AuraPhysicsQueries;
172
+ /**
173
+ * Create a simulated body at runtime.
174
+ *
175
+ * Needed because scene declaration is authored up front, and gameplay is not: a
176
+ * projectile, a spawned enemy or a stacked crate does not exist when the scene is built.
177
+ */
178
+ createBody(spec?: AuraBodySpec): AuraBodyHandle;
179
+ /** Remove a body and its colliders and joints. */
180
+ removeBody(id: number | string): void;
181
+ /** Connect two bodies. See {@link AuraJointKind}. */
182
+ createJoint(spec: AuraJointSpec): AuraJointHandle;
183
+ /** Advance the simulation and dispatch collision, trigger and contact events. */
184
+ step(dt?: number): readonly AuraCollisionEvent[];
185
+ /** Contacts live in the most recent step. */
186
+ contacts(): readonly AuraCollisionEvent[];
187
+ /** Declared collision layers, if any were supplied. */
188
+ readonly layers: AuraCollisionLayers | undefined;
189
+ /**
190
+ * Debug geometry for the current state: colliders, contacts, normals, joints, sleeping bodies
191
+ * and any rays you pass in.
192
+ *
193
+ * WS-1.7. `PhysicsDebugDraw` existed but had no public consumer, so the capability was listed
194
+ * as unproven — you could not get at it from `@aura3d/engine` without a deep import. Returns
195
+ * plain line segments so a route can render them with whatever it already uses.
196
+ */
197
+ debugLines(options?: AuraPhysicsDebugOptions): readonly AuraDebugLine[];
198
+ /** Every collision, including resting contacts. */
199
+ onCollision(handler: AuraCollisionHandler): AuraUnsubscribe;
200
+ /** Collisions involving one named node, which is what gameplay code usually wants. */
201
+ onCollisionWith(nodeName: string, handler: AuraCollisionHandler): AuraUnsubscribe;
202
+ /** Sensor overlaps beginning — pickups, checkpoints, damage volumes. */
203
+ onTriggerEnter(handler: AuraCollisionHandler): AuraUnsubscribe;
204
+ onTriggerExit(handler: AuraCollisionHandler): AuraUnsubscribe;
205
+ /** Gravity currently applied by the world. */
206
+ gravity(): PhysicsVec3;
207
+ setGravity(gravity: PhysicsVec3): void;
208
+ }
209
+ /**
210
+ * Layer membership and masks.
211
+ *
212
+ * Without this, "bullets hit enemies but not each other" is unexpressible, and every
213
+ * shooter has to filter contacts by hand after the solver has already resolved them —
214
+ * which is both slower and wrong, because the solver has already pushed them apart.
215
+ */
216
+ export interface AuraCollisionLayers {
217
+ /** Declared layer names, in bit order. */
218
+ readonly names: readonly string[];
219
+ /** For each layer, the layers it is allowed to collide with. */
220
+ readonly matrix: Readonly<Record<string, readonly string[]>>;
221
+ }
222
+ export declare function createCollisionLayers(matrix: Readonly<Record<string, readonly string[]>>): AuraCollisionLayers;
223
+ /** True when two layers may generate contacts. Symmetric: either side may allow it. */
224
+ export declare function layersCollide(layers: AuraCollisionLayers, a: string, b: string): boolean;
225
+ /** Bitmask for a layer name, for backends that take masks directly. */
226
+ export declare function layerMask(layers: AuraCollisionLayers, name: string): number;
227
+ export declare function collisionMaskFor(layers: AuraCollisionLayers, name: string): number;
228
+ /** Joint kinds this runtime exposes. Every one is backed by a solver constraint. */
229
+ export type AuraJointKind = "fixed" | "hinge" | "slider" | "ball-socket" | "spring" | "motorised-hinge";
230
+ export interface AuraJointSpec {
231
+ readonly kind: AuraJointKind;
232
+ readonly bodyA: number | string;
233
+ readonly bodyB: number | string;
234
+ /** Anchor in world space. Defaults to the midpoint between the bodies. */
235
+ readonly anchor?: PhysicsVec3 | undefined;
236
+ /** Axis for hinge and slider joints. Defaults to world up. */
237
+ readonly axis?: PhysicsVec3 | undefined;
238
+ /** Spring stiffness, `spring` only. */
239
+ readonly stiffness?: number | undefined;
240
+ /** Spring damping, `spring` only. */
241
+ readonly damping?: number | undefined;
242
+ /** Rest length, `spring` only. Defaults to the initial separation. */
243
+ readonly restLength?: number | undefined;
244
+ /** Target speed, `motorised-hinge` only, radians per second. */
245
+ readonly motorSpeed?: number | undefined;
246
+ /** Maximum motor torque, `motorised-hinge` only. */
247
+ readonly maxMotorTorque?: number | undefined;
248
+ /** Angular limits in radians, `hinge` and `motorised-hinge`. */
249
+ readonly limits?: readonly [number, number] | undefined;
250
+ }
251
+ export interface AuraJointHandle {
252
+ readonly id: number;
253
+ readonly kind: AuraJointKind;
254
+ /** Turn the joint off without destroying it. */
255
+ setEnabled(enabled: boolean): this;
256
+ /** `motorised-hinge` only. */
257
+ setMotorSpeed(speed: number): this;
258
+ remove(): void;
259
+ }
260
+ export declare function validateJointSpec(spec: AuraJointSpec): void;
261
+ /**
262
+ * Collider shapes the declaration surface accepts.
263
+ *
264
+ * WS-1.5 audit, run against `packages/physics/src/Shape.ts`: the factory provides `box`,
265
+ * `sphere`, `capsule`, `plane`, `mesh`, `convexHull` and `heightfield`. There is **no**
266
+ * `Shape.cylinder`. An earlier draft of this list advertised `cylinder`, which would have
267
+ * thrown at runtime for anyone who used it — the exact "declared but unsupported" failure
268
+ * this list exists to prevent. It is removed rather than faked with a box.
269
+ *
270
+ * Capability table:
271
+ *
272
+ * | shape | dynamic | static | from a body spec |
273
+ * |---|---|---|---|
274
+ * | `box` | yes | yes | yes |
275
+ * | `sphere` | yes | yes | yes |
276
+ * | `capsule` | yes | yes | yes |
277
+ * | `convexHull` | yes | yes | no — needs vertices |
278
+ * | `mesh` | no | yes | no — needs geometry |
279
+ * | `plane` | no | yes | yes |
280
+ * | `heightfield` | no | yes | no — needs a height grid |
281
+ */
282
+ export type AuraColliderShape = "box" | "sphere" | "capsule" | "plane" | "convexHull" | "mesh" | "heightfield";
283
+ /**
284
+ * Shapes the active backend can actually simulate as a *dynamic* body.
285
+ *
286
+ * `trimesh` and `heightfield` are static-only in every backend here: a concave
287
+ * triangle soup has no well-defined inertia tensor, and treating one as dynamic
288
+ * produces a body that falls through thin geometry. Declaring one dynamic is a
289
+ * mistake worth an error rather than a silent fallback, because the failure mode
290
+ * looks like a physics bug rather than an authoring bug.
291
+ */
292
+ export declare const AURA_DYNAMIC_CAPABLE_SHAPES: readonly AuraColliderShape[];
293
+ export declare const AURA_STATIC_ONLY_SHAPES: readonly AuraColliderShape[];
294
+ /** Shapes {@link AuraPhysicsRuntime.createBody} can build from dimensions alone. */
295
+ export declare const AURA_SPEC_CONSTRUCTIBLE_SHAPES: readonly AuraColliderShape[];
296
+ export declare function assertShapeSupported(shape: AuraColliderShape, bodyType: "static" | "dynamic" | "kinematic"): void;
297
+ /**
298
+ * Approach speed along the contact normal.
299
+ *
300
+ * Exposed on every collision event because it is what separates a landing from a
301
+ * crash, a tap from a hit. Without it, gameplay code has to cache last-frame
302
+ * velocities to tell the difference.
303
+ */
304
+ export declare function contactRelativeSpeed(velocityA: PhysicsVec3, velocityB: PhysicsVec3, normal: PhysicsVec3): number;
305
+ /** Internal: adapt a `@aura3d/physics` body to the public handle. */
306
+ export declare function createBodyHandle(body: RigidBody, nodeName?: string): AuraBodyHandle;
307
+ /** Internal: translate a solver collision event into the public shape. */
308
+ export declare function toAuraCollisionEvent(event: CollisionEvent, resolveBody: (id: number) => AuraBodyHandle | undefined): AuraCollisionEvent | undefined;
309
+ /** Internal: translate a solver raycast hit into the public shape. */
310
+ export declare function toAuraRaycastResult(hit: RaycastHit, resolveBody: (id: number) => AuraBodyHandle | undefined): AuraRaycastResult | undefined;
311
+ /** Options for {@link createPhysicsRuntime}. */
312
+ export interface AuraPhysicsRuntimeOptions {
313
+ /**
314
+ * Collision layers, so "bullets hit enemies but not each other" is expressible.
315
+ *
316
+ * Supplied here rather than per body because a mask is only meaningful relative to the
317
+ * full set of layers: `collisionMaskFor` has to know every layer to build the bitmask.
318
+ */
319
+ readonly layers?: AuraCollisionLayers | undefined;
320
+ /** Resolve a body id to the scene node name it drives, for event payloads. */
321
+ readonly nodeNameFor?: ((bodyId: number) => string | undefined) | undefined;
322
+ }
323
+ /**
324
+ * Build the public physics runtime over a `PhysicsWorld`.
325
+ *
326
+ * This is the function that closes the reachability gap described at the top of this
327
+ * file. Everything above it was type declarations and pure helpers; without an
328
+ * implementation that a live app hands out, `AuraPhysicsRuntime` was an interface no
329
+ * value ever satisfied, and no developer could obtain one.
330
+ */
331
+ export declare function createPhysicsRuntime(world: PhysicsWorld, options?: AuraPhysicsRuntimeOptions): AuraPhysicsRuntime;
332
+ //# sourceMappingURL=PhysicsRuntime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PhysicsRuntime.d.ts","sourceRoot":"","sources":["../../../../../packages/engine/src/agent-api/PhysicsRuntime.ts"],"names":[],"mappings":"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"}