@aura3d/engine 2.0.3 → 3.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 (704) hide show
  1. package/README.md +37 -46
  2. package/dist/animation/AnimationAction.d.ts.map +1 -1
  3. package/dist/animation/AnimationAction.js +20 -2
  4. package/dist/animation/AnimationAction.js.map +1 -1
  5. package/dist/animation/AnimationLayer.d.ts +1 -0
  6. package/dist/animation/AnimationLayer.d.ts.map +1 -1
  7. package/dist/animation/AnimationLayer.js +24 -3
  8. package/dist/animation/AnimationLayer.js.map +1 -1
  9. package/dist/animation/AnimationMixer.d.ts +3 -0
  10. package/dist/animation/AnimationMixer.d.ts.map +1 -1
  11. package/dist/animation/AnimationMixer.js +69 -5
  12. package/dist/animation/AnimationMixer.js.map +1 -1
  13. package/dist/animation/AnimationTrack.d.ts.map +1 -1
  14. package/dist/animation/AnimationTrack.js +13 -0
  15. package/dist/animation/AnimationTrack.js.map +1 -1
  16. package/dist/animation/FootIk.d.ts +10 -0
  17. package/dist/animation/FootIk.d.ts.map +1 -1
  18. package/dist/animation/FootIk.js +95 -3
  19. package/dist/animation/FootIk.js.map +1 -1
  20. package/dist/animation/HumanoidRetargeting.d.ts +29 -0
  21. package/dist/animation/HumanoidRetargeting.d.ts.map +1 -1
  22. package/dist/animation/HumanoidRetargeting.js +41 -1
  23. package/dist/animation/HumanoidRetargeting.js.map +1 -1
  24. package/dist/animation/LocomotionKit.d.ts +6 -0
  25. package/dist/animation/LocomotionKit.d.ts.map +1 -1
  26. package/dist/animation/LocomotionKit.js +6 -0
  27. package/dist/animation/LocomotionKit.js.map +1 -1
  28. package/dist/animation/RootMotion.d.ts +27 -0
  29. package/dist/animation/RootMotion.d.ts.map +1 -1
  30. package/dist/animation/RootMotion.js +38 -0
  31. package/dist/animation/RootMotion.js.map +1 -1
  32. package/dist/animation/SpringBones.d.ts +28 -0
  33. package/dist/animation/SpringBones.d.ts.map +1 -1
  34. package/dist/animation/SpringBones.js +24 -0
  35. package/dist/animation/SpringBones.js.map +1 -1
  36. package/dist/assets/GLTFAnimationRuntime.d.ts +95 -2
  37. package/dist/assets/GLTFAnimationRuntime.d.ts.map +1 -1
  38. package/dist/assets/GLTFAnimationRuntime.js +328 -3
  39. package/dist/assets/GLTFAnimationRuntime.js.map +1 -1
  40. package/dist/assets/GLTFExtensionSupport.js +2 -2
  41. package/dist/assets/GLTFExtensionSupport.js.map +1 -1
  42. package/dist/assets/GLTFLoader.d.ts +360 -1
  43. package/dist/assets/GLTFLoader.d.ts.map +1 -1
  44. package/dist/assets/GLTFLoader.js +197 -1
  45. package/dist/assets/GLTFLoader.js.map +1 -1
  46. package/dist/assets/KTX2BasisTextureTranscoder.d.ts +39 -0
  47. package/dist/assets/KTX2BasisTextureTranscoder.d.ts.map +1 -1
  48. package/dist/assets/KTX2BasisTextureTranscoder.js +70 -0
  49. package/dist/assets/KTX2BasisTextureTranscoder.js.map +1 -1
  50. package/dist/assets/TexturePipeline.d.ts +20 -0
  51. package/dist/assets/TexturePipeline.d.ts.map +1 -1
  52. package/dist/assets/TexturePipeline.js +20 -0
  53. package/dist/assets/TexturePipeline.js.map +1 -1
  54. package/dist/assets/TextureStreaming.d.ts +30 -0
  55. package/dist/assets/TextureStreaming.d.ts.map +1 -1
  56. package/dist/assets/TextureStreaming.js +53 -0
  57. package/dist/assets/TextureStreaming.js.map +1 -1
  58. package/dist/assets/browser-index.d.ts +7 -3
  59. package/dist/assets/browser-index.d.ts.map +1 -1
  60. package/dist/assets/browser-index.js +3 -1
  61. package/dist/assets/browser-index.js.map +1 -1
  62. package/dist/assets/gltf-runtime.d.ts +1 -1
  63. package/dist/assets/gltf-runtime.d.ts.map +1 -1
  64. package/dist/assets/gltf-runtime.js.map +1 -1
  65. package/dist/assets/index.d.ts +7 -7
  66. package/dist/assets/index.d.ts.map +1 -1
  67. package/dist/assets/index.js +3 -3
  68. package/dist/assets/index.js.map +1 -1
  69. package/dist/assets/loaders/HDRLoader.d.ts +40 -0
  70. package/dist/assets/loaders/HDRLoader.d.ts.map +1 -1
  71. package/dist/assets/loaders/HDRLoader.js +158 -0
  72. package/dist/assets/loaders/HDRLoader.js.map +1 -1
  73. package/dist/audio/AudioSource.d.ts +2 -0
  74. package/dist/audio/AudioSource.d.ts.map +1 -1
  75. package/dist/audio/AudioSource.js +7 -0
  76. package/dist/audio/AudioSource.js.map +1 -1
  77. package/dist/audio/Footsteps.d.ts +47 -0
  78. package/dist/audio/Footsteps.d.ts.map +1 -0
  79. package/dist/audio/Footsteps.js +73 -0
  80. package/dist/audio/Footsteps.js.map +1 -0
  81. package/dist/audio/GameMixer.d.ts +69 -0
  82. package/dist/audio/GameMixer.d.ts.map +1 -0
  83. package/dist/audio/GameMixer.js +141 -0
  84. package/dist/audio/GameMixer.js.map +1 -0
  85. package/dist/audio/PositionalEmitter.d.ts +95 -0
  86. package/dist/audio/PositionalEmitter.d.ts.map +1 -0
  87. package/dist/audio/PositionalEmitter.js +199 -0
  88. package/dist/audio/PositionalEmitter.js.map +1 -0
  89. package/dist/audio/index.d.ts +6 -0
  90. package/dist/audio/index.d.ts.map +1 -1
  91. package/dist/audio/index.js +3 -0
  92. package/dist/audio/index.js.map +1 -1
  93. package/dist/aura3d-cli/asset-core-types.d.ts +19 -0
  94. package/dist/aura3d-cli/asset-core-types.d.ts.map +1 -1
  95. package/dist/aura3d-cli/asset-manifest.d.ts.map +1 -1
  96. package/dist/aura3d-cli/asset-manifest.js +2 -1
  97. package/dist/aura3d-cli/asset-manifest.js.map +1 -1
  98. package/dist/aura3d-cli/cli-help.d.ts.map +1 -1
  99. package/dist/aura3d-cli/cli-help.js +2 -0
  100. package/dist/aura3d-cli/cli-help.js.map +1 -1
  101. package/dist/aura3d-cli/cli.js +24 -1
  102. package/dist/aura3d-cli/cli.js.map +1 -1
  103. package/dist/aura3d-cli/index.d.ts +5 -1
  104. package/dist/aura3d-cli/index.d.ts.map +1 -1
  105. package/dist/aura3d-cli/index.js +5 -1
  106. package/dist/aura3d-cli/index.js.map +1 -1
  107. package/dist/aura3d-cli/meshy/admission.d.ts +40 -0
  108. package/dist/aura3d-cli/meshy/admission.d.ts.map +1 -0
  109. package/dist/aura3d-cli/meshy/admission.js +126 -0
  110. package/dist/aura3d-cli/meshy/admission.js.map +1 -0
  111. package/dist/aura3d-cli/meshy/evidence.d.ts +12 -0
  112. package/dist/aura3d-cli/meshy/evidence.d.ts.map +1 -0
  113. package/dist/aura3d-cli/meshy/evidence.js +37 -0
  114. package/dist/aura3d-cli/meshy/evidence.js.map +1 -0
  115. package/dist/aura3d-cli/meshy/import.d.ts +25 -0
  116. package/dist/aura3d-cli/meshy/import.d.ts.map +1 -0
  117. package/dist/aura3d-cli/meshy/import.js +104 -0
  118. package/dist/aura3d-cli/meshy/import.js.map +1 -0
  119. package/dist/aura3d-cli/meshy/index.d.ts +10 -0
  120. package/dist/aura3d-cli/meshy/index.d.ts.map +1 -0
  121. package/dist/aura3d-cli/meshy/index.js +6 -0
  122. package/dist/aura3d-cli/meshy/index.js.map +1 -0
  123. package/dist/aura3d-cli/meshy/metadata.d.ts +22 -0
  124. package/dist/aura3d-cli/meshy/metadata.d.ts.map +1 -0
  125. package/dist/aura3d-cli/meshy/metadata.js +176 -0
  126. package/dist/aura3d-cli/meshy/metadata.js.map +1 -0
  127. package/dist/aura3d-cli/meshy/provenance.d.ts +4 -0
  128. package/dist/aura3d-cli/meshy/provenance.d.ts.map +1 -0
  129. package/dist/aura3d-cli/meshy/provenance.js +21 -0
  130. package/dist/aura3d-cli/meshy/provenance.js.map +1 -0
  131. package/dist/aura3d-cli/meshy/thumbnail.d.ts +19 -0
  132. package/dist/aura3d-cli/meshy/thumbnail.d.ts.map +1 -0
  133. package/dist/aura3d-cli/meshy/thumbnail.js +59 -0
  134. package/dist/aura3d-cli/meshy/thumbnail.js.map +1 -0
  135. package/dist/aura3d-cli/meshy/validation.d.ts +5 -0
  136. package/dist/aura3d-cli/meshy/validation.d.ts.map +1 -0
  137. package/dist/aura3d-cli/meshy/validation.js +64 -0
  138. package/dist/aura3d-cli/meshy/validation.js.map +1 -0
  139. package/dist/aura3d-cli/pull-bridge/profiles.d.ts +12 -2
  140. package/dist/aura3d-cli/pull-bridge/profiles.d.ts.map +1 -1
  141. package/dist/aura3d-cli/pull-bridge/profiles.js +35 -4
  142. package/dist/aura3d-cli/pull-bridge/profiles.js.map +1 -1
  143. package/dist/aura3d-cli/pull-bridge/provenance.d.ts +15 -1
  144. package/dist/aura3d-cli/pull-bridge/provenance.d.ts.map +1 -1
  145. package/dist/aura3d-cli/pull-bridge/provenance.js +60 -1
  146. package/dist/aura3d-cli/pull-bridge/provenance.js.map +1 -1
  147. package/dist/aura3d-cli/pull-bridge/scoring.d.ts +10 -1
  148. package/dist/aura3d-cli/pull-bridge/scoring.d.ts.map +1 -1
  149. package/dist/aura3d-cli/pull-bridge/scoring.js +9 -1
  150. package/dist/aura3d-cli/pull-bridge/scoring.js.map +1 -1
  151. package/dist/aura3d-cli/pull-bridge/search.js +2 -2
  152. package/dist/aura3d-cli/pull-bridge/search.js.map +1 -1
  153. package/dist/aura3d-cli/pull-bridge.d.ts +15 -3
  154. package/dist/aura3d-cli/pull-bridge.d.ts.map +1 -1
  155. package/dist/aura3d-cli/pull-bridge.js +68 -5
  156. package/dist/aura3d-cli/pull-bridge.js.map +1 -1
  157. package/dist/controls/ArcballControls.d.ts +92 -0
  158. package/dist/controls/ArcballControls.d.ts.map +1 -0
  159. package/dist/controls/ArcballControls.js +286 -0
  160. package/dist/controls/ArcballControls.js.map +1 -0
  161. package/dist/controls/DragControls.d.ts +13 -0
  162. package/dist/controls/DragControls.d.ts.map +1 -1
  163. package/dist/controls/DragControls.js +24 -1
  164. package/dist/controls/DragControls.js.map +1 -1
  165. package/dist/controls/FlyControls.d.ts +9 -0
  166. package/dist/controls/FlyControls.d.ts.map +1 -1
  167. package/dist/controls/FlyControls.js +20 -2
  168. package/dist/controls/FlyControls.js.map +1 -1
  169. package/dist/controls/FocusFrame.d.ts +34 -0
  170. package/dist/controls/FocusFrame.d.ts.map +1 -0
  171. package/dist/controls/FocusFrame.js +82 -0
  172. package/dist/controls/FocusFrame.js.map +1 -0
  173. package/dist/controls/HoverOutline.d.ts +46 -0
  174. package/dist/controls/HoverOutline.d.ts.map +1 -0
  175. package/dist/controls/HoverOutline.js +87 -0
  176. package/dist/controls/HoverOutline.js.map +1 -0
  177. package/dist/controls/InteractionControls.d.ts +7 -0
  178. package/dist/controls/InteractionControls.d.ts.map +1 -1
  179. package/dist/controls/InteractionControls.js +12 -1
  180. package/dist/controls/InteractionControls.js.map +1 -1
  181. package/dist/controls/NativeControlTypes.d.ts +17 -0
  182. package/dist/controls/NativeControlTypes.d.ts.map +1 -1
  183. package/dist/controls/NativeControlTypes.js.map +1 -1
  184. package/dist/controls/OrbitControls.d.ts +9 -0
  185. package/dist/controls/OrbitControls.d.ts.map +1 -1
  186. package/dist/controls/OrbitControls.js +26 -6
  187. package/dist/controls/OrbitControls.js.map +1 -1
  188. package/dist/controls/Picking.d.ts +15 -0
  189. package/dist/controls/Picking.d.ts.map +1 -1
  190. package/dist/controls/Picking.js +62 -23
  191. package/dist/controls/Picking.js.map +1 -1
  192. package/dist/controls/PointerLockControls.d.ts.map +1 -1
  193. package/dist/controls/PointerLockControls.js +4 -0
  194. package/dist/controls/PointerLockControls.js.map +1 -1
  195. package/dist/controls/SelectionManager.d.ts +8 -0
  196. package/dist/controls/SelectionManager.d.ts.map +1 -1
  197. package/dist/controls/SelectionManager.js +11 -0
  198. package/dist/controls/SelectionManager.js.map +1 -1
  199. package/dist/controls/TrackballControls.d.ts +7 -0
  200. package/dist/controls/TrackballControls.d.ts.map +1 -1
  201. package/dist/controls/TrackballControls.js +19 -5
  202. package/dist/controls/TrackballControls.js.map +1 -1
  203. package/dist/controls/TransformControls.d.ts +8 -0
  204. package/dist/controls/TransformControls.d.ts.map +1 -1
  205. package/dist/controls/TransformControls.js +15 -2
  206. package/dist/controls/TransformControls.js.map +1 -1
  207. package/dist/controls/index.d.ts +6 -0
  208. package/dist/controls/index.d.ts.map +1 -1
  209. package/dist/controls/index.js +3 -0
  210. package/dist/controls/index.js.map +1 -1
  211. package/dist/create-aura3d/index.js +1 -1
  212. package/dist/create-aura3d/showcase-spec-game-geometry-extractor.d.ts.map +1 -1
  213. package/dist/create-aura3d/showcase-spec-game-geometry-extractor.js +86 -4
  214. package/dist/create-aura3d/showcase-spec-game-geometry-extractor.js.map +1 -1
  215. package/dist/editor-runtime/RootEditorSurface.d.ts +65 -0
  216. package/dist/editor-runtime/RootEditorSurface.d.ts.map +1 -0
  217. package/dist/editor-runtime/RootEditorSurface.js +62 -0
  218. package/dist/editor-runtime/RootEditorSurface.js.map +1 -0
  219. package/dist/editor-runtime/index.d.ts +2 -0
  220. package/dist/editor-runtime/index.d.ts.map +1 -1
  221. package/dist/editor-runtime/index.js +1 -0
  222. package/dist/editor-runtime/index.js.map +1 -1
  223. package/dist/engine/agent-api/AnimationController.d.ts +9 -1
  224. package/dist/engine/agent-api/AnimationController.d.ts.map +1 -1
  225. package/dist/engine/agent-api/AnimationController.js +5 -1
  226. package/dist/engine/agent-api/AnimationController.js.map +1 -1
  227. package/dist/engine/agent-api/AnimationDebugOverlay.d.ts +56 -0
  228. package/dist/engine/agent-api/AnimationDebugOverlay.d.ts.map +1 -0
  229. package/dist/engine/agent-api/AnimationDebugOverlay.js +148 -0
  230. package/dist/engine/agent-api/AnimationDebugOverlay.js.map +1 -0
  231. package/dist/engine/agent-api/AnimationMixerBuilders.d.ts +41 -0
  232. package/dist/engine/agent-api/AnimationMixerBuilders.d.ts.map +1 -0
  233. package/dist/engine/agent-api/AnimationMixerBuilders.js +146 -0
  234. package/dist/engine/agent-api/AnimationMixerBuilders.js.map +1 -0
  235. package/dist/engine/agent-api/AssetDecoders.d.ts +17 -0
  236. package/dist/engine/agent-api/AssetDecoders.d.ts.map +1 -0
  237. package/dist/engine/agent-api/AssetDecoders.js +18 -0
  238. package/dist/engine/agent-api/AssetDecoders.js.map +1 -0
  239. package/dist/engine/agent-api/Decals.d.ts +174 -0
  240. package/dist/engine/agent-api/Decals.d.ts.map +1 -0
  241. package/dist/engine/agent-api/Decals.js +350 -0
  242. package/dist/engine/agent-api/Decals.js.map +1 -0
  243. package/dist/engine/agent-api/FootPlanting.d.ts +75 -0
  244. package/dist/engine/agent-api/FootPlanting.d.ts.map +1 -0
  245. package/dist/engine/agent-api/FootPlanting.js +60 -0
  246. package/dist/engine/agent-api/FootPlanting.js.map +1 -0
  247. package/dist/engine/agent-api/GameAppRuntime.d.ts +19 -0
  248. package/dist/engine/agent-api/GameAppRuntime.d.ts.map +1 -1
  249. package/dist/engine/agent-api/GameAppRuntime.js +37 -1
  250. package/dist/engine/agent-api/GameAppRuntime.js.map +1 -1
  251. package/dist/engine/agent-api/GameCameraRigs.d.ts +185 -0
  252. package/dist/engine/agent-api/GameCameraRigs.d.ts.map +1 -0
  253. package/dist/engine/agent-api/GameCameraRigs.js +414 -0
  254. package/dist/engine/agent-api/GameCameraRigs.js.map +1 -0
  255. package/dist/engine/agent-api/GameFeel.d.ts +100 -0
  256. package/dist/engine/agent-api/GameFeel.d.ts.map +1 -0
  257. package/dist/engine/agent-api/GameFeel.js +226 -0
  258. package/dist/engine/agent-api/GameFeel.js.map +1 -0
  259. package/dist/engine/agent-api/GameGenreKits.d.ts.map +1 -1
  260. package/dist/engine/agent-api/GameGenreKits.js +26 -3
  261. package/dist/engine/agent-api/GameGenreKits.js.map +1 -1
  262. package/dist/engine/agent-api/LabelTelemetry.d.ts +108 -0
  263. package/dist/engine/agent-api/LabelTelemetry.d.ts.map +1 -0
  264. package/dist/engine/agent-api/LabelTelemetry.js +116 -0
  265. package/dist/engine/agent-api/LabelTelemetry.js.map +1 -0
  266. package/dist/engine/agent-api/NavigationCrowds.d.ts +146 -0
  267. package/dist/engine/agent-api/NavigationCrowds.d.ts.map +1 -0
  268. package/dist/engine/agent-api/NavigationCrowds.js +104 -0
  269. package/dist/engine/agent-api/NavigationCrowds.js.map +1 -0
  270. package/dist/engine/agent-api/PhysicsRuntime.d.ts +61 -5
  271. package/dist/engine/agent-api/PhysicsRuntime.d.ts.map +1 -1
  272. package/dist/engine/agent-api/PhysicsRuntime.js +53 -21
  273. package/dist/engine/agent-api/PhysicsRuntime.js.map +1 -1
  274. package/dist/engine/agent-api/RootGeometry.d.ts +16 -1
  275. package/dist/engine/agent-api/RootGeometry.d.ts.map +1 -1
  276. package/dist/engine/agent-api/RootGeometry.js.map +1 -1
  277. package/dist/engine/agent-api/RuntimeNodeHandle.d.ts +6 -0
  278. package/dist/engine/agent-api/RuntimeNodeHandle.d.ts.map +1 -1
  279. package/dist/engine/agent-api/RuntimeNodeHandle.js.map +1 -1
  280. package/dist/engine/agent-api/Scatter.d.ts +18 -0
  281. package/dist/engine/agent-api/Scatter.d.ts.map +1 -0
  282. package/dist/engine/agent-api/Scatter.js +18 -0
  283. package/dist/engine/agent-api/Scatter.js.map +1 -0
  284. package/dist/engine/agent-api/TouchControlBinding.d.ts +32 -0
  285. package/dist/engine/agent-api/TouchControlBinding.d.ts.map +1 -1
  286. package/dist/engine/agent-api/TouchControlBinding.js +36 -0
  287. package/dist/engine/agent-api/TouchControlBinding.js.map +1 -1
  288. package/dist/engine/agent-api/VehicleChassis.d.ts.map +1 -1
  289. package/dist/engine/agent-api/VehicleChassis.js +76 -13
  290. package/dist/engine/agent-api/VehicleChassis.js.map +1 -1
  291. package/dist/engine/agent-api/index.d.ts +723 -6
  292. package/dist/engine/agent-api/index.d.ts.map +1 -1
  293. package/dist/engine/agent-api/index.js +1805 -137
  294. package/dist/engine/agent-api/index.js.map +1 -1
  295. package/dist/engine/agent-api/product-viewer-runtime.d.ts.map +1 -1
  296. package/dist/engine/game/GameAudio.d.ts +66 -0
  297. package/dist/engine/game/GameAudio.d.ts.map +1 -1
  298. package/dist/engine/game/GameAudio.js +179 -44
  299. package/dist/engine/game/GameAudio.js.map +1 -1
  300. package/dist/engine/instances-model/InstancedModel.d.ts +111 -0
  301. package/dist/engine/instances-model/InstancedModel.d.ts.map +1 -0
  302. package/dist/engine/instances-model/InstancedModel.js +108 -0
  303. package/dist/engine/instances-model/InstancedModel.js.map +1 -0
  304. package/dist/engine/material-physical/PhysicalMaterialSpec.d.ts +72 -0
  305. package/dist/engine/material-physical/PhysicalMaterialSpec.d.ts.map +1 -0
  306. package/dist/engine/material-physical/PhysicalMaterialSpec.js +95 -0
  307. package/dist/engine/material-physical/PhysicalMaterialSpec.js.map +1 -0
  308. package/dist/engine/production-runtime/GameAppRuntime.d.ts +1 -1
  309. package/dist/engine/production-runtime/GameAppRuntime.d.ts.map +1 -1
  310. package/dist/engine/production-runtime/GameRenderPreset.d.ts +76 -0
  311. package/dist/engine/production-runtime/GameRenderPreset.d.ts.map +1 -1
  312. package/dist/engine/production-runtime/GameRenderPreset.js +167 -0
  313. package/dist/engine/production-runtime/GameRenderPreset.js.map +1 -1
  314. package/dist/engine/production-runtime/TypedGLBActor.d.ts +36 -2
  315. package/dist/engine/production-runtime/TypedGLBActor.d.ts.map +1 -1
  316. package/dist/engine/production-runtime/TypedGLBActor.js +92 -5
  317. package/dist/engine/production-runtime/TypedGLBActor.js.map +1 -1
  318. package/dist/engine/production-runtime/index.d.ts +4 -4
  319. package/dist/engine/production-runtime/index.d.ts.map +1 -1
  320. package/dist/engine/production-runtime/index.js +5 -3
  321. package/dist/engine/production-runtime/index.js.map +1 -1
  322. package/dist/input/ActionMap.d.ts +40 -0
  323. package/dist/input/ActionMap.d.ts.map +1 -1
  324. package/dist/input/ActionMap.js +179 -0
  325. package/dist/input/ActionMap.js.map +1 -1
  326. package/dist/input/ComboDetector.d.ts +49 -0
  327. package/dist/input/ComboDetector.d.ts.map +1 -0
  328. package/dist/input/ComboDetector.js +102 -0
  329. package/dist/input/ComboDetector.js.map +1 -0
  330. package/dist/input/Haptics.d.ts +46 -0
  331. package/dist/input/Haptics.d.ts.map +1 -0
  332. package/dist/input/Haptics.js +67 -0
  333. package/dist/input/Haptics.js.map +1 -0
  334. package/dist/input/TouchLayouts.d.ts +35 -0
  335. package/dist/input/TouchLayouts.d.ts.map +1 -0
  336. package/dist/input/TouchLayouts.js +88 -0
  337. package/dist/input/TouchLayouts.js.map +1 -0
  338. package/dist/input/WebXRSessionController.d.ts +53 -0
  339. package/dist/input/WebXRSessionController.d.ts.map +1 -1
  340. package/dist/input/WebXRSessionController.js +88 -2
  341. package/dist/input/WebXRSessionController.js.map +1 -1
  342. package/dist/input/index.d.ts +8 -2
  343. package/dist/input/index.d.ts.map +1 -1
  344. package/dist/input/index.js +3 -0
  345. package/dist/input/index.js.map +1 -1
  346. package/dist/lean/game.d.ts +98 -0
  347. package/dist/lean/game.d.ts.map +1 -1
  348. package/dist/lean/game.js +192 -0
  349. package/dist/lean/game.js.map +1 -1
  350. package/dist/materials/GameReadyMaterialLibrary.d.ts +39 -0
  351. package/dist/materials/GameReadyMaterialLibrary.d.ts.map +1 -0
  352. package/dist/materials/GameReadyMaterialLibrary.js +253 -0
  353. package/dist/materials/GameReadyMaterialLibrary.js.map +1 -0
  354. package/dist/materials/MaterialValidation.d.ts +21 -0
  355. package/dist/materials/MaterialValidation.d.ts.map +1 -1
  356. package/dist/materials/MaterialValidation.js +105 -0
  357. package/dist/materials/MaterialValidation.js.map +1 -1
  358. package/dist/materials/browser-index.d.ts +2 -0
  359. package/dist/materials/browser-index.d.ts.map +1 -1
  360. package/dist/materials/browser-index.js +1 -0
  361. package/dist/materials/browser-index.js.map +1 -1
  362. package/dist/materials/node.d.ts +2 -2
  363. package/dist/materials/node.d.ts.map +1 -1
  364. package/dist/materials/node.js +1 -1
  365. package/dist/materials/node.js.map +1 -1
  366. package/dist/physics/CollisionVolumes.d.ts +59 -0
  367. package/dist/physics/CollisionVolumes.d.ts.map +1 -1
  368. package/dist/physics/CollisionVolumes.js +87 -0
  369. package/dist/physics/CollisionVolumes.js.map +1 -1
  370. package/dist/physics/PhysicsDebugDraw.d.ts +37 -0
  371. package/dist/physics/PhysicsDebugDraw.d.ts.map +1 -1
  372. package/dist/physics/PhysicsDebugDraw.js +38 -1
  373. package/dist/physics/PhysicsDebugDraw.js.map +1 -1
  374. package/dist/physics/PhysicsWorld.d.ts +15 -0
  375. package/dist/physics/PhysicsWorld.d.ts.map +1 -1
  376. package/dist/physics/PhysicsWorld.js +8 -1
  377. package/dist/physics/PhysicsWorld.js.map +1 -1
  378. package/dist/physics/solverless.d.ts +1 -1
  379. package/dist/physics/solverless.d.ts.map +1 -1
  380. package/dist/physics/solverless.js.map +1 -1
  381. package/dist/physics-rapier/index.d.ts +7 -1
  382. package/dist/physics-rapier/index.d.ts.map +1 -1
  383. package/dist/physics-rapier/index.js +1 -1
  384. package/dist/physics-rapier/index.js.map +1 -1
  385. package/dist/react/index.d.ts +136 -2
  386. package/dist/react/index.d.ts.map +1 -1
  387. package/dist/react/index.js +251 -10
  388. package/dist/react/index.js.map +1 -1
  389. package/dist/rendering/AtmosphereWetness.d.ts +61 -0
  390. package/dist/rendering/AtmosphereWetness.d.ts.map +1 -0
  391. package/dist/rendering/AtmosphereWetness.js +99 -0
  392. package/dist/rendering/AtmosphereWetness.js.map +1 -0
  393. package/dist/rendering/ClusteredForwardLighting.d.ts +25 -1
  394. package/dist/rendering/ClusteredForwardLighting.d.ts.map +1 -1
  395. package/dist/rendering/ClusteredForwardLighting.js +80 -3
  396. package/dist/rendering/ClusteredForwardLighting.js.map +1 -1
  397. package/dist/rendering/DayNightSky.d.ts +63 -0
  398. package/dist/rendering/DayNightSky.d.ts.map +1 -0
  399. package/dist/rendering/DayNightSky.js +156 -0
  400. package/dist/rendering/DayNightSky.js.map +1 -0
  401. package/dist/rendering/EnvironmentPresetPack.d.ts +30 -0
  402. package/dist/rendering/EnvironmentPresetPack.d.ts.map +1 -0
  403. package/dist/rendering/EnvironmentPresetPack.js +49 -0
  404. package/dist/rendering/EnvironmentPresetPack.js.map +1 -0
  405. package/dist/rendering/ForwardPass.d.ts +67 -0
  406. package/dist/rendering/ForwardPass.d.ts.map +1 -1
  407. package/dist/rendering/ForwardPass.js +196 -2
  408. package/dist/rendering/ForwardPass.js.map +1 -1
  409. package/dist/rendering/InstancedPBRMaterial.d.ts +1 -0
  410. package/dist/rendering/InstancedPBRMaterial.d.ts.map +1 -1
  411. package/dist/rendering/InstancedPBRMaterial.js +3 -0
  412. package/dist/rendering/InstancedPBRMaterial.js.map +1 -1
  413. package/dist/rendering/InstancingDiagnostics.d.ts +69 -0
  414. package/dist/rendering/InstancingDiagnostics.d.ts.map +1 -0
  415. package/dist/rendering/InstancingDiagnostics.js +98 -0
  416. package/dist/rendering/InstancingDiagnostics.js.map +1 -0
  417. package/dist/rendering/LightingRig.d.ts +19 -1
  418. package/dist/rendering/LightingRig.d.ts.map +1 -1
  419. package/dist/rendering/LightingRig.js +61 -1
  420. package/dist/rendering/LightingRig.js.map +1 -1
  421. package/dist/rendering/MeshConsolidation.d.ts +12 -0
  422. package/dist/rendering/MeshConsolidation.d.ts.map +1 -1
  423. package/dist/rendering/MeshConsolidation.js +28 -0
  424. package/dist/rendering/MeshConsolidation.js.map +1 -1
  425. package/dist/rendering/MorphTargetPlan.d.ts +29 -2
  426. package/dist/rendering/MorphTargetPlan.d.ts.map +1 -1
  427. package/dist/rendering/MorphTargetPlan.js +23 -4
  428. package/dist/rendering/MorphTargetPlan.js.map +1 -1
  429. package/dist/rendering/NormalMappedPBRMaterial.d.ts.map +1 -1
  430. package/dist/rendering/NormalMappedPBRMaterial.js +22 -2
  431. package/dist/rendering/NormalMappedPBRMaterial.js.map +1 -1
  432. package/dist/rendering/OceanSurface.d.ts +75 -0
  433. package/dist/rendering/OceanSurface.d.ts.map +1 -1
  434. package/dist/rendering/OceanSurface.js +211 -0
  435. package/dist/rendering/OceanSurface.js.map +1 -1
  436. package/dist/rendering/PBRMaterial.d.ts +1 -0
  437. package/dist/rendering/PBRMaterial.d.ts.map +1 -1
  438. package/dist/rendering/PBRMaterial.js +23 -2
  439. package/dist/rendering/PBRMaterial.js.map +1 -1
  440. package/dist/rendering/PbrReference.d.ts +48 -0
  441. package/dist/rendering/PbrReference.d.ts.map +1 -1
  442. package/dist/rendering/PbrReference.js +126 -0
  443. package/dist/rendering/PbrReference.js.map +1 -1
  444. package/dist/rendering/PlanarReflection.d.ts +221 -0
  445. package/dist/rendering/PlanarReflection.d.ts.map +1 -0
  446. package/dist/rendering/PlanarReflection.js +541 -0
  447. package/dist/rendering/PlanarReflection.js.map +1 -0
  448. package/dist/rendering/PostProcessPass.d.ts +13 -0
  449. package/dist/rendering/PostProcessPass.d.ts.map +1 -1
  450. package/dist/rendering/PostProcessPass.js +15 -4
  451. package/dist/rendering/PostProcessPass.js.map +1 -1
  452. package/dist/rendering/ReflectionSurfaces.d.ts +14 -0
  453. package/dist/rendering/ReflectionSurfaces.d.ts.map +1 -1
  454. package/dist/rendering/ReflectionSurfaces.js +93 -0
  455. package/dist/rendering/ReflectionSurfaces.js.map +1 -1
  456. package/dist/rendering/RenderDevice.d.ts +87 -0
  457. package/dist/rendering/RenderDevice.d.ts.map +1 -1
  458. package/dist/rendering/RenderDevice.js +85 -0
  459. package/dist/rendering/RenderDevice.js.map +1 -1
  460. package/dist/rendering/Renderer.js +8 -5
  461. package/dist/rendering/Renderer.js.map +1 -1
  462. package/dist/rendering/RendererPostprocessPlan.d.ts +48 -0
  463. package/dist/rendering/RendererPostprocessPlan.d.ts.map +1 -1
  464. package/dist/rendering/RendererPostprocessPlan.js +101 -11
  465. package/dist/rendering/RendererPostprocessPlan.js.map +1 -1
  466. package/dist/rendering/RendererVisualPipelineReport.d.ts.map +1 -1
  467. package/dist/rendering/RendererVisualPipelineReport.js +3 -1
  468. package/dist/rendering/RendererVisualPipelineReport.js.map +1 -1
  469. package/dist/rendering/Sampler.d.ts +29 -0
  470. package/dist/rendering/Sampler.d.ts.map +1 -1
  471. package/dist/rendering/Sampler.js +47 -0
  472. package/dist/rendering/Sampler.js.map +1 -1
  473. package/dist/rendering/SceneOptimization.d.ts +1 -0
  474. package/dist/rendering/SceneOptimization.d.ts.map +1 -1
  475. package/dist/rendering/SceneOptimization.js +4 -2
  476. package/dist/rendering/SceneOptimization.js.map +1 -1
  477. package/dist/rendering/SdfText.d.ts +250 -0
  478. package/dist/rendering/SdfText.d.ts.map +1 -0
  479. package/dist/rendering/SdfText.js +551 -0
  480. package/dist/rendering/SdfText.js.map +1 -0
  481. package/dist/rendering/ShaderChunks.d.ts.map +1 -1
  482. package/dist/rendering/ShaderChunks.js +30 -12
  483. package/dist/rendering/ShaderChunks.js.map +1 -1
  484. package/dist/rendering/ShaderLibrary.d.ts.map +1 -1
  485. package/dist/rendering/ShaderLibrary.js +478 -34
  486. package/dist/rendering/ShaderLibrary.js.map +1 -1
  487. package/dist/rendering/ShaderLibraryCore.d.ts.map +1 -1
  488. package/dist/rendering/ShaderLibraryCore.js +70 -12
  489. package/dist/rendering/ShaderLibraryCore.js.map +1 -1
  490. package/dist/rendering/ShadowMap.d.ts +24 -0
  491. package/dist/rendering/ShadowMap.d.ts.map +1 -1
  492. package/dist/rendering/ShadowMap.js +43 -0
  493. package/dist/rendering/ShadowMap.js.map +1 -1
  494. package/dist/rendering/SkinnedLitMaterial.d.ts.map +1 -1
  495. package/dist/rendering/SkinnedLitMaterial.js +2 -0
  496. package/dist/rendering/SkinnedLitMaterial.js.map +1 -1
  497. package/dist/rendering/SkinningBounds.d.ts +10 -0
  498. package/dist/rendering/SkinningBounds.d.ts.map +1 -1
  499. package/dist/rendering/SkinningBounds.js +27 -0
  500. package/dist/rendering/SkinningBounds.js.map +1 -1
  501. package/dist/rendering/SpriteFlipbook.d.ts +60 -0
  502. package/dist/rendering/SpriteFlipbook.d.ts.map +1 -0
  503. package/dist/rendering/SpriteFlipbook.js +128 -0
  504. package/dist/rendering/SpriteFlipbook.js.map +1 -0
  505. package/dist/rendering/TerrainTiles.d.ts +120 -0
  506. package/dist/rendering/TerrainTiles.d.ts.map +1 -0
  507. package/dist/rendering/TerrainTiles.js +221 -0
  508. package/dist/rendering/TerrainTiles.js.map +1 -0
  509. package/dist/rendering/TexturedPBRMaterial.d.ts +1 -0
  510. package/dist/rendering/TexturedPBRMaterial.d.ts.map +1 -1
  511. package/dist/rendering/TexturedPBRMaterial.js +23 -2
  512. package/dist/rendering/TexturedPBRMaterial.js.map +1 -1
  513. package/dist/rendering/TexturedUnlitMaterial.d.ts.map +1 -1
  514. package/dist/rendering/TexturedUnlitMaterial.js +20 -2
  515. package/dist/rendering/TexturedUnlitMaterial.js.map +1 -1
  516. package/dist/rendering/UnlitMaterial.d.ts.map +1 -1
  517. package/dist/rendering/UnlitMaterial.js +20 -2
  518. package/dist/rendering/UnlitMaterial.js.map +1 -1
  519. package/dist/rendering/VertexFormat.d.ts +6 -0
  520. package/dist/rendering/VertexFormat.d.ts.map +1 -1
  521. package/dist/rendering/VertexFormat.js +12 -0
  522. package/dist/rendering/VertexFormat.js.map +1 -1
  523. package/dist/rendering/VolumetricFog.d.ts +55 -0
  524. package/dist/rendering/VolumetricFog.d.ts.map +1 -0
  525. package/dist/rendering/VolumetricFog.js +91 -0
  526. package/dist/rendering/VolumetricFog.js.map +1 -0
  527. package/dist/rendering/WaterSurface.d.ts +77 -0
  528. package/dist/rendering/WaterSurface.d.ts.map +1 -0
  529. package/dist/rendering/WaterSurface.js +133 -0
  530. package/dist/rendering/WaterSurface.js.map +1 -0
  531. package/dist/rendering/WebGL2Device.d.ts +58 -0
  532. package/dist/rendering/WebGL2Device.d.ts.map +1 -1
  533. package/dist/rendering/WebGL2Device.js +536 -17
  534. package/dist/rendering/WebGL2Device.js.map +1 -1
  535. package/dist/rendering/WebGPUDevice.d.ts +50 -0
  536. package/dist/rendering/WebGPUDevice.d.ts.map +1 -1
  537. package/dist/rendering/WebGPUDevice.js +504 -10
  538. package/dist/rendering/WebGPUDevice.js.map +1 -1
  539. package/dist/rendering/WebGPUSkinningLimits.d.ts +40 -0
  540. package/dist/rendering/WebGPUSkinningLimits.d.ts.map +1 -1
  541. package/dist/rendering/WebGPUSkinningLimits.js +32 -0
  542. package/dist/rendering/WebGPUSkinningLimits.js.map +1 -1
  543. package/dist/rendering/effects/CollisionModule.d.ts +9 -0
  544. package/dist/rendering/effects/CollisionModule.d.ts.map +1 -1
  545. package/dist/rendering/effects/CollisionModule.js +10 -0
  546. package/dist/rendering/effects/CollisionModule.js.map +1 -1
  547. package/dist/rendering/effects/ColorModule.d.ts +7 -0
  548. package/dist/rendering/effects/ColorModule.d.ts.map +1 -1
  549. package/dist/rendering/effects/ColorModule.js +23 -0
  550. package/dist/rendering/effects/ColorModule.js.map +1 -1
  551. package/dist/rendering/effects/ForceModule.d.ts +35 -0
  552. package/dist/rendering/effects/ForceModule.d.ts.map +1 -1
  553. package/dist/rendering/effects/ForceModule.js +49 -0
  554. package/dist/rendering/effects/ForceModule.js.map +1 -1
  555. package/dist/rendering/effects/GPUParticleBackend.d.ts +186 -0
  556. package/dist/rendering/effects/GPUParticleBackend.d.ts.map +1 -1
  557. package/dist/rendering/effects/GPUParticleBackend.js +692 -1
  558. package/dist/rendering/effects/GPUParticleBackend.js.map +1 -1
  559. package/dist/rendering/effects/HeightfieldModule.d.ts +58 -0
  560. package/dist/rendering/effects/HeightfieldModule.d.ts.map +1 -0
  561. package/dist/rendering/effects/HeightfieldModule.js +129 -0
  562. package/dist/rendering/effects/HeightfieldModule.js.map +1 -0
  563. package/dist/rendering/effects/LightingModule.d.ts +34 -0
  564. package/dist/rendering/effects/LightingModule.d.ts.map +1 -0
  565. package/dist/rendering/effects/LightingModule.js +54 -0
  566. package/dist/rendering/effects/LightingModule.js.map +1 -0
  567. package/dist/rendering/effects/ParticleDiagnostics.d.ts +8 -0
  568. package/dist/rendering/effects/ParticleDiagnostics.d.ts.map +1 -1
  569. package/dist/rendering/effects/ParticleDiagnostics.js +3 -0
  570. package/dist/rendering/effects/ParticleDiagnostics.js.map +1 -1
  571. package/dist/rendering/effects/ParticleModule.d.ts +8 -0
  572. package/dist/rendering/effects/ParticleModule.d.ts.map +1 -1
  573. package/dist/rendering/effects/ParticleModule.js.map +1 -1
  574. package/dist/rendering/effects/ParticleRenderer.d.ts +20 -0
  575. package/dist/rendering/effects/ParticleRenderer.d.ts.map +1 -1
  576. package/dist/rendering/effects/ParticleRenderer.js +57 -7
  577. package/dist/rendering/effects/ParticleRenderer.js.map +1 -1
  578. package/dist/rendering/effects/ParticleSystem.d.ts +45 -1
  579. package/dist/rendering/effects/ParticleSystem.d.ts.map +1 -1
  580. package/dist/rendering/effects/ParticleSystem.js +373 -4
  581. package/dist/rendering/effects/ParticleSystem.js.map +1 -1
  582. package/dist/rendering/effects/SizeModule.d.ts +4 -0
  583. package/dist/rendering/effects/SizeModule.d.ts.map +1 -1
  584. package/dist/rendering/effects/SizeModule.js +16 -0
  585. package/dist/rendering/effects/SizeModule.js.map +1 -1
  586. package/dist/rendering/effects/SubEmitterModule.d.ts +61 -0
  587. package/dist/rendering/effects/SubEmitterModule.d.ts.map +1 -0
  588. package/dist/rendering/effects/SubEmitterModule.js +119 -0
  589. package/dist/rendering/effects/SubEmitterModule.js.map +1 -0
  590. package/dist/rendering/effects/TrailModule.d.ts +38 -0
  591. package/dist/rendering/effects/TrailModule.d.ts.map +1 -1
  592. package/dist/rendering/effects/TrailModule.js +95 -2
  593. package/dist/rendering/effects/TrailModule.js.map +1 -1
  594. package/dist/rendering/effects/TurbulenceModule.d.ts +43 -0
  595. package/dist/rendering/effects/TurbulenceModule.d.ts.map +1 -0
  596. package/dist/rendering/effects/TurbulenceModule.js +130 -0
  597. package/dist/rendering/effects/TurbulenceModule.js.map +1 -0
  598. package/dist/rendering/effects/index.d.ts +4 -0
  599. package/dist/rendering/effects/index.d.ts.map +1 -1
  600. package/dist/rendering/effects/index.js +4 -0
  601. package/dist/rendering/effects/index.js.map +1 -1
  602. package/dist/rendering/index.d.ts +57 -19
  603. package/dist/rendering/index.d.ts.map +1 -1
  604. package/dist/rendering/index.js +31 -10
  605. package/dist/rendering/index.js.map +1 -1
  606. package/dist/rendering/materials/MaterialExtensions.js +3 -3
  607. package/dist/rendering/materials/MaterialExtensions.js.map +1 -1
  608. package/dist/rendering/postprocess/NativeBloomPyramid.d.ts +28 -0
  609. package/dist/rendering/postprocess/NativeBloomPyramid.d.ts.map +1 -0
  610. package/dist/rendering/postprocess/NativeBloomPyramid.js +54 -0
  611. package/dist/rendering/postprocess/NativeBloomPyramid.js.map +1 -0
  612. package/dist/rendering/postprocess/NativeLdrEffectLuts.d.ts +10 -1
  613. package/dist/rendering/postprocess/NativeLdrEffectLuts.d.ts.map +1 -1
  614. package/dist/rendering/postprocess/NativeLdrEffectLuts.js +19 -2
  615. package/dist/rendering/postprocess/NativeLdrEffectLuts.js.map +1 -1
  616. package/dist/rendering/postprocess/index.d.ts +2 -0
  617. package/dist/rendering/postprocess/index.d.ts.map +1 -1
  618. package/dist/rendering/postprocess/index.js +1 -0
  619. package/dist/rendering/postprocess/index.js.map +1 -1
  620. package/dist/rendering/production-runtime/PBRHDRPipeline.d.ts +22 -0
  621. package/dist/rendering/production-runtime/PBRHDRPipeline.d.ts.map +1 -1
  622. package/dist/rendering/production-runtime/PBRHDRPipeline.js +125 -0
  623. package/dist/rendering/production-runtime/PBRHDRPipeline.js.map +1 -1
  624. package/dist/rendering/production-runtime/ProductionWebGPURenderer.d.ts +52 -0
  625. package/dist/rendering/production-runtime/ProductionWebGPURenderer.d.ts.map +1 -1
  626. package/dist/rendering/production-runtime/ProductionWebGPURenderer.js +101 -0
  627. package/dist/rendering/production-runtime/ProductionWebGPURenderer.js.map +1 -1
  628. package/dist/rendering/production-runtime/index.d.ts +5 -4
  629. package/dist/rendering/production-runtime/index.d.ts.map +1 -1
  630. package/dist/rendering/production-runtime/index.js +3 -2
  631. package/dist/rendering/production-runtime/index.js.map +1 -1
  632. package/dist/rendering/production-runtime/passes/DepthPrepass.d.ts +26 -1
  633. package/dist/rendering/production-runtime/passes/DepthPrepass.d.ts.map +1 -1
  634. package/dist/rendering/production-runtime/passes/DepthPrepass.js +49 -2
  635. package/dist/rendering/production-runtime/passes/DepthPrepass.js.map +1 -1
  636. package/dist/rendering/production-runtime/passes/FramegraphTopology.d.ts +13 -0
  637. package/dist/rendering/production-runtime/passes/FramegraphTopology.d.ts.map +1 -0
  638. package/dist/rendering/production-runtime/passes/FramegraphTopology.js +59 -0
  639. package/dist/rendering/production-runtime/passes/FramegraphTopology.js.map +1 -0
  640. package/dist/rendering/production-runtime/passes/OpaquePass.d.ts +24 -1
  641. package/dist/rendering/production-runtime/passes/OpaquePass.d.ts.map +1 -1
  642. package/dist/rendering/production-runtime/passes/OpaquePass.js +41 -2
  643. package/dist/rendering/production-runtime/passes/OpaquePass.js.map +1 -1
  644. package/dist/rendering/production-runtime/passes/ShadowPass.d.ts +24 -1
  645. package/dist/rendering/production-runtime/passes/ShadowPass.d.ts.map +1 -1
  646. package/dist/rendering/production-runtime/passes/ShadowPass.js +43 -2
  647. package/dist/rendering/production-runtime/passes/ShadowPass.js.map +1 -1
  648. package/dist/rendering/production-runtime/passes/SkyboxPass.d.ts +21 -1
  649. package/dist/rendering/production-runtime/passes/SkyboxPass.d.ts.map +1 -1
  650. package/dist/rendering/production-runtime/passes/SkyboxPass.js +39 -2
  651. package/dist/rendering/production-runtime/passes/SkyboxPass.js.map +1 -1
  652. package/dist/rendering/production-runtime/passes/ToneMappingPass.d.ts +29 -1
  653. package/dist/rendering/production-runtime/passes/ToneMappingPass.d.ts.map +1 -1
  654. package/dist/rendering/production-runtime/passes/ToneMappingPass.js +53 -2
  655. package/dist/rendering/production-runtime/passes/ToneMappingPass.js.map +1 -1
  656. package/dist/rendering/production-runtime/passes/TransparentPass.d.ts +24 -1
  657. package/dist/rendering/production-runtime/passes/TransparentPass.d.ts.map +1 -1
  658. package/dist/rendering/production-runtime/passes/TransparentPass.js +42 -2
  659. package/dist/rendering/production-runtime/passes/TransparentPass.js.map +1 -1
  660. package/dist/rendering/shadows/CascadeHysteresis.d.ts +67 -0
  661. package/dist/rendering/shadows/CascadeHysteresis.d.ts.map +1 -0
  662. package/dist/rendering/shadows/CascadeHysteresis.js +104 -0
  663. package/dist/rendering/shadows/CascadeHysteresis.js.map +1 -0
  664. package/dist/rendering/shadows/ContactShadows.d.ts +52 -0
  665. package/dist/rendering/shadows/ContactShadows.d.ts.map +1 -1
  666. package/dist/rendering/shadows/ContactShadows.js +122 -0
  667. package/dist/rendering/shadows/ContactShadows.js.map +1 -1
  668. package/dist/rendering/shadows/SpotShadowMaps.d.ts +77 -0
  669. package/dist/rendering/shadows/SpotShadowMaps.d.ts.map +1 -0
  670. package/dist/rendering/shadows/SpotShadowMaps.js +106 -0
  671. package/dist/rendering/shadows/SpotShadowMaps.js.map +1 -0
  672. package/dist/rendering/webgpu/WebGPUPostProcess.d.ts +2 -0
  673. package/dist/rendering/webgpu/WebGPUPostProcess.d.ts.map +1 -1
  674. package/dist/rendering/webgpu/WebGPUPostProcess.js +1 -0
  675. package/dist/rendering/webgpu/WebGPUPostProcess.js.map +1 -1
  676. package/dist/rendering/webgpu/WebGPUPostShaders.d.ts +78 -0
  677. package/dist/rendering/webgpu/WebGPUPostShaders.d.ts.map +1 -0
  678. package/dist/rendering/webgpu/WebGPUPostShaders.js +262 -0
  679. package/dist/rendering/webgpu/WebGPUPostShaders.js.map +1 -0
  680. package/dist/scene/Scene.d.ts +8 -1
  681. package/dist/scene/Scene.d.ts.map +1 -1
  682. package/dist/scene/Scene.js +12 -2
  683. package/dist/scene/Scene.js.map +1 -1
  684. package/dist/scripting/VisualGraphContext.d.ts +31 -0
  685. package/dist/scripting/VisualGraphContext.d.ts.map +1 -1
  686. package/dist/scripting/VisualGraphExecutor.d.ts.map +1 -1
  687. package/dist/scripting/VisualGraphExecutor.js +110 -0
  688. package/dist/scripting/VisualGraphExecutor.js.map +1 -1
  689. package/dist/scripting/VisualNodeCatalog.d.ts +1 -1
  690. package/dist/scripting/VisualNodeCatalog.d.ts.map +1 -1
  691. package/dist/scripting/VisualNodeCatalog.js +20 -0
  692. package/dist/scripting/VisualNodeCatalog.js.map +1 -1
  693. package/dist/scripting/VisualScriptingRoot.d.ts +96 -0
  694. package/dist/scripting/VisualScriptingRoot.d.ts.map +1 -0
  695. package/dist/scripting/VisualScriptingRoot.js +150 -0
  696. package/dist/scripting/VisualScriptingRoot.js.map +1 -0
  697. package/dist/scripting/index.d.ts +3 -1
  698. package/dist/scripting/index.d.ts.map +1 -1
  699. package/dist/scripting/index.js +1 -0
  700. package/dist/scripting/index.js.map +1 -1
  701. package/package.json +30 -23
  702. package/templates/cinematic-scene/package.json +1 -1
  703. package/templates/mini-game/package.json +1 -1
  704. package/templates/product-viewer/package.json +1 -1
