@aura3d/engine 2.0.4 → 3.0.1

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 (824) hide show
  1. package/README.md +45 -11
  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 +7 -1
  10. package/dist/animation/AnimationMixer.d.ts.map +1 -1
  11. package/dist/animation/AnimationMixer.js +105 -34
  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 +19 -0
  17. package/dist/animation/FootIk.d.ts.map +1 -1
  18. package/dist/animation/FootIk.js +113 -7
  19. package/dist/animation/FootIk.js.map +1 -1
  20. package/dist/animation/HumanoidRetargeting.d.ts +35 -2
  21. package/dist/animation/HumanoidRetargeting.d.ts.map +1 -1
  22. package/dist/animation/HumanoidRetargeting.js +59 -9
  23. package/dist/animation/HumanoidRetargeting.js.map +1 -1
  24. package/dist/animation/LocomotionEvidence.d.ts +34 -0
  25. package/dist/animation/LocomotionEvidence.d.ts.map +1 -0
  26. package/dist/animation/LocomotionEvidence.js +48 -0
  27. package/dist/animation/LocomotionEvidence.js.map +1 -0
  28. package/dist/animation/LocomotionKit.d.ts +6 -0
  29. package/dist/animation/LocomotionKit.d.ts.map +1 -1
  30. package/dist/animation/LocomotionKit.js +6 -0
  31. package/dist/animation/LocomotionKit.js.map +1 -1
  32. package/dist/animation/RootMotion.d.ts +36 -0
  33. package/dist/animation/RootMotion.d.ts.map +1 -1
  34. package/dist/animation/RootMotion.js +58 -0
  35. package/dist/animation/RootMotion.js.map +1 -1
  36. package/dist/animation/SpringBones.d.ts +28 -0
  37. package/dist/animation/SpringBones.d.ts.map +1 -1
  38. package/dist/animation/SpringBones.js +24 -0
  39. package/dist/animation/SpringBones.js.map +1 -1
  40. package/dist/animation/index.d.ts +1 -0
  41. package/dist/animation/index.d.ts.map +1 -1
  42. package/dist/animation/index.js +1 -0
  43. package/dist/animation/index.js.map +1 -1
  44. package/dist/assets/GLTFAnimationRuntime.d.ts +175 -2
  45. package/dist/assets/GLTFAnimationRuntime.d.ts.map +1 -1
  46. package/dist/assets/GLTFAnimationRuntime.js +615 -5
  47. package/dist/assets/GLTFAnimationRuntime.js.map +1 -1
  48. package/dist/assets/GLTFCompressionDecoders.d.ts +1 -0
  49. package/dist/assets/GLTFCompressionDecoders.d.ts.map +1 -1
  50. package/dist/assets/GLTFCompressionDecoders.js +20 -5
  51. package/dist/assets/GLTFCompressionDecoders.js.map +1 -1
  52. package/dist/assets/GLTFExtensionSupport.js +2 -2
  53. package/dist/assets/GLTFExtensionSupport.js.map +1 -1
  54. package/dist/assets/GLTFLoader.d.ts +360 -1
  55. package/dist/assets/GLTFLoader.d.ts.map +1 -1
  56. package/dist/assets/GLTFLoader.js +218 -8
  57. package/dist/assets/GLTFLoader.js.map +1 -1
  58. package/dist/assets/KTX2BasisTextureTranscoder.d.ts +39 -0
  59. package/dist/assets/KTX2BasisTextureTranscoder.d.ts.map +1 -1
  60. package/dist/assets/KTX2BasisTextureTranscoder.js +78 -0
  61. package/dist/assets/KTX2BasisTextureTranscoder.js.map +1 -1
  62. package/dist/assets/TexturePipeline.d.ts +20 -0
  63. package/dist/assets/TexturePipeline.d.ts.map +1 -1
  64. package/dist/assets/TexturePipeline.js +20 -0
  65. package/dist/assets/TexturePipeline.js.map +1 -1
  66. package/dist/assets/TextureStreaming.d.ts +30 -0
  67. package/dist/assets/TextureStreaming.d.ts.map +1 -1
  68. package/dist/assets/TextureStreaming.js +53 -0
  69. package/dist/assets/TextureStreaming.js.map +1 -1
  70. package/dist/assets/browser-index.d.ts +7 -3
  71. package/dist/assets/browser-index.d.ts.map +1 -1
  72. package/dist/assets/browser-index.js +3 -1
  73. package/dist/assets/browser-index.js.map +1 -1
  74. package/dist/assets/gltf-runtime.d.ts +1 -1
  75. package/dist/assets/gltf-runtime.d.ts.map +1 -1
  76. package/dist/assets/gltf-runtime.js.map +1 -1
  77. package/dist/assets/index.d.ts +7 -7
  78. package/dist/assets/index.d.ts.map +1 -1
  79. package/dist/assets/index.js +3 -3
  80. package/dist/assets/index.js.map +1 -1
  81. package/dist/assets/loaders/HDRLoader.d.ts +40 -0
  82. package/dist/assets/loaders/HDRLoader.d.ts.map +1 -1
  83. package/dist/assets/loaders/HDRLoader.js +158 -0
  84. package/dist/assets/loaders/HDRLoader.js.map +1 -1
  85. package/dist/audio/AudioSource.d.ts +2 -0
  86. package/dist/audio/AudioSource.d.ts.map +1 -1
  87. package/dist/audio/AudioSource.js +7 -0
  88. package/dist/audio/AudioSource.js.map +1 -1
  89. package/dist/audio/Footsteps.d.ts +47 -0
  90. package/dist/audio/Footsteps.d.ts.map +1 -0
  91. package/dist/audio/Footsteps.js +73 -0
  92. package/dist/audio/Footsteps.js.map +1 -0
  93. package/dist/audio/GameMixer.d.ts +69 -0
  94. package/dist/audio/GameMixer.d.ts.map +1 -0
  95. package/dist/audio/GameMixer.js +141 -0
  96. package/dist/audio/GameMixer.js.map +1 -0
  97. package/dist/audio/PositionalEmitter.d.ts +95 -0
  98. package/dist/audio/PositionalEmitter.d.ts.map +1 -0
  99. package/dist/audio/PositionalEmitter.js +199 -0
  100. package/dist/audio/PositionalEmitter.js.map +1 -0
  101. package/dist/audio/index.d.ts +6 -0
  102. package/dist/audio/index.d.ts.map +1 -1
  103. package/dist/audio/index.js +3 -0
  104. package/dist/audio/index.js.map +1 -1
  105. package/dist/aura3d-cli/pull-bridge/profiles.d.ts +12 -2
  106. package/dist/aura3d-cli/pull-bridge/profiles.d.ts.map +1 -1
  107. package/dist/aura3d-cli/pull-bridge/profiles.js +35 -4
  108. package/dist/aura3d-cli/pull-bridge/profiles.js.map +1 -1
  109. package/dist/aura3d-cli/pull-bridge/provenance.d.ts +15 -1
  110. package/dist/aura3d-cli/pull-bridge/provenance.d.ts.map +1 -1
  111. package/dist/aura3d-cli/pull-bridge/provenance.js +60 -1
  112. package/dist/aura3d-cli/pull-bridge/provenance.js.map +1 -1
  113. package/dist/aura3d-cli/pull-bridge/scoring.d.ts +10 -1
  114. package/dist/aura3d-cli/pull-bridge/scoring.d.ts.map +1 -1
  115. package/dist/aura3d-cli/pull-bridge/scoring.js +9 -1
  116. package/dist/aura3d-cli/pull-bridge/scoring.js.map +1 -1
  117. package/dist/aura3d-cli/pull-bridge/search.js +2 -2
  118. package/dist/aura3d-cli/pull-bridge/search.js.map +1 -1
  119. package/dist/aura3d-cli/pull-bridge.d.ts +15 -3
  120. package/dist/aura3d-cli/pull-bridge.d.ts.map +1 -1
  121. package/dist/aura3d-cli/pull-bridge.js +68 -5
  122. package/dist/aura3d-cli/pull-bridge.js.map +1 -1
  123. package/dist/controls/ArcballControls.d.ts +92 -0
  124. package/dist/controls/ArcballControls.d.ts.map +1 -0
  125. package/dist/controls/ArcballControls.js +286 -0
  126. package/dist/controls/ArcballControls.js.map +1 -0
  127. package/dist/controls/DragControls.d.ts +13 -0
  128. package/dist/controls/DragControls.d.ts.map +1 -1
  129. package/dist/controls/DragControls.js +24 -1
  130. package/dist/controls/DragControls.js.map +1 -1
  131. package/dist/controls/FlyControls.d.ts +9 -0
  132. package/dist/controls/FlyControls.d.ts.map +1 -1
  133. package/dist/controls/FlyControls.js +20 -2
  134. package/dist/controls/FlyControls.js.map +1 -1
  135. package/dist/controls/FocusFrame.d.ts +34 -0
  136. package/dist/controls/FocusFrame.d.ts.map +1 -0
  137. package/dist/controls/FocusFrame.js +82 -0
  138. package/dist/controls/FocusFrame.js.map +1 -0
  139. package/dist/controls/HoverOutline.d.ts +46 -0
  140. package/dist/controls/HoverOutline.d.ts.map +1 -0
  141. package/dist/controls/HoverOutline.js +87 -0
  142. package/dist/controls/HoverOutline.js.map +1 -0
  143. package/dist/controls/InteractionControls.d.ts +7 -0
  144. package/dist/controls/InteractionControls.d.ts.map +1 -1
  145. package/dist/controls/InteractionControls.js +12 -1
  146. package/dist/controls/InteractionControls.js.map +1 -1
  147. package/dist/controls/MapControls.d.ts +1 -1
  148. package/dist/controls/MapControls.d.ts.map +1 -1
  149. package/dist/controls/MapControls.js +3 -3
  150. package/dist/controls/MapControls.js.map +1 -1
  151. package/dist/controls/NativeControlTypes.d.ts +17 -0
  152. package/dist/controls/NativeControlTypes.d.ts.map +1 -1
  153. package/dist/controls/NativeControlTypes.js.map +1 -1
  154. package/dist/controls/OrbitControls.d.ts +26 -3
  155. package/dist/controls/OrbitControls.d.ts.map +1 -1
  156. package/dist/controls/OrbitControls.js +48 -11
  157. package/dist/controls/OrbitControls.js.map +1 -1
  158. package/dist/controls/Picking.d.ts +15 -0
  159. package/dist/controls/Picking.d.ts.map +1 -1
  160. package/dist/controls/Picking.js +62 -23
  161. package/dist/controls/Picking.js.map +1 -1
  162. package/dist/controls/PointerLockControls.d.ts.map +1 -1
  163. package/dist/controls/PointerLockControls.js +4 -0
  164. package/dist/controls/PointerLockControls.js.map +1 -1
  165. package/dist/controls/SelectionManager.d.ts +8 -0
  166. package/dist/controls/SelectionManager.d.ts.map +1 -1
  167. package/dist/controls/SelectionManager.js +11 -0
  168. package/dist/controls/SelectionManager.js.map +1 -1
  169. package/dist/controls/TrackballControls.d.ts +7 -0
  170. package/dist/controls/TrackballControls.d.ts.map +1 -1
  171. package/dist/controls/TrackballControls.js +21 -5
  172. package/dist/controls/TrackballControls.js.map +1 -1
  173. package/dist/controls/TransformControls.d.ts +8 -0
  174. package/dist/controls/TransformControls.d.ts.map +1 -1
  175. package/dist/controls/TransformControls.js +15 -2
  176. package/dist/controls/TransformControls.js.map +1 -1
  177. package/dist/controls/index.d.ts +6 -0
  178. package/dist/controls/index.d.ts.map +1 -1
  179. package/dist/controls/index.js +3 -0
  180. package/dist/controls/index.js.map +1 -1
  181. package/dist/create-aura3d/index.js +1 -1
  182. package/dist/editor-runtime/RootEditorSurface.d.ts +65 -0
  183. package/dist/editor-runtime/RootEditorSurface.d.ts.map +1 -0
  184. package/dist/editor-runtime/RootEditorSurface.js +62 -0
  185. package/dist/editor-runtime/RootEditorSurface.js.map +1 -0
  186. package/dist/editor-runtime/index.d.ts +2 -0
  187. package/dist/editor-runtime/index.d.ts.map +1 -1
  188. package/dist/editor-runtime/index.js +1 -0
  189. package/dist/editor-runtime/index.js.map +1 -1
  190. package/dist/engine/agent-api/AnimationController.d.ts +14 -2
  191. package/dist/engine/agent-api/AnimationController.d.ts.map +1 -1
  192. package/dist/engine/agent-api/AnimationController.js +10 -1
  193. package/dist/engine/agent-api/AnimationController.js.map +1 -1
  194. package/dist/engine/agent-api/AnimationDebugOverlay.d.ts +56 -0
  195. package/dist/engine/agent-api/AnimationDebugOverlay.d.ts.map +1 -0
  196. package/dist/engine/agent-api/AnimationDebugOverlay.js +148 -0
  197. package/dist/engine/agent-api/AnimationDebugOverlay.js.map +1 -0
  198. package/dist/engine/agent-api/AnimationMixerBuilders.d.ts +41 -0
  199. package/dist/engine/agent-api/AnimationMixerBuilders.d.ts.map +1 -0
  200. package/dist/engine/agent-api/AnimationMixerBuilders.js +146 -0
  201. package/dist/engine/agent-api/AnimationMixerBuilders.js.map +1 -0
  202. package/dist/engine/agent-api/AssetDecoders.d.ts +17 -0
  203. package/dist/engine/agent-api/AssetDecoders.d.ts.map +1 -0
  204. package/dist/engine/agent-api/AssetDecoders.js +18 -0
  205. package/dist/engine/agent-api/AssetDecoders.js.map +1 -0
  206. package/dist/engine/agent-api/CameraProjection.d.ts +2 -0
  207. package/dist/engine/agent-api/CameraProjection.d.ts.map +1 -0
  208. package/dist/engine/agent-api/CameraProjection.js +2 -0
  209. package/dist/engine/agent-api/CameraProjection.js.map +1 -0
  210. package/dist/engine/agent-api/Decals.d.ts +174 -0
  211. package/dist/engine/agent-api/Decals.d.ts.map +1 -0
  212. package/dist/engine/agent-api/Decals.js +350 -0
  213. package/dist/engine/agent-api/Decals.js.map +1 -0
  214. package/dist/engine/agent-api/DeferredFrameResources.d.ts +2 -0
  215. package/dist/engine/agent-api/DeferredFrameResources.d.ts.map +1 -0
  216. package/dist/engine/agent-api/DeferredFrameResources.js +2 -0
  217. package/dist/engine/agent-api/DeferredFrameResources.js.map +1 -0
  218. package/dist/engine/agent-api/FootPlanting.d.ts +81 -0
  219. package/dist/engine/agent-api/FootPlanting.d.ts.map +1 -0
  220. package/dist/engine/agent-api/FootPlanting.js +61 -0
  221. package/dist/engine/agent-api/FootPlanting.js.map +1 -0
  222. package/dist/engine/agent-api/GameAppRuntime.d.ts +19 -0
  223. package/dist/engine/agent-api/GameAppRuntime.d.ts.map +1 -1
  224. package/dist/engine/agent-api/GameAppRuntime.js +37 -1
  225. package/dist/engine/agent-api/GameAppRuntime.js.map +1 -1
  226. package/dist/engine/agent-api/GameCameraRigs.d.ts +185 -0
  227. package/dist/engine/agent-api/GameCameraRigs.d.ts.map +1 -0
  228. package/dist/engine/agent-api/GameCameraRigs.js +419 -0
  229. package/dist/engine/agent-api/GameCameraRigs.js.map +1 -0
  230. package/dist/engine/agent-api/GameFeel.d.ts +100 -0
  231. package/dist/engine/agent-api/GameFeel.d.ts.map +1 -0
  232. package/dist/engine/agent-api/GameFeel.js +226 -0
  233. package/dist/engine/agent-api/GameFeel.js.map +1 -0
  234. package/dist/engine/agent-api/LabelTelemetry.d.ts +114 -0
  235. package/dist/engine/agent-api/LabelTelemetry.d.ts.map +1 -0
  236. package/dist/engine/agent-api/LabelTelemetry.js +130 -0
  237. package/dist/engine/agent-api/LabelTelemetry.js.map +1 -0
  238. package/dist/engine/agent-api/ModelInstanceMatrices.d.ts +2 -0
  239. package/dist/engine/agent-api/ModelInstanceMatrices.d.ts.map +1 -0
  240. package/dist/engine/agent-api/ModelInstanceMatrices.js +2 -0
  241. package/dist/engine/agent-api/ModelInstanceMatrices.js.map +1 -0
  242. package/dist/engine/agent-api/NavigationCrowds.d.ts +174 -0
  243. package/dist/engine/agent-api/NavigationCrowds.d.ts.map +1 -0
  244. package/dist/engine/agent-api/NavigationCrowds.js +176 -0
  245. package/dist/engine/agent-api/NavigationCrowds.js.map +1 -0
  246. package/dist/engine/agent-api/PhysicsRuntime.d.ts +61 -5
  247. package/dist/engine/agent-api/PhysicsRuntime.d.ts.map +1 -1
  248. package/dist/engine/agent-api/PhysicsRuntime.js +53 -21
  249. package/dist/engine/agent-api/PhysicsRuntime.js.map +1 -1
  250. package/dist/engine/agent-api/PngTexturePixels.d.ts +9 -0
  251. package/dist/engine/agent-api/PngTexturePixels.d.ts.map +1 -0
  252. package/dist/engine/agent-api/PngTexturePixels.js +53 -0
  253. package/dist/engine/agent-api/PngTexturePixels.js.map +1 -0
  254. package/dist/engine/agent-api/RootDiagnosticSnapshot.d.ts +2 -0
  255. package/dist/engine/agent-api/RootDiagnosticSnapshot.d.ts.map +1 -0
  256. package/dist/engine/agent-api/RootDiagnosticSnapshot.js +2 -0
  257. package/dist/engine/agent-api/RootDiagnosticSnapshot.js.map +1 -0
  258. package/dist/engine/agent-api/RootFrameClock.d.ts +2 -0
  259. package/dist/engine/agent-api/RootFrameClock.d.ts.map +1 -0
  260. package/dist/engine/agent-api/RootFrameClock.js +2 -0
  261. package/dist/engine/agent-api/RootFrameClock.js.map +1 -0
  262. package/dist/engine/agent-api/RootGeometry.d.ts +16 -1
  263. package/dist/engine/agent-api/RootGeometry.d.ts.map +1 -1
  264. package/dist/engine/agent-api/RootGeometry.js.map +1 -1
  265. package/dist/engine/agent-api/RootPerformanceQuality.d.ts +2 -0
  266. package/dist/engine/agent-api/RootPerformanceQuality.d.ts.map +1 -0
  267. package/dist/engine/agent-api/RootPerformanceQuality.js +2 -0
  268. package/dist/engine/agent-api/RootPerformanceQuality.js.map +1 -0
  269. package/dist/engine/agent-api/RootRuntimeSupport.d.ts +61 -0
  270. package/dist/engine/agent-api/RootRuntimeSupport.d.ts.map +1 -0
  271. package/dist/engine/agent-api/RootRuntimeSupport.js +127 -0
  272. package/dist/engine/agent-api/RootRuntimeSupport.js.map +1 -0
  273. package/dist/engine/agent-api/RuntimeNodeHandle.d.ts +28 -0
  274. package/dist/engine/agent-api/RuntimeNodeHandle.d.ts.map +1 -1
  275. package/dist/engine/agent-api/RuntimeNodeHandle.js.map +1 -1
  276. package/dist/engine/agent-api/Scatter.d.ts +18 -0
  277. package/dist/engine/agent-api/Scatter.d.ts.map +1 -0
  278. package/dist/engine/agent-api/Scatter.js +18 -0
  279. package/dist/engine/agent-api/Scatter.js.map +1 -0
  280. package/dist/engine/agent-api/TouchControlBinding.d.ts +32 -0
  281. package/dist/engine/agent-api/TouchControlBinding.d.ts.map +1 -1
  282. package/dist/engine/agent-api/TouchControlBinding.js +36 -0
  283. package/dist/engine/agent-api/TouchControlBinding.js.map +1 -1
  284. package/dist/engine/agent-api/VehicleChassis.d.ts.map +1 -1
  285. package/dist/engine/agent-api/VehicleChassis.js +76 -13
  286. package/dist/engine/agent-api/VehicleChassis.js.map +1 -1
  287. package/dist/engine/agent-api/WorldLabelRenderer.d.ts +13 -2
  288. package/dist/engine/agent-api/WorldLabelRenderer.d.ts.map +1 -1
  289. package/dist/engine/agent-api/WorldLabelRenderer.js +58 -26
  290. package/dist/engine/agent-api/WorldLabelRenderer.js.map +1 -1
  291. package/dist/engine/agent-api/index.d.ts +804 -7
  292. package/dist/engine/agent-api/index.d.ts.map +1 -1
  293. package/dist/engine/agent-api/index.js +2326 -195
  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/RootGpuParticleWorkload.d.ts +34 -0
  315. package/dist/engine/production-runtime/RootGpuParticleWorkload.d.ts.map +1 -0
  316. package/dist/engine/production-runtime/RootGpuParticleWorkload.js +117 -0
  317. package/dist/engine/production-runtime/RootGpuParticleWorkload.js.map +1 -0
  318. package/dist/engine/production-runtime/RootRenderSourceBridge.d.ts +2 -0
  319. package/dist/engine/production-runtime/RootRenderSourceBridge.d.ts.map +1 -0
  320. package/dist/engine/production-runtime/RootRenderSourceBridge.js +2 -0
  321. package/dist/engine/production-runtime/RootRenderSourceBridge.js.map +1 -0
  322. package/dist/engine/production-runtime/TypedGLBActor.d.ts +28 -2
  323. package/dist/engine/production-runtime/TypedGLBActor.d.ts.map +1 -1
  324. package/dist/engine/production-runtime/TypedGLBActor.js +46 -1
  325. package/dist/engine/production-runtime/TypedGLBActor.js.map +1 -1
  326. package/dist/engine/production-runtime/index.d.ts +6 -4
  327. package/dist/engine/production-runtime/index.d.ts.map +1 -1
  328. package/dist/engine/production-runtime/index.js +7 -3
  329. package/dist/engine/production-runtime/index.js.map +1 -1
  330. package/dist/input/ActionMap.d.ts +40 -0
  331. package/dist/input/ActionMap.d.ts.map +1 -1
  332. package/dist/input/ActionMap.js +179 -0
  333. package/dist/input/ActionMap.js.map +1 -1
  334. package/dist/input/ComboDetector.d.ts +49 -0
  335. package/dist/input/ComboDetector.d.ts.map +1 -0
  336. package/dist/input/ComboDetector.js +102 -0
  337. package/dist/input/ComboDetector.js.map +1 -0
  338. package/dist/input/Haptics.d.ts +46 -0
  339. package/dist/input/Haptics.d.ts.map +1 -0
  340. package/dist/input/Haptics.js +67 -0
  341. package/dist/input/Haptics.js.map +1 -0
  342. package/dist/input/InputSystem.d.ts.map +1 -1
  343. package/dist/input/InputSystem.js +1 -0
  344. package/dist/input/InputSystem.js.map +1 -1
  345. package/dist/input/PointerDevice.d.ts +1 -0
  346. package/dist/input/PointerDevice.d.ts.map +1 -1
  347. package/dist/input/PointerDevice.js +1 -1
  348. package/dist/input/PointerDevice.js.map +1 -1
  349. package/dist/input/TouchLayouts.d.ts +35 -0
  350. package/dist/input/TouchLayouts.d.ts.map +1 -0
  351. package/dist/input/TouchLayouts.js +88 -0
  352. package/dist/input/TouchLayouts.js.map +1 -0
  353. package/dist/input/WebXRSessionController.d.ts +53 -0
  354. package/dist/input/WebXRSessionController.d.ts.map +1 -1
  355. package/dist/input/WebXRSessionController.js +88 -2
  356. package/dist/input/WebXRSessionController.js.map +1 -1
  357. package/dist/input/controls/OrbitControls.d.ts +44 -1
  358. package/dist/input/controls/OrbitControls.d.ts.map +1 -1
  359. package/dist/input/controls/OrbitControls.js +151 -12
  360. package/dist/input/controls/OrbitControls.js.map +1 -1
  361. package/dist/input/index.d.ts +8 -2
  362. package/dist/input/index.d.ts.map +1 -1
  363. package/dist/input/index.js +3 -0
  364. package/dist/input/index.js.map +1 -1
  365. package/dist/lean/base.d.ts +1 -1
  366. package/dist/lean/base.d.ts.map +1 -1
  367. package/dist/lean/base.js +1 -1
  368. package/dist/lean/base.js.map +1 -1
  369. package/dist/lean/game.d.ts +98 -0
  370. package/dist/lean/game.d.ts.map +1 -1
  371. package/dist/lean/game.js +192 -0
  372. package/dist/lean/game.js.map +1 -1
  373. package/dist/lean/index.js +1 -1
  374. package/dist/lean/index.js.map +1 -1
  375. package/dist/materials/GameReadyMaterialLibrary.d.ts +39 -0
  376. package/dist/materials/GameReadyMaterialLibrary.d.ts.map +1 -0
  377. package/dist/materials/GameReadyMaterialLibrary.js +253 -0
  378. package/dist/materials/GameReadyMaterialLibrary.js.map +1 -0
  379. package/dist/materials/MaterialValidation.d.ts +21 -0
  380. package/dist/materials/MaterialValidation.d.ts.map +1 -1
  381. package/dist/materials/MaterialValidation.js +105 -0
  382. package/dist/materials/MaterialValidation.js.map +1 -1
  383. package/dist/materials/browser-index.d.ts +2 -0
  384. package/dist/materials/browser-index.d.ts.map +1 -1
  385. package/dist/materials/browser-index.js +1 -0
  386. package/dist/materials/browser-index.js.map +1 -1
  387. package/dist/materials/node.d.ts +2 -2
  388. package/dist/materials/node.d.ts.map +1 -1
  389. package/dist/materials/node.js +1 -1
  390. package/dist/materials/node.js.map +1 -1
  391. package/dist/navigation-recast/index.d.ts +116 -0
  392. package/dist/navigation-recast/index.d.ts.map +1 -0
  393. package/dist/navigation-recast/index.js +247 -0
  394. package/dist/navigation-recast/index.js.map +1 -0
  395. package/dist/physics/CollisionVolumes.d.ts +59 -0
  396. package/dist/physics/CollisionVolumes.d.ts.map +1 -1
  397. package/dist/physics/CollisionVolumes.js +87 -0
  398. package/dist/physics/CollisionVolumes.js.map +1 -1
  399. package/dist/physics/PhysicsDebugDraw.d.ts +37 -0
  400. package/dist/physics/PhysicsDebugDraw.d.ts.map +1 -1
  401. package/dist/physics/PhysicsDebugDraw.js +38 -1
  402. package/dist/physics/PhysicsDebugDraw.js.map +1 -1
  403. package/dist/physics/PhysicsWorld.d.ts +15 -0
  404. package/dist/physics/PhysicsWorld.d.ts.map +1 -1
  405. package/dist/physics/PhysicsWorld.js +8 -1
  406. package/dist/physics/PhysicsWorld.js.map +1 -1
  407. package/dist/physics/solverless.d.ts +1 -1
  408. package/dist/physics/solverless.d.ts.map +1 -1
  409. package/dist/physics/solverless.js.map +1 -1
  410. package/dist/physics-rapier/HeightfieldLayout.d.ts +12 -0
  411. package/dist/physics-rapier/HeightfieldLayout.d.ts.map +1 -0
  412. package/dist/physics-rapier/HeightfieldLayout.js +19 -0
  413. package/dist/physics-rapier/HeightfieldLayout.js.map +1 -0
  414. package/dist/physics-rapier/index.d.ts +7 -1
  415. package/dist/physics-rapier/index.d.ts.map +1 -1
  416. package/dist/physics-rapier/index.js +3 -2
  417. package/dist/physics-rapier/index.js.map +1 -1
  418. package/dist/react/index.d.ts +136 -2
  419. package/dist/react/index.d.ts.map +1 -1
  420. package/dist/react/index.js +251 -10
  421. package/dist/react/index.js.map +1 -1
  422. package/dist/rendering/AtmosphereWetness.d.ts +61 -0
  423. package/dist/rendering/AtmosphereWetness.d.ts.map +1 -0
  424. package/dist/rendering/AtmosphereWetness.js +99 -0
  425. package/dist/rendering/AtmosphereWetness.js.map +1 -0
  426. package/dist/rendering/CascadedShadowMaps.d.ts.map +1 -1
  427. package/dist/rendering/CascadedShadowMaps.js +3 -1
  428. package/dist/rendering/CascadedShadowMaps.js.map +1 -1
  429. package/dist/rendering/ClusteredForwardLighting.d.ts +25 -1
  430. package/dist/rendering/ClusteredForwardLighting.d.ts.map +1 -1
  431. package/dist/rendering/ClusteredForwardLighting.js +80 -3
  432. package/dist/rendering/ClusteredForwardLighting.js.map +1 -1
  433. package/dist/rendering/DayNightSky.d.ts +63 -0
  434. package/dist/rendering/DayNightSky.d.ts.map +1 -0
  435. package/dist/rendering/DayNightSky.js +156 -0
  436. package/dist/rendering/DayNightSky.js.map +1 -0
  437. package/dist/rendering/EnvironmentPresetPack.d.ts +30 -0
  438. package/dist/rendering/EnvironmentPresetPack.d.ts.map +1 -0
  439. package/dist/rendering/EnvironmentPresetPack.js +49 -0
  440. package/dist/rendering/EnvironmentPresetPack.js.map +1 -0
  441. package/dist/rendering/ExtensionScalarAtlas.d.ts +18 -0
  442. package/dist/rendering/ExtensionScalarAtlas.d.ts.map +1 -0
  443. package/dist/rendering/ExtensionScalarAtlas.js +107 -0
  444. package/dist/rendering/ExtensionScalarAtlas.js.map +1 -0
  445. package/dist/rendering/ForwardPass.d.ts +65 -0
  446. package/dist/rendering/ForwardPass.d.ts.map +1 -1
  447. package/dist/rendering/ForwardPass.js +196 -2
  448. package/dist/rendering/ForwardPass.js.map +1 -1
  449. package/dist/rendering/InstancedPBRMaterial.d.ts +1 -0
  450. package/dist/rendering/InstancedPBRMaterial.d.ts.map +1 -1
  451. package/dist/rendering/InstancedPBRMaterial.js +3 -0
  452. package/dist/rendering/InstancedPBRMaterial.js.map +1 -1
  453. package/dist/rendering/InstancingDiagnostics.d.ts +69 -0
  454. package/dist/rendering/InstancingDiagnostics.d.ts.map +1 -0
  455. package/dist/rendering/InstancingDiagnostics.js +98 -0
  456. package/dist/rendering/InstancingDiagnostics.js.map +1 -0
  457. package/dist/rendering/LeanWebGL2Device.d.ts +265 -0
  458. package/dist/rendering/LeanWebGL2Device.d.ts.map +1 -0
  459. package/dist/rendering/LeanWebGL2Device.js +4001 -0
  460. package/dist/rendering/LeanWebGL2Device.js.map +1 -0
  461. package/dist/rendering/LightingRig.d.ts +19 -1
  462. package/dist/rendering/LightingRig.d.ts.map +1 -1
  463. package/dist/rendering/LightingRig.js +61 -1
  464. package/dist/rendering/LightingRig.js.map +1 -1
  465. package/dist/rendering/MaterialBinding.js +1 -1
  466. package/dist/rendering/MaterialBinding.js.map +1 -1
  467. package/dist/rendering/MeshConsolidation.d.ts +12 -0
  468. package/dist/rendering/MeshConsolidation.d.ts.map +1 -1
  469. package/dist/rendering/MeshConsolidation.js +28 -0
  470. package/dist/rendering/MeshConsolidation.js.map +1 -1
  471. package/dist/rendering/MorphTargetPlan.d.ts +29 -2
  472. package/dist/rendering/MorphTargetPlan.d.ts.map +1 -1
  473. package/dist/rendering/MorphTargetPlan.js +23 -4
  474. package/dist/rendering/MorphTargetPlan.js.map +1 -1
  475. package/dist/rendering/NormalMappedPBRMaterial.d.ts.map +1 -1
  476. package/dist/rendering/NormalMappedPBRMaterial.js +22 -2
  477. package/dist/rendering/NormalMappedPBRMaterial.js.map +1 -1
  478. package/dist/rendering/OceanSurface.d.ts +75 -0
  479. package/dist/rendering/OceanSurface.d.ts.map +1 -1
  480. package/dist/rendering/OceanSurface.js +211 -0
  481. package/dist/rendering/OceanSurface.js.map +1 -1
  482. package/dist/rendering/PBRMaterial.d.ts +1 -0
  483. package/dist/rendering/PBRMaterial.d.ts.map +1 -1
  484. package/dist/rendering/PBRMaterial.js +23 -2
  485. package/dist/rendering/PBRMaterial.js.map +1 -1
  486. package/dist/rendering/PbrReference.d.ts +48 -0
  487. package/dist/rendering/PbrReference.d.ts.map +1 -1
  488. package/dist/rendering/PbrReference.js +126 -0
  489. package/dist/rendering/PbrReference.js.map +1 -1
  490. package/dist/rendering/PlanarReflection.d.ts +221 -0
  491. package/dist/rendering/PlanarReflection.d.ts.map +1 -0
  492. package/dist/rendering/PlanarReflection.js +541 -0
  493. package/dist/rendering/PlanarReflection.js.map +1 -0
  494. package/dist/rendering/PostProcessPass.d.ts +32 -0
  495. package/dist/rendering/PostProcessPass.d.ts.map +1 -1
  496. package/dist/rendering/PostProcessPass.js +79 -36
  497. package/dist/rendering/PostProcessPass.js.map +1 -1
  498. package/dist/rendering/ProjectionMath.d.ts +3 -0
  499. package/dist/rendering/ProjectionMath.d.ts.map +1 -0
  500. package/dist/rendering/ProjectionMath.js +26 -0
  501. package/dist/rendering/ProjectionMath.js.map +1 -0
  502. package/dist/rendering/ReflectionSurfaces.d.ts +17 -0
  503. package/dist/rendering/ReflectionSurfaces.d.ts.map +1 -1
  504. package/dist/rendering/ReflectionSurfaces.js +103 -1
  505. package/dist/rendering/ReflectionSurfaces.js.map +1 -1
  506. package/dist/rendering/RenderDevice.d.ts +92 -0
  507. package/dist/rendering/RenderDevice.d.ts.map +1 -1
  508. package/dist/rendering/RenderDevice.js +85 -0
  509. package/dist/rendering/RenderDevice.js.map +1 -1
  510. package/dist/rendering/Renderer.d.ts +9 -0
  511. package/dist/rendering/Renderer.d.ts.map +1 -1
  512. package/dist/rendering/Renderer.js +97 -9
  513. package/dist/rendering/Renderer.js.map +1 -1
  514. package/dist/rendering/RendererPostprocessPlan.d.ts +64 -3
  515. package/dist/rendering/RendererPostprocessPlan.d.ts.map +1 -1
  516. package/dist/rendering/RendererPostprocessPlan.js +116 -12
  517. package/dist/rendering/RendererPostprocessPlan.js.map +1 -1
  518. package/dist/rendering/RendererVisualPipelineReport.d.ts.map +1 -1
  519. package/dist/rendering/RendererVisualPipelineReport.js +3 -1
  520. package/dist/rendering/RendererVisualPipelineReport.js.map +1 -1
  521. package/dist/rendering/Sampler.d.ts +29 -0
  522. package/dist/rendering/Sampler.d.ts.map +1 -1
  523. package/dist/rendering/Sampler.js +47 -0
  524. package/dist/rendering/Sampler.js.map +1 -1
  525. package/dist/rendering/ScreenSpaceReflectionPass.d.ts +43 -0
  526. package/dist/rendering/ScreenSpaceReflectionPass.d.ts.map +1 -0
  527. package/dist/rendering/ScreenSpaceReflectionPass.js +58 -0
  528. package/dist/rendering/ScreenSpaceReflectionPass.js.map +1 -0
  529. package/dist/rendering/SdfText.d.ts +250 -0
  530. package/dist/rendering/SdfText.d.ts.map +1 -0
  531. package/dist/rendering/SdfText.js +551 -0
  532. package/dist/rendering/SdfText.js.map +1 -0
  533. package/dist/rendering/ShaderChunks.d.ts.map +1 -1
  534. package/dist/rendering/ShaderChunks.js +30 -12
  535. package/dist/rendering/ShaderChunks.js.map +1 -1
  536. package/dist/rendering/ShaderLibrary.d.ts.map +1 -1
  537. package/dist/rendering/ShaderLibrary.js +601 -186
  538. package/dist/rendering/ShaderLibrary.js.map +1 -1
  539. package/dist/rendering/ShaderLibraryCore.d.ts +3 -0
  540. package/dist/rendering/ShaderLibraryCore.d.ts.map +1 -1
  541. package/dist/rendering/ShaderLibraryCore.js +73 -12
  542. package/dist/rendering/ShaderLibraryCore.js.map +1 -1
  543. package/dist/rendering/ShadowMap.d.ts +24 -0
  544. package/dist/rendering/ShadowMap.d.ts.map +1 -1
  545. package/dist/rendering/ShadowMap.js +43 -0
  546. package/dist/rendering/ShadowMap.js.map +1 -1
  547. package/dist/rendering/SkinnedLitMaterial.d.ts.map +1 -1
  548. package/dist/rendering/SkinnedLitMaterial.js +2 -0
  549. package/dist/rendering/SkinnedLitMaterial.js.map +1 -1
  550. package/dist/rendering/SkinningBounds.d.ts +10 -0
  551. package/dist/rendering/SkinningBounds.d.ts.map +1 -1
  552. package/dist/rendering/SkinningBounds.js +27 -0
  553. package/dist/rendering/SkinningBounds.js.map +1 -1
  554. package/dist/rendering/SpriteFlipbook.d.ts +60 -0
  555. package/dist/rendering/SpriteFlipbook.d.ts.map +1 -0
  556. package/dist/rendering/SpriteFlipbook.js +128 -0
  557. package/dist/rendering/SpriteFlipbook.js.map +1 -0
  558. package/dist/rendering/TemporalHistory.d.ts +37 -0
  559. package/dist/rendering/TemporalHistory.d.ts.map +1 -0
  560. package/dist/rendering/TemporalHistory.js +135 -0
  561. package/dist/rendering/TemporalHistory.js.map +1 -0
  562. package/dist/rendering/TemporalMath.d.ts +3 -0
  563. package/dist/rendering/TemporalMath.d.ts.map +1 -0
  564. package/dist/rendering/TemporalMath.js +9 -0
  565. package/dist/rendering/TemporalMath.js.map +1 -0
  566. package/dist/rendering/TerrainTiles.d.ts +120 -0
  567. package/dist/rendering/TerrainTiles.d.ts.map +1 -0
  568. package/dist/rendering/TerrainTiles.js +221 -0
  569. package/dist/rendering/TerrainTiles.js.map +1 -0
  570. package/dist/rendering/TexturedPBRMaterial.d.ts +4 -0
  571. package/dist/rendering/TexturedPBRMaterial.d.ts.map +1 -1
  572. package/dist/rendering/TexturedPBRMaterial.js +88 -5
  573. package/dist/rendering/TexturedPBRMaterial.js.map +1 -1
  574. package/dist/rendering/TexturedUnlitMaterial.d.ts.map +1 -1
  575. package/dist/rendering/TexturedUnlitMaterial.js +20 -2
  576. package/dist/rendering/TexturedUnlitMaterial.js.map +1 -1
  577. package/dist/rendering/UnlitMaterial.d.ts.map +1 -1
  578. package/dist/rendering/UnlitMaterial.js +20 -2
  579. package/dist/rendering/UnlitMaterial.js.map +1 -1
  580. package/dist/rendering/VertexFormat.d.ts +6 -0
  581. package/dist/rendering/VertexFormat.d.ts.map +1 -1
  582. package/dist/rendering/VertexFormat.js +12 -0
  583. package/dist/rendering/VertexFormat.js.map +1 -1
  584. package/dist/rendering/VolumetricFog.d.ts +55 -0
  585. package/dist/rendering/VolumetricFog.d.ts.map +1 -0
  586. package/dist/rendering/VolumetricFog.js +91 -0
  587. package/dist/rendering/VolumetricFog.js.map +1 -0
  588. package/dist/rendering/WaterSurface.d.ts +77 -0
  589. package/dist/rendering/WaterSurface.d.ts.map +1 -0
  590. package/dist/rendering/WaterSurface.js +133 -0
  591. package/dist/rendering/WaterSurface.js.map +1 -0
  592. package/dist/rendering/WebGL2Device.d.ts +73 -0
  593. package/dist/rendering/WebGL2Device.d.ts.map +1 -1
  594. package/dist/rendering/WebGL2Device.js +836 -79
  595. package/dist/rendering/WebGL2Device.js.map +1 -1
  596. package/dist/rendering/WebGPUDevice.d.ts +62 -1
  597. package/dist/rendering/WebGPUDevice.d.ts.map +1 -1
  598. package/dist/rendering/WebGPUDevice.js +844 -51
  599. package/dist/rendering/WebGPUDevice.js.map +1 -1
  600. package/dist/rendering/WebGPUExtensionAtlas.d.ts +6 -0
  601. package/dist/rendering/WebGPUExtensionAtlas.d.ts.map +1 -0
  602. package/dist/rendering/WebGPUExtensionAtlas.js +225 -0
  603. package/dist/rendering/WebGPUExtensionAtlas.js.map +1 -0
  604. package/dist/rendering/WebGPUSkinningLimits.d.ts +40 -0
  605. package/dist/rendering/WebGPUSkinningLimits.d.ts.map +1 -1
  606. package/dist/rendering/WebGPUSkinningLimits.js +32 -0
  607. package/dist/rendering/WebGPUSkinningLimits.js.map +1 -1
  608. package/dist/rendering/effects/CollisionModule.d.ts +9 -0
  609. package/dist/rendering/effects/CollisionModule.d.ts.map +1 -1
  610. package/dist/rendering/effects/CollisionModule.js +10 -0
  611. package/dist/rendering/effects/CollisionModule.js.map +1 -1
  612. package/dist/rendering/effects/ColorModule.d.ts +7 -0
  613. package/dist/rendering/effects/ColorModule.d.ts.map +1 -1
  614. package/dist/rendering/effects/ColorModule.js +23 -0
  615. package/dist/rendering/effects/ColorModule.js.map +1 -1
  616. package/dist/rendering/effects/ForceModule.d.ts +35 -0
  617. package/dist/rendering/effects/ForceModule.d.ts.map +1 -1
  618. package/dist/rendering/effects/ForceModule.js +49 -0
  619. package/dist/rendering/effects/ForceModule.js.map +1 -1
  620. package/dist/rendering/effects/GPUParticleBackend.d.ts +188 -0
  621. package/dist/rendering/effects/GPUParticleBackend.d.ts.map +1 -1
  622. package/dist/rendering/effects/GPUParticleBackend.js +710 -1
  623. package/dist/rendering/effects/GPUParticleBackend.js.map +1 -1
  624. package/dist/rendering/effects/HeightfieldModule.d.ts +58 -0
  625. package/dist/rendering/effects/HeightfieldModule.d.ts.map +1 -0
  626. package/dist/rendering/effects/HeightfieldModule.js +129 -0
  627. package/dist/rendering/effects/HeightfieldModule.js.map +1 -0
  628. package/dist/rendering/effects/LightingModule.d.ts +34 -0
  629. package/dist/rendering/effects/LightingModule.d.ts.map +1 -0
  630. package/dist/rendering/effects/LightingModule.js +54 -0
  631. package/dist/rendering/effects/LightingModule.js.map +1 -0
  632. package/dist/rendering/effects/ParticleDiagnostics.d.ts +8 -0
  633. package/dist/rendering/effects/ParticleDiagnostics.d.ts.map +1 -1
  634. package/dist/rendering/effects/ParticleDiagnostics.js +3 -0
  635. package/dist/rendering/effects/ParticleDiagnostics.js.map +1 -1
  636. package/dist/rendering/effects/ParticleModule.d.ts +8 -0
  637. package/dist/rendering/effects/ParticleModule.d.ts.map +1 -1
  638. package/dist/rendering/effects/ParticleModule.js.map +1 -1
  639. package/dist/rendering/effects/ParticleRenderer.d.ts +20 -0
  640. package/dist/rendering/effects/ParticleRenderer.d.ts.map +1 -1
  641. package/dist/rendering/effects/ParticleRenderer.js +57 -7
  642. package/dist/rendering/effects/ParticleRenderer.js.map +1 -1
  643. package/dist/rendering/effects/ParticleSystem.d.ts +45 -1
  644. package/dist/rendering/effects/ParticleSystem.d.ts.map +1 -1
  645. package/dist/rendering/effects/ParticleSystem.js +373 -4
  646. package/dist/rendering/effects/ParticleSystem.js.map +1 -1
  647. package/dist/rendering/effects/ResidentGPUParticleRenderer.d.ts +158 -0
  648. package/dist/rendering/effects/ResidentGPUParticleRenderer.d.ts.map +1 -0
  649. package/dist/rendering/effects/ResidentGPUParticleRenderer.js +576 -0
  650. package/dist/rendering/effects/ResidentGPUParticleRenderer.js.map +1 -0
  651. package/dist/rendering/effects/SizeModule.d.ts +4 -0
  652. package/dist/rendering/effects/SizeModule.d.ts.map +1 -1
  653. package/dist/rendering/effects/SizeModule.js +16 -0
  654. package/dist/rendering/effects/SizeModule.js.map +1 -1
  655. package/dist/rendering/effects/SubEmitterModule.d.ts +61 -0
  656. package/dist/rendering/effects/SubEmitterModule.d.ts.map +1 -0
  657. package/dist/rendering/effects/SubEmitterModule.js +119 -0
  658. package/dist/rendering/effects/SubEmitterModule.js.map +1 -0
  659. package/dist/rendering/effects/TrailModule.d.ts +38 -0
  660. package/dist/rendering/effects/TrailModule.d.ts.map +1 -1
  661. package/dist/rendering/effects/TrailModule.js +95 -2
  662. package/dist/rendering/effects/TrailModule.js.map +1 -1
  663. package/dist/rendering/effects/TurbulenceModule.d.ts +43 -0
  664. package/dist/rendering/effects/TurbulenceModule.d.ts.map +1 -0
  665. package/dist/rendering/effects/TurbulenceModule.js +130 -0
  666. package/dist/rendering/effects/TurbulenceModule.js.map +1 -0
  667. package/dist/rendering/effects/index.d.ts +4 -0
  668. package/dist/rendering/effects/index.d.ts.map +1 -1
  669. package/dist/rendering/effects/index.js +4 -0
  670. package/dist/rendering/effects/index.js.map +1 -1
  671. package/dist/rendering/extension-scalar-atlas.d.ts +3 -0
  672. package/dist/rendering/extension-scalar-atlas.d.ts.map +1 -0
  673. package/dist/rendering/extension-scalar-atlas.js +2 -0
  674. package/dist/rendering/extension-scalar-atlas.js.map +1 -0
  675. package/dist/rendering/index.d.ts +58 -19
  676. package/dist/rendering/index.d.ts.map +1 -1
  677. package/dist/rendering/index.js +32 -10
  678. package/dist/rendering/index.js.map +1 -1
  679. package/dist/rendering/lean/LeanProductionRenderer.d.ts.map +1 -1
  680. package/dist/rendering/lean/LeanProductionRenderer.js +2 -2
  681. package/dist/rendering/lean/LeanProductionRenderer.js.map +1 -1
  682. package/dist/rendering/lean-core-runtime.d.ts +13 -0
  683. package/dist/rendering/lean-core-runtime.d.ts.map +1 -0
  684. package/dist/rendering/lean-core-runtime.js +10 -0
  685. package/dist/rendering/lean-core-runtime.js.map +1 -0
  686. package/dist/rendering/materials/MaterialExtensions.js +3 -3
  687. package/dist/rendering/materials/MaterialExtensions.js.map +1 -1
  688. package/dist/rendering/postprocess/NativeBloomPyramid.d.ts +44 -0
  689. package/dist/rendering/postprocess/NativeBloomPyramid.d.ts.map +1 -0
  690. package/dist/rendering/postprocess/NativeBloomPyramid.js +84 -0
  691. package/dist/rendering/postprocess/NativeBloomPyramid.js.map +1 -0
  692. package/dist/rendering/postprocess/NativeLdrEffectLuts.d.ts +10 -1
  693. package/dist/rendering/postprocess/NativeLdrEffectLuts.d.ts.map +1 -1
  694. package/dist/rendering/postprocess/NativeLdrEffectLuts.js +19 -2
  695. package/dist/rendering/postprocess/NativeLdrEffectLuts.js.map +1 -1
  696. package/dist/rendering/postprocess/index.d.ts +2 -0
  697. package/dist/rendering/postprocess/index.d.ts.map +1 -1
  698. package/dist/rendering/postprocess/index.js +1 -0
  699. package/dist/rendering/postprocess/index.js.map +1 -1
  700. package/dist/rendering/production-runtime/PBRHDRPipeline.d.ts +22 -0
  701. package/dist/rendering/production-runtime/PBRHDRPipeline.d.ts.map +1 -1
  702. package/dist/rendering/production-runtime/PBRHDRPipeline.js +125 -0
  703. package/dist/rendering/production-runtime/PBRHDRPipeline.js.map +1 -1
  704. package/dist/rendering/production-runtime/ProductionRendererTypes.d.ts +1 -0
  705. package/dist/rendering/production-runtime/ProductionRendererTypes.d.ts.map +1 -1
  706. package/dist/rendering/production-runtime/ProductionRendererTypes.js.map +1 -1
  707. package/dist/rendering/production-runtime/ProductionRuntimeRenderer.d.ts +3 -0
  708. package/dist/rendering/production-runtime/ProductionRuntimeRenderer.d.ts.map +1 -1
  709. package/dist/rendering/production-runtime/ProductionRuntimeRenderer.js +8 -1
  710. package/dist/rendering/production-runtime/ProductionRuntimeRenderer.js.map +1 -1
  711. package/dist/rendering/production-runtime/ProductionWebGL2Renderer.d.ts +4 -0
  712. package/dist/rendering/production-runtime/ProductionWebGL2Renderer.d.ts.map +1 -1
  713. package/dist/rendering/production-runtime/ProductionWebGL2Renderer.js +15 -0
  714. package/dist/rendering/production-runtime/ProductionWebGL2Renderer.js.map +1 -1
  715. package/dist/rendering/production-runtime/ProductionWebGPURenderer.d.ts +58 -0
  716. package/dist/rendering/production-runtime/ProductionWebGPURenderer.d.ts.map +1 -1
  717. package/dist/rendering/production-runtime/ProductionWebGPURenderer.js +127 -0
  718. package/dist/rendering/production-runtime/ProductionWebGPURenderer.js.map +1 -1
  719. package/dist/rendering/production-runtime/framegraph/FrameGraph.d.ts +4 -2
  720. package/dist/rendering/production-runtime/framegraph/FrameGraph.d.ts.map +1 -1
  721. package/dist/rendering/production-runtime/framegraph/FrameGraph.js +62 -4
  722. package/dist/rendering/production-runtime/framegraph/FrameGraph.js.map +1 -1
  723. package/dist/rendering/production-runtime/framegraph/NativeFrameGraphBindings.d.ts +32 -0
  724. package/dist/rendering/production-runtime/framegraph/NativeFrameGraphBindings.d.ts.map +1 -0
  725. package/dist/rendering/production-runtime/framegraph/NativeFrameGraphBindings.js +111 -0
  726. package/dist/rendering/production-runtime/framegraph/NativeFrameGraphBindings.js.map +1 -0
  727. package/dist/rendering/production-runtime/framegraph/RenderPass.d.ts +23 -0
  728. package/dist/rendering/production-runtime/framegraph/RenderPass.d.ts.map +1 -1
  729. package/dist/rendering/production-runtime/framegraph/RenderPass.js +87 -1
  730. package/dist/rendering/production-runtime/framegraph/RenderPass.js.map +1 -1
  731. package/dist/rendering/production-runtime/index.d.ts +7 -4
  732. package/dist/rendering/production-runtime/index.d.ts.map +1 -1
  733. package/dist/rendering/production-runtime/index.js +4 -2
  734. package/dist/rendering/production-runtime/index.js.map +1 -1
  735. package/dist/rendering/production-runtime/passes/DepthPrepass.d.ts +18 -1
  736. package/dist/rendering/production-runtime/passes/DepthPrepass.d.ts.map +1 -1
  737. package/dist/rendering/production-runtime/passes/DepthPrepass.js +41 -2
  738. package/dist/rendering/production-runtime/passes/DepthPrepass.js.map +1 -1
  739. package/dist/rendering/production-runtime/passes/FramegraphTopology.d.ts +13 -0
  740. package/dist/rendering/production-runtime/passes/FramegraphTopology.d.ts.map +1 -0
  741. package/dist/rendering/production-runtime/passes/FramegraphTopology.js +59 -0
  742. package/dist/rendering/production-runtime/passes/FramegraphTopology.js.map +1 -0
  743. package/dist/rendering/production-runtime/passes/OpaquePass.d.ts +19 -1
  744. package/dist/rendering/production-runtime/passes/OpaquePass.d.ts.map +1 -1
  745. package/dist/rendering/production-runtime/passes/OpaquePass.js +43 -2
  746. package/dist/rendering/production-runtime/passes/OpaquePass.js.map +1 -1
  747. package/dist/rendering/production-runtime/passes/ShadowPass.d.ts +19 -1
  748. package/dist/rendering/production-runtime/passes/ShadowPass.d.ts.map +1 -1
  749. package/dist/rendering/production-runtime/passes/ShadowPass.js +45 -2
  750. package/dist/rendering/production-runtime/passes/ShadowPass.js.map +1 -1
  751. package/dist/rendering/production-runtime/passes/SkyboxPass.d.ts +17 -1
  752. package/dist/rendering/production-runtime/passes/SkyboxPass.d.ts.map +1 -1
  753. package/dist/rendering/production-runtime/passes/SkyboxPass.js +41 -2
  754. package/dist/rendering/production-runtime/passes/SkyboxPass.js.map +1 -1
  755. package/dist/rendering/production-runtime/passes/ToneMappingPass.d.ts +26 -1
  756. package/dist/rendering/production-runtime/passes/ToneMappingPass.d.ts.map +1 -1
  757. package/dist/rendering/production-runtime/passes/ToneMappingPass.js +62 -2
  758. package/dist/rendering/production-runtime/passes/ToneMappingPass.js.map +1 -1
  759. package/dist/rendering/production-runtime/passes/TransparentPass.d.ts +19 -1
  760. package/dist/rendering/production-runtime/passes/TransparentPass.d.ts.map +1 -1
  761. package/dist/rendering/production-runtime/passes/TransparentPass.js +47 -2
  762. package/dist/rendering/production-runtime/passes/TransparentPass.js.map +1 -1
  763. package/dist/rendering/reflection-surfaces.d.ts +5 -0
  764. package/dist/rendering/reflection-surfaces.d.ts.map +1 -0
  765. package/dist/rendering/reflection-surfaces.js +3 -0
  766. package/dist/rendering/reflection-surfaces.js.map +1 -0
  767. package/dist/rendering/shadows/CascadeHysteresis.d.ts +67 -0
  768. package/dist/rendering/shadows/CascadeHysteresis.d.ts.map +1 -0
  769. package/dist/rendering/shadows/CascadeHysteresis.js +104 -0
  770. package/dist/rendering/shadows/CascadeHysteresis.js.map +1 -0
  771. package/dist/rendering/shadows/ContactShadows.d.ts +52 -0
  772. package/dist/rendering/shadows/ContactShadows.d.ts.map +1 -1
  773. package/dist/rendering/shadows/ContactShadows.js +122 -0
  774. package/dist/rendering/shadows/ContactShadows.js.map +1 -1
  775. package/dist/rendering/shadows/SpotShadowMaps.d.ts +77 -0
  776. package/dist/rendering/shadows/SpotShadowMaps.d.ts.map +1 -0
  777. package/dist/rendering/shadows/SpotShadowMaps.js +106 -0
  778. package/dist/rendering/shadows/SpotShadowMaps.js.map +1 -0
  779. package/dist/rendering/webgpu/WebGPUPostProcess.d.ts +2 -0
  780. package/dist/rendering/webgpu/WebGPUPostProcess.d.ts.map +1 -1
  781. package/dist/rendering/webgpu/WebGPUPostProcess.js +1 -0
  782. package/dist/rendering/webgpu/WebGPUPostProcess.js.map +1 -1
  783. package/dist/rendering/webgpu/WebGPUPostShaders.d.ts +77 -0
  784. package/dist/rendering/webgpu/WebGPUPostShaders.d.ts.map +1 -0
  785. package/dist/rendering/webgpu/WebGPUPostShaders.js +261 -0
  786. package/dist/rendering/webgpu/WebGPUPostShaders.js.map +1 -0
  787. package/dist/rendering/webgpu/WebGPUTemporal.d.ts +17 -0
  788. package/dist/rendering/webgpu/WebGPUTemporal.d.ts.map +1 -0
  789. package/dist/rendering/webgpu/WebGPUTemporal.js +64 -0
  790. package/dist/rendering/webgpu/WebGPUTemporal.js.map +1 -0
  791. package/dist/rendering/webgpu.d.ts +6 -0
  792. package/dist/rendering/webgpu.d.ts.map +1 -1
  793. package/dist/rendering/webgpu.js +4 -0
  794. package/dist/rendering/webgpu.js.map +1 -1
  795. package/dist/scene/Scene.d.ts +8 -1
  796. package/dist/scene/Scene.d.ts.map +1 -1
  797. package/dist/scene/Scene.js +12 -2
  798. package/dist/scene/Scene.js.map +1 -1
  799. package/dist/scripting/VisualGraphContext.d.ts +31 -0
  800. package/dist/scripting/VisualGraphContext.d.ts.map +1 -1
  801. package/dist/scripting/VisualGraphExecutor.d.ts.map +1 -1
  802. package/dist/scripting/VisualGraphExecutor.js +110 -0
  803. package/dist/scripting/VisualGraphExecutor.js.map +1 -1
  804. package/dist/scripting/VisualNodeCatalog.d.ts +1 -1
  805. package/dist/scripting/VisualNodeCatalog.d.ts.map +1 -1
  806. package/dist/scripting/VisualNodeCatalog.js +20 -0
  807. package/dist/scripting/VisualNodeCatalog.js.map +1 -1
  808. package/dist/scripting/VisualScriptingRoot.d.ts +96 -0
  809. package/dist/scripting/VisualScriptingRoot.d.ts.map +1 -0
  810. package/dist/scripting/VisualScriptingRoot.js +150 -0
  811. package/dist/scripting/VisualScriptingRoot.js.map +1 -0
  812. package/dist/scripting/index.d.ts +3 -1
  813. package/dist/scripting/index.d.ts.map +1 -1
  814. package/dist/scripting/index.js +1 -0
  815. package/dist/scripting/index.js.map +1 -1
  816. package/package.json +40 -25
  817. package/templates/cinematic-scene/package.json +2 -2
  818. package/templates/cinematic-scene/src/main.ts +14 -2
  819. package/templates/mini-game/package.json +2 -2
  820. package/templates/product-viewer/package.json +2 -2
  821. package/templates/production-asset-inspector/package.json +1 -1
  822. package/templates/production-material-studio/package.json +1 -1
  823. package/templates/production-product-configurator/package.json +1 -1
  824. package/templates/production-product-viewer/package.json +1 -1
