@aura3d/engine 2.0.4 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (651) hide show
  1. package/README.md +25 -10
  2. package/dist/animation/AnimationAction.d.ts.map +1 -1
  3. package/dist/animation/AnimationAction.js +20 -2
  4. package/dist/animation/AnimationAction.js.map +1 -1
  5. package/dist/animation/AnimationLayer.d.ts +1 -0
  6. package/dist/animation/AnimationLayer.d.ts.map +1 -1
  7. package/dist/animation/AnimationLayer.js +24 -3
  8. package/dist/animation/AnimationLayer.js.map +1 -1
  9. package/dist/animation/AnimationMixer.d.ts +3 -0
  10. package/dist/animation/AnimationMixer.d.ts.map +1 -1
  11. package/dist/animation/AnimationMixer.js +69 -5
  12. package/dist/animation/AnimationMixer.js.map +1 -1
  13. package/dist/animation/AnimationTrack.d.ts.map +1 -1
  14. package/dist/animation/AnimationTrack.js +13 -0
  15. package/dist/animation/AnimationTrack.js.map +1 -1
  16. package/dist/animation/FootIk.d.ts +10 -0
  17. package/dist/animation/FootIk.d.ts.map +1 -1
  18. package/dist/animation/FootIk.js +95 -3
  19. package/dist/animation/FootIk.js.map +1 -1
  20. package/dist/animation/HumanoidRetargeting.d.ts +29 -0
  21. package/dist/animation/HumanoidRetargeting.d.ts.map +1 -1
  22. package/dist/animation/HumanoidRetargeting.js +41 -1
  23. package/dist/animation/HumanoidRetargeting.js.map +1 -1
  24. package/dist/animation/LocomotionKit.d.ts +6 -0
  25. package/dist/animation/LocomotionKit.d.ts.map +1 -1
  26. package/dist/animation/LocomotionKit.js +6 -0
  27. package/dist/animation/LocomotionKit.js.map +1 -1
  28. package/dist/animation/RootMotion.d.ts +27 -0
  29. package/dist/animation/RootMotion.d.ts.map +1 -1
  30. package/dist/animation/RootMotion.js +38 -0
  31. package/dist/animation/RootMotion.js.map +1 -1
  32. package/dist/animation/SpringBones.d.ts +28 -0
  33. package/dist/animation/SpringBones.d.ts.map +1 -1
  34. package/dist/animation/SpringBones.js +24 -0
  35. package/dist/animation/SpringBones.js.map +1 -1
  36. package/dist/assets/GLTFAnimationRuntime.d.ts +95 -2
  37. package/dist/assets/GLTFAnimationRuntime.d.ts.map +1 -1
  38. package/dist/assets/GLTFAnimationRuntime.js +328 -3
  39. package/dist/assets/GLTFAnimationRuntime.js.map +1 -1
  40. package/dist/assets/GLTFExtensionSupport.js +2 -2
  41. package/dist/assets/GLTFExtensionSupport.js.map +1 -1
  42. package/dist/assets/GLTFLoader.d.ts +360 -1
  43. package/dist/assets/GLTFLoader.d.ts.map +1 -1
  44. package/dist/assets/GLTFLoader.js +197 -1
  45. package/dist/assets/GLTFLoader.js.map +1 -1
  46. package/dist/assets/KTX2BasisTextureTranscoder.d.ts +39 -0
  47. package/dist/assets/KTX2BasisTextureTranscoder.d.ts.map +1 -1
  48. package/dist/assets/KTX2BasisTextureTranscoder.js +70 -0
  49. package/dist/assets/KTX2BasisTextureTranscoder.js.map +1 -1
  50. package/dist/assets/TexturePipeline.d.ts +20 -0
  51. package/dist/assets/TexturePipeline.d.ts.map +1 -1
  52. package/dist/assets/TexturePipeline.js +20 -0
  53. package/dist/assets/TexturePipeline.js.map +1 -1
  54. package/dist/assets/TextureStreaming.d.ts +30 -0
  55. package/dist/assets/TextureStreaming.d.ts.map +1 -1
  56. package/dist/assets/TextureStreaming.js +53 -0
  57. package/dist/assets/TextureStreaming.js.map +1 -1
  58. package/dist/assets/browser-index.d.ts +7 -3
  59. package/dist/assets/browser-index.d.ts.map +1 -1
  60. package/dist/assets/browser-index.js +3 -1
  61. package/dist/assets/browser-index.js.map +1 -1
  62. package/dist/assets/gltf-runtime.d.ts +1 -1
  63. package/dist/assets/gltf-runtime.d.ts.map +1 -1
  64. package/dist/assets/gltf-runtime.js.map +1 -1
  65. package/dist/assets/index.d.ts +7 -7
  66. package/dist/assets/index.d.ts.map +1 -1
  67. package/dist/assets/index.js +3 -3
  68. package/dist/assets/index.js.map +1 -1
  69. package/dist/assets/loaders/HDRLoader.d.ts +40 -0
  70. package/dist/assets/loaders/HDRLoader.d.ts.map +1 -1
  71. package/dist/assets/loaders/HDRLoader.js +158 -0
  72. package/dist/assets/loaders/HDRLoader.js.map +1 -1
  73. package/dist/audio/AudioSource.d.ts +2 -0
  74. package/dist/audio/AudioSource.d.ts.map +1 -1
  75. package/dist/audio/AudioSource.js +7 -0
  76. package/dist/audio/AudioSource.js.map +1 -1
  77. package/dist/audio/Footsteps.d.ts +47 -0
  78. package/dist/audio/Footsteps.d.ts.map +1 -0
  79. package/dist/audio/Footsteps.js +73 -0
  80. package/dist/audio/Footsteps.js.map +1 -0
  81. package/dist/audio/GameMixer.d.ts +69 -0
  82. package/dist/audio/GameMixer.d.ts.map +1 -0
  83. package/dist/audio/GameMixer.js +141 -0
  84. package/dist/audio/GameMixer.js.map +1 -0
  85. package/dist/audio/PositionalEmitter.d.ts +95 -0
  86. package/dist/audio/PositionalEmitter.d.ts.map +1 -0
  87. package/dist/audio/PositionalEmitter.js +199 -0
  88. package/dist/audio/PositionalEmitter.js.map +1 -0
  89. package/dist/audio/index.d.ts +6 -0
  90. package/dist/audio/index.d.ts.map +1 -1
  91. package/dist/audio/index.js +3 -0
  92. package/dist/audio/index.js.map +1 -1
  93. package/dist/aura3d-cli/pull-bridge/profiles.d.ts +12 -2
  94. package/dist/aura3d-cli/pull-bridge/profiles.d.ts.map +1 -1
  95. package/dist/aura3d-cli/pull-bridge/profiles.js +35 -4
  96. package/dist/aura3d-cli/pull-bridge/profiles.js.map +1 -1
  97. package/dist/aura3d-cli/pull-bridge/provenance.d.ts +15 -1
  98. package/dist/aura3d-cli/pull-bridge/provenance.d.ts.map +1 -1
  99. package/dist/aura3d-cli/pull-bridge/provenance.js +60 -1
  100. package/dist/aura3d-cli/pull-bridge/provenance.js.map +1 -1
  101. package/dist/aura3d-cli/pull-bridge/scoring.d.ts +10 -1
  102. package/dist/aura3d-cli/pull-bridge/scoring.d.ts.map +1 -1
  103. package/dist/aura3d-cli/pull-bridge/scoring.js +9 -1
  104. package/dist/aura3d-cli/pull-bridge/scoring.js.map +1 -1
  105. package/dist/aura3d-cli/pull-bridge/search.js +2 -2
  106. package/dist/aura3d-cli/pull-bridge/search.js.map +1 -1
  107. package/dist/aura3d-cli/pull-bridge.d.ts +15 -3
  108. package/dist/aura3d-cli/pull-bridge.d.ts.map +1 -1
  109. package/dist/aura3d-cli/pull-bridge.js +68 -5
  110. package/dist/aura3d-cli/pull-bridge.js.map +1 -1
  111. package/dist/controls/ArcballControls.d.ts +92 -0
  112. package/dist/controls/ArcballControls.d.ts.map +1 -0
  113. package/dist/controls/ArcballControls.js +286 -0
  114. package/dist/controls/ArcballControls.js.map +1 -0
  115. package/dist/controls/DragControls.d.ts +13 -0
  116. package/dist/controls/DragControls.d.ts.map +1 -1
  117. package/dist/controls/DragControls.js +24 -1
  118. package/dist/controls/DragControls.js.map +1 -1
  119. package/dist/controls/FlyControls.d.ts +9 -0
  120. package/dist/controls/FlyControls.d.ts.map +1 -1
  121. package/dist/controls/FlyControls.js +20 -2
  122. package/dist/controls/FlyControls.js.map +1 -1
  123. package/dist/controls/FocusFrame.d.ts +34 -0
  124. package/dist/controls/FocusFrame.d.ts.map +1 -0
  125. package/dist/controls/FocusFrame.js +82 -0
  126. package/dist/controls/FocusFrame.js.map +1 -0
  127. package/dist/controls/HoverOutline.d.ts +46 -0
  128. package/dist/controls/HoverOutline.d.ts.map +1 -0
  129. package/dist/controls/HoverOutline.js +87 -0
  130. package/dist/controls/HoverOutline.js.map +1 -0
  131. package/dist/controls/InteractionControls.d.ts +7 -0
  132. package/dist/controls/InteractionControls.d.ts.map +1 -1
  133. package/dist/controls/InteractionControls.js +12 -1
  134. package/dist/controls/InteractionControls.js.map +1 -1
  135. package/dist/controls/NativeControlTypes.d.ts +17 -0
  136. package/dist/controls/NativeControlTypes.d.ts.map +1 -1
  137. package/dist/controls/NativeControlTypes.js.map +1 -1
  138. package/dist/controls/OrbitControls.d.ts +9 -0
  139. package/dist/controls/OrbitControls.d.ts.map +1 -1
  140. package/dist/controls/OrbitControls.js +26 -6
  141. package/dist/controls/OrbitControls.js.map +1 -1
  142. package/dist/controls/Picking.d.ts +15 -0
  143. package/dist/controls/Picking.d.ts.map +1 -1
  144. package/dist/controls/Picking.js +62 -23
  145. package/dist/controls/Picking.js.map +1 -1
  146. package/dist/controls/PointerLockControls.d.ts.map +1 -1
  147. package/dist/controls/PointerLockControls.js +4 -0
  148. package/dist/controls/PointerLockControls.js.map +1 -1
  149. package/dist/controls/SelectionManager.d.ts +8 -0
  150. package/dist/controls/SelectionManager.d.ts.map +1 -1
  151. package/dist/controls/SelectionManager.js +11 -0
  152. package/dist/controls/SelectionManager.js.map +1 -1
  153. package/dist/controls/TrackballControls.d.ts +7 -0
  154. package/dist/controls/TrackballControls.d.ts.map +1 -1
  155. package/dist/controls/TrackballControls.js +19 -5
  156. package/dist/controls/TrackballControls.js.map +1 -1
  157. package/dist/controls/TransformControls.d.ts +8 -0
  158. package/dist/controls/TransformControls.d.ts.map +1 -1
  159. package/dist/controls/TransformControls.js +15 -2
  160. package/dist/controls/TransformControls.js.map +1 -1
  161. package/dist/controls/index.d.ts +6 -0
  162. package/dist/controls/index.d.ts.map +1 -1
  163. package/dist/controls/index.js +3 -0
  164. package/dist/controls/index.js.map +1 -1
  165. package/dist/create-aura3d/index.js +1 -1
  166. package/dist/editor-runtime/RootEditorSurface.d.ts +65 -0
  167. package/dist/editor-runtime/RootEditorSurface.d.ts.map +1 -0
  168. package/dist/editor-runtime/RootEditorSurface.js +62 -0
  169. package/dist/editor-runtime/RootEditorSurface.js.map +1 -0
  170. package/dist/editor-runtime/index.d.ts +2 -0
  171. package/dist/editor-runtime/index.d.ts.map +1 -1
  172. package/dist/editor-runtime/index.js +1 -0
  173. package/dist/editor-runtime/index.js.map +1 -1
  174. package/dist/engine/agent-api/AnimationController.d.ts +9 -1
  175. package/dist/engine/agent-api/AnimationController.d.ts.map +1 -1
  176. package/dist/engine/agent-api/AnimationController.js +5 -1
  177. package/dist/engine/agent-api/AnimationController.js.map +1 -1
  178. package/dist/engine/agent-api/AnimationDebugOverlay.d.ts +56 -0
  179. package/dist/engine/agent-api/AnimationDebugOverlay.d.ts.map +1 -0
  180. package/dist/engine/agent-api/AnimationDebugOverlay.js +148 -0
  181. package/dist/engine/agent-api/AnimationDebugOverlay.js.map +1 -0
  182. package/dist/engine/agent-api/AnimationMixerBuilders.d.ts +41 -0
  183. package/dist/engine/agent-api/AnimationMixerBuilders.d.ts.map +1 -0
  184. package/dist/engine/agent-api/AnimationMixerBuilders.js +146 -0
  185. package/dist/engine/agent-api/AnimationMixerBuilders.js.map +1 -0
  186. package/dist/engine/agent-api/AssetDecoders.d.ts +17 -0
  187. package/dist/engine/agent-api/AssetDecoders.d.ts.map +1 -0
  188. package/dist/engine/agent-api/AssetDecoders.js +18 -0
  189. package/dist/engine/agent-api/AssetDecoders.js.map +1 -0
  190. package/dist/engine/agent-api/Decals.d.ts +174 -0
  191. package/dist/engine/agent-api/Decals.d.ts.map +1 -0
  192. package/dist/engine/agent-api/Decals.js +350 -0
  193. package/dist/engine/agent-api/Decals.js.map +1 -0
  194. package/dist/engine/agent-api/FootPlanting.d.ts +75 -0
  195. package/dist/engine/agent-api/FootPlanting.d.ts.map +1 -0
  196. package/dist/engine/agent-api/FootPlanting.js +60 -0
  197. package/dist/engine/agent-api/FootPlanting.js.map +1 -0
  198. package/dist/engine/agent-api/GameAppRuntime.d.ts +19 -0
  199. package/dist/engine/agent-api/GameAppRuntime.d.ts.map +1 -1
  200. package/dist/engine/agent-api/GameAppRuntime.js +37 -1
  201. package/dist/engine/agent-api/GameAppRuntime.js.map +1 -1
  202. package/dist/engine/agent-api/GameCameraRigs.d.ts +185 -0
  203. package/dist/engine/agent-api/GameCameraRigs.d.ts.map +1 -0
  204. package/dist/engine/agent-api/GameCameraRigs.js +414 -0
  205. package/dist/engine/agent-api/GameCameraRigs.js.map +1 -0
  206. package/dist/engine/agent-api/GameFeel.d.ts +100 -0
  207. package/dist/engine/agent-api/GameFeel.d.ts.map +1 -0
  208. package/dist/engine/agent-api/GameFeel.js +226 -0
  209. package/dist/engine/agent-api/GameFeel.js.map +1 -0
  210. package/dist/engine/agent-api/LabelTelemetry.d.ts +108 -0
  211. package/dist/engine/agent-api/LabelTelemetry.d.ts.map +1 -0
  212. package/dist/engine/agent-api/LabelTelemetry.js +116 -0
  213. package/dist/engine/agent-api/LabelTelemetry.js.map +1 -0
  214. package/dist/engine/agent-api/NavigationCrowds.d.ts +146 -0
  215. package/dist/engine/agent-api/NavigationCrowds.d.ts.map +1 -0
  216. package/dist/engine/agent-api/NavigationCrowds.js +104 -0
  217. package/dist/engine/agent-api/NavigationCrowds.js.map +1 -0
  218. package/dist/engine/agent-api/PhysicsRuntime.d.ts +61 -5
  219. package/dist/engine/agent-api/PhysicsRuntime.d.ts.map +1 -1
  220. package/dist/engine/agent-api/PhysicsRuntime.js +53 -21
  221. package/dist/engine/agent-api/PhysicsRuntime.js.map +1 -1
  222. package/dist/engine/agent-api/RootGeometry.d.ts +16 -1
  223. package/dist/engine/agent-api/RootGeometry.d.ts.map +1 -1
  224. package/dist/engine/agent-api/RootGeometry.js.map +1 -1
  225. package/dist/engine/agent-api/RuntimeNodeHandle.d.ts +6 -0
  226. package/dist/engine/agent-api/RuntimeNodeHandle.d.ts.map +1 -1
  227. package/dist/engine/agent-api/RuntimeNodeHandle.js.map +1 -1
  228. package/dist/engine/agent-api/Scatter.d.ts +18 -0
  229. package/dist/engine/agent-api/Scatter.d.ts.map +1 -0
  230. package/dist/engine/agent-api/Scatter.js +18 -0
  231. package/dist/engine/agent-api/Scatter.js.map +1 -0
  232. package/dist/engine/agent-api/TouchControlBinding.d.ts +32 -0
  233. package/dist/engine/agent-api/TouchControlBinding.d.ts.map +1 -1
  234. package/dist/engine/agent-api/TouchControlBinding.js +36 -0
  235. package/dist/engine/agent-api/TouchControlBinding.js.map +1 -1
  236. package/dist/engine/agent-api/VehicleChassis.d.ts.map +1 -1
  237. package/dist/engine/agent-api/VehicleChassis.js +76 -13
  238. package/dist/engine/agent-api/VehicleChassis.js.map +1 -1
  239. package/dist/engine/agent-api/index.d.ts +708 -6
  240. package/dist/engine/agent-api/index.d.ts.map +1 -1
  241. package/dist/engine/agent-api/index.js +1757 -134
  242. package/dist/engine/agent-api/index.js.map +1 -1
  243. package/dist/engine/agent-api/product-viewer-runtime.d.ts.map +1 -1
  244. package/dist/engine/game/GameAudio.d.ts +66 -0
  245. package/dist/engine/game/GameAudio.d.ts.map +1 -1
  246. package/dist/engine/game/GameAudio.js +179 -44
  247. package/dist/engine/game/GameAudio.js.map +1 -1
  248. package/dist/engine/instances-model/InstancedModel.d.ts +111 -0
  249. package/dist/engine/instances-model/InstancedModel.d.ts.map +1 -0
  250. package/dist/engine/instances-model/InstancedModel.js +108 -0
  251. package/dist/engine/instances-model/InstancedModel.js.map +1 -0
  252. package/dist/engine/material-physical/PhysicalMaterialSpec.d.ts +72 -0
  253. package/dist/engine/material-physical/PhysicalMaterialSpec.d.ts.map +1 -0
  254. package/dist/engine/material-physical/PhysicalMaterialSpec.js +95 -0
  255. package/dist/engine/material-physical/PhysicalMaterialSpec.js.map +1 -0
  256. package/dist/engine/production-runtime/GameAppRuntime.d.ts +1 -1
  257. package/dist/engine/production-runtime/GameAppRuntime.d.ts.map +1 -1
  258. package/dist/engine/production-runtime/GameRenderPreset.d.ts +76 -0
  259. package/dist/engine/production-runtime/GameRenderPreset.d.ts.map +1 -1
  260. package/dist/engine/production-runtime/GameRenderPreset.js +167 -0
  261. package/dist/engine/production-runtime/GameRenderPreset.js.map +1 -1
  262. package/dist/engine/production-runtime/TypedGLBActor.d.ts +22 -2
  263. package/dist/engine/production-runtime/TypedGLBActor.d.ts.map +1 -1
  264. package/dist/engine/production-runtime/TypedGLBActor.js +33 -1
  265. package/dist/engine/production-runtime/TypedGLBActor.js.map +1 -1
  266. package/dist/engine/production-runtime/index.d.ts +4 -4
  267. package/dist/engine/production-runtime/index.d.ts.map +1 -1
  268. package/dist/engine/production-runtime/index.js +5 -3
  269. package/dist/engine/production-runtime/index.js.map +1 -1
  270. package/dist/input/ActionMap.d.ts +40 -0
  271. package/dist/input/ActionMap.d.ts.map +1 -1
  272. package/dist/input/ActionMap.js +179 -0
  273. package/dist/input/ActionMap.js.map +1 -1
  274. package/dist/input/ComboDetector.d.ts +49 -0
  275. package/dist/input/ComboDetector.d.ts.map +1 -0
  276. package/dist/input/ComboDetector.js +102 -0
  277. package/dist/input/ComboDetector.js.map +1 -0
  278. package/dist/input/Haptics.d.ts +46 -0
  279. package/dist/input/Haptics.d.ts.map +1 -0
  280. package/dist/input/Haptics.js +67 -0
  281. package/dist/input/Haptics.js.map +1 -0
  282. package/dist/input/TouchLayouts.d.ts +35 -0
  283. package/dist/input/TouchLayouts.d.ts.map +1 -0
  284. package/dist/input/TouchLayouts.js +88 -0
  285. package/dist/input/TouchLayouts.js.map +1 -0
  286. package/dist/input/WebXRSessionController.d.ts +53 -0
  287. package/dist/input/WebXRSessionController.d.ts.map +1 -1
  288. package/dist/input/WebXRSessionController.js +88 -2
  289. package/dist/input/WebXRSessionController.js.map +1 -1
  290. package/dist/input/index.d.ts +8 -2
  291. package/dist/input/index.d.ts.map +1 -1
  292. package/dist/input/index.js +3 -0
  293. package/dist/input/index.js.map +1 -1
  294. package/dist/lean/game.d.ts +98 -0
  295. package/dist/lean/game.d.ts.map +1 -1
  296. package/dist/lean/game.js +192 -0
  297. package/dist/lean/game.js.map +1 -1
  298. package/dist/materials/GameReadyMaterialLibrary.d.ts +39 -0
  299. package/dist/materials/GameReadyMaterialLibrary.d.ts.map +1 -0
  300. package/dist/materials/GameReadyMaterialLibrary.js +253 -0
  301. package/dist/materials/GameReadyMaterialLibrary.js.map +1 -0
  302. package/dist/materials/MaterialValidation.d.ts +21 -0
  303. package/dist/materials/MaterialValidation.d.ts.map +1 -1
  304. package/dist/materials/MaterialValidation.js +105 -0
  305. package/dist/materials/MaterialValidation.js.map +1 -1
  306. package/dist/materials/browser-index.d.ts +2 -0
  307. package/dist/materials/browser-index.d.ts.map +1 -1
  308. package/dist/materials/browser-index.js +1 -0
  309. package/dist/materials/browser-index.js.map +1 -1
  310. package/dist/materials/node.d.ts +2 -2
  311. package/dist/materials/node.d.ts.map +1 -1
  312. package/dist/materials/node.js +1 -1
  313. package/dist/materials/node.js.map +1 -1
  314. package/dist/physics/CollisionVolumes.d.ts +59 -0
  315. package/dist/physics/CollisionVolumes.d.ts.map +1 -1
  316. package/dist/physics/CollisionVolumes.js +87 -0
  317. package/dist/physics/CollisionVolumes.js.map +1 -1
  318. package/dist/physics/PhysicsDebugDraw.d.ts +37 -0
  319. package/dist/physics/PhysicsDebugDraw.d.ts.map +1 -1
  320. package/dist/physics/PhysicsDebugDraw.js +38 -1
  321. package/dist/physics/PhysicsDebugDraw.js.map +1 -1
  322. package/dist/physics/PhysicsWorld.d.ts +15 -0
  323. package/dist/physics/PhysicsWorld.d.ts.map +1 -1
  324. package/dist/physics/PhysicsWorld.js +8 -1
  325. package/dist/physics/PhysicsWorld.js.map +1 -1
  326. package/dist/physics/solverless.d.ts +1 -1
  327. package/dist/physics/solverless.d.ts.map +1 -1
  328. package/dist/physics/solverless.js.map +1 -1
  329. package/dist/physics-rapier/index.d.ts +7 -1
  330. package/dist/physics-rapier/index.d.ts.map +1 -1
  331. package/dist/physics-rapier/index.js +1 -1
  332. package/dist/physics-rapier/index.js.map +1 -1
  333. package/dist/react/index.d.ts +136 -2
  334. package/dist/react/index.d.ts.map +1 -1
  335. package/dist/react/index.js +251 -10
  336. package/dist/react/index.js.map +1 -1
  337. package/dist/rendering/AtmosphereWetness.d.ts +61 -0
  338. package/dist/rendering/AtmosphereWetness.d.ts.map +1 -0
  339. package/dist/rendering/AtmosphereWetness.js +99 -0
  340. package/dist/rendering/AtmosphereWetness.js.map +1 -0
  341. package/dist/rendering/ClusteredForwardLighting.d.ts +25 -1
  342. package/dist/rendering/ClusteredForwardLighting.d.ts.map +1 -1
  343. package/dist/rendering/ClusteredForwardLighting.js +80 -3
  344. package/dist/rendering/ClusteredForwardLighting.js.map +1 -1
  345. package/dist/rendering/DayNightSky.d.ts +63 -0
  346. package/dist/rendering/DayNightSky.d.ts.map +1 -0
  347. package/dist/rendering/DayNightSky.js +156 -0
  348. package/dist/rendering/DayNightSky.js.map +1 -0
  349. package/dist/rendering/EnvironmentPresetPack.d.ts +30 -0
  350. package/dist/rendering/EnvironmentPresetPack.d.ts.map +1 -0
  351. package/dist/rendering/EnvironmentPresetPack.js +49 -0
  352. package/dist/rendering/EnvironmentPresetPack.js.map +1 -0
  353. package/dist/rendering/ForwardPass.d.ts +65 -0
  354. package/dist/rendering/ForwardPass.d.ts.map +1 -1
  355. package/dist/rendering/ForwardPass.js +196 -2
  356. package/dist/rendering/ForwardPass.js.map +1 -1
  357. package/dist/rendering/InstancedPBRMaterial.d.ts +1 -0
  358. package/dist/rendering/InstancedPBRMaterial.d.ts.map +1 -1
  359. package/dist/rendering/InstancedPBRMaterial.js +3 -0
  360. package/dist/rendering/InstancedPBRMaterial.js.map +1 -1
  361. package/dist/rendering/InstancingDiagnostics.d.ts +69 -0
  362. package/dist/rendering/InstancingDiagnostics.d.ts.map +1 -0
  363. package/dist/rendering/InstancingDiagnostics.js +98 -0
  364. package/dist/rendering/InstancingDiagnostics.js.map +1 -0
  365. package/dist/rendering/LightingRig.d.ts +19 -1
  366. package/dist/rendering/LightingRig.d.ts.map +1 -1
  367. package/dist/rendering/LightingRig.js +61 -1
  368. package/dist/rendering/LightingRig.js.map +1 -1
  369. package/dist/rendering/MeshConsolidation.d.ts +12 -0
  370. package/dist/rendering/MeshConsolidation.d.ts.map +1 -1
  371. package/dist/rendering/MeshConsolidation.js +28 -0
  372. package/dist/rendering/MeshConsolidation.js.map +1 -1
  373. package/dist/rendering/MorphTargetPlan.d.ts +29 -2
  374. package/dist/rendering/MorphTargetPlan.d.ts.map +1 -1
  375. package/dist/rendering/MorphTargetPlan.js +23 -4
  376. package/dist/rendering/MorphTargetPlan.js.map +1 -1
  377. package/dist/rendering/NormalMappedPBRMaterial.d.ts.map +1 -1
  378. package/dist/rendering/NormalMappedPBRMaterial.js +22 -2
  379. package/dist/rendering/NormalMappedPBRMaterial.js.map +1 -1
  380. package/dist/rendering/OceanSurface.d.ts +75 -0
  381. package/dist/rendering/OceanSurface.d.ts.map +1 -1
  382. package/dist/rendering/OceanSurface.js +211 -0
  383. package/dist/rendering/OceanSurface.js.map +1 -1
  384. package/dist/rendering/PBRMaterial.d.ts +1 -0
  385. package/dist/rendering/PBRMaterial.d.ts.map +1 -1
  386. package/dist/rendering/PBRMaterial.js +23 -2
  387. package/dist/rendering/PBRMaterial.js.map +1 -1
  388. package/dist/rendering/PbrReference.d.ts +48 -0
  389. package/dist/rendering/PbrReference.d.ts.map +1 -1
  390. package/dist/rendering/PbrReference.js +126 -0
  391. package/dist/rendering/PbrReference.js.map +1 -1
  392. package/dist/rendering/PlanarReflection.d.ts +221 -0
  393. package/dist/rendering/PlanarReflection.d.ts.map +1 -0
  394. package/dist/rendering/PlanarReflection.js +541 -0
  395. package/dist/rendering/PlanarReflection.js.map +1 -0
  396. package/dist/rendering/PostProcessPass.d.ts +13 -0
  397. package/dist/rendering/PostProcessPass.d.ts.map +1 -1
  398. package/dist/rendering/PostProcessPass.js +15 -4
  399. package/dist/rendering/PostProcessPass.js.map +1 -1
  400. package/dist/rendering/ReflectionSurfaces.d.ts +14 -0
  401. package/dist/rendering/ReflectionSurfaces.d.ts.map +1 -1
  402. package/dist/rendering/ReflectionSurfaces.js +93 -0
  403. package/dist/rendering/ReflectionSurfaces.js.map +1 -1
  404. package/dist/rendering/RenderDevice.d.ts +87 -0
  405. package/dist/rendering/RenderDevice.d.ts.map +1 -1
  406. package/dist/rendering/RenderDevice.js +85 -0
  407. package/dist/rendering/RenderDevice.js.map +1 -1
  408. package/dist/rendering/Renderer.js +3 -1
  409. package/dist/rendering/Renderer.js.map +1 -1
  410. package/dist/rendering/RendererPostprocessPlan.d.ts +48 -0
  411. package/dist/rendering/RendererPostprocessPlan.d.ts.map +1 -1
  412. package/dist/rendering/RendererPostprocessPlan.js +101 -11
  413. package/dist/rendering/RendererPostprocessPlan.js.map +1 -1
  414. package/dist/rendering/RendererVisualPipelineReport.d.ts.map +1 -1
  415. package/dist/rendering/RendererVisualPipelineReport.js +3 -1
  416. package/dist/rendering/RendererVisualPipelineReport.js.map +1 -1
  417. package/dist/rendering/Sampler.d.ts +29 -0
  418. package/dist/rendering/Sampler.d.ts.map +1 -1
  419. package/dist/rendering/Sampler.js +47 -0
  420. package/dist/rendering/Sampler.js.map +1 -1
  421. package/dist/rendering/SdfText.d.ts +250 -0
  422. package/dist/rendering/SdfText.d.ts.map +1 -0
  423. package/dist/rendering/SdfText.js +551 -0
  424. package/dist/rendering/SdfText.js.map +1 -0
  425. package/dist/rendering/ShaderChunks.d.ts.map +1 -1
  426. package/dist/rendering/ShaderChunks.js +30 -12
  427. package/dist/rendering/ShaderChunks.js.map +1 -1
  428. package/dist/rendering/ShaderLibrary.d.ts.map +1 -1
  429. package/dist/rendering/ShaderLibrary.js +478 -34
  430. package/dist/rendering/ShaderLibrary.js.map +1 -1
  431. package/dist/rendering/ShaderLibraryCore.d.ts.map +1 -1
  432. package/dist/rendering/ShaderLibraryCore.js +70 -12
  433. package/dist/rendering/ShaderLibraryCore.js.map +1 -1
  434. package/dist/rendering/ShadowMap.d.ts +24 -0
  435. package/dist/rendering/ShadowMap.d.ts.map +1 -1
  436. package/dist/rendering/ShadowMap.js +43 -0
  437. package/dist/rendering/ShadowMap.js.map +1 -1
  438. package/dist/rendering/SkinnedLitMaterial.d.ts.map +1 -1
  439. package/dist/rendering/SkinnedLitMaterial.js +2 -0
  440. package/dist/rendering/SkinnedLitMaterial.js.map +1 -1
  441. package/dist/rendering/SkinningBounds.d.ts +10 -0
  442. package/dist/rendering/SkinningBounds.d.ts.map +1 -1
  443. package/dist/rendering/SkinningBounds.js +27 -0
  444. package/dist/rendering/SkinningBounds.js.map +1 -1
  445. package/dist/rendering/SpriteFlipbook.d.ts +60 -0
  446. package/dist/rendering/SpriteFlipbook.d.ts.map +1 -0
  447. package/dist/rendering/SpriteFlipbook.js +128 -0
  448. package/dist/rendering/SpriteFlipbook.js.map +1 -0
  449. package/dist/rendering/TerrainTiles.d.ts +120 -0
  450. package/dist/rendering/TerrainTiles.d.ts.map +1 -0
  451. package/dist/rendering/TerrainTiles.js +221 -0
  452. package/dist/rendering/TerrainTiles.js.map +1 -0
  453. package/dist/rendering/TexturedPBRMaterial.d.ts +1 -0
  454. package/dist/rendering/TexturedPBRMaterial.d.ts.map +1 -1
  455. package/dist/rendering/TexturedPBRMaterial.js +23 -2
  456. package/dist/rendering/TexturedPBRMaterial.js.map +1 -1
  457. package/dist/rendering/TexturedUnlitMaterial.d.ts.map +1 -1
  458. package/dist/rendering/TexturedUnlitMaterial.js +20 -2
  459. package/dist/rendering/TexturedUnlitMaterial.js.map +1 -1
  460. package/dist/rendering/UnlitMaterial.d.ts.map +1 -1
  461. package/dist/rendering/UnlitMaterial.js +20 -2
  462. package/dist/rendering/UnlitMaterial.js.map +1 -1
  463. package/dist/rendering/VertexFormat.d.ts +6 -0
  464. package/dist/rendering/VertexFormat.d.ts.map +1 -1
  465. package/dist/rendering/VertexFormat.js +12 -0
  466. package/dist/rendering/VertexFormat.js.map +1 -1
  467. package/dist/rendering/VolumetricFog.d.ts +55 -0
  468. package/dist/rendering/VolumetricFog.d.ts.map +1 -0
  469. package/dist/rendering/VolumetricFog.js +91 -0
  470. package/dist/rendering/VolumetricFog.js.map +1 -0
  471. package/dist/rendering/WaterSurface.d.ts +77 -0
  472. package/dist/rendering/WaterSurface.d.ts.map +1 -0
  473. package/dist/rendering/WaterSurface.js +133 -0
  474. package/dist/rendering/WaterSurface.js.map +1 -0
  475. package/dist/rendering/WebGL2Device.d.ts +58 -0
  476. package/dist/rendering/WebGL2Device.d.ts.map +1 -1
  477. package/dist/rendering/WebGL2Device.js +536 -17
  478. package/dist/rendering/WebGL2Device.js.map +1 -1
  479. package/dist/rendering/WebGPUDevice.d.ts +50 -0
  480. package/dist/rendering/WebGPUDevice.d.ts.map +1 -1
  481. package/dist/rendering/WebGPUDevice.js +504 -10
  482. package/dist/rendering/WebGPUDevice.js.map +1 -1
  483. package/dist/rendering/WebGPUSkinningLimits.d.ts +40 -0
  484. package/dist/rendering/WebGPUSkinningLimits.d.ts.map +1 -1
  485. package/dist/rendering/WebGPUSkinningLimits.js +32 -0
  486. package/dist/rendering/WebGPUSkinningLimits.js.map +1 -1
  487. package/dist/rendering/effects/CollisionModule.d.ts +9 -0
  488. package/dist/rendering/effects/CollisionModule.d.ts.map +1 -1
  489. package/dist/rendering/effects/CollisionModule.js +10 -0
  490. package/dist/rendering/effects/CollisionModule.js.map +1 -1
  491. package/dist/rendering/effects/ColorModule.d.ts +7 -0
  492. package/dist/rendering/effects/ColorModule.d.ts.map +1 -1
  493. package/dist/rendering/effects/ColorModule.js +23 -0
  494. package/dist/rendering/effects/ColorModule.js.map +1 -1
  495. package/dist/rendering/effects/ForceModule.d.ts +35 -0
  496. package/dist/rendering/effects/ForceModule.d.ts.map +1 -1
  497. package/dist/rendering/effects/ForceModule.js +49 -0
  498. package/dist/rendering/effects/ForceModule.js.map +1 -1
  499. package/dist/rendering/effects/GPUParticleBackend.d.ts +186 -0
  500. package/dist/rendering/effects/GPUParticleBackend.d.ts.map +1 -1
  501. package/dist/rendering/effects/GPUParticleBackend.js +692 -1
  502. package/dist/rendering/effects/GPUParticleBackend.js.map +1 -1
  503. package/dist/rendering/effects/HeightfieldModule.d.ts +58 -0
  504. package/dist/rendering/effects/HeightfieldModule.d.ts.map +1 -0
  505. package/dist/rendering/effects/HeightfieldModule.js +129 -0
  506. package/dist/rendering/effects/HeightfieldModule.js.map +1 -0
  507. package/dist/rendering/effects/LightingModule.d.ts +34 -0
  508. package/dist/rendering/effects/LightingModule.d.ts.map +1 -0
  509. package/dist/rendering/effects/LightingModule.js +54 -0
  510. package/dist/rendering/effects/LightingModule.js.map +1 -0
  511. package/dist/rendering/effects/ParticleDiagnostics.d.ts +8 -0
  512. package/dist/rendering/effects/ParticleDiagnostics.d.ts.map +1 -1
  513. package/dist/rendering/effects/ParticleDiagnostics.js +3 -0
  514. package/dist/rendering/effects/ParticleDiagnostics.js.map +1 -1
  515. package/dist/rendering/effects/ParticleModule.d.ts +8 -0
  516. package/dist/rendering/effects/ParticleModule.d.ts.map +1 -1
  517. package/dist/rendering/effects/ParticleModule.js.map +1 -1
  518. package/dist/rendering/effects/ParticleRenderer.d.ts +20 -0
  519. package/dist/rendering/effects/ParticleRenderer.d.ts.map +1 -1
  520. package/dist/rendering/effects/ParticleRenderer.js +57 -7
  521. package/dist/rendering/effects/ParticleRenderer.js.map +1 -1
  522. package/dist/rendering/effects/ParticleSystem.d.ts +45 -1
  523. package/dist/rendering/effects/ParticleSystem.d.ts.map +1 -1
  524. package/dist/rendering/effects/ParticleSystem.js +373 -4
  525. package/dist/rendering/effects/ParticleSystem.js.map +1 -1
  526. package/dist/rendering/effects/SizeModule.d.ts +4 -0
  527. package/dist/rendering/effects/SizeModule.d.ts.map +1 -1
  528. package/dist/rendering/effects/SizeModule.js +16 -0
  529. package/dist/rendering/effects/SizeModule.js.map +1 -1
  530. package/dist/rendering/effects/SubEmitterModule.d.ts +61 -0
  531. package/dist/rendering/effects/SubEmitterModule.d.ts.map +1 -0
  532. package/dist/rendering/effects/SubEmitterModule.js +119 -0
  533. package/dist/rendering/effects/SubEmitterModule.js.map +1 -0
  534. package/dist/rendering/effects/TrailModule.d.ts +38 -0
  535. package/dist/rendering/effects/TrailModule.d.ts.map +1 -1
  536. package/dist/rendering/effects/TrailModule.js +95 -2
  537. package/dist/rendering/effects/TrailModule.js.map +1 -1
  538. package/dist/rendering/effects/TurbulenceModule.d.ts +43 -0
  539. package/dist/rendering/effects/TurbulenceModule.d.ts.map +1 -0
  540. package/dist/rendering/effects/TurbulenceModule.js +130 -0
  541. package/dist/rendering/effects/TurbulenceModule.js.map +1 -0
  542. package/dist/rendering/effects/index.d.ts +4 -0
  543. package/dist/rendering/effects/index.d.ts.map +1 -1
  544. package/dist/rendering/effects/index.js +4 -0
  545. package/dist/rendering/effects/index.js.map +1 -1
  546. package/dist/rendering/index.d.ts +57 -19
  547. package/dist/rendering/index.d.ts.map +1 -1
  548. package/dist/rendering/index.js +31 -10
  549. package/dist/rendering/index.js.map +1 -1
  550. package/dist/rendering/materials/MaterialExtensions.js +3 -3
  551. package/dist/rendering/materials/MaterialExtensions.js.map +1 -1
  552. package/dist/rendering/postprocess/NativeBloomPyramid.d.ts +28 -0
  553. package/dist/rendering/postprocess/NativeBloomPyramid.d.ts.map +1 -0
  554. package/dist/rendering/postprocess/NativeBloomPyramid.js +54 -0
  555. package/dist/rendering/postprocess/NativeBloomPyramid.js.map +1 -0
  556. package/dist/rendering/postprocess/NativeLdrEffectLuts.d.ts +10 -1
  557. package/dist/rendering/postprocess/NativeLdrEffectLuts.d.ts.map +1 -1
  558. package/dist/rendering/postprocess/NativeLdrEffectLuts.js +19 -2
  559. package/dist/rendering/postprocess/NativeLdrEffectLuts.js.map +1 -1
  560. package/dist/rendering/postprocess/index.d.ts +2 -0
  561. package/dist/rendering/postprocess/index.d.ts.map +1 -1
  562. package/dist/rendering/postprocess/index.js +1 -0
  563. package/dist/rendering/postprocess/index.js.map +1 -1
  564. package/dist/rendering/production-runtime/PBRHDRPipeline.d.ts +22 -0
  565. package/dist/rendering/production-runtime/PBRHDRPipeline.d.ts.map +1 -1
  566. package/dist/rendering/production-runtime/PBRHDRPipeline.js +125 -0
  567. package/dist/rendering/production-runtime/PBRHDRPipeline.js.map +1 -1
  568. package/dist/rendering/production-runtime/ProductionWebGPURenderer.d.ts +52 -0
  569. package/dist/rendering/production-runtime/ProductionWebGPURenderer.d.ts.map +1 -1
  570. package/dist/rendering/production-runtime/ProductionWebGPURenderer.js +101 -0
  571. package/dist/rendering/production-runtime/ProductionWebGPURenderer.js.map +1 -1
  572. package/dist/rendering/production-runtime/index.d.ts +5 -4
  573. package/dist/rendering/production-runtime/index.d.ts.map +1 -1
  574. package/dist/rendering/production-runtime/index.js +3 -2
  575. package/dist/rendering/production-runtime/index.js.map +1 -1
  576. package/dist/rendering/production-runtime/passes/DepthPrepass.d.ts +26 -1
  577. package/dist/rendering/production-runtime/passes/DepthPrepass.d.ts.map +1 -1
  578. package/dist/rendering/production-runtime/passes/DepthPrepass.js +49 -2
  579. package/dist/rendering/production-runtime/passes/DepthPrepass.js.map +1 -1
  580. package/dist/rendering/production-runtime/passes/FramegraphTopology.d.ts +13 -0
  581. package/dist/rendering/production-runtime/passes/FramegraphTopology.d.ts.map +1 -0
  582. package/dist/rendering/production-runtime/passes/FramegraphTopology.js +59 -0
  583. package/dist/rendering/production-runtime/passes/FramegraphTopology.js.map +1 -0
  584. package/dist/rendering/production-runtime/passes/OpaquePass.d.ts +24 -1
  585. package/dist/rendering/production-runtime/passes/OpaquePass.d.ts.map +1 -1
  586. package/dist/rendering/production-runtime/passes/OpaquePass.js +41 -2
  587. package/dist/rendering/production-runtime/passes/OpaquePass.js.map +1 -1
  588. package/dist/rendering/production-runtime/passes/ShadowPass.d.ts +24 -1
  589. package/dist/rendering/production-runtime/passes/ShadowPass.d.ts.map +1 -1
  590. package/dist/rendering/production-runtime/passes/ShadowPass.js +43 -2
  591. package/dist/rendering/production-runtime/passes/ShadowPass.js.map +1 -1
  592. package/dist/rendering/production-runtime/passes/SkyboxPass.d.ts +21 -1
  593. package/dist/rendering/production-runtime/passes/SkyboxPass.d.ts.map +1 -1
  594. package/dist/rendering/production-runtime/passes/SkyboxPass.js +39 -2
  595. package/dist/rendering/production-runtime/passes/SkyboxPass.js.map +1 -1
  596. package/dist/rendering/production-runtime/passes/ToneMappingPass.d.ts +29 -1
  597. package/dist/rendering/production-runtime/passes/ToneMappingPass.d.ts.map +1 -1
  598. package/dist/rendering/production-runtime/passes/ToneMappingPass.js +53 -2
  599. package/dist/rendering/production-runtime/passes/ToneMappingPass.js.map +1 -1
  600. package/dist/rendering/production-runtime/passes/TransparentPass.d.ts +24 -1
  601. package/dist/rendering/production-runtime/passes/TransparentPass.d.ts.map +1 -1
  602. package/dist/rendering/production-runtime/passes/TransparentPass.js +42 -2
  603. package/dist/rendering/production-runtime/passes/TransparentPass.js.map +1 -1
  604. package/dist/rendering/shadows/CascadeHysteresis.d.ts +67 -0
  605. package/dist/rendering/shadows/CascadeHysteresis.d.ts.map +1 -0
  606. package/dist/rendering/shadows/CascadeHysteresis.js +104 -0
  607. package/dist/rendering/shadows/CascadeHysteresis.js.map +1 -0
  608. package/dist/rendering/shadows/ContactShadows.d.ts +52 -0
  609. package/dist/rendering/shadows/ContactShadows.d.ts.map +1 -1
  610. package/dist/rendering/shadows/ContactShadows.js +122 -0
  611. package/dist/rendering/shadows/ContactShadows.js.map +1 -1
  612. package/dist/rendering/shadows/SpotShadowMaps.d.ts +77 -0
  613. package/dist/rendering/shadows/SpotShadowMaps.d.ts.map +1 -0
  614. package/dist/rendering/shadows/SpotShadowMaps.js +106 -0
  615. package/dist/rendering/shadows/SpotShadowMaps.js.map +1 -0
  616. package/dist/rendering/webgpu/WebGPUPostProcess.d.ts +2 -0
  617. package/dist/rendering/webgpu/WebGPUPostProcess.d.ts.map +1 -1
  618. package/dist/rendering/webgpu/WebGPUPostProcess.js +1 -0
  619. package/dist/rendering/webgpu/WebGPUPostProcess.js.map +1 -1
  620. package/dist/rendering/webgpu/WebGPUPostShaders.d.ts +78 -0
  621. package/dist/rendering/webgpu/WebGPUPostShaders.d.ts.map +1 -0
  622. package/dist/rendering/webgpu/WebGPUPostShaders.js +262 -0
  623. package/dist/rendering/webgpu/WebGPUPostShaders.js.map +1 -0
  624. package/dist/scene/Scene.d.ts +8 -1
  625. package/dist/scene/Scene.d.ts.map +1 -1
  626. package/dist/scene/Scene.js +12 -2
  627. package/dist/scene/Scene.js.map +1 -1
  628. package/dist/scripting/VisualGraphContext.d.ts +31 -0
  629. package/dist/scripting/VisualGraphContext.d.ts.map +1 -1
  630. package/dist/scripting/VisualGraphExecutor.d.ts.map +1 -1
  631. package/dist/scripting/VisualGraphExecutor.js +110 -0
  632. package/dist/scripting/VisualGraphExecutor.js.map +1 -1
  633. package/dist/scripting/VisualNodeCatalog.d.ts +1 -1
  634. package/dist/scripting/VisualNodeCatalog.d.ts.map +1 -1
  635. package/dist/scripting/VisualNodeCatalog.js +20 -0
  636. package/dist/scripting/VisualNodeCatalog.js.map +1 -1
  637. package/dist/scripting/VisualScriptingRoot.d.ts +96 -0
  638. package/dist/scripting/VisualScriptingRoot.d.ts.map +1 -0
  639. package/dist/scripting/VisualScriptingRoot.js +150 -0
  640. package/dist/scripting/VisualScriptingRoot.js.map +1 -0
  641. package/dist/scripting/index.d.ts +3 -1
  642. package/dist/scripting/index.d.ts.map +1 -1
  643. package/dist/scripting/index.js +1 -0
  644. package/dist/scripting/index.js.map +1 -1
  645. package/package.json +24 -22
  646. package/templates/cinematic-scene/node_modules/.vite/deps/_metadata.json +8 -0
  647. package/templates/cinematic-scene/node_modules/.vite/deps/package.json +3 -0
  648. package/templates/cinematic-scene/test-results/.last-run.json +6 -0
  649. package/templates/cinematic-scene/test-results/route-health-Aura3D-cinematic-scene-reaches-ready-state/error-context.md +64 -0
  650. package/templates/product-viewer/node_modules/.vite/deps/_metadata.json +8 -0
  651. package/templates/product-viewer/node_modules/.vite/deps/package.json +3 -0