@@ -0,0 +1,350 @@
1
+ /**
2
+ * Root gameplay-decals builder (PART C4).
3
+ *
4
+ * The projection geometry is package-level and real
5
+ * (`createProjectedDecalGeometry` / `createRaycastProjectedDecalGeometry` in
6
+ * `@aura3d/rendering`): clipped, normal-offset, UV-mapped triangles. This
7
+ * module is the missing public root surface: `decals.project({ texture, size,
8
+ * fade })` shapes those projections into ordinary root scene nodes so a
9
+ * `createAuraApp` route can author bullet holes, scorch marks, and spray tags
10
+ * without deep-importing the renderer.
11
+ *
12
+ * How a root decal survives the frame:
13
+ * - Geometry carries a normal offset (default 0.012 world units) baked into
14
+ * the projected vertices, so the decal surface sits provably off its target.
15
+ * - The material is transparent (opacity < 1), which the root production
16
+ * bridge already maps to blend-on, depthWrite-off, cull-none render state.
17
+ * - The descriptor records the intended polygon offset ({ factor: -2,
18
+ * units: -2 }) alongside the fade envelope. Root has no native
19
+ * polygon-offset/depth-fade sampler yet, so grazing-angle z-fighting is
20
+ * defeated the portable way: the angle fade drives opacity to zero before
21
+ * the view goes edge-on (see `resolveDecalFadeOpacity`), exactly where
22
+ * coplanar flicker would appear.
23
+ *
24
+ * Deferred-decal budget note: root renders decals forward as transparent
25
+ * geometry — one draw call per decal. There is no deferred decal pass at
26
+ * root; `AURA_DECAL_MAX_DECALS` (32) is the authoring budget and
27
+ * `decals.telemetry()` reports the live count against it. Exceeding the
28
+ * budget never drops decals silently: telemetry flags `overBudget` and the
29
+ * route decides (fade far decals, recycle, or accept the cost).
30
+ */
31
+ import { createProjectedDecalGeometry, createRaycastProjectedDecalGeometry } from "../../rendering/index.js";
32
+ import { AuraNodeBuilder } from "./index.js";
33
+ import { defineAuraCustomGeometry } from "./RootGeometry.js";
34
+ /** Root authoring budget: forward-rendered transparent decals, one draw each. */
35
+ export const AURA_DECAL_MAX_DECALS = 32;
36
+ /**
37
+ * Deferred-decal budget note, kept next to the constant so routes quote the
38
+ * same sentence as telemetry. Root has no deferred decal pass; decals are
39
+ * forward transparent geometry until one lands.
40
+ */
41
+ export const AURA_DECAL_BUDGET_NOTE = "Root decals render forward as transparent geometry (one draw call per decal); " +
42
+ `author at most ${AURA_DECAL_MAX_DECALS} live decals per route. A deferred decal pass is roadmap, ` +
43
+ "not a root feature — telemetry flags over-budget scenes instead of dropping decals.";
44
+ const DEFAULT_FADE = { angleStart: 55, angleEnd: 80, near: 0, far: Number.POSITIVE_INFINITY };
45
+ const DEFAULT_POLYGON_OFFSET = { factor: -2, units: -2 };
46
+ const DEFAULT_NORMAL_OFFSET = 0.012;
47
+ const DEFAULT_OPACITY = 0.85;
48
+ let maxObservedDecals = 0;
49
+ function isFiniteVec3(value, label) {
50
+ if (value.length !== 3 || value.some((component) => !Number.isFinite(component))) {
51
+ throw new Error(`Aura3D decal ${label} must be a finite vec3.`);
52
+ }
53
+ }
54
+ function resolveSize(size) {
55
+ const pair = typeof size === "number" ? [size, size] : [...size];
56
+ if (pair.length !== 2 || pair.some((component) => !Number.isFinite(component) || component <= 0)) {
57
+ throw new Error("Aura3D decal size must be a positive number or [width, height] pair.");
58
+ }
59
+ return [pair[0], pair[1]];
60
+ }
61
+ function resolveProjectorSize(size) {
62
+ const triple = typeof size === "number" ? [size, size, 0.18] : size.length === 2 ? [size[0], size[1], 0.18] : [...size];
63
+ if (triple.length !== 3 || triple.some((component) => !Number.isFinite(component) || component <= 0)) {
64
+ throw new Error("Aura3D decal projector size must be positive ([width, height] or [width, height, depth]).");
65
+ }
66
+ return [triple[0], triple[1], triple[2]];
67
+ }
68
+ function resolveOpacity(opacity) {
69
+ const value = opacity ?? DEFAULT_OPACITY;
70
+ if (!Number.isFinite(value) || value <= 0 || value >= 1) {
71
+ throw new Error("Aura3D decal opacity must be in the open interval (0, 1) so the bridge submits transparent depth-safe state.");
72
+ }
73
+ return value;
74
+ }
75
+ function resolveFade(fade) {
76
+ const angleStart = fade?.angleStart ?? DEFAULT_FADE.angleStart;
77
+ const angleEnd = fade?.angleEnd ?? DEFAULT_FADE.angleEnd;
78
+ const near = fade?.near ?? DEFAULT_FADE.near;
79
+ const far = fade?.far ?? DEFAULT_FADE.far;
80
+ if (!Number.isFinite(angleStart) || !Number.isFinite(angleEnd) || angleStart < 0 || angleEnd <= angleStart || angleEnd > 90) {
81
+ throw new Error("Aura3D decal fade requires 0 <= angleStart < angleEnd <= 90 degrees.");
82
+ }
83
+ if (!Number.isFinite(near) || near < 0) {
84
+ throw new Error("Aura3D decal fade near must be finite and non-negative.");
85
+ }
86
+ if (!(far > near)) {
87
+ throw new Error("Aura3D decal fade far must be greater than near.");
88
+ }
89
+ return { angleStart, angleEnd, near, far };
90
+ }
91
+ function resolveNormal(normal) {
92
+ const value = normal ?? [0, 0, 1];
93
+ isFiniteVec3(value, "normal");
94
+ const length = Math.hypot(value[0], value[1], value[2]);
95
+ if (length <= 1e-8)
96
+ throw new Error("Aura3D decal normal must be non-zero.");
97
+ return [value[0] / length, value[1] / length, value[2] / length];
98
+ }
99
+ function resolvePolygonOffset(offset) {
100
+ const value = offset ?? DEFAULT_POLYGON_OFFSET;
101
+ if (!Number.isFinite(value.factor) || !Number.isFinite(value.units)) {
102
+ throw new Error("Aura3D decal polygonOffset factor and units must be finite.");
103
+ }
104
+ return { factor: value.factor, units: value.units };
105
+ }
106
+ function resolveNormalOffset(offset) {
107
+ const value = offset ?? DEFAULT_NORMAL_OFFSET;
108
+ if (!Number.isFinite(value) || value < 0) {
109
+ throw new Error("Aura3D decal normalOffset must be finite and non-negative.");
110
+ }
111
+ return value;
112
+ }
113
+ function decalMaterial(options, opacity) {
114
+ return {
115
+ ...(options.texture ? { texture: options.texture } : {}),
116
+ ...(options.color ? { color: options.color } : { color: "#f5f5f5" }),
117
+ opacity,
118
+ roughness: options.roughness ?? 0.5,
119
+ metallic: options.metallic ?? 0,
120
+ };
121
+ }
122
+ /**
123
+ * Author a free-floating root decal quad. Transparent, depth-write-off by
124
+ * bridge convention (opacity < 1), normal-offset intent recorded on the
125
+ * descriptor for the projected path.
126
+ */
127
+ export function projectDecal(options) {
128
+ const size = resolveSize(options.size);
129
+ const baseOpacity = resolveOpacity(options.opacity);
130
+ const fade = resolveFade(options.fade);
131
+ const normal = resolveNormal(options.normal);
132
+ const polygonOffset = resolvePolygonOffset(options.polygonOffset);
133
+ const normalOffset = resolveNormalOffset(options.normalOffset);
134
+ if (options.position)
135
+ isFiniteVec3(options.position, "position");
136
+ if (options.rotation)
137
+ isFiniteVec3(options.rotation, "rotation");
138
+ const textureUrl = options.texture?.url;
139
+ // The root plane primitive spans XZ ±0.5 facing +Y, so world size maps to
140
+ // scale directly; the descriptor keeps the authored size for telemetry.
141
+ const builder = new AuraNodeBuilder({
142
+ kind: "primitive",
143
+ primitive: "plane",
144
+ name: options.name ?? "aura decal",
145
+ position: options.position,
146
+ rotation: options.rotation,
147
+ scale: [size[0], 1, size[1]],
148
+ material: decalMaterial(options, baseOpacity),
149
+ castShadow: false,
150
+ receiveShadow: false,
151
+ decal: {
152
+ size,
153
+ baseOpacity,
154
+ fade,
155
+ polygonOffset,
156
+ normalOffset,
157
+ normal,
158
+ ...(textureUrl ? { textureUrl } : {}),
159
+ },
160
+ });
161
+ return builder;
162
+ }
163
+ /**
164
+ * Project a decal onto a source mesh through the real package-level
165
+ * projector and return it as a root `custom` primitive node. The clipped
166
+ * geometry (with baked normal offset + UVs) becomes the node's custom
167
+ * geometry spec; the descriptor matches `projectDecal`.
168
+ */
169
+ export function projectDecalOntoMesh(options) {
170
+ const size = resolveProjectorSize(options.size);
171
+ const baseOpacity = resolveOpacity(options.opacity);
172
+ const fade = resolveFade(options.fade);
173
+ const polygonOffset = resolvePolygonOffset(options.polygonOffset);
174
+ const normalOffset = resolveNormalOffset(options.normalOffset);
175
+ isFiniteVec3(options.ray.origin, "ray origin");
176
+ isFiniteVec3(options.ray.direction, "ray direction");
177
+ if (options.upHint)
178
+ isFiniteVec3(options.upHint, "upHint");
179
+ const raycastOptions = {
180
+ size,
181
+ normalOffset,
182
+ ...(options.maxDistance === undefined ? {} : { maxDistance: options.maxDistance }),
183
+ ...(options.includeBackfaces === undefined ? {} : { includeBackfaces: options.includeBackfaces }),
184
+ ...(options.upHint === undefined ? {} : { upHint: options.upHint }),
185
+ ...(options.shape === undefined ? {} : { shape: options.shape }),
186
+ ...(options.ellipseSegments === undefined ? {} : { ellipseSegments: options.ellipseSegments }),
187
+ };
188
+ const projected = createRaycastProjectedDecalGeometry(options.mesh, options.ray, raycastOptions);
189
+ const vertexCount = projected.geometry.vertexBuffer.vertexCount;
190
+ const positions = [];
191
+ const normals = [];
192
+ for (let index = 0; index < vertexCount; index += 1) {
193
+ const position = projected.geometry.vertexBuffer.getAttribute(index, "position");
194
+ const normal = projected.geometry.vertexBuffer.getAttribute(index, "normal");
195
+ positions.push([position[0], position[1], position[2]]);
196
+ normals.push([normal[0], normal[1], normal[2]]);
197
+ }
198
+ const geometry = defineAuraCustomGeometry({
199
+ positions,
200
+ normals,
201
+ indices: projected.geometry.indexBuffer ? Array.from(projected.geometry.indexBuffer.data) : [],
202
+ });
203
+ const textureUrl = options.texture?.url;
204
+ return new AuraNodeBuilder({
205
+ kind: "primitive",
206
+ primitive: "custom",
207
+ geometry,
208
+ name: options.name ?? "aura projected decal",
209
+ material: decalMaterial(options, baseOpacity),
210
+ castShadow: false,
211
+ receiveShadow: false,
212
+ decal: {
213
+ size: [size[0], size[1]],
214
+ baseOpacity,
215
+ fade,
216
+ polygonOffset,
217
+ normalOffset,
218
+ normal: [...projected.hit.normal],
219
+ ...(textureUrl ? { textureUrl } : {}),
220
+ },
221
+ });
222
+ }
223
+ /** Box-projected variant for callers that already solved placement (no raycast). */
224
+ export function projectDecalIntoBox(mesh, box, options = {}) {
225
+ const baseOpacity = resolveOpacity(options.opacity);
226
+ const fade = resolveFade(options.fade);
227
+ const polygonOffset = resolvePolygonOffset(options.polygonOffset);
228
+ const normalOffset = resolveNormalOffset(options.normalOffset);
229
+ const projected = createProjectedDecalGeometry(mesh, {
230
+ ...box,
231
+ normalOffset: box.normalOffset ?? normalOffset,
232
+ });
233
+ const vertexCount = projected.geometry.vertexBuffer.vertexCount;
234
+ const positions = [];
235
+ const normals = [];
236
+ for (let index = 0; index < vertexCount; index += 1) {
237
+ const position = projected.geometry.vertexBuffer.getAttribute(index, "position");
238
+ const normal = projected.geometry.vertexBuffer.getAttribute(index, "normal");
239
+ positions.push([position[0], position[1], position[2]]);
240
+ normals.push([normal[0], normal[1], normal[2]]);
241
+ }
242
+ const geometry = defineAuraCustomGeometry({
243
+ positions,
244
+ normals,
245
+ indices: projected.geometry.indexBuffer ? Array.from(projected.geometry.indexBuffer.data) : [],
246
+ });
247
+ const textureUrl = options.texture?.url;
248
+ return new AuraNodeBuilder({
249
+ kind: "primitive",
250
+ primitive: "custom",
251
+ geometry,
252
+ name: options.name ?? "aura projected decal",
253
+ material: decalMaterial(options, baseOpacity),
254
+ castShadow: false,
255
+ receiveShadow: false,
256
+ decal: {
257
+ size: [box.size[0], box.size[1]],
258
+ baseOpacity,
259
+ fade,
260
+ polygonOffset,
261
+ normalOffset: box.normalOffset ?? normalOffset,
262
+ normal: box.basis ? [...box.basis.normal] : [0, 0, 1],
263
+ ...(textureUrl ? { textureUrl } : {}),
264
+ },
265
+ });
266
+ }
267
+ function smoothstep(edge0, edge1, value) {
268
+ const t = Math.max(0, Math.min(1, (value - edge0) / (edge1 - edge0)));
269
+ return t * t * (3 - 2 * t);
270
+ }
271
+ /**
272
+ * Evaluate the decal fade envelope for one camera sample. Head-on and near
273
+ * is `baseOpacity`; past `angleEnd` incidence or `far` distance is 0. Pure
274
+ * and unit-tested; the browser proof probes this against live pixels.
275
+ */
276
+ export function resolveDecalFadeOpacity(sample) {
277
+ const fade = resolveFade(sample.fade);
278
+ const baseOpacity = sample.baseOpacity ?? DEFAULT_OPACITY;
279
+ if (!Number.isFinite(baseOpacity) || baseOpacity < 0 || baseOpacity > 1) {
280
+ throw new Error("Aura3D decal fade baseOpacity must be in [0, 1].");
281
+ }
282
+ isFiniteVec3(sample.normal, "fade normal");
283
+ isFiniteVec3(sample.cameraPosition, "fade cameraPosition");
284
+ isFiniteVec3(sample.decalPosition, "fade decalPosition");
285
+ const toCamera = [
286
+ sample.cameraPosition[0] - sample.decalPosition[0],
287
+ sample.cameraPosition[1] - sample.decalPosition[1],
288
+ sample.cameraPosition[2] - sample.decalPosition[2],
289
+ ];
290
+ const distance = sample.distance ?? Math.hypot(toCamera[0], toCamera[1], toCamera[2]);
291
+ if (!Number.isFinite(distance) || distance < 0) {
292
+ throw new Error("Aura3D decal fade distance must be finite and non-negative.");
293
+ }
294
+ if (distance <= 1e-8)
295
+ return baseOpacity;
296
+ const normalLength = Math.hypot(sample.normal[0], sample.normal[1], sample.normal[2]);
297
+ if (normalLength <= 1e-8)
298
+ throw new Error("Aura3D decal fade normal must be non-zero.");
299
+ const alignment = Math.max(0, Math.min(1, (sample.normal[0] * toCamera[0] + sample.normal[1] * toCamera[1] + sample.normal[2] * toCamera[2]) /
300
+ (normalLength * distance)));
301
+ const incidenceDegrees = Math.acos(alignment) * (180 / Math.PI);
302
+ const angleOpacity = 1 - smoothstep(fade.angleStart, fade.angleEnd, incidenceDegrees);
303
+ const depthOpacity = fade.far === Number.POSITIVE_INFINITY
304
+ ? 1
305
+ : 1 - smoothstep(fade.near, fade.far, distance);
306
+ return Math.max(0, Math.min(1, baseOpacity * angleOpacity * depthOpacity));
307
+ }
308
+ function isDecalNode(node) {
309
+ return node.kind === "primitive" && "decal" in node && typeof node.decal === "object";
310
+ }
311
+ /**
312
+ * Max-decal telemetry over a flattened scene (or any node list). Counts
313
+ * decal nodes, compares against `AURA_DECAL_MAX_DECALS`, and records the
314
+ * session max. Never throws on foreign nodes.
315
+ */
316
+ export function collectDecalBudgetTelemetry(nodes, maxDecals = AURA_DECAL_MAX_DECALS) {
317
+ if (!Number.isInteger(maxDecals) || maxDecals <= 0) {
318
+ throw new Error("Aura3D decal telemetry maxDecals must be a positive integer.");
319
+ }
320
+ const decals = nodes.filter(isDecalNode);
321
+ const decalCount = decals.length;
322
+ maxObservedDecals = Math.max(maxObservedDecals, decalCount);
323
+ return {
324
+ kind: "aura-decal-budget",
325
+ decalCount,
326
+ maxDecals,
327
+ overBudget: decalCount > maxDecals,
328
+ estimatedDrawCalls: decalCount,
329
+ note: AURA_DECAL_BUDGET_NOTE,
330
+ allPolygonOffset: decals.every((node) => Number.isFinite(node.decal.polygonOffset.factor) && Number.isFinite(node.decal.polygonOffset.units)),
331
+ angleFadeDecals: decals.filter((node) => node.decal.fade.angleEnd < 90).length,
332
+ depthFadeDecals: decals.filter((node) => node.decal.fade.far < Number.POSITIVE_INFINITY).length,
333
+ maxObservedDecals,
334
+ };
335
+ }
336
+ /** Reset the session max-observed counter (tests only). */
337
+ export function resetDecalTelemetry() {
338
+ maxObservedDecals = 0;
339
+ }
340
+ export const decals = {
341
+ project: projectDecal,
342
+ projectOntoMesh: projectDecalOntoMesh,
343
+ projectIntoBox: projectDecalIntoBox,
344
+ resolveFadeOpacity: resolveDecalFadeOpacity,
345
+ telemetry: collectDecalBudgetTelemetry,
346
+ resetTelemetry: resetDecalTelemetry,
347
+ maxDecals: AURA_DECAL_MAX_DECALS,
348
+ budgetNote: AURA_DECAL_BUDGET_NOTE,
349
+ };
350
+ //# sourceMappingURL=Decals.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Decals.js","sourceRoot":"","sources":["../../../../../packages/engine/src/agent-api/Decals.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,75 @@
1
+ import { type GroundRaycaster } from "../../animation/index.js";
2
+ /**
3
+ * Root foot-planting bridge (muse3jsparity-PRD E2 box 2).
4
+ *
5
+ * `@aura3d/animation` is a regular engine dependency (unlike the optional Recast peer),
6
+ * so the ground builders below are plain re-exporting wrappers. The planting post-pass
7
+ * itself lives in `GLTFSceneAnimationRuntime.setFootPlanting`; this module shapes the
8
+ * root-facing options, and the animation-controller binding carries the resolved config
9
+ * (in-memory; ground functions never serialize) to the typed GLB actor.
10
+ *
11
+ * Units: the runtime skeleton lives in import units (glTF centimeters are common) while
12
+ * `ground` speaks world meters. At apply time the engine attaches the actor's live model
13
+ * matrix as the post-pass `worldFromLocal`, so the solve happens in the same world space
14
+ * the renderer draws — normalized model nodes included. Refreshing the matrix never
15
+ * resets foot locks; only a new leg set, ground, or solve parameter does.
16
+ */
17
+ export type AuraFootSide = "left" | "right";
18
+ export type AuraFootVec3 = readonly [number, number, number];
19
+ export interface AuraFootPlantingLegOptions {
20
+ readonly side: AuraFootSide;
21
+ /** glTF node names of the hip (root), knee (mid), and ankle (end) of the leg chain. */
22
+ readonly hip: string;
23
+ readonly knee: string;
24
+ readonly ankle: string;
25
+ readonly pole?: AuraFootVec3;
26
+ }
27
+ export interface AuraHeightfieldSpec {
28
+ readonly heightAt: (x: number, z: number) => {
29
+ height: number;
30
+ normal?: AuraFootVec3;
31
+ };
32
+ }
33
+ export interface AuraMovingPlatformSpec {
34
+ readonly base: AuraFootPlantingGroundLike | AuraHeightfieldSpec;
35
+ readonly platformHeightAt: (x: number, z: number) => number | undefined;
36
+ }
37
+ /** Structural ground surface: the real `GroundRaycaster` satisfies this. */
38
+ export interface AuraFootPlantingGroundLike {
39
+ raycastDown(origin: AuraFootVec3, maxDistance: number): {
40
+ point: AuraFootVec3;
41
+ normal: AuraFootVec3;
42
+ distance: number;
43
+ } | undefined;
44
+ }
45
+ export type AuraFootPlantingGround = AuraHeightfieldSpec | AuraMovingPlatformSpec | AuraFootPlantingGroundLike;
46
+ export interface AuraFootPlantingOptions {
47
+ readonly legs: readonly AuraFootPlantingLegOptions[];
48
+ readonly ground: AuraFootPlantingGround;
49
+ readonly ankleHeight?: number;
50
+ readonly rayStartHeight?: number;
51
+ readonly maxRayDistance?: number;
52
+ readonly plantThreshold?: number;
53
+ readonly hipDropFactor?: number;
54
+ }
55
+ export interface AuraResolvedFootPlanting {
56
+ readonly legs: readonly AuraFootPlantingLegOptions[];
57
+ readonly ground: GroundRaycaster;
58
+ readonly ankleHeight?: number | undefined;
59
+ readonly rayStartHeight?: number | undefined;
60
+ readonly maxRayDistance?: number | undefined;
61
+ readonly plantThreshold?: number | undefined;
62
+ readonly hipDropFactor?: number | undefined;
63
+ }
64
+ /**
65
+ * Resolves root foot-planting options into the runtime config. Heightfield and
66
+ * moving-platform specs become live raycasters here; an already-built raycaster
67
+ * (structural `raycastDown`) passes through untouched.
68
+ */
69
+ export declare function resolveFootPlanting(options: AuraFootPlantingOptions): AuraResolvedFootPlanting;
70
+ export declare const footPlanting: {
71
+ readonly heightfieldGround: (heightAt: AuraHeightfieldSpec["heightAt"]) => GroundRaycaster;
72
+ readonly movingPlatformGround: (base: AuraFootPlantingGroundLike | AuraHeightfieldSpec, platformHeightAt: (x: number, z: number) => number | undefined) => GroundRaycaster;
73
+ readonly resolve: typeof resolveFootPlanting;
74
+ };
75
+ //# sourceMappingURL=FootPlanting.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FootPlanting.d.ts","sourceRoot":"","sources":["../../../../../packages/engine/src/agent-api/FootPlanting.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,eAAe,EACrB,MAAM,mBAAmB,CAAC;AAE3B;;;;;;;;;;;;;;GAcG;AAEH,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,OAAO,CAAC;AAC5C,MAAM,MAAM,YAAY,GAAG,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAE7D,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B,uFAAuF;IACvF,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,CAAC,EAAE,YAAY,CAAC;CAC9B;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,YAAY,CAAA;KAAE,CAAC;CACxF;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,IAAI,EAAE,0BAA0B,GAAG,mBAAmB,CAAC;IAChE,QAAQ,CAAC,gBAAgB,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;CACzE;AAED,4EAA4E;AAC5E,MAAM,WAAW,0BAA0B;IACzC,WAAW,CACT,MAAM,EAAE,YAAY,EACpB,WAAW,EAAE,MAAM,GAClB;QAAE,KAAK,EAAE,YAAY,CAAC;QAAC,MAAM,EAAE,YAAY,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAC;CAChF;AAED,MAAM,MAAM,sBAAsB,GAAG,mBAAmB,GAAG,sBAAsB,GAAG,0BAA0B,CAAC;AAE/G,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,IAAI,EAAE,SAAS,0BAA0B,EAAE,CAAC;IACrD,QAAQ,CAAC,MAAM,EAAE,sBAAsB,CAAC;IACxC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;CACjC;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,IAAI,EAAE,SAAS,0BAA0B,EAAE,CAAC;IACrD,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;IACjC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1C,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7C,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7C,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7C,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC7C;AAWD;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,uBAAuB,GAAG,wBAAwB,CAwB9F;AAYD,eAAO,MAAM,YAAY;2CACK,mBAAmB,CAAC,UAAU,CAAC,KAAG,eAAe;0CAIrE,0BAA0B,GAAG,mBAAmB,oBACpC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,KAC7D,eAAe;;CAIV,CAAC"}
@@ -0,0 +1,60 @@
1
+ import { createHeightFieldGround, createMovingPlatformGround } from "../../animation/index.js";
2
+ function isMovingPlatformSpec(ground) {
3
+ const candidate = ground;
4
+ return typeof candidate.platformHeightAt === "function" && typeof candidate.base === "object";
5
+ }
6
+ function isRaycaster(ground) {
7
+ return typeof ground.raycastDown === "function";
8
+ }
9
+ /**
10
+ * Resolves root foot-planting options into the runtime config. Heightfield and
11
+ * moving-platform specs become live raycasters here; an already-built raycaster
12
+ * (structural `raycastDown`) passes through untouched.
13
+ */
14
+ export function resolveFootPlanting(options) {
15
+ if (options.legs.length === 0) {
16
+ throw new Error("footPlanting requires at least one leg.");
17
+ }
18
+ const ground = options.ground;
19
+ let raycaster;
20
+ if (isMovingPlatformSpec(ground)) {
21
+ raycaster = createMovingPlatformGround(toRaycaster(ground.base), ground.platformHeightAt);
22
+ }
23
+ else if (isRaycaster(ground)) {
24
+ raycaster = ground;
25
+ }
26
+ else if (typeof ground.heightAt === "function") {
27
+ raycaster = createHeightFieldGround(ground.heightAt);
28
+ }
29
+ else {
30
+ throw new Error("footPlanting.ground must be a heightfield spec, a moving-platform spec, or a raycaster.");
31
+ }
32
+ return {
33
+ legs: options.legs.map((leg) => ({ ...leg })),
34
+ ground: raycaster,
35
+ ...(options.ankleHeight !== undefined ? { ankleHeight: options.ankleHeight } : {}),
36
+ ...(options.rayStartHeight !== undefined ? { rayStartHeight: options.rayStartHeight } : {}),
37
+ ...(options.maxRayDistance !== undefined ? { maxRayDistance: options.maxRayDistance } : {}),
38
+ ...(options.plantThreshold !== undefined ? { plantThreshold: options.plantThreshold } : {}),
39
+ ...(options.hipDropFactor !== undefined ? { hipDropFactor: options.hipDropFactor } : {})
40
+ };
41
+ }
42
+ function toRaycaster(ground) {
43
+ if (isRaycaster(ground)) {
44
+ return ground;
45
+ }
46
+ if (typeof ground.heightAt === "function") {
47
+ return createHeightFieldGround(ground.heightAt);
48
+ }
49
+ throw new Error("footPlanting platform base must be a heightfield spec or a raycaster.");
50
+ }
51
+ export const footPlanting = {
52
+ heightfieldGround(heightAt) {
53
+ return createHeightFieldGround(heightAt);
54
+ },
55
+ movingPlatformGround(base, platformHeightAt) {
56
+ return createMovingPlatformGround(toRaycaster(base), platformHeightAt);
57
+ },
58
+ resolve: resolveFootPlanting
59
+ };
60
+ //# sourceMappingURL=FootPlanting.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FootPlanting.js","sourceRoot":"","sources":["../../../../../packages/engine/src/agent-api/FootPlanting.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import type { AuraAppFrameCallback, AuraAppHandle, AuraAppScreenshot } from "./A
2
2
  import type { GameInputController, GameInputOptions } from "./GameRuntime.js";