@@ -1,4 +1,9 @@
1
- import type { Collider, ColliderDescriptor, CollisionEvent, Constraint, ConstraintDescriptor, Contact, DebugLine, PhysicsBackendSelection, PhysicsShape, PhysicsSnapshot, PhysicsWorldDescriptor, RaycastHit, RaycastOptions, RigidBody, RigidBodyDescriptor, RigidBodyType, ScenePhysicsNode, SphereCastHit } from "../../physics/index.js";
1
+ import { type AuraPerformanceQuality } from "./RootRuntimeSupport.js";
2
+ export type { AuraPerformanceQuality } from "./RootRuntimeSupport.js";
3
+ import type { Collider, ColliderDescriptor, CollisionEvent, Constraint, ConstraintDescriptor, Contact, DebugLine, PhysicsBackendSelection, PhysicsContinuousCollisionDescriptor, PhysicsShape, PhysicsSnapshot, PhysicsWorldDescriptor, RaycastHit, RaycastOptions, RigidBody, RigidBodyDescriptor, RigidBodyType, ScenePhysicsNode, SphereCastHit } from "../../physics/index.js";
4
+ import { type SdfTextOcclusionPolicy, type SdfTextStyle, sampleOceanFixture, Geometry, InstancedPBRMaterial, PBRMaterial, TexturedPBRMaterial, type CollectedLight, type DayNightSkyOptions, type EnvironmentLightingOptions, type WaterSurfaceBoat, type WaterSurfacePreset, type WeatherType, type RenderDeviceDiagnostics, type RendererPostprocessExecutionMode } from "../../rendering/index.js";
5
+ import type { TypedGLBActorEvidence } from "../production-runtime/TypedGLBActor.js";
6
+ import { type LabelTelemetry, type TextBucketSummary } from "./LabelTelemetry.js";
2
7
  import { type ProjectedLabel } from "./WorldLabelRenderer.js";