@@ -1,4 +1,6 @@
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 { Collider, ColliderDescriptor, CollisionEvent, Constraint, ConstraintDescriptor, Contact, DebugLine, PhysicsBackendSelection, PhysicsContinuousCollisionDescriptor, PhysicsShape, PhysicsSnapshot, PhysicsWorldDescriptor, RaycastHit, RaycastOptions, RigidBody, RigidBodyDescriptor, RigidBodyType, ScenePhysicsNode, SphereCastHit } from "../../physics/index.js";
2
+ import { type SdfTextOcclusionPolicy, type SdfTextStyle, sampleOceanFixture, Geometry, InstancedPBRMaterial, PBRMaterial, TexturedPBRMaterial, type DayNightSkyOptions, type EnvironmentLightingOptions, type WaterSurfaceBoat, type WaterSurfacePreset, type WeatherType, type RenderDeviceDiagnostics, type RendererPostprocessExecutionMode } from "../../rendering/index.js";
3
+ import { type LabelTelemetry, type TextBucketSummary } from "./LabelTelemetry.js";
2
4
  import { type ProjectedLabel } from "./WorldLabelRenderer.js";
3
5
  import { defineAuraCustomGeometry, type AuraCustomGeometrySpec, type AuraText3DGeometry, type AuraText3DOptions } from "./RootGeometry.js";