3
3
  import type { GameRuntimeEvidence, GameRuntimeEvidenceOptions } from "./GameEvidence.js";
4
4
  import { type FrameLoopOptions, type FrameLoopSnapshot } from "./FrameLoop.js";
5
+ import { type GamePerFramePerfTelemetry, type GamePerformanceGovernorMode, type GamePerformanceGovernorSettings, type SideViewGamePerformanceBudget } from "../production-runtime/GameRenderPreset.js";
5
6
  export type GameAppRuntimeStatus = "idle" | "running" | "paused" | "disposed";
6
7
  export interface GameAppRuntimeLoopOptions extends Omit<FrameLoopOptions, "autoStart"> {
7
8
  }
@@ -31,12 +32,28 @@ export interface GameAppRuntimeEvidence {
31
32
  readonly lastResize?: GameAppRuntimeResize;
32
33
  readonly loop: FrameLoopSnapshot;
33
34
  readonly app: GameRuntimeEvidence;
35
+ readonly perf?: GameAppRuntimePerformanceSnapshot;
36
+ }
37
+ export interface GameAppRuntimePerformanceSnapshot {
38
+ readonly mode: GamePerformanceGovernorMode;
39
+ readonly telemetry: GamePerFramePerfTelemetry;
40
+ readonly settings: GamePerformanceGovernorSettings;
41
+ readonly degraded: readonly string[];
42
+ readonly polls: number;
43
+ }
44
+ export interface GameAppRuntimePerformanceBudgetOptions {
45
+ readonly mode: GamePerformanceGovernorMode;
46
+ readonly budget: SideViewGamePerformanceBudget;
47
+ readonly sample?: () => GamePerFramePerfTelemetry;
48
+ readonly apply?: (settings: GamePerformanceGovernorSettings) => void;
49
+ readonly initial?: GamePerformanceGovernorSettings;
34
50
  }