3
8
  import { defineAuraCustomGeometry, type AuraCustomGeometrySpec, type AuraText3DGeometry, type AuraText3DOptions } from "./RootGeometry.js";
4
9
  export * from "./RootGeometry.js";
@@ -17,6 +22,14 @@ export { buildMeshBVH, createMeshSurfaceQuery, raycastMesh, type MeshBVH, type M
17
22
  import { type AuraCollisionLayers, type AuraPhysicsRuntime } from "./PhysicsRuntime.js";
18
23
  export * from "./FocusSelection.js";
19
24
  export * from "./WorldLabelRenderer.js";
25
+ export * from "./GameCameraRigs.js";
26
+ export * from "./GameFeel.js";
27
+ export * from "./LabelTelemetry.js";
28
+ export * from "./NavigationCrowds.js";
29
+ export * from "./FootPlanting.js";
30
+ export * from "./Decals.js";
31
+ export * from "./Scatter.js";
32
+ export * from "./AssetDecoders.js";
20
33
  export * from "./VehicleChassis.js";
21
34
  export * from "./VehicleDriverAi.js";
22
35
  /**
@@ -37,8 +50,15 @@ export * from "./WebCodecsFrameEncoder.js";
37
50
  export { GameInspector, createGameInspector } from "./GameInspector.js";
38
51
  export type { GameInspectorRuntimeInput, GameInspectorSnapshot } from "./GameInspector.js";
39
52
  import { createGameInspector } from "./GameInspector.js";
53
+ import { type WrinkleMapHook } from "../../rendering/index.js";
40
54
  export { createGameAudio } from "../game/GameAudio.js";
41
55
  export type { GameAudio, GameAudioBusDefinition, GameAudioBusId, GameAudioContextLike, GameAudioCueDefinition, GameAudioCueEvent, GameAudioEvidence, GameAudioOptions } from "../game/GameAudio.js";
56
+ export type { GameAudioBusLevel, GameAudioDuckingOptions, GameAudioFootPlant, GameAudioFootstepOptions, GameAudioPlayingNode, GameAudioPositionalOptions, GameAudioVec3 } from "../game/GameAudio.js";
57
+ export { PositionalEmitter, FootstepPlayer, createGameMixer, attachFocusPolicy, computeDistanceAttenuation, computeDopplerShift, resolveOcclusion } from "../../audio/index.js";
58
+ export { ComboDetector, createTouchLayoutPreset, probeHaptics, playHaptic } from "../../input/index.js";
59
+ export { attachVisualScriptingGraph, createVisualScriptingGraph, listVisualScriptingNodeCatalog } from "../../scripting/index.js";
60
+ export { createRootEditorSurface } from "../../editor-runtime/index.js";
61
+ import { attachVisualScriptingGraph as attachVisualScriptingGraphFn, createVisualScriptingGraph as createVisualScriptingGraphFn, listVisualScriptingNodeCatalog as listVisualScriptingNodeCatalogFn } from "../../scripting/index.js";
42
62
  export * from "./RenderProgressTracker.js";
43
63
  export * from "./AudioVisemeAnalyzer.js";
44
64
  export * from "./ExternalPhonemeAnalyzer.js";
@@ -70,6 +90,7 @@ export * from "./AnimationMotionQuality.js";
70
90
  export * from "./AnimationRouteProof.js";
71
91
  export * from "./AnimationEpisodePackage.js";
72
92
  import type { GLTFSceneAnimationRuntime, GLTFSceneAnimationRuntimeOptions } from "../../assets/browser-index.js";
93
+ import { type TextureStreamingResidency } from "../../assets/browser-index.js";
73
94
  import type { AnimationPose } from "../../animation/index.js";
74
95
  import type { GameHudBindingKind, GameRuntimeSubsystemOwnership } from "./GameRuntime.js";
75
96
  import { createFrameLoop } from "./FrameLoop.js";
@@ -108,7 +129,7 @@ export { createGameAppRuntime, type GameAppRuntime, type GameAppRuntimeEvidence,
108
129
  export { FrameLoop, createFrameLoop, type FrameLoopCallback, type FrameLoopFrame, type FrameLoopOptions, type FrameLoopSnapshot, type FrameLoopSource } from "./FrameLoop.js";
109
130
  export { createCombatWorld, createGameCameraDirector, createGameEffects, applyGameCombatEventsToRuntime, createGameAccessibilityFocus, createGameAccessibilityLabel, createGameAccessibilityRuntimeSettings, createGameHighContrastSource, createGameHudBindings, createGameHudComboBinding, createGameHudDebugToggleBinding, createGameHudHealthBinding, createGameHudMeterBinding, createGameHudRoundBinding, createGameHudSnapshot, createGameHudTimerBinding, createGameBoxCollider, createGameCapsuleCollider, createGameColliderDebugGeometry, createGameCombatDebugGeometry, createGameDebugOverlayData, createGameDebugSceneNodes, createGameHitboxDebugGeometry, createGameSimulation, createGameInput, createGameInputReplay, createGameInputReplayDriver, createGameJumpAssist, createGameKinematicBody, createGamePauseControlsSource, createGameRectCollider, createGameReducedFlashSource, createGameReducedMotionSource, createGameSphereCollider, createGameTouchControlLayout, gameColliderAabb, gameColliders, gameInputReplayEventsAt, createGameLoopPlan, runGameSimulation, type GameAccessibilityFocusOptions, type GameAccessibilityLabelOptions, type GameAccessibilityPauseControlsOptions, type GameAccessibilityPreferenceOptions, type GameAccessibilityRuntimeSettings, type GameAccessibilityRuntimeSettingsOptions, type GameAccessibilitySource, type GameAccessibilitySourceKind, type GameAabb, type GameBounds3, type GameCameraDirector, type GameCameraDirectorOptions, type GameCameraSnapshot, type GameCameraTarget, type GameCollisionAddBodyOptions, type GameCollisionBodyHandle, type GameCollisionBodyOptions, type GameCollisionBodySnapshot, type GameCollisionBox, type GameCollisionContact, type GameCollisionEvent, type GameCollisionParticipant, type GameCollisionQueryFilter, type GameCollisionSweepHit, type GameCollisionSweepOptions, type GameCollisionWorld, type GameCollisionWorldSnapshot, type GameCombatActorOptions, type GameCombatActorSnapshot, type GameCombatActiveAttackSnapshot, type GameCombatEvent, type GameCombatEventRuntimeBridgeOptions, type GameCombatEventRuntimeBridgeResult, type GameCombatEventType, type GameCombatMove, type GameCombatWorld, type GameCombatWorldSnapshot, type GameBoxCollider, type GameBoxColliderOptions, type GameCapsuleCollider, type GameCapsuleColliderOptions, type GameCollider, type GameColliderAxis, type GameColliderBase, type GameColliderDimension, type GameColliderFactoryOptions, type GameColliderKind, type GameColliderPlane, type GameDebugGeometryNode, type GameDebugGeometryOptions, type GameDebugGeometryPrimitive, type GameDebugOverlayData, type GameDebugOverlayMetric, type GameDebugOverlayOptions, type GameDebugOverlaySection, type GameDebugSceneNode, type GameDebugSceneNodeOptions, type GameDebugScenePrimitive, type GameEffectInstance, type GameEffectAttachment, type GameEffectKind, type GameEffectOptions, type GameEffectsController, type GameEffectsSnapshot, type GameEventInput, type GameEventLog, type GameEventLogOptions, type GameEventLogSnapshot, type GameEventRecord, type GameEventSeverity, type GameHudActorBindingOptions, type GameHudBinding, type GameHudBindingKind, type GameHudComboBindingOptions, type GameHudDebugToggleBindingOptions, type GameHudEventLogBindingOptions, type GameHudObjectiveBindingOptions, type GameHudResolvedValue, type GameHudRoundBindingOptions, type GameHudScoreBindingOptions, type GameHudSourceKind, type GameHudSnapshot, type GameHudSnapshotItem, type GameHudSnapshotOptions, type GameHudTimerBindingOptions, type GameHudValueBindingOptions, type GameHudValueFormat, type GameInputActionState, type GameInputAxisSettings, type GameInputAxisBinding, type GameInputController, type GameInputOptions, type GameInputReplayDriver, type GameInputReplayDriverSnapshot, type GameInputReplayEvent, type GameInputReplayOptions, type GameInputReplayPlan, type GameInputSnapshot, type GameJumpAssistController, type GameJumpAssistOptions, type GameJumpAssistSnapshot, type GameJumpAssistUpdate, type GameKinematicBody, type GameKinematicBodyOptions, type GameKinematicBodySnapshot, type GameLoopPlan, type GamePointerSnapshot, type GameRectCollider, type GameRectColliderOptions, type GameRuntimeSubsystemId, type GameRuntimeSubsystemOwnership, type GameSimulation, type GameSimulationFrame, type GameSimulationOptions, type GameSimulationResult, type GameSimulationStepContext, type GameSimulationStepResult, type GameSphereCollider, type GameSphereColliderOptions, type GameSubsystemOwner, type GameTouchControlAnchor, type GameTouchControlKind, type GameTouchControlLayout, type GameTouchControlLayoutOptions, type GameTouchControlRegion, type GameTouchControlRequest, type GameVec3, type GamepadSnapshot } from "./GameRuntime.js";
110
131
  export { collectGameSceneRuntimeNodes, createGameSceneBridge, createRuntimeNodeSpec, type GameSceneBridge, type GameSceneBridgeApp, type GameSceneBridgeBodyLike, type GameSceneBridgeEvidence, type GameSceneBridgeNodeHandle, type GameSceneRuntimeNode } from "./GameSceneBridge.js";
111
- export { calculateRuntimeNodeBounds, createRuntimeNodeEffectAttachment, runtimeNodeHasTag, type AuraRuntimeNodeAnimationPoseBindingMetadata, type AuraRuntimeNodeAnimationBindingMetadata, type AuraRuntimeNodeBounds, type AuraRuntimeNodeEffectAttachment, type AuraRuntimeNodeEffectKind, type RuntimeNodeAnimationSpecLike, type RuntimeNodeBoundsInput, type RuntimeNodeHandleLike, type RuntimeNodeMorphTargetWeights, type RuntimeNodeVec3 } from "./RuntimeNodeHandle.js";
132
+ export { calculateRuntimeNodeBounds, createRuntimeNodeEffectAttachment, runtimeNodeHasTag, type AuraRuntimeNodeAnimationPoseBindingMetadata, type AuraRootMotionBinding, type AuraRuntimeNodeAnimationBindingMetadata, type AuraRuntimeNodeBounds, type AuraRuntimeNodeEffectAttachment, type AuraRuntimeNodeEffectKind, type RuntimeNodeAnimationSpecLike, type RuntimeNodeBoundsInput, type RuntimeNodeHandleLike, type RuntimeNodeMorphTargetWeights, type RuntimeNodeVec3 } from "./RuntimeNodeHandle.js";
112
133
  export { createFightingGameKit, fighting, fighterRuntimeNode, type FightingActorState, type FightingControls, type FightingGameKit, type FightingGameKitOptions, type FightingGameSnapshot, type FightingStageOptions } from "./game-kits/fighting.js";
113
134
  export { gameKits } from "./game-kits/index.js";
114
135
  export type { GameRuntimeEvidence, GameRuntimeEvidenceApp, GameRuntimeEvidenceOptions, GameRuntimeSourceEvidence } from "./GameEvidence.js";
@@ -116,6 +137,8 @@ export * from "./GameAssetValidation.js";
116
137
  export * from "./CharacterAssembly.js";
117
138
  export * from "./AssetEvidence.js";
118
139
  export * from "./AnimationController.js";
140
+ export * from "./AnimationMixerBuilders.js";
141
+ export * from "./AnimationDebugOverlay.js";
119
142
  export { gameAssetValidation, quaterniusGameReadyFighterValidationContract, validateQuaterniusGameReadyFighterAsset } from "./GameAssetValidation.js";
120
143
  export { createAnimationController } from "./AnimationController.js";
121
144
  export * from "./PromptAnimationContract.js";
@@ -150,6 +173,16 @@ export interface AuraProceduralTextureSpec {
150
173
  readonly colorB?: AuraColor;
151
174
  }
152
175
  export type AuraMaterialTextureInput = AuraAssetRef<"texture"> | AuraProceduralTextureSpec;
176
+ /**
177
+ * Per-map UV transform for the C1 textured-PBR slots (muse3jsparity-PRD C1).
178
+ * Offset/scale apply in UV units, rotation in radians, matching the native
179
+ * per-slot `*TextureTransform` uniforms.
180
+ */
181
+ export interface AuraTextureTransform {
182
+ readonly offset?: readonly [number, number];
183
+ readonly scale?: readonly [number, number];
184
+ readonly rotation?: number;
185
+ }
153
186
  export interface AuraAssetDefinition {
154
187
  readonly type: AuraAssetType;
155
188
  readonly format: string;
@@ -229,14 +262,72 @@ export interface AuraMaterialSpec {
229
262
  readonly iridescenceThicknessRange?: readonly [number, number];
230
263
  readonly anisotropy?: number;
231
264
  readonly anisotropyRotation?: number;
265
+ /**
266
+ * Desired texture sampler anisotropy (muse3jsparity-PRD C3). Defaults to 8;
267
+ * the request snaps to a device step and the renderer clamps to the device
268
+ * maximum at upload time, so low-capability devices fold down safely.
269
+ */
270
+ readonly textureAnisotropy?: number;
232
271
  readonly attenuationColor?: AuraColor;
233
272
  readonly attenuationDistance?: number;
273
+ /** P3 physical-extension bounded warnings, stamped by `material.physical` (muse3jsparity-PRD): surfaced by capability diagnostics, never silent. */
274
+ readonly physicalWarnings?: readonly string[];
234
275
  readonly envMapIntensity?: number;
235
276
  readonly normal?: AuraMaterialTextureInput;
236
277
  readonly normalScale?: number;
237
278
  readonly roughnessMap?: AuraMaterialTextureInput;
238
279
  readonly metalnessMap?: AuraMaterialTextureInput;
239
280
  readonly texture?: AuraAssetRef<"texture">;
281
+ /** Occlusion (AO/lightmap) slot: scalar is the strength 0..1, asset ref is the occlusion map. */
282
+ readonly occlusionMap?: AuraMaterialTextureInput;
283
+ readonly occlusionStrength?: number;
284
+ /** Emissive map slot: multiplied by `emissive` (default white when only the map is set) × `emissiveIntensity`. */
285
+ readonly emissiveMap?: AuraMaterialTextureInput;
286
+ /** glTF extension maps: data channels are linear; sheen color is sRGB. */
287
+ readonly clearcoatMap?: AuraAssetRef<"texture">;
288
+ readonly clearcoatRoughnessMap?: AuraAssetRef<"texture">;
289
+ readonly clearcoatNormalMap?: AuraAssetRef<"texture">;
290
+ readonly clearcoatNormalScale?: number;
291
+ readonly sheenColorMap?: AuraAssetRef<"texture">;
292
+ readonly sheenRoughnessMap?: AuraAssetRef<"texture">;
293
+ readonly iridescenceMap?: AuraAssetRef<"texture">;
294
+ readonly iridescenceThicknessMap?: AuraAssetRef<"texture">;
295
+ readonly anisotropyMap?: AuraAssetRef<"texture">;
296
+ /**
297
+ * Per-slot UV set selection for the native texCoord selector (muse3jsparity-PRD C1).
298
+ * 0 samples the authored unwrap, 1 the procedural 2x tiling unwrap.
299
+ */
300
+ readonly texCoords?: {
301
+ readonly baseColor?: 0 | 1;
302
+ readonly normal?: 0 | 1;
303
+ readonly metallicRoughness?: 0 | 1;
304
+ readonly occlusion?: 0 | 1;
305
+ readonly emissive?: 0 | 1;
306
+ readonly clearcoat?: 0 | 1;
307
+ readonly clearcoatRoughness?: 0 | 1;
308
+ readonly clearcoatNormal?: 0 | 1;
309
+ readonly sheenColor?: 0 | 1;
310
+ readonly sheenRoughness?: 0 | 1;
311
+ readonly iridescence?: 0 | 1;
312
+ readonly iridescenceThickness?: 0 | 1;
313
+ readonly anisotropy?: 0 | 1;
314
+ };
315
+ /** Per-slot UV transforms, passed through to the native per-slot transform uniforms. */
316
+ readonly texTransforms?: {
317
+ readonly baseColor?: AuraTextureTransform;
318
+ readonly normal?: AuraTextureTransform;
319
+ readonly metallicRoughness?: AuraTextureTransform;
320
+ readonly occlusion?: AuraTextureTransform;
321
+ readonly emissive?: AuraTextureTransform;
322
+ readonly clearcoat?: AuraTextureTransform;
323
+ readonly clearcoatRoughness?: AuraTextureTransform;
324
+ readonly clearcoatNormal?: AuraTextureTransform;
325
+ readonly sheenColor?: AuraTextureTransform;
326
+ readonly sheenRoughness?: AuraTextureTransform;
327
+ readonly iridescence?: AuraTextureTransform;
328
+ readonly iridescenceThickness?: AuraTextureTransform;
329
+ readonly anisotropy?: AuraTextureTransform;
330
+ };
240
331
  }
241
332
  export interface AuraEditableMaterialParameters {
242
333
  readonly kind: "aura-material-parameters";
@@ -288,7 +379,7 @@ export interface AuraMaterialVisualQAResult {
288
379
  readonly minimumMaterialDistance: number;
289
380
  readonly problems: readonly string[];
290
381
  }
291
- export type AuraMaterialCapabilityFeatureId = "base-color" | "base-color-texture" | "metallic-roughness" | "normal-map" | "emissive" | "alpha" | "double-sided" | "clearcoat" | "sheen" | "transmission" | "variants" | "hdr-ibl" | "shadow-maps";
382
+ export type AuraMaterialCapabilityFeatureId = "base-color" | "base-color-texture" | "metallic-roughness" | "normal-map" | "occlusion-map" | "emissive" | "alpha" | "double-sided" | "clearcoat" | "sheen" | "transmission" | "variants" | "hdr-ibl" | "shadow-maps";
292
383
  export type AuraMaterialCapabilitySupport = "supported" | "partial" | "metadata-only" | "unsupported" | "internal";
293
384
  export interface AuraMaterialCapabilityFeature {
294
385
  readonly id: AuraMaterialCapabilityFeatureId;
@@ -326,6 +417,14 @@ export interface AuraModelOptions extends AuraTransformSpec {
326
417
  readonly physics?: AuraNodePhysicsSpec;
327
418
  /** Exact glTF node names to suppress when composing a typed model into a route. */
328
419
  readonly hiddenNodeNames?: readonly string[];
420
+ /**
421
+ * Wrinkle-detail hook (E1 face-rig demo): per-frame the engine resolves
422
+ * `resolveWrinkleMapStrength(liveMorphWeights, wrinkle)` and uploads it as
423
+ * `u_wrinkleStrength` on shaders that declare it (skinned-lit family), modulating
424
+ * procedural normal detail. No authored wrinkle texture required; strength 0 renders
425
+ * exactly as without the hook. `textureUniform` is accepted but currently unused.
426
+ */
427
+ readonly wrinkle?: WrinkleMapHook;
329
428
  }
330
429
  export interface AuraPrimitiveOptions extends AuraTransformSpec {
331
430
  readonly name?: string;
@@ -481,6 +580,24 @@ export interface AuraModelNode extends AuraTransformSpec {
481
580
  readonly castShadow: boolean;
482
581
  readonly receiveShadow: boolean;
483
582
  readonly visible: boolean;
583
+ /** P2 model instancing (muse3jsparity-PRD): per-instance transforms consumed at mount exactly like primitive nodes. */
584
+ readonly instances?: readonly AuraTransformSpec[];
585
+ readonly instanceColors?: readonly AuraColor[];
586
+ readonly instanceLod?: {
587
+ readonly levels: readonly {
588
+ readonly maxDistance: number;
589
+ }[];
590
+ readonly hysteresis?: number;
591
+ };
592
+ /** P2 culling telemetry stamped by `instances.model`: centroid + bounding radius over instance positions. */
593
+ readonly instanceCulling?: {
594
+ readonly instanceCount: number;
595
+ readonly centroid: AuraVec3;
596
+ readonly boundingRadius: number;
597
+ readonly cullable: true;
598
+ };
599
+ /** P2 D1 fallback diagnostic stamped by `instances.model` when the material is not instancing-aware. */
600
+ readonly instancedModelWarning?: string;
484
601
  readonly role?: AuraModelRole;
485
602
  readonly scaleMode?: AuraModelScaleMode;
486
603
  readonly targetHeight?: number;
@@ -491,6 +608,8 @@ export interface AuraModelNode extends AuraTransformSpec {
491
608
  readonly physics?: AuraNodePhysicsSpec;
492
609
  readonly hiddenNodeNames?: readonly string[];
493
610
  readonly runtime?: AuraRuntimeNodeSpec;
611
+ /** Wrinkle-detail hook; see `AuraModelOptions.wrinkle`. */
612
+ readonly wrinkle?: WrinkleMapHook;
494
613
  }
495
614
  export interface AuraPrimitiveNode extends AuraTransformSpec {
496
615
  readonly kind: "primitive";
@@ -518,7 +637,7 @@ export interface AuraGroupNode extends AuraTransformSpec {
518
637
  readonly character?: AuraCharacterRigSpec;
519
638
  readonly runtime?: AuraRuntimeNodeSpec;
520
639
  }
521
- export type AuraLightType = "ambient" | "directional" | "point" | "studio" | "rect" | "softbox";
640
+ export type AuraLightType = "ambient" | "directional" | "point" | "studio" | "rect" | "softbox" | "spot";
522
641
  export interface AuraLightNode extends AuraTransformSpec {
523
642
  readonly kind: "light";
524
643
  readonly light: AuraLightType;
@@ -527,8 +646,14 @@ export interface AuraLightNode extends AuraTransformSpec {
527
646
  readonly intensity: number;
528
647
  readonly width?: number;
529
648
  readonly height?: number;
649
+ readonly target?: AuraVec3;
650
+ readonly angle?: number;
651
+ readonly penumbra?: number;
652
+ readonly distance?: number;
653
+ readonly decay?: number;
654
+ readonly shadow?: boolean;
530
655
  }
531
- export type AuraEffectType = "fog" | "bloom" | "rain" | "particles" | "ambient-occlusion" | "contact-occlusion";
656
+ export type AuraEffectType = "fog" | "bloom" | "rain" | "particles" | "ambient-occlusion" | "contact-occlusion" | "color-grade" | "anti-alias" | "outline" | "screen-space-reflections" | "depth-of-field" | "motion-blur" | "volumetric-fog" | "snow" | "flipbook-sprite" | "light-beam";
532
657
  export type AuraParticleMaterialMode = "additive-glow" | "soft-alpha" | "spark" | "smoke" | "splash" | "dust" | "star";
533
658
  export interface AuraEffectNode extends AuraTransformSpec {
534
659
  readonly kind: "effect";
@@ -547,6 +672,42 @@ export interface AuraEffectNode extends AuraTransformSpec {
547
672
  readonly threshold?: number;
548
673
  readonly antiBlowout?: boolean;
549
674
  readonly maxIntensity?: number;
675
+ /** Native bloom path (muse3jsparity-PRD A1): performance keeps the legacy single-scale ping-pong; balanced/cinematic use the mip pyramid. */
676
+ readonly quality?: "performance" | "balanced" | "cinematic";
677
+ /** HDR bright-extract knee width in [0, 0.5]; 0 keeps the hard threshold step. */
678
+ readonly softKnee?: number;
679
+ /** LDR composite highlight shoulder in [0, 1]; 0 keeps the legacy clamp. */
680
+ readonly shoulder?: number;
681
+ /** Color-grade exposure multiplier (muse3jsparity-PRD A3). */
682
+ readonly exposure?: number;
683
+ /** Color-grade contrast around mid-grey (muse3jsparity-PRD A3). */
684
+ readonly contrast?: number;
685
+ /** Color-grade saturation multiplier (muse3jsparity-PRD A3). */
686
+ readonly saturation?: number;
687
+ /** Recorded color-grade shadow lift: no native grade target yet, warned when set. */
688
+ readonly shadows?: number;
689
+ /** Recorded color-grade highlight gain: no native grade target yet, warned when set. */
690
+ readonly highlights?: number;
691
+ /** Reserved color-grade LUT asset id: recorded on the node, not yet sampled by the native grade. */
692
+ readonly lut?: string;
693
+ /** Anti-alias mode (muse3jsparity-PRD A3): fxaa executes natively; taa/off never submit a pass. */
694
+ readonly mode?: "fxaa" | "taa" | "off";
695
+ /** Outline width in pixels, 1-6 (muse3jsparity-PRD A3). */
696
+ readonly width?: number;
697
+ /** Depth-of-field focus as a linear-distance fraction, 0 = near, 1 = far (muse3jsparity-PRD A3). */
698
+ readonly focus?: number;
699
+ /** Depth-of-field blur-band width derived control in [0, 1] (muse3jsparity-PRD A3). */
700
+ readonly aperture?: number;
701
+ /** Depth-of-field maximum blur radius in pixels (muse3jsparity-PRD A3). */
702
+ readonly maxBlur?: number;
703
+ /** Volumetric-fog quality (muse3jsparity-PRD A5): "off" keeps forward exp2 fog only, never submits the inscatter pass. */
704
+ readonly volumetricQuality?: "off" | "balanced" | "quality" | "ultra";
705
+ /** Volumetric-fog radial anchor override in UV (muse3jsparity-PRD A5); defaults to the upper third. */
706
+ readonly lightPosition?: readonly [number, number];
707
+ /** Volumetric height falloff (muse3jsparity-PRD A5); 0 disables the height gate. */
708
+ readonly heightFalloff?: number;
709
+ /** Volumetric height reference in world units (muse3jsparity-PRD A5). */
710
+ readonly heightReference?: number;
550
711
  readonly emissionRate?: number;
551
712
  readonly gravity?: number;
552
713
  readonly groundCollision?: boolean;
@@ -560,6 +721,20 @@ export interface AuraEffectNode extends AuraTransformSpec {
560
721
  readonly noise?: number;
561
722
  readonly splashes?: boolean;
562
723
  readonly mist?: boolean;
724
+ /** Flipbook sprite sheet columns (muse3jsparity-PRD D4); validated fail-loud by resolveFlipbookUv. */
725
+ readonly spriteColumns?: number;
726
+ /** Flipbook sprite sheet rows (muse3jsparity-PRD D4). */
727
+ readonly spriteRows?: number;
728
+ /** Flipbook playback rate in frames per second (muse3jsparity-PRD D4). */
729
+ readonly frameRate?: number;
730
+ /** Light-beam start point in world units (muse3jsparity-PRD D4). */
731
+ readonly from?: AuraVec3;
732
+ /** Light-beam end point in world units (muse3jsparity-PRD D4). */
733
+ readonly to?: AuraVec3;
734
+ /** Light-beam width in world units (muse3jsparity-PRD D4). */
735
+ readonly widthWorld?: number;
736
+ /** Light-beam quad-strip segment count (muse3jsparity-PRD D4). */
737
+ readonly segmentCount?: number;
563
738
  }
564
739
  export interface AuraParticleBudgetDiagnostics {
565
740
  readonly kind: "aura-particle-budget";
@@ -600,10 +775,29 @@ export interface AuraLabelNode extends AuraTransformSpec {
600
775
  }
601
776
  export interface AuraEnvironmentNode {
602
777
  readonly kind: "environment";
603
- readonly environment: "studio" | "material-lab" | "product-hero" | "night-cinematic" | "metal-studio" | "glass-studio";
778
+ readonly environment: "studio" | "material-lab" | "product-hero" | "night-cinematic" | "metal-studio" | "glass-studio" | "hdri";
604
779
  readonly name?: string;
605
780
  readonly intensity: number;
606
781
  readonly color?: AuraColor;
782
+ /**
783
+ * B3 root HDRI input (muse3jsparity-PRD). Only meaningful with
784
+ * `environment: "hdri"`: a Radiance `.hdr` asset ref resolved post-mount
785
+ * through the HDR→cubemap→GGX→BRDF-LUT chain. Scalar/procedural first
786
+ * frames stay honest; `iblPixelBacked` reports the swap.
787
+ */
788
+ readonly texture?: AuraAssetRef<"texture">;
789
+ /**
790
+ * B3 second probe slot (muse3jsparity-PRD). Optional reflection `.hdr`:
791
+ * the diffuse/illumination term keeps sampling `texture` (roughest mip)
792
+ * while the specular term samples `reflectionTexture` (sharper mips).
793
+ * Absent, both terms sample `texture` (single probe).
794
+ */
795
+ readonly reflectionTexture?: AuraAssetRef<"texture">;
796
+ /**
797
+ * M3 HDRI rotation (muse3jsparity-PRD) in radians. Forwards into the
798
+ * production HDR chain (`environmentMapRotation`); 0 keeps B3 behavior.
799
+ */
800
+ readonly rotation?: number;
607
801
  }
608
802
  export type AuraSceneCategory = "product" | "material" | "neon" | "city-night" | "city-day" | "space" | "physics" | "chart" | "game";
609
803
  export interface AuraRendererColorManagementPreset {
@@ -659,6 +853,12 @@ export interface AuraCreateAppRendererOptions {
659
853
  readonly mode?: AuraRendererMode;
660
854
  readonly fallback?: AuraRendererFallbackMode;
661
855
  readonly qualityProfile?: AuraRendererQualityProfileId;
856
+ /**
857
+ * M2 texture streaming budget in bytes (muse3jsparity-PRD). Funds the
858
+ * distance-prioritized mip residency; the unfunded tail surfaces as
859
+ * over-budget telemetry instead of silent thrash. Default 256 MiB.
860
+ */
861
+ readonly textureBudgetBytes?: number;
662
862
  }
663
863
  export interface AuraRendererDiagnosticReport {
664
864
  readonly kind: "aura-renderer-diagnostics";
@@ -678,6 +878,7 @@ export interface AuraRendererDiagnosticReport {
678
878
  readonly threshold: number;
679
879
  readonly radius: number;
680
880
  readonly antiBlowout: boolean;
881
+ readonly quality?: "performance" | "balanced" | "cinematic";
681
882
  };
682
883
  readonly shadows: {
683
884
  /** True only when a mounted runtime actually sampled a shadow map. */
@@ -692,8 +893,28 @@ export interface AuraRendererDiagnosticReport {
692
893
  readonly label?: string;
693
894
  readonly nativeShadowMapBindings: number;
694
895
  readonly shadowRenderTargetsAllocated: number;
896
+ /** Submitted cascade matrices/point atlas state; null before a real shadow frame. */
897
+ readonly observed: Readonly<Record<string, unknown>> | null;
695
898
  readonly contactShadows: number;
696
899
  readonly mapType: "pcf-soft";
900
+ /**
901
+ * N1 authored spot shadow state (muse3jsparity-PRD). `requested` is the
902
+ * author intent (`lights.spot({ shadow: true })` winning the caster
903
+ * slot); `spotPixelBacked` additionally requires the device-observed
904
+ * map signals — never declared from intent alone.
905
+ */
906
+ readonly spot?: {
907
+ readonly requested: boolean;
908
+ readonly casterIsSpot: boolean;
909
+ readonly casterName?: string;
910
+ readonly angle?: number;
911
+ readonly penumbra?: number;
912
+ readonly range?: number;
913
+ readonly atlasResolution?: number;
914
+ readonly atlasReason?: string;
915
+ readonly spotPixelBacked: boolean;
916
+ readonly reason: string;
917
+ };
697
918
  };
698
919
  readonly occlusion: {
699
920
  readonly enabled: boolean;
@@ -721,6 +942,8 @@ export interface AuraRendererDiagnosticReport {
721
942
  readonly fallbackPasses: readonly string[];
722
943
  /** Device-observed render-target format used by the mounted composer. */
723
944
  readonly targetFormat?: "rgba8" | "rgba16f" | "rgba32f";
945
+ /** Device-observed postprocess execution path (muse3jsparity-PRD A1). */
946
+ readonly executionMode: RendererPostprocessExecutionMode | "unknown";
724
947
  readonly evidence: string;
725
948
  };
726
949
  readonly runtime: {
@@ -730,21 +953,67 @@ export interface AuraRendererDiagnosticReport {
730
953
  readonly passNames: readonly string[];
731
954
  readonly warnings: readonly string[];
732
955
  readonly nativeInstancedSubmissions: number;
956
+ readonly nativeTemporalPasses?: number;
957
+ readonly nativeTemporalBindings?: number;
733
958
  readonly submittedObjects: number;
734
959
  readonly visibleObjects: number;
735
960
  readonly culledObjects: number;
736
961
  readonly frustumTestedObjects: number;
962
+ /** Most recent native bloom execution observed on the device (muse3jsparity-PRD A1); null until a native bloom pass runs. */
963
+ readonly bloom: RenderDeviceDiagnostics["bloom"];
964
+ /** C3 sampler anisotropy telemetry: uploads issued and device maximum (1 when unsupported). */
965
+ readonly samplerAnisotropyUploads?: number;
966
+ readonly maxTextureAnisotropy?: number;
737
967
  readonly lodSelections: readonly {
738
968
  readonly nodeName: string;
739
969
  readonly levelIndex: number;
740
970
  readonly levelName: string;
741
971
  }[];
972
+ /** C1 per-material textured diagnostics; pixelBacked only after the post-mount upgrade swaps materials. */
973
+ readonly texturedMaterials: readonly {
974
+ readonly nodeName: string;
975
+ readonly levelName: string;
976
+ readonly status: "none" | "pending" | "textured" | "fallback";
977
+ readonly slots: readonly string[];
978
+ readonly pixelBacked: boolean;
979
+ readonly warnings: readonly string[];
980
+ }[];
742
981
  };
743
982
  readonly environment: {
744
983
  readonly enabled: boolean;
745
984
  readonly preset?: AuraEnvironmentNode["environment"];
746
985
  readonly intensity?: number;
747
986
  readonly evidence: string;
987
+ /** B3: true only after the HDRI chain swaps the live lighting object. */
988
+ readonly iblPixelBacked: boolean;
989
+ readonly hdriStatus: "none" | "pending" | "ready" | "fallback";
990
+ readonly dualProbe?: boolean;
991
+ };
992
+ /**
993
+ * G1 SDF world-text state (muse3jsparity-PRD). `textPixelBacked` is true
994
+ * only when the atlas-derived label texture uploaded AND SDF quads were
995
+ * submitted this frame — layout alone never backs pixels.
996
+ */
997
+ readonly text: {
998
+ readonly sdfTexts: number;
999
+ readonly textPixelBacked: boolean;
1000
+ readonly quadCount: number;
1001
+ readonly lastOpacity: number;
1002
+ readonly reason: string;
1003
+ };
1004
+ /**
1005
+ * M2 texture streaming residency (muse3jsparity-PRD). Funded from the
1006
+ * post-upgrade texture table against `textureBudgetBytes`; the unfunded
1007
+ * tail reports over-budget bytes instead of thrashing silently.
1008
+ */
1009
+ readonly textures: {
1010
+ readonly budgetBytes: number;
1011
+ readonly usedBytes: number;
1012
+ readonly requestedBytes: number;
1013
+ readonly overBudget: boolean;
1014
+ readonly overBudgetBytes: number;
1015
+ readonly residentEntries: number;
1016
+ readonly evictedEntries: readonly string[];
748
1017
  };
749
1018
  readonly antialiasing: AuraRendererQualityPreset["antialiasing"];
750
1019
  readonly screenshotQuality: AuraRendererQualityPreset;
@@ -898,12 +1167,49 @@ export declare const instances: {
898
1167
  readonly transforms: readonly AuraTransformSpec[];
899
1168
  readonly colors?: readonly AuraColor[];
900
1169
  }) => AuraNodeBuilder<AuraPrimitiveNode>;
1170
+ /**
1171
+ * P2 instanced GLB models (muse3jsparity-PRD): one draw class for repeated
1172
+ * static models. Skinned actors fall back with a D1 warning at mount (E1
1173
+ * owns rigs); explicitly unaware materials warn at build.
1174
+ */
1175
+ readonly model: <TAsset extends AuraAssetRef<"model">>(asset: TAsset, options: AuraModelOptions & {
1176
+ readonly transforms: readonly AuraTransformSpec[];
1177
+ readonly colors?: readonly AuraColor[];
1178
+ readonly lod?: {
1179
+ readonly levels: readonly {
1180
+ readonly maxDistance: number;
1181
+ }[];
1182
+ readonly hysteresis?: number;
1183
+ };
1184
+ readonly instancingAware?: boolean;
1185
+ readonly maxInstancesPerDraw?: number;
1186
+ }) => AuraNodeBuilder<AuraModelNode>;
1187
+ };
1188
+ export declare const visualScripting: {
1189
+ readonly graph: typeof createVisualScriptingGraphFn;
1190
+ readonly attach: typeof attachVisualScriptingGraphFn;
1191
+ readonly catalog: typeof listVisualScriptingNodeCatalogFn;
1192
+ };
1193
+ export declare const editor: {
1194
+ readonly undo: (context?: import("../../editor-runtime/index.js").CommandContext) => Promise<void>;
1195
+ readonly redo: (context?: import("../../editor-runtime/index.js").CommandContext) => Promise<void>;
1196
+ readonly gizmo: (kind: import("../../editor-runtime/index.js").RootEditorGizmoKind, target?: import("../../editor-runtime/index.js").TransformTarget) => import("../../editor-runtime/index.js").RootEditorGizmoHandle;
1197
+ readonly playMode: {
1198
+ readonly enter: () => void;
1199
+ readonly exit: (restore?: boolean) => void;
1200
+ };
1201
+ readonly outliner: (root: import("../../editor-runtime/index.js").AnimationSceneNode) => readonly import("../../editor-runtime/index.js").SceneOutlinerItem[];
1202
+ readonly capabilityLabel: "editor";
901
1203
  };
902
1204
  export declare const geometry: {
903
1205
  readonly define: typeof defineAuraCustomGeometry;
904
1206
  readonly custom: (spec: AuraCustomGeometrySpec, options?: Omit<AuraPrimitiveOptions, "geometry">) => AuraNodeBuilder<AuraPrimitiveNode>;
905
1207
  };
906
- export declare function text3D(text: string, options?: AuraText3DOptions & Omit<AuraPrimitiveOptions, "geometry" | "text3D">): AuraNodeBuilder<AuraPrimitiveNode>;
1208
+ export declare function text3D(text: string, options?: AuraText3DOptions & Omit<AuraPrimitiveOptions, "geometry" | "text3D"> & {
1209
+ readonly backend?: "extruded-mesh" | "sdf";
1210
+ readonly sdfStyle?: SdfTextStyle;
1211
+ readonly sdfOcclusion?: SdfTextOcclusionPolicy;
1212
+ }): AuraNodeBuilder<AuraPrimitiveNode>;
907
1213
  export declare function distanceLod(options: Omit<AuraPrimitiveOptions, "lod" | "geometry"> & {
908
1214
  readonly levels: readonly AuraRootLodLevelSpec[];
909
1215
  readonly hysteresis?: number;
@@ -972,6 +1278,7 @@ export declare const lights: {
972
1278
  readonly position?: AuraVec3;
973
1279
  readonly intensity?: number;
974
1280
  readonly color?: AuraColor;
1281
+ readonly shadow?: boolean;
975
1282
  }) => AuraNodeBuilder<AuraLightNode>;
976
1283
  readonly point: (options?: {
977
1284
  readonly name?: string;
@@ -979,6 +1286,18 @@ export declare const lights: {
979
1286
  readonly intensity?: number;
980
1287
  readonly color?: AuraColor;
981
1288
  }) => AuraNodeBuilder<AuraLightNode>;
1289
+ readonly spot: (options?: {
1290
+ readonly name?: string;
1291
+ readonly position?: AuraVec3;
1292
+ readonly target?: AuraVec3;
1293
+ readonly angle?: number;
1294
+ readonly penumbra?: number;
1295
+ readonly distance?: number;
1296
+ readonly decay?: number;
1297
+ readonly intensity?: number;
1298
+ readonly color?: AuraColor;
1299
+ readonly shadow?: boolean;
1300
+ }) => AuraNodeBuilder<AuraLightNode>;
982
1301
  readonly studio: (options?: {
983
1302
  readonly intensity?: number;
984
1303
  }) => AuraNodeBuilder<AuraLightNode>;
@@ -1014,6 +1333,10 @@ export interface AuraCameraSpec {
1014
1333
  readonly targetOffset?: AuraVec3;
1015
1334
  readonly offsetMode?: "scene" | "target-yaw";
1016
1335
  readonly fov?: number;
1336
+ /** Positive near clipping distance in world units; defaults to 0.05. */
1337
+ readonly near?: number;
1338
+ /** Far clipping distance in world units, greater than near; defaults to 100. */
1339
+ readonly far?: number;
1017
1340
  readonly distance?: number;
1018
1341
  readonly from?: AuraVec3;
1019
1342
  readonly to?: AuraVec3;
@@ -1052,6 +1375,12 @@ export interface AuraCameraFrameAssetOptions {
1052
1375
  readonly minDistance?: number;
1053
1376
  }
1054
1377
  export declare const camera: {
1378
+ readonly shoulder: typeof import("./GameCameraRigs.js").createShoulderCamera;
1379
+ readonly collisionAwareOrbit: typeof import("./GameCameraRigs.js").createCollisionAwareOrbit;
1380
+ readonly shake: typeof import("./GameCameraRigs.js").createTraumaShake;
1381
+ readonly punchIn: typeof import("./GameCameraRigs.js").createPunchIn;
1382
+ readonly followRig: typeof import("./GameCameraRigs.js").createFollowRig;
1383
+ readonly gameRig: typeof import("./GameCameraRigs.js").createGameCameraRig;
1055
1384
  readonly perspective: (options?: Omit<AuraCameraSpec, "mode">) => AuraCameraSpec;
1056
1385
  readonly orbit: (options?: Omit<AuraCameraSpec, "mode">) => AuraCameraSpec;
1057
1386
  readonly dolly: (options: Omit<AuraCameraSpec, "mode"> & {
@@ -1108,6 +1437,15 @@ export declare const camera: {
1108
1437
  readonly miniGolf: () => AuraCameraSpec;
1109
1438
  readonly neon: () => AuraCameraSpec;
1110
1439
  };
1440
+ export declare const gameFeel: {
1441
+ readonly create: typeof import("./GameFeel.js").createGameFeel;
1442
+ readonly hitStopDefaults: {
1443
+ readonly light: 0.045;
1444
+ readonly heavy: 0.07;
1445
+ readonly special: 0.1;
1446
+ readonly default: 0.06;
1447
+ };
1448
+ };
1111
1449
  export interface AuraTimelineSpec {
1112
1450
  readonly mode: "loop" | "once";
1113
1451
  readonly seconds?: number;
@@ -1126,13 +1464,155 @@ export declare const effects: {
1126
1464
  readonly bloom: (options?: Omit<AuraEffectNode, "kind" | "effect">) => AuraNodeBuilder<AuraEffectNode>;
1127
1465
  readonly cinematicBloom: (options?: Omit<AuraEffectNode, "kind" | "effect">) => AuraNodeBuilder<AuraEffectNode>;
1128
1466
  readonly neonBloom: (options?: Omit<AuraEffectNode, "kind" | "effect">) => AuraNodeBuilder<AuraEffectNode>;
1467
+ /**
1468
+ * A5 volumetric fog (muse3jsparity-PRD): builds a DISTINCT "volumetric-fog"
1469
+ * node (never plain fog) that submits the depth-aware inscatter pass plus
1470
+ * forward GPU height-fog terms. quality "off" keeps forward exp2 fog only.
1471
+ */
1129
1472
  readonly volumetricFog: (options?: Omit<AuraEffectNode, "kind" | "effect">) => AuraNodeBuilder<AuraEffectNode>;
1130
1473
  readonly depthFog: (options?: Omit<AuraEffectNode, "kind" | "effect">) => AuraNodeBuilder<AuraEffectNode>;
1131
1474
  readonly ambientOcclusion: (options?: Omit<AuraEffectNode, "kind" | "effect">) => AuraNodeBuilder<AuraEffectNode>;
1132
1475
  readonly contactOcclusion: (options?: Omit<AuraEffectNode, "kind" | "effect">) => AuraNodeBuilder<AuraEffectNode>;
1476
+ /**
1477
+ * Root color-grade node (muse3jsparity-PRD A3). contrast/saturation execute
1478
+ * natively; exposure/shadows/highlights/lut are recorded on the node and
1479
+ * warned (no native grade target yet — never silently accepted).
1480
+ */
1481
+ readonly colorGrade: (options?: Omit<AuraEffectNode, "kind" | "effect">) => AuraNodeBuilder<AuraEffectNode>;
1482
+ /**
1483
+ * Root anti-alias node (muse3jsparity-PRD A3). `fxaa` executes natively;
1484
+ * `off` submits nothing; `taa` uses renderer-owned velocity/history for opaque
1485
+ * rigid triangles. Unsupported deforming/transparent geometry emits a named warning.
1486
+ */
1487
+ readonly antiAlias: (options?: Omit<AuraEffectNode, "kind" | "effect">) => AuraNodeBuilder<AuraEffectNode>;
1488
+ /**
1489
+ * Root outline node (muse3jsparity-PRD A3): native outline pass, width in
1490
+ * pixels clamped to the device range 1-6 by the bridge.
1491
+ */
1492
+ readonly outline: (options?: Omit<AuraEffectNode, "kind" | "effect">) => AuraNodeBuilder<AuraEffectNode>;
1493
+ /**
1494
+ * Root screen-space reflections node (muse3jsparity-PRD A3): submits the
1495
+ * native SSR pass against renderer-owned depth where available.
1496
+ */
1497
+ readonly screenSpaceReflections: (options?: Omit<AuraEffectNode, "kind" | "effect">) => AuraNodeBuilder<AuraEffectNode>;
1498
+ /**
1499
+ * Root depth-of-field node (muse3jsparity-PRD A3). focus is a
1500
+ * linear-distance fraction (0 = near plane, 1 = far plane); aperture widens
1501
+ * the focus transition band (game-tuned control, not a physical f-stop).
1502
+ */
1503
+ readonly depthOfField: (options?: Omit<AuraEffectNode, "kind" | "effect">) => AuraNodeBuilder<AuraEffectNode>;
1504
+ /**
1505
+ * Root motion-blur node: renderer-owned GPU velocity for opaque rigid geometry.
1506
+ * Unsupported deforming/transparent/instanced geometry emits a named warning.
1507
+ */
1508
+ readonly motionBlur: (options?: Omit<AuraEffectNode, "kind" | "effect">) => AuraNodeBuilder<AuraEffectNode>;
1133
1509
  readonly rain: (options?: Omit<AuraEffectNode, "kind" | "effect">) => AuraNodeBuilder<AuraEffectNode>;
1510
+ readonly snow: (options?: Omit<AuraEffectNode, "kind" | "effect">) => AuraNodeBuilder<AuraEffectNode>;
1511
+ /**
1512
+ * Flipbook explosion/muzzle-flash sprite sheet (muse3jsparity-PRD D4):
1513
+ * recorded with validated sheet geometry, but withheld — root has no
1514
+ * native sprite-sheet sampler yet, so no pass is submitted.
1515
+ */
1516
+ readonly flipbook: (options?: Omit<AuraEffectNode, "kind" | "effect">) => AuraNodeBuilder<AuraEffectNode>;
1517
+ /**
1518
+ * Additive thick light beam / fence strip (muse3jsparity-PRD D4): recorded
1519
+ * with a validated quad-strip descriptor, but withheld — root has no native
1520
+ * beam target yet, so no pass is submitted.
1521
+ */
1522
+ readonly beam: (options?: Omit<AuraEffectNode, "kind" | "effect">) => AuraNodeBuilder<AuraEffectNode>;
1134
1523
  readonly particles: (options?: Omit<AuraEffectNode, "kind" | "effect">) => AuraNodeBuilder<AuraEffectNode>;
1135
1524
  };
1525
+ /**
1526
+ * D3 atmosphere builders (PRD D3 boxes 1-2). ADDITIVE root surface over the
1527
+ * pure descriptors in `@aura3d/rendering` (`DayNightSky.ts`,
1528
+ * `AtmosphereWetness.ts`, `Weather.ts`).
1529
+ *
1530
+ * Every builder below composes pre-existing node kinds only (primitive,
1531
+ * light, effect); no existing builder is modified. Precipitation pixels in
1532
+ * the default production path come from weather-state-driven primitive
1533
+ * streaks/flakes, because the production bridge does not pixel-back `rain`,
1534
+ * `snow`, or `particles` effect passes (they render only in the safe-basic
1535
+ * fallback and the Canvas2D diagnostic path). The matching effect node is
1536
+ * still declared so diagnostics report the request.
1537
+ */
1538
+ export declare const sky: {
1539
+ /** Time-of-day sky: background key, sun/moon discs, stars, 2D-noise clouds, key light. */
1540
+ readonly dayNight: (options?: DayNightSkyOptions & {
1541
+ readonly starLimit?: number;
1542
+ readonly cloudLimit?: number;
1543
+ }) => {
1544
+ readonly nodes: readonly AuraSceneNode[];
1545
+ readonly background: string;
1546
+ readonly dayFactor: number;
1547
+ readonly visibleStarCount: number;
1548
+ };
1549
+ };
1550
+ export declare const weather: {
1551
+ /** Rain/snow declaration + weather-state-driven primitive streaks/flakes for production-path pixels. */
1552
+ readonly precipitation: (options: {
1553
+ readonly type: WeatherType;
1554
+ readonly seed?: number;
1555
+ readonly streakLimit?: number;
1556
+ readonly elapsedSeconds?: number;
1557
+ }) => {
1558
+ readonly nodes: readonly AuraSceneNode[];
1559
+ readonly dropCount: number;
1560
+ readonly wetness: number;
1561
+ };
1562
+ /** Ground slab with wetness darkening + puddle discs mapped from WeatherPuddlePatch. */
1563
+ readonly wetGround: (options?: {
1564
+ readonly type?: WeatherType;
1565
+ readonly dryColor?: string;
1566
+ readonly dryRoughness?: number;
1567
+ readonly seed?: number;
1568
+ readonly size?: number;
1569
+ }) => {
1570
+ readonly nodes: readonly AuraSceneNode[];
1571
+ readonly wetness: number;
1572
+ readonly albedoColor: string;
1573
+ readonly roughness: number;
1574
+ readonly puddleCount: number;
1575
+ };
1576
+ /** Lightning-flash light hook: intensity is 0 unless type is thunderstorm. */
1577
+ readonly lightning: (options?: {
1578
+ readonly type: WeatherType;
1579
+ readonly elapsedSeconds?: number;
1580
+ readonly seed?: number;
1581
+ }) => {
1582
+ readonly nodes: readonly AuraSceneNode[];
1583
+ readonly intensity: number;
1584
+ };
1585
+ };
1586
+ /**
1587
+ * D3 water surface builder (PRD D3 box 3). ADDITIVE root surface over
1588
+ * `createWaterSurface` in `@aura3d/rendering`.
1589
+ *
1590
+ * Rendered material = layered opaque depth-tinted bands (bounded refraction
1591
+ * look) + fresnel-baked sky tint + white shore-foam discs mapped from
1592
+ * `OceanFoamPatch` + boat + fading wake trail. Buoyancy queries stay on the
1593
+ * fixture (`sampleOceanFixture().buoyancy`); this builder creates no planar
1594
+ * reflection/refraction targets (B4 dependency, see
1595
+ * WATER_SURFACE_PLANAR_DEPENDENCY).
1596
+ */
1597
+ export declare const water: {
1598
+ readonly surface: (options?: {
1599
+ readonly preset?: WaterSurfacePreset;
1600
+ readonly seed?: number;
1601
+ readonly boat?: WaterSurfaceBoat;
1602
+ readonly withBoatHull?: boolean;
1603
+ }) => {
1604
+ readonly nodes: readonly AuraSceneNode[];
1605
+ readonly bandCount: number;
1606
+ readonly foamCount: number;
1607
+ readonly wakeActive: boolean;
1608
+ readonly wakeSegmentCount: number;
1609
+ };
1610
+ /** Fixture-side buoyancy telemetry passthrough (no physics implemented here). */
1611
+ readonly buoyancy: (options?: {
1612
+ readonly preset?: WaterSurfacePreset;
1613
+ readonly seed?: number;
1614
+ }) => ReturnType<typeof sampleOceanFixture>["buoyancy"];
1615
+ };
1136
1616
  export declare const interactions: {
1137
1617
  readonly orbit: (options?: {
1138
1618
  readonly target?: string;
@@ -1223,6 +1703,16 @@ export declare const environments: {
1223
1703
  readonly glassStudio: (options?: AuraEnvironmentOptions) => AuraNodeBuilder<AuraEnvironmentNode>;
1224
1704
  readonly presets: () => readonly AuraEnvironmentMapPreset[];
1225
1705
  readonly forMaterial: (materialClass: "metal" | "glass" | "product" | "studio") => AuraNodeBuilder<AuraEnvironmentNode>;
1706
+ /**
1707
+ * B3 root HDRI environment (muse3jsparity-PRD). The `.hdr` asset resolves
1708
+ * post-mount: first frames render the honest studio procedural fallback,
1709
+ * then the HDR→cubemap→GGX-prefilter→BRDF-LUT chain swaps in and
1710
+ * `iblPixelBacked` flips true in diagnostics. Fetch/parse failures keep the
1711
+ * fallback and warn — never a black scene, never a silent swap.
1712
+ */
1713
+ readonly hdri: (options: AuraEnvironmentOptions & {
1714
+ texture: AuraAssetRef<"texture">;
1715
+ }) => AuraNodeBuilder<AuraEnvironmentNode>;
1226
1716
  };
1227
1717
  export declare const renderer: {
1228
1718
  readonly colorManagementPreset: () => AuraRendererColorManagementPreset;
@@ -1234,6 +1724,104 @@ export declare const renderer: {
1234
1724
  readonly screenshotQuality: () => AuraRendererQualityPreset;
1235
1725
  readonly diagnostics: (sceneValue: AuraSceneBuilder | AuraSceneSnapshot, options?: AuraCreateAppRendererOptions) => AuraRendererDiagnosticReport;
1236
1726
  };
1727
+ interface AuraRendererRuntimeObservation {
1728
+ readonly mounted: boolean;
1729
+ readonly backend: "scene-plan" | "webgl2-agent-runtime" | "production-runtime";
1730
+ readonly postprocess: {
1731
+ readonly renderPass: boolean;
1732
+ readonly outputPass: boolean;
1733
+ readonly bloomPass: boolean;
1734
+ readonly ambientOcclusionPass: boolean;
1735
+ readonly contactOcclusionReceiver: boolean;
1736
+ readonly pixelBacked: boolean;
1737
+ readonly actualPasses: readonly string[];
1738
+ readonly fallbackPasses: readonly string[];
1739
+ readonly targetFormat?: "rgba8" | "rgba16f" | "rgba32f";
1740
+ /** Device-observed postprocess execution path (muse3jsparity-PRD A1). */
1741
+ readonly executionMode: RendererPostprocessExecutionMode | "unknown";
1742
+ };
1743
+ readonly environment?: {
1744
+ readonly enabled: boolean;
1745
+ readonly preset?: AuraEnvironmentNode["environment"] | string;
1746
+ readonly intensity?: number;
1747
+ readonly evidence: string;
1748
+ /** B3: true only after the HDRI chain swaps the live lighting object. */
1749
+ readonly iblPixelBacked?: boolean;
1750
+ readonly hdriStatus?: "none" | "pending" | "ready" | "fallback";
1751
+ readonly dualProbe?: boolean;
1752
+ readonly hdriRotation?: number;
1753
+ };
1754
+ /**
1755
+ * Device-observed shadow-map activity. This exists because the root report
1756
+ * previously published `shadows.enabled: true` unconditionally, which is a
1757
+ * source-authored boolean rather than evidence that any shadow map was
1758
+ * rendered or sampled.
1759
+ */
1760
+ readonly shadow?: {
1761
+ readonly requested: boolean;
1762
+ readonly mapRendered: boolean;
1763
+ readonly mapSampled: boolean;
1764
+ readonly mapSize?: number;
1765
+ readonly label?: string;
1766
+ readonly nativeShadowMapBindings?: number;
1767
+ readonly shadowRenderTargetsAllocated?: number;
1768
+ readonly observed?: Readonly<Record<string, unknown>> | null;
1769
+ /**
1770
+ * N1 authored spot shadow state (muse3jsparity-PRD). `spotPixelBacked`
1771
+ * requires the device-observed map signals on a spot caster.
1772
+ */
1773
+ readonly spot?: {
1774
+ readonly requested: boolean;
1775
+ readonly casterIsSpot: boolean;
1776
+ readonly casterName?: string;
1777
+ readonly angle?: number;
1778
+ readonly penumbra?: number;
1779
+ readonly range?: number;
1780
+ readonly atlasResolution?: number;
1781
+ readonly atlasReason?: string;
1782
+ readonly spotPixelBacked: boolean;
1783
+ readonly reason: string;
1784
+ };
1785
+ };
1786
+ /** G1 SDF text observation, computed from the mounted primitive entries. */
1787
+ readonly text?: {
1788
+ readonly sdfTexts: number;
1789
+ readonly textPixelBacked: boolean;
1790
+ readonly quadCount: number;
1791
+ readonly lastOpacity: number;
1792
+ readonly reason: string;
1793
+ };
1794
+ /** M2 streaming residency, funded from the post-upgrade texture table. */
1795
+ readonly textures?: {
1796
+ readonly budgetBytes: number;
1797
+ readonly usedBytes: number;
1798
+ readonly requestedBytes: number;
1799
+ readonly overBudget: boolean;
1800
+ readonly overBudgetBytes: number;
1801
+ readonly residentEntries: number;
1802
+ readonly evictedEntries: readonly string[];
1803
+ };
1804
+ readonly warnings?: readonly string[];
1805
+ readonly deviceDiagnostics?: Pick<RenderDeviceDiagnostics, "nativeTemporalPasses" | "nativeTemporalBindings" | "nativeInstancedSubmissions" | "submittedObjects" | "visibleObjects" | "culledObjects" | "frustumTestedObjects" | "bloom" | "samplerAnisotropyUploads" | "maxTextureAnisotropy">;
1806
+ readonly lodSelections?: readonly {
1807
+ readonly nodeName: string;
1808
+ readonly levelIndex: number;
1809
+ readonly levelName: string;
1810
+ }[];
1811
+ /**
1812
+ * C1 per-material textured diagnostics. pixelBacked is true only after the
1813
+ * post-mount upgrade swaps in the TexturedPBRMaterial (scalar first frames
1814
+ * report false, never a premature true).
1815
+ */
1816
+ readonly texturedMaterials?: readonly {
1817
+ readonly nodeName: string;
1818
+ readonly levelName: string;
1819
+ readonly status: "none" | "pending" | "textured" | "fallback";
1820
+ readonly slots: readonly string[];
1821
+ readonly pixelBacked: boolean;
1822
+ readonly warnings: readonly string[];
1823
+ }[];
1824
+ }
1237
1825
  export interface AuraSceneSnapshot {
1238
1826
  readonly schema: "aura3d-scene-snapshot/1.0";
1239
1827
  readonly background: AuraColor;
@@ -2405,6 +2993,8 @@ export interface AuraDiagnostics {
2405
2993
  * while evidence counted the nodes, so the counted-node signal is not enough.
2406
2994
  */
2407
2995
  readonly labels?: readonly ProjectedLabel[];
2996
+ readonly labelTelemetry?: LabelTelemetry;
2997
+ readonly textBuckets?: TextBucketSummary;
2408
2998
  }
2409
2999
  export interface AuraAssetProvenance {
2410
3000
  readonly source: "typed-aura-assets-manifest" | "unsafe-url" | "inline-definition";
@@ -2551,6 +3141,21 @@ export interface AuraRuntimeNodeImportedAssetEvidence {
2551
3141
  readonly renderItemCount: number;
2552
3142
  readonly skinnedRenderItemCount: number;
2553
3143
  readonly morphRenderItemCount: number;
3144
+ readonly lastMaterialTracksApplied?: number | undefined;
3145
+ readonly lastLightTracksApplied?: number | undefined;
3146
+ readonly lastFootPlantingGroundedFeet?: number | undefined;
3147
+ readonly lastFootPlantingTargetError?: number | undefined;
3148
+ readonly lastFootPlantingHipOffset?: number | undefined;
3149
+ readonly lastFootPlantingMissingLegs?: readonly string[] | undefined;
3150
+ readonly lastFootPlantingDeformation?: TypedGLBActorEvidence["lastFootPlantingDeformation"];
3151
+ readonly lastFootPlantingSurfaces?: TypedGLBActorEvidence["lastFootPlantingSurfaces"];
3152
+ readonly lastFootPlantingFeet?: readonly {
3153
+ readonly side: "left" | "right";
3154
+ readonly worldPosition: readonly [number, number, number];
3155
+ readonly contactError: number;
3156
+ readonly locked: boolean;
3157
+ }[] | undefined;
3158
+ readonly footPlantingConfigured?: boolean | undefined;
2554
3159
  readonly diagnostics: readonly AuraRuntimeNodeImportedAssetDiagnostic[];
2555
3160
  }
2556
3161
  export interface AuraRuntimeNodeImportedAssetDiagnostic {
@@ -2576,6 +3181,21 @@ export interface AuraRuntimeNodeImportedAssetEvidenceInput {
2576
3181
  readonly renderItemCount?: number | undefined;
2577
3182
  readonly skinnedRenderItemCount?: number | undefined;
2578
3183
  readonly morphRenderItemCount?: number | undefined;
3184
+ readonly lastMaterialTracksApplied?: number | undefined;
3185
+ readonly lastLightTracksApplied?: number | undefined;
3186
+ readonly lastFootPlantingGroundedFeet?: number | undefined;
3187
+ readonly lastFootPlantingTargetError?: number | undefined;
3188
+ readonly lastFootPlantingHipOffset?: number | undefined;
3189
+ readonly lastFootPlantingMissingLegs?: readonly string[] | undefined;
3190
+ readonly lastFootPlantingDeformation?: TypedGLBActorEvidence["lastFootPlantingDeformation"];
3191
+ readonly lastFootPlantingSurfaces?: TypedGLBActorEvidence["lastFootPlantingSurfaces"];
3192
+ readonly lastFootPlantingFeet?: readonly {
3193
+ readonly side: "left" | "right";
3194
+ readonly worldPosition: readonly [number, number, number];
3195
+ readonly contactError: number;
3196
+ readonly locked: boolean;
3197
+ }[] | undefined;
3198
+ readonly footPlantingConfigured?: boolean | undefined;
2579
3199
  readonly requiredClips?: readonly string[] | undefined;
2580
3200
  readonly requiredBones?: readonly string[] | undefined;
2581
3201
  readonly requiredMorphTargets?: readonly string[] | undefined;
@@ -2614,6 +3234,8 @@ export interface AuraApp {
2614
3234
  */
2615
3235
  readonly physics: AuraPhysicsRuntime;
2616
3236
  setScene(scene: AuraSceneBuilder | AuraSceneSnapshot): void;
3237
+ /** Apply native renderer quality between completed frames; rejects unsupported particle owners. */
3238
+ setPerformanceQuality(settings: AuraPerformanceQuality): void;
2617
3239
  onFrame(callback: AuraFrameCallback): () => void;
2618
3240
  offFrame(callback: AuraFrameCallback): void;
2619
3241
  input(options: GameInputOptions): ReturnType<typeof createGameInput>;
@@ -2676,12 +3298,18 @@ export interface AuraApp {
2676
3298
  */
2677
3299
  advance(dt?: number): void;
2678
3300
  step(dt?: number): void;
3301
+ /** Submit a native asynchronous production frame. Rejects unavailable or disposed renderers. */
3302
+ stepAsync(dt?: number): Promise<void>;
3303
+ /** Wait for pending submissions and release renderer resources. */
3304
+ disposeAsync(): Promise<void>;
2679
3305
  diagnostics(): AuraDiagnostics;
2680
3306
  evidence(options?: GameRuntimeEvidenceOptions): ReturnType<typeof collectGameRuntimeEvidenceV105>;
2681
3307
  screenshot(): AuraScreenshot;
2682
3308
  dispose(): void;
2683
3309
  }
2684
3310
  export interface AuraCreateAppOptions {
3311
+ /** Native asynchronous presentation for the automatic loop; synchronous remains the default. */
3312
+ readonly frameMode?: "sync" | "async";
2685
3313
  readonly scene: AuraSceneBuilder | AuraSceneSnapshot;
2686
3314
  /**
2687
3315
  * Configuration for {@link AuraApp.physics}.
@@ -2697,10 +3325,20 @@ export interface AuraCreateAppOptions {
2697
3325
  readonly layers?: AuraCollisionLayers | undefined;
2698
3326
  /** World gravity. Defaults to `[0, -9.81, 0]`; top-down games usually want zero. */
2699
3327
  readonly gravity?: readonly [number, number, number] | undefined;
3328
+ /** Repeatability seed provenance (H1): recorded on the world, fail-loud unless a finite integer. */
3329
+ readonly seed?: number | undefined;
3330
+ /** Continuous-collision selection (H1): without this the app world never enables CCD. */
3331
+ readonly continuousCollision?: PhysicsContinuousCollisionDescriptor | undefined;
2700
3332
  };
2701
3333
  readonly diagnostics?: boolean | AuraDiagnosticsOptions;
2702
3334
  readonly renderer?: AuraCreateAppRendererOptions;
2703
3335
  readonly pixelRatio?: number;
3336
+ /**
3337
+ * Native renderer quality applied before the first production frame. Use this
3338
+ * when a known device/capture budget must constrain the initial render; later
3339
+ * changes use {@link AuraApp.setPerformanceQuality} between completed frames.
3340
+ */
3341
+ readonly performanceQuality?: AuraPerformanceQuality;
2704
3342
  readonly autoStart?: boolean;
2705
3343
  readonly resize?: boolean;
2706
3344
  }
@@ -2767,6 +3405,161 @@ export declare const performance: {
2767
3405
  };
2768
3406
  export declare function captureAuraScreenshot(target?: HTMLCanvasElement): AuraScreenshot;
2769
3407
  export declare function createAuraAssetLoadError(asset: AuraAssetRef<"model">, reason: string): AuraRuntimeError;
3408
+ interface ProductionRuntimePrimitiveEntry {
3409
+ readonly node: AuraPrimitiveNode;
3410
+ readonly resources: readonly ProductionRuntimePrimitiveResource[];
3411
+ currentLodIndex: number;
3412
+ }
3413
+ interface ProductionRuntimePrimitiveResource {
3414
+ readonly geometry: Geometry;
3415
+ readonly material: PBRMaterial | InstancedPBRMaterial;
3416
+ readonly bounds: GltfBounds;
3417
+ readonly name: string;
3418
+ /** Source material spec (for the C1 textured upgrade); undefined when the node carries none. */
3419
+ readonly materialSpec: AuraMaterialSpec | undefined;
3420
+ /** Effective primitive node (LOD level node when applicable) for scalar re-derivation on upgrade. */
3421
+ readonly sourceNode: AuraPrimitiveNode;
3422
+ /**
3423
+ * C1 textured upgrade slot. The sync factory always installs a scalar
3424
+ * material first; the post-mount upgrade swaps in a TexturedPBRMaterial
3425
+ * once authored texture refs resolve. Reads prefer this slot.
3426
+ */
3427
+ texturedMaterial: TexturedPBRMaterial | null;
3428
+ /** Owns decoded bitmap and texture resources created by asynchronous upgrade. */
3429
+ textureDisposer?: () => void;
3430
+ /** C1 upgrade lifecycle: none (no texture inputs) → pending → textured | fallback. */
3431
+ textureStatus: "none" | "pending" | "textured" | "fallback";
3432
+ /** Native texture slots bound by the upgrade (subset of baseColor/normal/metallicRoughness). */
3433
+ textureSlots: readonly string[];
3434
+ /** Per-resource texture warnings (procedural inputs, fetch failures, skips). */
3435
+ textureWarnings: string[];
3436
+ /**
3437
+ * G1 SDF text state. Non-null only when the SDF sampler mounted this
3438
+ * resource as atlas-derived quads (textPixelBacked diagnostics source).
3439
+ */
3440
+ sdfText: {
3441
+ readonly quadCount: number;
3442
+ readonly imageBytes: number;
3443
+ readonly lodFadeNear?: number;
3444
+ readonly lodFadeFar?: number;
3445
+ readonly occlusionPolicy: SdfTextOcclusionPolicy;
3446
+ /** Last per-frame opacity written to the quad material (LOD x occlusion). */
3447
+ lastOpacity: number;
3448
+ /** Last per-frame visibility (occlusion hide policy skips submission). */
3449
+ lastVisible: boolean;
3450
+ /** True when quads were submitted on the last frame (pixel-backing leg). */
3451
+ lastSubmitted: boolean;
3452
+ } | null;
3453
+ /**
3454
+ * M2 streaming table: resident texture bytes on this resource (base +
3455
+ * full mip-chain estimate) feeding the distance-prioritized residency.
3456
+ */
3457
+ textureBytes: number;
3458
+ /** Coarse-to-fine mip-level bytes for the residency funding walk. */
3459
+ textureMipBytes: readonly number[];
3460
+ }
3461
+ export declare function resolveNativeBloomRadius(authoredRadius: number | undefined): number;
3462
+ /**
3463
+ * Shadow bias is compared in normalized light-depth space. Directional maps use
3464
+ * an orthographic projection, so their existing scene-radius/texel heuristic is
3465
+ * world-linear. A spot map is perspective: applying that world-space value at
3466
+ * the far end of its cone erased legitimate caster/receiver separation (Aura
3467
+ * Clash measured 0.00147 normalized depth versus the old 0.004 constant bias),
3468
+ * and the default slope term could erase the remainder on a vertical receiver.
3469
+ * Keep the established directional/point policy intact and use a bounded
3470
+ * fraction of one normalized spot-map texel for both perspective terms.
3471
+ */
3472
+ export declare function resolveProductionRuntimeShadowTuning(kind: CollectedLight["kind"] | undefined, size: number, sceneRadius: number): {
3473
+ readonly bias: number;
3474
+ readonly slopeBias?: number;
3475
+ };
3476
+ /**
3477
+ * N1 caster selection (pure, unit-tested): an explicit `shadow: true`
3478
+ * request wins the single caster slot over unrequested lights; ties and
3479
+ * all-unrequested scenes keep the legacy priority-then-intensity order.
3480
+ */
3481
+ export declare function resolveProductionShadowCasterIndex(descriptors: readonly {
3482
+ readonly shadowPriority: number;
3483
+ readonly shadowRequested: boolean;
3484
+ readonly shadowDisabled?: boolean;
3485
+ readonly intensity: number;
3486
+ }[]): number;
3487
+ /**
3488
+ * C1 texture intent classification (pure, unit-tested). Asset refs resolve to
3489
+ * fetchable urls; procedural inputs have no rasterizer and are reported so
3490
+ * the caller can warn instead of silently dropping them.
3491
+ */
3492
+ declare const ROOT_EXTENSION_TEXTURE_SLOTS: readonly ["clearcoat", "clearcoatRoughness", "clearcoatNormal", "sheenColor", "sheenRoughness", "iridescence", "iridescenceThickness", "anisotropy"];
3493
+ type RootExtensionTextureSlot = typeof ROOT_EXTENSION_TEXTURE_SLOTS[number];
3494
+ export declare function createProductionPrimitiveTextureIntent(materialSpec: AuraMaterialSpec | undefined): {
3495
+ readonly baseColorUrl?: string;
3496
+ readonly normalUrl?: string;
3497
+ readonly roughnessUrl?: string;
3498
+ readonly metalnessUrl?: string;
3499
+ readonly occlusionUrl?: string;
3500
+ readonly emissiveUrl?: string;
3501
+ readonly extensionMaps?: Readonly<Partial<Record<RootExtensionTextureSlot, {
3502
+ readonly url: string;
3503
+ readonly colorSpace: "srgb" | "linear";
3504
+ readonly texCoord: 0 | 1;
3505
+ readonly transform?: AuraTextureTransform;
3506
+ }>>>;
3507
+ readonly proceduralInputs: readonly string[];
3508
+ };
3509
+ /**
3510
+ * C1 post-mount textured upgrade (muse3jsparity-PRD). Runs fire-and-forget
3511
+ * after mount: scalar first frames stay fast and honest, and every outcome —
3512
+ * textured, fallback, or skipped — is recorded on the resource with warnings.
3513
+ * Procedural inputs have no rasterizer: recorded + warned, never faked.
3514
+ */
3515
+ export declare function upgradeProductionPrimitiveTextures(entries: readonly ProductionRuntimePrimitiveEntry[], warn: (message: string) => void, maxTextureSize?: number): Promise<void>;
3516
+ /**
3517
+ * B3 post-mount HDRI upgrade (muse3jsparity-PRD). Fetches a Radiance `.hdr`
3518
+ * asset, runs the HDR→cubemap→GGX-prefilter→BRDF-LUT chain, and returns the
3519
+ * live lighting object plus its disposal. Throws on fetch/parse failure so
3520
+ * the caller keeps the honest procedural fallback and warns.
3521
+ */
3522
+ export declare function upgradeProductionEnvironmentHdri(url: string, intensity: number, reflectionUrl?: string, rotation?: number): Promise<{
3523
+ readonly lighting: EnvironmentLightingOptions;
3524
+ readonly dispose: () => void;
3525
+ readonly maxLinearValue: number;
3526
+ readonly specularMipCount: number;
3527
+ readonly dualProbe: boolean;
3528
+ }>;
3529
+ export declare function compositeMetallicRoughnessPixels(rough: Uint8Array | undefined, metal: Uint8Array | undefined, pixelCount: number, roughnessScalar: number, metalnessScalar: number): Uint8Array;
3530
+ /**
3531
+ * M2 mip-chain byte estimate (pure, unit-tested): full chain from the base
3532
+ * level, coarse-to-fine, RGBA8. Matches the GPU residency the bridge funds.
3533
+ */
3534
+ export declare function mipChainBytesCoarseToFine(width: number, height: number): readonly number[];
3535
+ /** M2 streaming budget normalization (pure, unit-tested): default 256 MiB, fail-closed. */
3536
+ export declare function normalizeTextureBudgetBytes(value: number | undefined): number;
3537
+ export interface TextureStreamingTableEntry {
3538
+ readonly id: string;
3539
+ readonly mipBytesCoarseToFine: readonly number[];
3540
+ readonly distanceMeters: number;
3541
+ }
3542
+ /**
3543
+ * M2 streaming residency from the post-upgrade texture table (pure,
3544
+ * unit-tested): distance-prioritized mip funding against the budget with
3545
+ * over-budget telemetry for the unfunded tail.
3546
+ */
3547
+ export declare function describeTextureStreamingResidency(table: readonly TextureStreamingTableEntry[], budgetBytes: number): TextureStreamingResidency;
3548
+ /**
3549
+ * N1 spot shadow observation (pure, unit-tested): cone + atlas tier from the
3550
+ * authored spot, pixel-backing gated on the device-observed map signals with
3551
+ * the spot as caster. No signal, no claim.
3552
+ */
3553
+ export declare function describeProductionSpotShadow(input: {
3554
+ readonly requested: boolean;
3555
+ readonly casterIsSpot: boolean;
3556
+ readonly casterName?: string;
3557
+ readonly angle?: number;
3558
+ readonly penumbra?: number;
3559
+ readonly range?: number;
3560
+ readonly mapRendered: boolean;
3561
+ readonly mapSampled: boolean;
3562
+ }): NonNullable<AuraRendererRuntimeObservation["shadow"]>["spot"];
2770
3563
  interface ProductionBoundsProbe {
2771
3564
  readonly assetId: string;
2772
3565
  readonly metadata: {
@@ -2788,5 +3581,9 @@ interface ProductionBoundsProbe {
2788
3581
  * silently producing mismatched framing.
2789
3582
  */
2790
3583
  export declare function auraProductionBoundsProbes(): readonly ProductionBoundsProbe[];
3584
+ interface GltfBounds {
3585
+ readonly min: AuraVec3;
3586
+ readonly max: AuraVec3;
3587
+ }
2791
3588
  export declare function isOrthographicCameraMode(mode: AuraCameraMode): boolean;
2792
3589
  //# sourceMappingURL=index.d.ts.map