4
6
  export * from "./RootGeometry.js";
@@ -17,6 +19,14 @@ export { buildMeshBVH, createMeshSurfaceQuery, raycastMesh, type MeshBVH, type M
17
19
  import { type AuraCollisionLayers, type AuraPhysicsRuntime } from "./PhysicsRuntime.js";
18
20
  export * from "./FocusSelection.js";
19
21
  export * from "./WorldLabelRenderer.js";
22
+ export * from "./GameCameraRigs.js";
23
+ export * from "./GameFeel.js";
24
+ export * from "./LabelTelemetry.js";
25
+ export * from "./NavigationCrowds.js";
26
+ export * from "./FootPlanting.js";
27
+ export * from "./Decals.js";
28
+ export * from "./Scatter.js";
29
+ export * from "./AssetDecoders.js";
20
30
  export * from "./VehicleChassis.js";
21
31
  export * from "./VehicleDriverAi.js";
22
32
  /**
@@ -37,8 +47,15 @@ export * from "./WebCodecsFrameEncoder.js";
37
47
  export { GameInspector, createGameInspector } from "./GameInspector.js";
38
48
  export type { GameInspectorRuntimeInput, GameInspectorSnapshot } from "./GameInspector.js";
39
49
  import { createGameInspector } from "./GameInspector.js";
50
+ import { type WrinkleMapHook } from "../../rendering/index.js";
40
51
  export { createGameAudio } from "../game/GameAudio.js";
41
52
  export type { GameAudio, GameAudioBusDefinition, GameAudioBusId, GameAudioContextLike, GameAudioCueDefinition, GameAudioCueEvent, GameAudioEvidence, GameAudioOptions } from "../game/GameAudio.js";
53
+ export type { GameAudioBusLevel, GameAudioDuckingOptions, GameAudioFootPlant, GameAudioFootstepOptions, GameAudioPlayingNode, GameAudioPositionalOptions, GameAudioVec3 } from "../game/GameAudio.js";
54
+ export { PositionalEmitter, FootstepPlayer, createGameMixer, attachFocusPolicy, computeDistanceAttenuation, computeDopplerShift, resolveOcclusion } from "../../audio/index.js";
55
+ export { ComboDetector, createTouchLayoutPreset, probeHaptics, playHaptic } from "../../input/index.js";
56
+ export { attachVisualScriptingGraph, createVisualScriptingGraph, listVisualScriptingNodeCatalog } from "../../scripting/index.js";
57
+ export { createRootEditorSurface } from "../../editor-runtime/index.js";
58
+ import { attachVisualScriptingGraph as attachVisualScriptingGraphFn, createVisualScriptingGraph as createVisualScriptingGraphFn, listVisualScriptingNodeCatalog as listVisualScriptingNodeCatalogFn } from "../../scripting/index.js";
42
59
  export * from "./RenderProgressTracker.js";
43
60
  export * from "./AudioVisemeAnalyzer.js";
44
61
  export * from "./ExternalPhonemeAnalyzer.js";
@@ -70,6 +87,7 @@ export * from "./AnimationMotionQuality.js";
70
87
  export * from "./AnimationRouteProof.js";
71
88
  export * from "./AnimationEpisodePackage.js";
72
89
  import type { GLTFSceneAnimationRuntime, GLTFSceneAnimationRuntimeOptions } from "../../assets/browser-index.js";
90
+ import { type TextureStreamingResidency } from "../../assets/browser-index.js";
73
91
  import type { AnimationPose } from "../../animation/index.js";
74
92
  import type { GameHudBindingKind, GameRuntimeSubsystemOwnership } from "./GameRuntime.js";
75
93
  import { createFrameLoop } from "./FrameLoop.js";
@@ -116,6 +134,8 @@ export * from "./GameAssetValidation.js";
116
134
  export * from "./CharacterAssembly.js";
117
135
  export * from "./AssetEvidence.js";
118
136
  export * from "./AnimationController.js";
137
+ export * from "./AnimationMixerBuilders.js";
138
+ export * from "./AnimationDebugOverlay.js";
119
139
  export { gameAssetValidation, quaterniusGameReadyFighterValidationContract, validateQuaterniusGameReadyFighterAsset } from "./GameAssetValidation.js";
120
140
  export { createAnimationController } from "./AnimationController.js";
121
141
  export * from "./PromptAnimationContract.js";
@@ -150,6 +170,16 @@ export interface AuraProceduralTextureSpec {
150
170
  readonly colorB?: AuraColor;
151
171
  }
152
172
  export type AuraMaterialTextureInput = AuraAssetRef<"texture"> | AuraProceduralTextureSpec;
173
+ /**
174
+ * Per-map UV transform for the C1 textured-PBR slots (muse3jsparity-PRD C1).
175
+ * Offset/scale apply in UV units, rotation in radians, matching the native
176
+ * per-slot `*TextureTransform` uniforms.
177
+ */
178
+ export interface AuraTextureTransform {
179
+ readonly offset?: readonly [number, number];
180
+ readonly scale?: readonly [number, number];
181
+ readonly rotation?: number;
182
+ }
153
183
  export interface AuraAssetDefinition {
154
184
  readonly type: AuraAssetType;
155
185
  readonly format: string;
@@ -229,14 +259,46 @@ export interface AuraMaterialSpec {
229
259
  readonly iridescenceThicknessRange?: readonly [number, number];
230
260
  readonly anisotropy?: number;
231
261
  readonly anisotropyRotation?: number;
262
+ /**
263
+ * Desired texture sampler anisotropy (muse3jsparity-PRD C3). Defaults to 8;
264
+ * the request snaps to a device step and the renderer clamps to the device
265
+ * maximum at upload time, so low-capability devices fold down safely.
266
+ */
267
+ readonly textureAnisotropy?: number;
232
268
  readonly attenuationColor?: AuraColor;
233
269
  readonly attenuationDistance?: number;
270
+ /** P3 physical-extension bounded warnings, stamped by `material.physical` (muse3jsparity-PRD): surfaced by capability diagnostics, never silent. */
271
+ readonly physicalWarnings?: readonly string[];
234
272
  readonly envMapIntensity?: number;
235
273
  readonly normal?: AuraMaterialTextureInput;
236
274
  readonly normalScale?: number;
237
275
  readonly roughnessMap?: AuraMaterialTextureInput;
238
276
  readonly metalnessMap?: AuraMaterialTextureInput;
239
277
  readonly texture?: AuraAssetRef<"texture">;
278
+ /** Occlusion (AO/lightmap) slot: scalar is the strength 0..1, asset ref is the occlusion map. */
279
+ readonly occlusionMap?: AuraMaterialTextureInput;
280
+ readonly occlusionStrength?: number;
281
+ /** Emissive map slot: multiplied by `emissive` (default white when only the map is set) × `emissiveIntensity`. */
282
+ readonly emissiveMap?: AuraMaterialTextureInput;
283
+ /**
284
+ * Per-slot UV set selection for the native texCoord selector (muse3jsparity-PRD C1).
285
+ * 0 samples the authored unwrap, 1 the procedural 2x tiling unwrap.
286
+ */
287
+ readonly texCoords?: {
288
+ readonly baseColor?: 0 | 1;
289
+ readonly normal?: 0 | 1;
290
+ readonly metallicRoughness?: 0 | 1;
291
+ readonly occlusion?: 0 | 1;
292
+ readonly emissive?: 0 | 1;
293
+ };
294
+ /** Per-slot UV transforms, passed through to the native per-slot transform uniforms. */
295
+ readonly texTransforms?: {
296
+ readonly baseColor?: AuraTextureTransform;
297
+ readonly normal?: AuraTextureTransform;
298
+ readonly metallicRoughness?: AuraTextureTransform;
299
+ readonly occlusion?: AuraTextureTransform;
300
+ readonly emissive?: AuraTextureTransform;
301
+ };
240
302
  }
241
303
  export interface AuraEditableMaterialParameters {
242
304
  readonly kind: "aura-material-parameters";
@@ -288,7 +350,7 @@ export interface AuraMaterialVisualQAResult {
288
350
  readonly minimumMaterialDistance: number;
289
351
  readonly problems: readonly string[];
290
352
  }
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";
353
+ 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
354
  export type AuraMaterialCapabilitySupport = "supported" | "partial" | "metadata-only" | "unsupported" | "internal";
293
355
  export interface AuraMaterialCapabilityFeature {
294
356
  readonly id: AuraMaterialCapabilityFeatureId;
@@ -326,6 +388,14 @@ export interface AuraModelOptions extends AuraTransformSpec {
326
388
  readonly physics?: AuraNodePhysicsSpec;
327
389
  /** Exact glTF node names to suppress when composing a typed model into a route. */
328
390
  readonly hiddenNodeNames?: readonly string[];
391
+ /**
392
+ * Wrinkle-detail hook (E1 face-rig demo): per-frame the engine resolves
393
+ * `resolveWrinkleMapStrength(liveMorphWeights, wrinkle)` and uploads it as
394
+ * `u_wrinkleStrength` on shaders that declare it (skinned-lit family), modulating
395
+ * procedural normal detail. No authored wrinkle texture required; strength 0 renders
396
+ * exactly as without the hook. `textureUniform` is accepted but currently unused.
397
+ */
398
+ readonly wrinkle?: WrinkleMapHook;
329
399
  }
330
400
  export interface AuraPrimitiveOptions extends AuraTransformSpec {
331
401
  readonly name?: string;
@@ -481,6 +551,24 @@ export interface AuraModelNode extends AuraTransformSpec {
481
551
  readonly castShadow: boolean;
482
552
  readonly receiveShadow: boolean;
483
553
  readonly visible: boolean;
554
+ /** P2 model instancing (muse3jsparity-PRD): per-instance transforms consumed at mount exactly like primitive nodes. */
555
+ readonly instances?: readonly AuraTransformSpec[];
556
+ readonly instanceColors?: readonly AuraColor[];
557
+ readonly instanceLod?: {
558
+ readonly levels: readonly {
559
+ readonly maxDistance: number;
560
+ }[];
561
+ readonly hysteresis?: number;
562
+ };
563
+ /** P2 culling telemetry stamped by `instances.model`: centroid + bounding radius over instance positions. */
564
+ readonly instanceCulling?: {
565
+ readonly instanceCount: number;
566
+ readonly centroid: AuraVec3;
567
+ readonly boundingRadius: number;
568
+ readonly cullable: true;
569
+ };
570
+ /** P2 D1 fallback diagnostic stamped by `instances.model` when the material is not instancing-aware. */
571
+ readonly instancedModelWarning?: string;
484
572
  readonly role?: AuraModelRole;
485
573
  readonly scaleMode?: AuraModelScaleMode;
486
574
  readonly targetHeight?: number;
@@ -491,6 +579,8 @@ export interface AuraModelNode extends AuraTransformSpec {
491
579
  readonly physics?: AuraNodePhysicsSpec;
492
580
  readonly hiddenNodeNames?: readonly string[];
493
581
  readonly runtime?: AuraRuntimeNodeSpec;
582
+ /** Wrinkle-detail hook; see `AuraModelOptions.wrinkle`. */
583
+ readonly wrinkle?: WrinkleMapHook;
494
584
  }
495
585
  export interface AuraPrimitiveNode extends AuraTransformSpec {
496
586
  readonly kind: "primitive";
@@ -518,7 +608,7 @@ export interface AuraGroupNode extends AuraTransformSpec {
518
608
  readonly character?: AuraCharacterRigSpec;
519
609
  readonly runtime?: AuraRuntimeNodeSpec;
520
610
  }
521
- export type AuraLightType = "ambient" | "directional" | "point" | "studio" | "rect" | "softbox";
611
+ export type AuraLightType = "ambient" | "directional" | "point" | "studio" | "rect" | "softbox" | "spot";
522
612
  export interface AuraLightNode extends AuraTransformSpec {
523
613
  readonly kind: "light";
524
614
  readonly light: AuraLightType;
@@ -527,8 +617,14 @@ export interface AuraLightNode extends AuraTransformSpec {
527
617
  readonly intensity: number;
528
618
  readonly width?: number;
529
619
  readonly height?: number;
620
+ readonly target?: AuraVec3;
621
+ readonly angle?: number;
622
+ readonly penumbra?: number;
623
+ readonly distance?: number;
624
+ readonly decay?: number;
625
+ readonly shadow?: boolean;
530
626
  }
531
- export type AuraEffectType = "fog" | "bloom" | "rain" | "particles" | "ambient-occlusion" | "contact-occlusion";
627
+ 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
628
  export type AuraParticleMaterialMode = "additive-glow" | "soft-alpha" | "spark" | "smoke" | "splash" | "dust" | "star";
533
629
  export interface AuraEffectNode extends AuraTransformSpec {
534
630
  readonly kind: "effect";
@@ -547,6 +643,42 @@ export interface AuraEffectNode extends AuraTransformSpec {
547
643
  readonly threshold?: number;
548
644
  readonly antiBlowout?: boolean;
549
645
  readonly maxIntensity?: number;
646
+ /** Native bloom path (muse3jsparity-PRD A1): performance keeps the legacy single-scale ping-pong; balanced/cinematic use the mip pyramid. */
647
+ readonly quality?: "performance" | "balanced" | "cinematic";
648
+ /** HDR bright-extract knee width in [0, 0.5]; 0 keeps the hard threshold step. */
649
+ readonly softKnee?: number;
650
+ /** LDR composite highlight shoulder in [0, 1]; 0 keeps the legacy clamp. */
651
+ readonly shoulder?: number;
652
+ /** Color-grade exposure multiplier (muse3jsparity-PRD A3). */
653
+ readonly exposure?: number;
654
+ /** Color-grade contrast around mid-grey (muse3jsparity-PRD A3). */
655
+ readonly contrast?: number;
656
+ /** Color-grade saturation multiplier (muse3jsparity-PRD A3). */
657
+ readonly saturation?: number;
658
+ /** Recorded color-grade shadow lift: no native grade target yet, warned when set. */
659
+ readonly shadows?: number;
660
+ /** Recorded color-grade highlight gain: no native grade target yet, warned when set. */
661
+ readonly highlights?: number;
662
+ /** Reserved color-grade LUT asset id: recorded on the node, not yet sampled by the native grade. */
663
+ readonly lut?: string;
664
+ /** Anti-alias mode (muse3jsparity-PRD A3): fxaa executes natively; taa/off never submit a pass. */
665
+ readonly mode?: "fxaa" | "taa" | "off";
666
+ /** Outline width in pixels, 1-6 (muse3jsparity-PRD A3). */
667
+ readonly width?: number;
668
+ /** Depth-of-field focus as a linear-distance fraction, 0 = near, 1 = far (muse3jsparity-PRD A3). */
669
+ readonly focus?: number;
670
+ /** Depth-of-field blur-band width derived control in [0, 1] (muse3jsparity-PRD A3). */
671
+ readonly aperture?: number;
672
+ /** Depth-of-field maximum blur radius in pixels (muse3jsparity-PRD A3). */
673
+ readonly maxBlur?: number;
674
+ /** Volumetric-fog quality (muse3jsparity-PRD A5): "off" keeps forward exp2 fog only, never submits the inscatter pass. */
675
+ readonly volumetricQuality?: "off" | "balanced" | "quality" | "ultra";
676
+ /** Volumetric-fog radial anchor override in UV (muse3jsparity-PRD A5); defaults to the upper third. */
677
+ readonly lightPosition?: readonly [number, number];
678
+ /** Volumetric height falloff (muse3jsparity-PRD A5); 0 disables the height gate. */
679
+ readonly heightFalloff?: number;
680
+ /** Volumetric height reference in world units (muse3jsparity-PRD A5). */
681
+ readonly heightReference?: number;
550
682
  readonly emissionRate?: number;
551
683
  readonly gravity?: number;
552
684
  readonly groundCollision?: boolean;
@@ -560,6 +692,20 @@ export interface AuraEffectNode extends AuraTransformSpec {
560
692
  readonly noise?: number;
561
693
  readonly splashes?: boolean;
562
694
  readonly mist?: boolean;
695
+ /** Flipbook sprite sheet columns (muse3jsparity-PRD D4); validated fail-loud by resolveFlipbookUv. */
696
+ readonly spriteColumns?: number;
697
+ /** Flipbook sprite sheet rows (muse3jsparity-PRD D4). */
698
+ readonly spriteRows?: number;
699
+ /** Flipbook playback rate in frames per second (muse3jsparity-PRD D4). */
700
+ readonly frameRate?: number;
701
+ /** Light-beam start point in world units (muse3jsparity-PRD D4). */
702
+ readonly from?: AuraVec3;
703
+ /** Light-beam end point in world units (muse3jsparity-PRD D4). */
704
+ readonly to?: AuraVec3;
705
+ /** Light-beam width in world units (muse3jsparity-PRD D4). */
706
+ readonly widthWorld?: number;
707
+ /** Light-beam quad-strip segment count (muse3jsparity-PRD D4). */
708
+ readonly segmentCount?: number;
563
709
  }
564
710
  export interface AuraParticleBudgetDiagnostics {
565
711
  readonly kind: "aura-particle-budget";
@@ -600,10 +746,29 @@ export interface AuraLabelNode extends AuraTransformSpec {
600
746
  }
601
747
  export interface AuraEnvironmentNode {
602
748
  readonly kind: "environment";
603
- readonly environment: "studio" | "material-lab" | "product-hero" | "night-cinematic" | "metal-studio" | "glass-studio";
749
+ readonly environment: "studio" | "material-lab" | "product-hero" | "night-cinematic" | "metal-studio" | "glass-studio" | "hdri";
604
750
  readonly name?: string;
605
751
  readonly intensity: number;
606
752
  readonly color?: AuraColor;
753
+ /**
754
+ * B3 root HDRI input (muse3jsparity-PRD). Only meaningful with
755
+ * `environment: "hdri"`: a Radiance `.hdr` asset ref resolved post-mount
756
+ * through the HDR→cubemap→GGX→BRDF-LUT chain. Scalar/procedural first
757
+ * frames stay honest; `iblPixelBacked` reports the swap.
758
+ */
759
+ readonly texture?: AuraAssetRef<"texture">;
760
+ /**
761
+ * B3 second probe slot (muse3jsparity-PRD). Optional reflection `.hdr`:
762
+ * the diffuse/illumination term keeps sampling `texture` (roughest mip)
763
+ * while the specular term samples `reflectionTexture` (sharper mips).
764
+ * Absent, both terms sample `texture` (single probe).
765
+ */
766
+ readonly reflectionTexture?: AuraAssetRef<"texture">;
767
+ /**
768
+ * M3 HDRI rotation (muse3jsparity-PRD) in radians. Forwards into the
769
+ * production HDR chain (`environmentMapRotation`); 0 keeps B3 behavior.
770
+ */
771
+ readonly rotation?: number;
607
772
  }
608
773
  export type AuraSceneCategory = "product" | "material" | "neon" | "city-night" | "city-day" | "space" | "physics" | "chart" | "game";
609
774
  export interface AuraRendererColorManagementPreset {
@@ -659,6 +824,12 @@ export interface AuraCreateAppRendererOptions {
659
824
  readonly mode?: AuraRendererMode;
660
825
  readonly fallback?: AuraRendererFallbackMode;
661
826
  readonly qualityProfile?: AuraRendererQualityProfileId;
827
+ /**
828
+ * M2 texture streaming budget in bytes (muse3jsparity-PRD). Funds the
829
+ * distance-prioritized mip residency; the unfunded tail surfaces as
830
+ * over-budget telemetry instead of silent thrash. Default 256 MiB.
831
+ */
832
+ readonly textureBudgetBytes?: number;
662
833
  }
663
834
  export interface AuraRendererDiagnosticReport {
664
835
  readonly kind: "aura-renderer-diagnostics";
@@ -678,6 +849,7 @@ export interface AuraRendererDiagnosticReport {
678
849
  readonly threshold: number;
679
850
  readonly radius: number;
680
851
  readonly antiBlowout: boolean;
852
+ readonly quality?: "performance" | "balanced" | "cinematic";
681
853
  };
682
854
  readonly shadows: {
683
855
  /** True only when a mounted runtime actually sampled a shadow map. */
@@ -694,6 +866,24 @@ export interface AuraRendererDiagnosticReport {
694
866
  readonly shadowRenderTargetsAllocated: number;
695
867
  readonly contactShadows: number;
696
868
  readonly mapType: "pcf-soft";
869
+ /**
870
+ * N1 authored spot shadow state (muse3jsparity-PRD). `requested` is the
871
+ * author intent (`lights.spot({ shadow: true })` winning the caster
872
+ * slot); `spotPixelBacked` additionally requires the device-observed
873
+ * map signals — never declared from intent alone.
874
+ */
875
+ readonly spot?: {
876
+ readonly requested: boolean;
877
+ readonly casterIsSpot: boolean;
878
+ readonly casterName?: string;
879
+ readonly angle?: number;
880
+ readonly penumbra?: number;
881
+ readonly range?: number;
882
+ readonly atlasResolution?: number;
883
+ readonly atlasReason?: string;
884
+ readonly spotPixelBacked: boolean;
885
+ readonly reason: string;
886
+ };
697
887
  };
698
888
  readonly occlusion: {
699
889
  readonly enabled: boolean;
@@ -721,6 +911,8 @@ export interface AuraRendererDiagnosticReport {
721
911
  readonly fallbackPasses: readonly string[];
722
912
  /** Device-observed render-target format used by the mounted composer. */
723
913
  readonly targetFormat?: "rgba8" | "rgba16f" | "rgba32f";
914
+ /** Device-observed postprocess execution path (muse3jsparity-PRD A1). */
915
+ readonly executionMode: RendererPostprocessExecutionMode | "unknown";
724
916
  readonly evidence: string;
725
917
  };
726
918
  readonly runtime: {
@@ -734,17 +926,61 @@ export interface AuraRendererDiagnosticReport {
734
926
  readonly visibleObjects: number;
735
927
  readonly culledObjects: number;
736
928
  readonly frustumTestedObjects: number;
929
+ /** Most recent native bloom execution observed on the device (muse3jsparity-PRD A1); null until a native bloom pass runs. */
930
+ readonly bloom: RenderDeviceDiagnostics["bloom"];
931
+ /** C3 sampler anisotropy telemetry: uploads issued and device maximum (1 when unsupported). */
932
+ readonly samplerAnisotropyUploads?: number;
933
+ readonly maxTextureAnisotropy?: number;
737
934
  readonly lodSelections: readonly {
738
935
  readonly nodeName: string;
739
936
  readonly levelIndex: number;
740
937
  readonly levelName: string;
741
938
  }[];
939
+ /** C1 per-material textured diagnostics; pixelBacked only after the post-mount upgrade swaps materials. */
940
+ readonly texturedMaterials: readonly {
941
+ readonly nodeName: string;
942
+ readonly levelName: string;
943
+ readonly status: "none" | "pending" | "textured" | "fallback";
944
+ readonly slots: readonly string[];
945
+ readonly pixelBacked: boolean;
946
+ readonly warnings: readonly string[];
947
+ }[];
742
948
  };
743
949
  readonly environment: {
744
950
  readonly enabled: boolean;
745
951
  readonly preset?: AuraEnvironmentNode["environment"];
746
952
  readonly intensity?: number;
747
953
  readonly evidence: string;
954
+ /** B3: true only after the HDRI chain swaps the live lighting object. */
955
+ readonly iblPixelBacked: boolean;
956
+ readonly hdriStatus: "none" | "pending" | "ready" | "fallback";
957
+ readonly dualProbe?: boolean;
958
+ };
959
+ /**
960
+ * G1 SDF world-text state (muse3jsparity-PRD). `textPixelBacked` is true
961
+ * only when the atlas-derived label texture uploaded AND SDF quads were
962
+ * submitted this frame — layout alone never backs pixels.
963
+ */
964
+ readonly text: {
965
+ readonly sdfTexts: number;
966
+ readonly textPixelBacked: boolean;
967
+ readonly quadCount: number;
968
+ readonly lastOpacity: number;
969
+ readonly reason: string;
970
+ };
971
+ /**
972
+ * M2 texture streaming residency (muse3jsparity-PRD). Funded from the
973
+ * post-upgrade texture table against `textureBudgetBytes`; the unfunded
974
+ * tail reports over-budget bytes instead of thrashing silently.
975
+ */
976
+ readonly textures: {
977
+ readonly budgetBytes: number;
978
+ readonly usedBytes: number;
979
+ readonly requestedBytes: number;
980
+ readonly overBudget: boolean;
981
+ readonly overBudgetBytes: number;
982
+ readonly residentEntries: number;
983
+ readonly evictedEntries: readonly string[];
748
984
  };
749
985
  readonly antialiasing: AuraRendererQualityPreset["antialiasing"];
750
986
  readonly screenshotQuality: AuraRendererQualityPreset;
@@ -898,12 +1134,49 @@ export declare const instances: {
898
1134
  readonly transforms: readonly AuraTransformSpec[];
899
1135
  readonly colors?: readonly AuraColor[];
900
1136
  }) => AuraNodeBuilder<AuraPrimitiveNode>;
1137
+ /**
1138
+ * P2 instanced GLB models (muse3jsparity-PRD): one draw class for repeated
1139
+ * static models. Skinned actors fall back with a D1 warning at mount (E1
1140
+ * owns rigs); explicitly unaware materials warn at build.
1141
+ */
1142
+ readonly model: <TAsset extends AuraAssetRef<"model">>(asset: TAsset, options: AuraModelOptions & {
1143
+ readonly transforms: readonly AuraTransformSpec[];
1144
+ readonly colors?: readonly AuraColor[];
1145
+ readonly lod?: {
1146
+ readonly levels: readonly {
1147
+ readonly maxDistance: number;
1148
+ }[];
1149
+ readonly hysteresis?: number;
1150
+ };
1151
+ readonly instancingAware?: boolean;
1152
+ readonly maxInstancesPerDraw?: number;
1153
+ }) => AuraNodeBuilder<AuraModelNode>;
1154
+ };
1155
+ export declare const visualScripting: {
1156
+ readonly graph: typeof createVisualScriptingGraphFn;
1157
+ readonly attach: typeof attachVisualScriptingGraphFn;
1158
+ readonly catalog: typeof listVisualScriptingNodeCatalogFn;
1159
+ };
1160
+ export declare const editor: {
1161
+ readonly undo: (context?: import("../../editor-runtime/index.js").CommandContext) => Promise<void>;
1162
+ readonly redo: (context?: import("../../editor-runtime/index.js").CommandContext) => Promise<void>;
1163
+ readonly gizmo: (kind: import("../../editor-runtime/index.js").RootEditorGizmoKind, target?: import("../../editor-runtime/index.js").TransformTarget) => import("../../editor-runtime/index.js").RootEditorGizmoHandle;
1164
+ readonly playMode: {
1165
+ readonly enter: () => void;
1166
+ readonly exit: (restore?: boolean) => void;
1167
+ };
1168
+ readonly outliner: (root: import("../../editor-runtime/index.js").AnimationSceneNode) => readonly import("../../editor-runtime/index.js").SceneOutlinerItem[];
1169
+ readonly capabilityLabel: "editor";
901
1170
  };
902
1171
  export declare const geometry: {
903
1172
  readonly define: typeof defineAuraCustomGeometry;
904
1173
  readonly custom: (spec: AuraCustomGeometrySpec, options?: Omit<AuraPrimitiveOptions, "geometry">) => AuraNodeBuilder<AuraPrimitiveNode>;
905
1174
  };
906
- export declare function text3D(text: string, options?: AuraText3DOptions & Omit<AuraPrimitiveOptions, "geometry" | "text3D">): AuraNodeBuilder<AuraPrimitiveNode>;
1175
+ export declare function text3D(text: string, options?: AuraText3DOptions & Omit<AuraPrimitiveOptions, "geometry" | "text3D"> & {
1176
+ readonly backend?: "extruded-mesh" | "sdf";
1177
+ readonly sdfStyle?: SdfTextStyle;
1178
+ readonly sdfOcclusion?: SdfTextOcclusionPolicy;
1179
+ }): AuraNodeBuilder<AuraPrimitiveNode>;
907
1180
  export declare function distanceLod(options: Omit<AuraPrimitiveOptions, "lod" | "geometry"> & {
908
1181
  readonly levels: readonly AuraRootLodLevelSpec[];
909
1182
  readonly hysteresis?: number;
@@ -979,6 +1252,18 @@ export declare const lights: {
979
1252
  readonly intensity?: number;
980
1253
  readonly color?: AuraColor;
981
1254
  }) => AuraNodeBuilder<AuraLightNode>;
1255
+ readonly spot: (options?: {
1256
+ readonly name?: string;
1257
+ readonly position?: AuraVec3;
1258
+ readonly target?: AuraVec3;
1259
+ readonly angle?: number;
1260
+ readonly penumbra?: number;
1261
+ readonly distance?: number;
1262
+ readonly decay?: number;
1263
+ readonly intensity?: number;
1264
+ readonly color?: AuraColor;
1265
+ readonly shadow?: boolean;
1266
+ }) => AuraNodeBuilder<AuraLightNode>;
982
1267
  readonly studio: (options?: {
983
1268
  readonly intensity?: number;
984
1269
  }) => AuraNodeBuilder<AuraLightNode>;
@@ -1052,6 +1337,12 @@ export interface AuraCameraFrameAssetOptions {
1052
1337
  readonly minDistance?: number;
1053
1338
  }
1054
1339
  export declare const camera: {
1340
+ readonly shoulder: typeof import("./GameCameraRigs.js").createShoulderCamera;
1341
+ readonly collisionAwareOrbit: typeof import("./GameCameraRigs.js").createCollisionAwareOrbit;
1342
+ readonly shake: typeof import("./GameCameraRigs.js").createTraumaShake;
1343
+ readonly punchIn: typeof import("./GameCameraRigs.js").createPunchIn;
1344
+ readonly followRig: typeof import("./GameCameraRigs.js").createFollowRig;
1345
+ readonly gameRig: typeof import("./GameCameraRigs.js").createGameCameraRig;
1055
1346
  readonly perspective: (options?: Omit<AuraCameraSpec, "mode">) => AuraCameraSpec;
1056
1347
  readonly orbit: (options?: Omit<AuraCameraSpec, "mode">) => AuraCameraSpec;
1057
1348
  readonly dolly: (options: Omit<AuraCameraSpec, "mode"> & {
@@ -1108,6 +1399,15 @@ export declare const camera: {
1108
1399
  readonly miniGolf: () => AuraCameraSpec;
1109
1400
  readonly neon: () => AuraCameraSpec;
1110
1401
  };
1402
+ export declare const gameFeel: {
1403
+ readonly create: typeof import("./GameFeel.js").createGameFeel;
1404
+ readonly hitStopDefaults: {
1405
+ readonly light: 0.045;
1406
+ readonly heavy: 0.07;
1407
+ readonly special: 0.1;
1408
+ readonly default: 0.06;
1409
+ };
1410
+ };
1111
1411
  export interface AuraTimelineSpec {
1112
1412
  readonly mode: "loop" | "once";
1113
1413
  readonly seconds?: number;
@@ -1126,13 +1426,155 @@ export declare const effects: {
1126
1426
  readonly bloom: (options?: Omit<AuraEffectNode, "kind" | "effect">) => AuraNodeBuilder<AuraEffectNode>;
1127
1427
  readonly cinematicBloom: (options?: Omit<AuraEffectNode, "kind" | "effect">) => AuraNodeBuilder<AuraEffectNode>;
1128
1428
  readonly neonBloom: (options?: Omit<AuraEffectNode, "kind" | "effect">) => AuraNodeBuilder<AuraEffectNode>;
1429
+ /**
1430
+ * A5 volumetric fog (muse3jsparity-PRD): builds a DISTINCT "volumetric-fog"
1431
+ * node (never plain fog) that submits the depth-aware inscatter pass plus
1432
+ * forward GPU height-fog terms. quality "off" keeps forward exp2 fog only.
1433
+ */
1129
1434
  readonly volumetricFog: (options?: Omit<AuraEffectNode, "kind" | "effect">) => AuraNodeBuilder<AuraEffectNode>;
1130
1435
  readonly depthFog: (options?: Omit<AuraEffectNode, "kind" | "effect">) => AuraNodeBuilder<AuraEffectNode>;
1131
1436
  readonly ambientOcclusion: (options?: Omit<AuraEffectNode, "kind" | "effect">) => AuraNodeBuilder<AuraEffectNode>;
1132
1437
  readonly contactOcclusion: (options?: Omit<AuraEffectNode, "kind" | "effect">) => AuraNodeBuilder<AuraEffectNode>;
1438
+ /**
1439
+ * Root color-grade node (muse3jsparity-PRD A3). contrast/saturation execute
1440
+ * natively; exposure/shadows/highlights/lut are recorded on the node and
1441
+ * warned (no native grade target yet — never silently accepted).
1442
+ */
1443
+ readonly colorGrade: (options?: Omit<AuraEffectNode, "kind" | "effect">) => AuraNodeBuilder<AuraEffectNode>;
1444
+ /**
1445
+ * Root anti-alias node (muse3jsparity-PRD A3). `fxaa` executes natively;
1446
+ * `off` submits nothing; `taa` is recorded but withheld (no history binding
1447
+ * at root) with an explicit diagnostic warning.
1448
+ */
1449
+ readonly antiAlias: (options?: Omit<AuraEffectNode, "kind" | "effect">) => AuraNodeBuilder<AuraEffectNode>;
1450
+ /**
1451
+ * Root outline node (muse3jsparity-PRD A3): native outline pass, width in
1452
+ * pixels clamped to the device range 1-6 by the bridge.
1453
+ */
1454
+ readonly outline: (options?: Omit<AuraEffectNode, "kind" | "effect">) => AuraNodeBuilder<AuraEffectNode>;
1455
+ /**
1456
+ * Root screen-space reflections node (muse3jsparity-PRD A3): submits the
1457
+ * native SSR pass against renderer-owned depth where available.
1458
+ */
1459
+ readonly screenSpaceReflections: (options?: Omit<AuraEffectNode, "kind" | "effect">) => AuraNodeBuilder<AuraEffectNode>;
1460
+ /**
1461
+ * Root depth-of-field node (muse3jsparity-PRD A3). focus is a
1462
+ * linear-distance fraction (0 = near plane, 1 = far plane); aperture widens
1463
+ * the focus transition band (game-tuned control, not a physical f-stop).
1464
+ */
1465
+ readonly depthOfField: (options?: Omit<AuraEffectNode, "kind" | "effect">) => AuraNodeBuilder<AuraEffectNode>;
1466
+ /**
1467
+ * Root motion-blur node (muse3jsparity-PRD A3): recorded but withheld (no
1468
+ * velocity binding at root) with an explicit diagnostic warning.
1469
+ */
1470
+ readonly motionBlur: (options?: Omit<AuraEffectNode, "kind" | "effect">) => AuraNodeBuilder<AuraEffectNode>;
1133
1471
  readonly rain: (options?: Omit<AuraEffectNode, "kind" | "effect">) => AuraNodeBuilder<AuraEffectNode>;
1472
+ readonly snow: (options?: Omit<AuraEffectNode, "kind" | "effect">) => AuraNodeBuilder<AuraEffectNode>;
1473
+ /**
1474
+ * Flipbook explosion/muzzle-flash sprite sheet (muse3jsparity-PRD D4):
1475
+ * recorded with validated sheet geometry, but withheld — root has no
1476
+ * native sprite-sheet sampler yet, so no pass is submitted.
1477
+ */
1478
+ readonly flipbook: (options?: Omit<AuraEffectNode, "kind" | "effect">) => AuraNodeBuilder<AuraEffectNode>;
1479
+ /**
1480
+ * Additive thick light beam / fence strip (muse3jsparity-PRD D4): recorded
1481
+ * with a validated quad-strip descriptor, but withheld — root has no native
1482
+ * beam target yet, so no pass is submitted.
1483
+ */
1484
+ readonly beam: (options?: Omit<AuraEffectNode, "kind" | "effect">) => AuraNodeBuilder<AuraEffectNode>;
1134
1485
  readonly particles: (options?: Omit<AuraEffectNode, "kind" | "effect">) => AuraNodeBuilder<AuraEffectNode>;
1135
1486
  };
1487
+ /**
1488
+ * D3 atmosphere builders (PRD D3 boxes 1-2). ADDITIVE root surface over the
1489
+ * pure descriptors in `@aura3d/rendering` (`DayNightSky.ts`,
1490
+ * `AtmosphereWetness.ts`, `Weather.ts`).
1491
+ *
1492
+ * Every builder below composes pre-existing node kinds only (primitive,
1493
+ * light, effect); no existing builder is modified. Precipitation pixels in
1494
+ * the default production path come from weather-state-driven primitive
1495
+ * streaks/flakes, because the production bridge does not pixel-back `rain`,
1496
+ * `snow`, or `particles` effect passes (they render only in the safe-basic
1497
+ * fallback and the Canvas2D diagnostic path). The matching effect node is
1498
+ * still declared so diagnostics report the request.
1499
+ */
1500
+ export declare const sky: {
1501
+ /** Time-of-day sky: background key, sun/moon discs, stars, 2D-noise clouds, key light. */
1502
+ readonly dayNight: (options?: DayNightSkyOptions & {
1503
+ readonly starLimit?: number;
1504
+ readonly cloudLimit?: number;
1505
+ }) => {
1506
+ readonly nodes: readonly AuraSceneNode[];
1507
+ readonly background: string;
1508
+ readonly dayFactor: number;
1509
+ readonly visibleStarCount: number;
1510
+ };
1511
+ };
1512
+ export declare const weather: {
1513
+ /** Rain/snow declaration + weather-state-driven primitive streaks/flakes for production-path pixels. */
1514
+ readonly precipitation: (options: {
1515
+ readonly type: WeatherType;
1516
+ readonly seed?: number;
1517
+ readonly streakLimit?: number;
1518
+ readonly elapsedSeconds?: number;
1519
+ }) => {
1520
+ readonly nodes: readonly AuraSceneNode[];
1521
+ readonly dropCount: number;
1522
+ readonly wetness: number;
1523
+ };
1524
+ /** Ground slab with wetness darkening + puddle discs mapped from WeatherPuddlePatch. */
1525
+ readonly wetGround: (options?: {
1526
+ readonly type?: WeatherType;
1527
+ readonly dryColor?: string;
1528
+ readonly dryRoughness?: number;
1529
+ readonly seed?: number;
1530
+ readonly size?: number;
1531
+ }) => {
1532
+ readonly nodes: readonly AuraSceneNode[];
1533
+ readonly wetness: number;
1534
+ readonly albedoColor: string;
1535
+ readonly roughness: number;
1536
+ readonly puddleCount: number;
1537
+ };
1538
+ /** Lightning-flash light hook: intensity is 0 unless type is thunderstorm. */
1539
+ readonly lightning: (options?: {
1540
+ readonly type: WeatherType;
1541
+ readonly elapsedSeconds?: number;
1542
+ readonly seed?: number;
1543
+ }) => {
1544
+ readonly nodes: readonly AuraSceneNode[];
1545
+ readonly intensity: number;
1546
+ };
1547
+ };
1548
+ /**
1549
+ * D3 water surface builder (PRD D3 box 3). ADDITIVE root surface over
1550
+ * `createWaterSurface` in `@aura3d/rendering`.
1551
+ *
1552
+ * Rendered material = layered opaque depth-tinted bands (bounded refraction
1553
+ * look) + fresnel-baked sky tint + white shore-foam discs mapped from
1554
+ * `OceanFoamPatch` + boat + fading wake trail. Buoyancy queries stay on the
1555
+ * fixture (`sampleOceanFixture().buoyancy`); this builder creates no planar
1556
+ * reflection/refraction targets (B4 dependency, see
1557
+ * WATER_SURFACE_PLANAR_DEPENDENCY).
1558
+ */
1559
+ export declare const water: {
1560
+ readonly surface: (options?: {
1561
+ readonly preset?: WaterSurfacePreset;
1562
+ readonly seed?: number;
1563
+ readonly boat?: WaterSurfaceBoat;
1564
+ readonly withBoatHull?: boolean;
1565
+ }) => {
1566
+ readonly nodes: readonly AuraSceneNode[];
1567
+ readonly bandCount: number;
1568
+ readonly foamCount: number;
1569
+ readonly wakeActive: boolean;
1570
+ readonly wakeSegmentCount: number;
1571
+ };
1572
+ /** Fixture-side buoyancy telemetry passthrough (no physics implemented here). */
1573
+ readonly buoyancy: (options?: {
1574
+ readonly preset?: WaterSurfacePreset;
1575
+ readonly seed?: number;
1576
+ }) => ReturnType<typeof sampleOceanFixture>["buoyancy"];
1577
+ };
1136
1578
  export declare const interactions: {
1137
1579
  readonly orbit: (options?: {
1138
1580
  readonly target?: string;
@@ -1223,6 +1665,16 @@ export declare const environments: {
1223
1665
  readonly glassStudio: (options?: AuraEnvironmentOptions) => AuraNodeBuilder<AuraEnvironmentNode>;
1224
1666
  readonly presets: () => readonly AuraEnvironmentMapPreset[];
1225
1667
  readonly forMaterial: (materialClass: "metal" | "glass" | "product" | "studio") => AuraNodeBuilder<AuraEnvironmentNode>;
1668
+ /**
1669
+ * B3 root HDRI environment (muse3jsparity-PRD). The `.hdr` asset resolves
1670
+ * post-mount: first frames render the honest studio procedural fallback,
1671
+ * then the HDR→cubemap→GGX-prefilter→BRDF-LUT chain swaps in and
1672
+ * `iblPixelBacked` flips true in diagnostics. Fetch/parse failures keep the
1673
+ * fallback and warn — never a black scene, never a silent swap.
1674
+ */
1675
+ readonly hdri: (options: AuraEnvironmentOptions & {
1676
+ texture: AuraAssetRef<"texture">;
1677
+ }) => AuraNodeBuilder<AuraEnvironmentNode>;
1226
1678
  };
1227
1679
  export declare const renderer: {
1228
1680
  readonly colorManagementPreset: () => AuraRendererColorManagementPreset;
@@ -1234,6 +1686,103 @@ export declare const renderer: {
1234
1686
  readonly screenshotQuality: () => AuraRendererQualityPreset;
1235
1687
  readonly diagnostics: (sceneValue: AuraSceneBuilder | AuraSceneSnapshot, options?: AuraCreateAppRendererOptions) => AuraRendererDiagnosticReport;
1236
1688
  };
1689
+ interface AuraRendererRuntimeObservation {
1690
+ readonly mounted: boolean;
1691
+ readonly backend: "scene-plan" | "webgl2-agent-runtime" | "production-runtime";
1692
+ readonly postprocess: {
1693
+ readonly renderPass: boolean;
1694
+ readonly outputPass: boolean;
1695
+ readonly bloomPass: boolean;
1696
+ readonly ambientOcclusionPass: boolean;
1697
+ readonly contactOcclusionReceiver: boolean;
1698
+ readonly pixelBacked: boolean;
1699
+ readonly actualPasses: readonly string[];
1700
+ readonly fallbackPasses: readonly string[];
1701
+ readonly targetFormat?: "rgba8" | "rgba16f" | "rgba32f";
1702
+ /** Device-observed postprocess execution path (muse3jsparity-PRD A1). */
1703
+ readonly executionMode: RendererPostprocessExecutionMode | "unknown";
1704
+ };
1705
+ readonly environment?: {
1706
+ readonly enabled: boolean;
1707
+ readonly preset?: AuraEnvironmentNode["environment"] | string;
1708
+ readonly intensity?: number;
1709
+ readonly evidence: string;
1710
+ /** B3: true only after the HDRI chain swaps the live lighting object. */
1711
+ readonly iblPixelBacked?: boolean;
1712
+ readonly hdriStatus?: "none" | "pending" | "ready" | "fallback";
1713
+ readonly dualProbe?: boolean;
1714
+ readonly hdriRotation?: number;
1715
+ };
1716
+ /**
1717
+ * Device-observed shadow-map activity. This exists because the root report
1718
+ * previously published `shadows.enabled: true` unconditionally, which is a
1719
+ * source-authored boolean rather than evidence that any shadow map was
1720
+ * rendered or sampled.
1721
+ */
1722
+ readonly shadow?: {
1723
+ readonly requested: boolean;
1724
+ readonly mapRendered: boolean;
1725
+ readonly mapSampled: boolean;
1726
+ readonly mapSize?: number;
1727
+ readonly label?: string;
1728
+ readonly nativeShadowMapBindings?: number;
1729
+ readonly shadowRenderTargetsAllocated?: number;
1730
+ /**
1731
+ * N1 authored spot shadow state (muse3jsparity-PRD). `spotPixelBacked`
1732
+ * requires the device-observed map signals on a spot caster.
1733
+ */
1734
+ readonly spot?: {
1735
+ readonly requested: boolean;
1736
+ readonly casterIsSpot: boolean;
1737
+ readonly casterName?: string;
1738
+ readonly angle?: number;
1739
+ readonly penumbra?: number;
1740
+ readonly range?: number;
1741
+ readonly atlasResolution?: number;
1742
+ readonly atlasReason?: string;
1743
+ readonly spotPixelBacked: boolean;
1744
+ readonly reason: string;
1745
+ };
1746
+ };
1747
+ /** G1 SDF text observation, computed from the mounted primitive entries. */
1748
+ readonly text?: {
1749
+ readonly sdfTexts: number;
1750
+ readonly textPixelBacked: boolean;
1751
+ readonly quadCount: number;
1752
+ readonly lastOpacity: number;
1753
+ readonly reason: string;
1754
+ };
1755
+ /** M2 streaming residency, funded from the post-upgrade texture table. */
1756
+ readonly textures?: {
1757
+ readonly budgetBytes: number;
1758
+ readonly usedBytes: number;
1759
+ readonly requestedBytes: number;
1760
+ readonly overBudget: boolean;
1761
+ readonly overBudgetBytes: number;
1762
+ readonly residentEntries: number;
1763
+ readonly evictedEntries: readonly string[];
1764
+ };
1765
+ readonly warnings?: readonly string[];
1766
+ readonly deviceDiagnostics?: Pick<RenderDeviceDiagnostics, "nativeInstancedSubmissions" | "submittedObjects" | "visibleObjects" | "culledObjects" | "frustumTestedObjects" | "bloom" | "samplerAnisotropyUploads" | "maxTextureAnisotropy">;
1767
+ readonly lodSelections?: readonly {
1768
+ readonly nodeName: string;
1769
+ readonly levelIndex: number;
1770
+ readonly levelName: string;
1771
+ }[];
1772
+ /**
1773
+ * C1 per-material textured diagnostics. pixelBacked is true only after the
1774
+ * post-mount upgrade swaps in the TexturedPBRMaterial (scalar first frames
1775
+ * report false, never a premature true).
1776
+ */
1777
+ readonly texturedMaterials?: readonly {
1778
+ readonly nodeName: string;
1779
+ readonly levelName: string;
1780
+ readonly status: "none" | "pending" | "textured" | "fallback";
1781
+ readonly slots: readonly string[];
1782
+ readonly pixelBacked: boolean;
1783
+ readonly warnings: readonly string[];
1784
+ }[];
1785
+ }
1237
1786
  export interface AuraSceneSnapshot {
1238
1787
  readonly schema: "aura3d-scene-snapshot/1.0";
1239
1788
  readonly background: AuraColor;
@@ -2405,6 +2954,8 @@ export interface AuraDiagnostics {
2405
2954
  * while evidence counted the nodes, so the counted-node signal is not enough.
2406
2955
  */
2407
2956
  readonly labels?: readonly ProjectedLabel[];
2957
+ readonly labelTelemetry?: LabelTelemetry;
2958
+ readonly textBuckets?: TextBucketSummary;
2408
2959
  }
2409
2960
  export interface AuraAssetProvenance {
2410
2961
  readonly source: "typed-aura-assets-manifest" | "unsafe-url" | "inline-definition";
@@ -2551,6 +3102,13 @@ export interface AuraRuntimeNodeImportedAssetEvidence {
2551
3102
  readonly renderItemCount: number;
2552
3103
  readonly skinnedRenderItemCount: number;
2553
3104
  readonly morphRenderItemCount: number;
3105
+ readonly lastMaterialTracksApplied?: number | undefined;
3106
+ readonly lastLightTracksApplied?: number | undefined;
3107
+ readonly lastFootPlantingGroundedFeet?: number | undefined;
3108
+ readonly lastFootPlantingTargetError?: number | undefined;
3109
+ readonly lastFootPlantingHipOffset?: number | undefined;
3110
+ readonly lastFootPlantingMissingLegs?: readonly string[] | undefined;
3111
+ readonly footPlantingConfigured?: boolean | undefined;
2554
3112
  readonly diagnostics: readonly AuraRuntimeNodeImportedAssetDiagnostic[];
2555
3113
  }
2556
3114
  export interface AuraRuntimeNodeImportedAssetDiagnostic {
@@ -2576,6 +3134,13 @@ export interface AuraRuntimeNodeImportedAssetEvidenceInput {
2576
3134
  readonly renderItemCount?: number | undefined;
2577
3135
  readonly skinnedRenderItemCount?: number | undefined;
2578
3136
  readonly morphRenderItemCount?: number | undefined;
3137
+ readonly lastMaterialTracksApplied?: number | undefined;
3138
+ readonly lastLightTracksApplied?: number | undefined;
3139
+ readonly lastFootPlantingGroundedFeet?: number | undefined;
3140
+ readonly lastFootPlantingTargetError?: number | undefined;
3141
+ readonly lastFootPlantingHipOffset?: number | undefined;
3142
+ readonly lastFootPlantingMissingLegs?: readonly string[] | undefined;
3143
+ readonly footPlantingConfigured?: boolean | undefined;
2579
3144
  readonly requiredClips?: readonly string[] | undefined;
2580
3145
  readonly requiredBones?: readonly string[] | undefined;
2581
3146
  readonly requiredMorphTargets?: readonly string[] | undefined;
@@ -2697,6 +3262,10 @@ export interface AuraCreateAppOptions {
2697
3262
  readonly layers?: AuraCollisionLayers | undefined;
2698
3263
  /** World gravity. Defaults to `[0, -9.81, 0]`; top-down games usually want zero. */
2699
3264
  readonly gravity?: readonly [number, number, number] | undefined;
3265
+ /** Repeatability seed provenance (H1): recorded on the world, fail-loud unless a finite integer. */
3266
+ readonly seed?: number | undefined;
3267
+ /** Continuous-collision selection (H1): without this the app world never enables CCD. */
3268
+ readonly continuousCollision?: PhysicsContinuousCollisionDescriptor | undefined;
2700
3269
  };
2701
3270
  readonly diagnostics?: boolean | AuraDiagnosticsOptions;
2702
3271
  readonly renderer?: AuraCreateAppRendererOptions;
@@ -2767,6 +3336,135 @@ export declare const performance: {
2767
3336
  };
2768
3337
  export declare function captureAuraScreenshot(target?: HTMLCanvasElement): AuraScreenshot;
2769
3338
  export declare function createAuraAssetLoadError(asset: AuraAssetRef<"model">, reason: string): AuraRuntimeError;
3339
+ interface ProductionRuntimePrimitiveEntry {
3340
+ readonly node: AuraPrimitiveNode;
3341
+ readonly resources: readonly ProductionRuntimePrimitiveResource[];
3342
+ currentLodIndex: number;
3343
+ }
3344
+ interface ProductionRuntimePrimitiveResource {
3345
+ readonly geometry: Geometry;
3346
+ readonly material: PBRMaterial | InstancedPBRMaterial;
3347
+ readonly bounds: GltfBounds;
3348
+ readonly name: string;
3349
+ /** Source material spec (for the C1 textured upgrade); undefined when the node carries none. */
3350
+ readonly materialSpec: AuraMaterialSpec | undefined;
3351
+ /** Effective primitive node (LOD level node when applicable) for scalar re-derivation on upgrade. */
3352
+ readonly sourceNode: AuraPrimitiveNode;
3353
+ /**
3354
+ * C1 textured upgrade slot. The sync factory always installs a scalar
3355
+ * material first; the post-mount upgrade swaps in a TexturedPBRMaterial
3356
+ * once authored texture refs resolve. Reads prefer this slot.
3357
+ */
3358
+ texturedMaterial: TexturedPBRMaterial | null;
3359
+ /** C1 upgrade lifecycle: none (no texture inputs) → pending → textured | fallback. */
3360
+ textureStatus: "none" | "pending" | "textured" | "fallback";
3361
+ /** Native texture slots bound by the upgrade (subset of baseColor/normal/metallicRoughness). */
3362
+ textureSlots: readonly string[];
3363
+ /** Per-resource texture warnings (procedural inputs, fetch failures, skips). */
3364
+ textureWarnings: string[];
3365
+ /**
3366
+ * G1 SDF text state. Non-null only when the SDF sampler mounted this
3367
+ * resource as atlas-derived quads (textPixelBacked diagnostics source).
3368
+ */
3369
+ sdfText: {
3370
+ readonly quadCount: number;
3371
+ readonly imageBytes: number;
3372
+ readonly lodFadeNear?: number;
3373
+ readonly lodFadeFar?: number;
3374
+ readonly occlusionPolicy: SdfTextOcclusionPolicy;
3375
+ /** Last per-frame opacity written to the quad material (LOD x occlusion). */
3376
+ lastOpacity: number;
3377
+ /** Last per-frame visibility (occlusion hide policy skips submission). */
3378
+ lastVisible: boolean;
3379
+ /** True when quads were submitted on the last frame (pixel-backing leg). */
3380
+ lastSubmitted: boolean;
3381
+ } | null;
3382
+ /**
3383
+ * M2 streaming table: resident texture bytes on this resource (base +
3384
+ * full mip-chain estimate) feeding the distance-prioritized residency.
3385
+ */
3386
+ textureBytes: number;
3387
+ /** Coarse-to-fine mip-level bytes for the residency funding walk. */
3388
+ textureMipBytes: readonly number[];
3389
+ }
3390
+ /**
3391
+ * N1 caster selection (pure, unit-tested): an explicit `shadow: true`
3392
+ * request wins the single caster slot over unrequested lights; ties and
3393
+ * all-unrequested scenes keep the legacy priority-then-intensity order.
3394
+ */
3395
+ export declare function resolveProductionShadowCasterIndex(descriptors: readonly {
3396
+ readonly shadowPriority: number;
3397
+ readonly shadowRequested: boolean;
3398
+ readonly intensity: number;
3399
+ }[]): number;
3400
+ /**
3401
+ * C1 texture intent classification (pure, unit-tested). Asset refs resolve to
3402
+ * fetchable urls; procedural inputs have no rasterizer and are reported so
3403
+ * the caller can warn instead of silently dropping them.
3404
+ */
3405
+ export declare function createProductionPrimitiveTextureIntent(materialSpec: AuraMaterialSpec | undefined): {
3406
+ readonly baseColorUrl?: string;
3407
+ readonly normalUrl?: string;
3408
+ readonly roughnessUrl?: string;
3409
+ readonly metalnessUrl?: string;
3410
+ readonly occlusionUrl?: string;
3411
+ readonly emissiveUrl?: string;
3412
+ readonly proceduralInputs: readonly string[];
3413
+ };
3414
+ /**
3415
+ * C1 post-mount textured upgrade (muse3jsparity-PRD). Runs fire-and-forget
3416
+ * after mount: scalar first frames stay fast and honest, and every outcome —
3417
+ * textured, fallback, or skipped — is recorded on the resource with warnings.
3418
+ * Procedural inputs have no rasterizer: recorded + warned, never faked.
3419
+ */
3420
+ export declare function upgradeProductionPrimitiveTextures(entries: readonly ProductionRuntimePrimitiveEntry[], warn: (message: string) => void): Promise<void>;
3421
+ /**
3422
+ * B3 post-mount HDRI upgrade (muse3jsparity-PRD). Fetches a Radiance `.hdr`
3423
+ * asset, runs the HDR→cubemap→GGX-prefilter→BRDF-LUT chain, and returns the
3424
+ * live lighting object plus its disposal. Throws on fetch/parse failure so
3425
+ * the caller keeps the honest procedural fallback and warns.
3426
+ */
3427
+ export declare function upgradeProductionEnvironmentHdri(url: string, intensity: number, reflectionUrl?: string, rotation?: number): Promise<{
3428
+ readonly lighting: EnvironmentLightingOptions;
3429
+ readonly dispose: () => void;
3430
+ readonly maxLinearValue: number;
3431
+ readonly specularMipCount: number;
3432
+ readonly dualProbe: boolean;
3433
+ }>;
3434
+ export declare function compositeMetallicRoughnessPixels(rough: Uint8Array | undefined, metal: Uint8Array | undefined, pixelCount: number, roughnessScalar: number, metalnessScalar: number): Uint8Array;
3435
+ /**
3436
+ * M2 mip-chain byte estimate (pure, unit-tested): full chain from the base
3437
+ * level, coarse-to-fine, RGBA8. Matches the GPU residency the bridge funds.
3438
+ */
3439
+ export declare function mipChainBytesCoarseToFine(width: number, height: number): readonly number[];
3440
+ /** M2 streaming budget normalization (pure, unit-tested): default 256 MiB, fail-closed. */
3441
+ export declare function normalizeTextureBudgetBytes(value: number | undefined): number;
3442
+ export interface TextureStreamingTableEntry {
3443
+ readonly id: string;
3444
+ readonly mipBytesCoarseToFine: readonly number[];
3445
+ readonly distanceMeters: number;
3446
+ }
3447
+ /**
3448
+ * M2 streaming residency from the post-upgrade texture table (pure,
3449
+ * unit-tested): distance-prioritized mip funding against the budget with
3450
+ * over-budget telemetry for the unfunded tail.
3451
+ */
3452
+ export declare function describeTextureStreamingResidency(table: readonly TextureStreamingTableEntry[], budgetBytes: number): TextureStreamingResidency;
3453
+ /**
3454
+ * N1 spot shadow observation (pure, unit-tested): cone + atlas tier from the
3455
+ * authored spot, pixel-backing gated on the device-observed map signals with
3456
+ * the spot as caster. No signal, no claim.
3457
+ */
3458
+ export declare function describeProductionSpotShadow(input: {
3459
+ readonly requested: boolean;
3460
+ readonly casterIsSpot: boolean;
3461
+ readonly casterName?: string;
3462
+ readonly angle?: number;
3463
+ readonly penumbra?: number;
3464
+ readonly range?: number;
3465
+ readonly mapRendered: boolean;
3466
+ readonly mapSampled: boolean;
3467
+ }): NonNullable<AuraRendererRuntimeObservation["shadow"]>["spot"];
2770
3468
  interface ProductionBoundsProbe {
2771
3469
  readonly assetId: string;
2772
3470
  readonly metadata: {
@@ -2788,5 +3486,9 @@ interface ProductionBoundsProbe {
2788
3486
  * silently producing mismatched framing.
2789
3487
  */
2790
3488
  export declare function auraProductionBoundsProbes(): readonly ProductionBoundsProbe[];
3489
+ interface GltfBounds {
3490
+ readonly min: AuraVec3;
3491
+ readonly max: AuraVec3;
3492
+ }
2791
3493
  export declare function isOrthographicCameraMode(mode: AuraCameraMode): boolean;
2792
3494
  //# sourceMappingURL=index.d.ts.map