35
51
  export interface GameAppRuntimeOptions {
36
52
  readonly autoStart?: boolean;
37
53
  readonly loop?: GameAppRuntimeLoopOptions;
38
54
  readonly input?: GameInputOptions | readonly GameInputOptions[];
39
55
  readonly evidence?: GameRuntimeEvidenceOptions;
56
+ readonly performanceBudget?: GameAppRuntimePerformanceBudgetOptions;
40
57
  }
41
58
  export interface GameAppRuntime<TApp extends AuraAppHandle = AuraAppHandle> {
42
59
  readonly kind: "aura-game-app-runtime";
@@ -47,10 +64,12 @@ export interface GameAppRuntime<TApp extends AuraAppHandle = AuraAppHandle> {
47
64
  readonly paused: boolean;
48
65
  readonly disposed: boolean;
49
66
  readonly evidence: GameAppRuntimeEvidence;
67
+ readonly perf: GameAppRuntimePerformanceSnapshot | undefined;
50
68
  start(): GameAppRuntimeEvidence;
51
69
  pause(): GameAppRuntimeEvidence;
52
70
  resume(): GameAppRuntimeEvidence;
53
71
  step(dt?: number): GameAppRuntimeEvidence;
72
+ pollPerformance(telemetry?: GamePerFramePerfTelemetry): GameAppRuntimePerformanceSnapshot | undefined;
54
73
  resize(width: number, height: number, pixelRatio?: number): GameAppRuntimeEvidence;
55
74
  onFrame(callback: AuraAppFrameCallback): () => void;
56
75
  offFrame(callback: AuraAppFrameCallback): void;
@@ -1 +1 @@
1
- {"version":3,"file":"GameAppRuntime.d.ts","sourceRoot":"","sources":["../../../../../packages/engine/src/agent-api/GameAppRuntime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GameAppRuntime.d.ts","sourceRoot":"","sources":["../../../../../packages/engine/src/agent-api/GameAppRuntime.ts"],"names":[],"mappings":"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"}