@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
@@ -0,0 +1,108 @@
1
+ /**
2
+ * muse3jsparity-PRD P2 — root `instances.model()` wiring source (package side).
3
+ *
4
+ * Closes the primitive-only instancing gap from the root-facing side WITHOUT
5
+ * touching `packages/engine/src/agent-api/index.ts` (HARD RULE) and WITHOUT
6
+ * touching the D1 owner (`packages/rendering/src/Instancing*.ts` — a sibling
7
+ * owns it; the joint is reported, not edited).
8
+ *
9
+ * Split of responsibilities:
10
+ * - THIS module: root-facing validation + node shape + draw-class math +
11
+ * fail-closed D1 warning (the 4096-draw footgun must be impossible to hit
12
+ * silently from root, so a non-instancing-aware material yields an
13
+ * N-draw estimate AND a `material-rejects-instancing` warning).
14
+ * - D1 sibling (`@aura3d/rendering` Instancing/InstancingDiagnostics):
15
+ * one-draw execution, per-instance attributes, BatchedMesh-equivalent
16
+ * consolidation, device-limit fallback at mount.
17
+ *
18
+ * Root wiring is a hunk in agent-api (reported, not applied):
19
+ * 1. Extend `AuraModelNode` with `instances?`, `instanceColors?`,
20
+ * `instanceLod?` (same shapes as `AuraPrimitiveNode`).
21
+ * 2. Add `instances.model(asset, { transforms, colors?, lod?, material })`
22
+ * delegating to `createInstancedModelNode`, passing the D1
23
+ * instancing-aware flag from the material registry.
24
+ * 3. Production mount (`:12703`/`:13246` area) consumes `node.instances`
25
+ * on model nodes exactly like primitive nodes.
26
+ */
27
+ const DEFAULT_MAX_INSTANCES_PER_DRAW = 4096;
28
+ export function createInstancedModelNode(options) {
29
+ if (options.transforms.length === 0) {
30
+ throw new Error("Aura3D instanced models require at least one transform.");
31
+ }
32
+ if (options.colors && options.colors.length !== options.transforms.length) {
33
+ throw new Error("Aura3D instanced-model color count must match transform count.");
34
+ }
35
+ const lodLevels = options.lod?.levels ?? [];
36
+ for (let i = 1; i < lodLevels.length; i += 1) {
37
+ if ((lodLevels[i]?.maxDistance ?? 0) <= (lodLevels[i - 1]?.maxDistance ?? 0)) {
38
+ throw new Error("Aura3D instanced-model LOD maxDistance levels must ascend.");
39
+ }
40
+ }
41
+ const maxPerDraw = options.maxInstancesPerDraw ?? DEFAULT_MAX_INSTANCES_PER_DRAW;
42
+ if (!Number.isInteger(maxPerDraw) || maxPerDraw <= 0) {
43
+ throw new RangeError("Aura3D instanced-model maxInstancesPerDraw must be a positive integer.");
44
+ }
45
+ const aware = options.materialInstancingAware === true;
46
+ const count = options.transforms.length;
47
+ const withInstancing = Math.ceil(count / maxPerDraw);
48
+ const material = options.materialName ?? "unknown-material";
49
+ const fallbackWarning = aware
50
+ ? undefined
51
+ : {
52
+ material,
53
+ requestedInstances: count,
54
+ drawnBatches: count,
55
+ reason: "material-rejects-instancing",
56
+ diagnostic: `Instancing fallback for material "${material}": ` +
57
+ `${count} instances requested but the material is not in the instancing-aware registry ` +
58
+ `(material-rejects-instancing). The renderer expands to ${count} draws unless the material ` +
59
+ `program supports instance matrices — use an instancing-aware material to guarantee 1-draw class.`
60
+ };
61
+ const culling = computeCullingTelemetry(options.transforms);
62
+ const node = {
63
+ kind: "model",
64
+ asset: options.asset,
65
+ ...(options.name !== undefined ? { name: options.name } : {}),
66
+ instances: [...options.transforms],
67
+ ...(options.colors ? { instanceColors: [...options.colors] } : {}),
68
+ ...(options.lod ? { instanceLod: { levels: [...options.lod.levels], ...(options.lod.hysteresis !== undefined ? { hysteresis: options.lod.hysteresis } : {}) } } : {}),
69
+ instanceCulling: culling,
70
+ castShadow: options.castShadow ?? true,
71
+ receiveShadow: options.receiveShadow ?? true,
72
+ visible: true
73
+ };
74
+ return {
75
+ node,
76
+ diagnostics: {
77
+ instanceCount: count,
78
+ estimatedDrawCallsWithoutInstancing: count,
79
+ estimatedDrawCallsWithInstancing: aware ? withInstancing : count,
80
+ oneDrawClass: aware && withInstancing === 1,
81
+ ...(fallbackWarning ? { fallbackWarning } : {}),
82
+ lodLevels: lodLevels.length,
83
+ lodHysteresis: options.lod?.hysteresis ?? 0,
84
+ culling
85
+ }
86
+ };
87
+ }
88
+ function computeCullingTelemetry(transforms) {
89
+ let cx = 0;
90
+ let cy = 0;
91
+ let cz = 0;
92
+ const positions = transforms.map((transform) => transform.position ?? [0, 0, 0]);
93
+ for (const position of positions) {
94
+ cx += position[0] ?? 0;
95
+ cy += position[1] ?? 0;
96
+ cz += position[2] ?? 0;
97
+ }
98
+ const count = positions.length;
99
+ const centroid = [cx / count, cy / count, cz / count];
100
+ let radius = 0;
101
+ for (const position of positions) {
102
+ const distance = Math.hypot((position[0] ?? 0) - centroid[0], (position[1] ?? 0) - centroid[1], (position[2] ?? 0) - centroid[2]);
103
+ if (distance > radius)
104
+ radius = distance;
105
+ }
106
+ return { instanceCount: count, centroid, boundingRadius: radius, cullable: true };
107
+ }
108
+ //# sourceMappingURL=InstancedModel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InstancedModel.js","sourceRoot":"","sources":["../../../../../packages/engine/src/instances-model/InstancedModel.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,72 @@
1
+ /**
2
+ * muse3jsparity-PRD P3 — root `material.physical` spec path (package side).
3
+ *
4
+ * `physical` must not be a bare alias of `pbr`. This module gives it its own
5
+ * spec path WITHOUT touching `packages/engine/src/agent-api/index.ts`
6
+ * (HARD RULE):
7
+ *
8
+ * - Explicit clearcoat/sheen/iridescence/anisotropy/transmission/volume/ior
9
+ * params with three.js-r185-aligned defaults.
10
+ * - Every requested extension maps to its `MaterialExtensions` support-matrix
11
+ * state (`packages/rendering/src/materials/MaterialExtensions.ts`,
12
+ * mirrored below with source pinned). Params outside proof emit the matrix
13
+ * diagnostic — never silent acceptance, never silent rendering.
14
+ * - `pbr` stays the simple path (untouched); docs show when to reach for
15
+ * `physical` (bridge hunk wires `material.physical = (o) =>
16
+ * createPhysicalMaterialSpec(o).spec` and routes `.diagnostics` through
17
+ * `material.capabilityDiagnostics`).
18
+ */
19
+ export type PhysicalExtensionId = "clearcoat" | "sheen" | "iridescence" | "anisotropy" | "transmission" | "volume" | "ior" | "specular";
20
+ export type PhysicalExtensionSupport = "supported" | "bounded" | "unsupported";
21
+ export interface PhysicalExtensionMatrixEntry {
22
+ readonly extension: PhysicalExtensionId;
23
+ readonly support: PhysicalExtensionSupport;
24
+ readonly diagnostic: string;
25
+ }
26
+ /**
27
+ * Mirrors EXTERNAL_PARITY_MATERIAL_EXTENSION_SUPPORT
28
+ * (packages/rendering/src/materials/MaterialExtensions.ts). If that table
29
+ * changes, this one must change with it — enforced by the P3 unit test,
30
+ * which imports BOTH tables and asserts state equality per extension.
31
+ */
32
+ export declare const PHYSICAL_EXTENSION_MATRIX: readonly PhysicalExtensionMatrixEntry[];
33
+ export interface PhysicalMaterialSpecOptions {
34
+ readonly color?: string;
35
+ readonly roughness?: number;
36
+ readonly metallic?: number;
37
+ readonly metalness?: number;
38
+ readonly clearcoat?: number;
39
+ readonly clearcoatRoughness?: number;
40
+ readonly sheen?: number;
41
+ readonly sheenColor?: string;
42
+ readonly sheenRoughness?: number;
43
+ readonly iridescence?: number;
44
+ readonly iridescenceIOR?: number;
45
+ readonly iridescenceThicknessRange?: readonly [number, number];
46
+ readonly anisotropy?: number;
47
+ readonly anisotropyRotation?: number;
48
+ readonly transmission?: number;
49
+ readonly thickness?: number;
50
+ readonly attenuationColor?: string;
51
+ readonly attenuationDistance?: number;
52
+ readonly ior?: number;
53
+ readonly specularIntensity?: number;
54
+ readonly specularColor?: string;
55
+ }
56
+ /** Spread-compatible with AuraMaterialSpec; the bridge hunk assigns it. */
57
+ export type PhysicalMaterialSpec = Record<string, unknown>;
58
+ export interface PhysicalMaterialExtensionDiagnostic {
59
+ readonly extension: PhysicalExtensionId;
60
+ readonly support: PhysicalExtensionSupport;
61
+ readonly requested: boolean;
62
+ readonly diagnostic: string;
63
+ }
64
+ export interface PhysicalMaterialResult {
65
+ readonly spec: PhysicalMaterialSpec;
66
+ readonly requestedExtensions: readonly PhysicalExtensionId[];
67
+ readonly extensionDiagnostics: readonly PhysicalMaterialExtensionDiagnostic[];
68
+ /** Every requested extension with support != supported. Empty only for the bare path. */
69
+ readonly boundedWarnings: readonly string[];
70
+ }
71
+ export declare function createPhysicalMaterialSpec(options?: PhysicalMaterialSpecOptions): PhysicalMaterialResult;
72
+ //# sourceMappingURL=PhysicalMaterialSpec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PhysicalMaterialSpec.d.ts","sourceRoot":"","sources":["../../../../../packages/engine/src/material-physical/PhysicalMaterialSpec.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,MAAM,MAAM,mBAAmB,GAC3B,WAAW,GACX,OAAO,GACP,aAAa,GACb,YAAY,GACZ,cAAc,GACd,QAAQ,GACR,KAAK,GACL,UAAU,CAAC;AAEf,MAAM,MAAM,wBAAwB,GAAG,WAAW,GAAG,SAAS,GAAG,aAAa,CAAC;AAE/E,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,SAAS,EAAE,mBAAmB,CAAC;IACxC,QAAQ,CAAC,OAAO,EAAE,wBAAwB,CAAC;IAC3C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;GAKG;AACH,eAAO,MAAM,yBAAyB,EAAE,SAAS,4BAA4B,EAS5E,CAAC;AAEF,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,yBAAyB,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/D,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;CACjC;AAED,2EAA2E;AAC3E,MAAM,MAAM,oBAAoB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAE3D,MAAM,WAAW,mCAAmC;IAClD,QAAQ,CAAC,SAAS,EAAE,mBAAmB,CAAC;IACxC,QAAQ,CAAC,OAAO,EAAE,wBAAwB,CAAC;IAC3C,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,IAAI,EAAE,oBAAoB,CAAC;IACpC,QAAQ,CAAC,mBAAmB,EAAE,SAAS,mBAAmB,EAAE,CAAC;IAC7D,QAAQ,CAAC,oBAAoB,EAAE,SAAS,mCAAmC,EAAE,CAAC;IAC9E,yFAAyF;IACzF,QAAQ,CAAC,eAAe,EAAE,SAAS,MAAM,EAAE,CAAC;CAC7C;AAMD,wBAAgB,0BAA0B,CAAC,OAAO,GAAE,2BAAgC,GAAG,sBAAsB,CAkD5G"}
@@ -0,0 +1,95 @@
1
+ /**
2
+ * muse3jsparity-PRD P3 — root `material.physical` spec path (package side).
3
+ *
4
+ * `physical` must not be a bare alias of `pbr`. This module gives it its own
5
+ * spec path WITHOUT touching `packages/engine/src/agent-api/index.ts`
6
+ * (HARD RULE):
7
+ *
8
+ * - Explicit clearcoat/sheen/iridescence/anisotropy/transmission/volume/ior
9
+ * params with three.js-r185-aligned defaults.
10
+ * - Every requested extension maps to its `MaterialExtensions` support-matrix
11
+ * state (`packages/rendering/src/materials/MaterialExtensions.ts`,
12
+ * mirrored below with source pinned). Params outside proof emit the matrix
13
+ * diagnostic — never silent acceptance, never silent rendering.
14
+ * - `pbr` stays the simple path (untouched); docs show when to reach for
15
+ * `physical` (bridge hunk wires `material.physical = (o) =>
16
+ * createPhysicalMaterialSpec(o).spec` and routes `.diagnostics` through
17
+ * `material.capabilityDiagnostics`).
18
+ */
19
+ /**
20
+ * Mirrors EXTERNAL_PARITY_MATERIAL_EXTENSION_SUPPORT
21
+ * (packages/rendering/src/materials/MaterialExtensions.ts). If that table
22
+ * changes, this one must change with it — enforced by the P3 unit test,
23
+ * which imports BOTH tables and asserts state equality per extension.
24
+ */
25
+ export const PHYSICAL_EXTENSION_MATRIX = [
26
+ { extension: "clearcoat", support: "bounded", diagnostic: "Clearcoat factor and roughness are modeled; layered multiple scattering remains bounded." },
27
+ { extension: "sheen", support: "bounded", diagnostic: "Sheen color/roughness intent is modeled for fabric review; exact renderer parity requires visual comparison." },
28
+ { extension: "specular", support: "bounded", diagnostic: "Specular factor/color are modeled for material diagnostics and matrix proof." },
29
+ { extension: "transmission", support: "bounded", diagnostic: "Transmission is approximated by the bounded transmission pass; refraction parity is not claimed." },
30
+ { extension: "volume", support: "bounded", diagnostic: "Volume thickness/attenuation are tracked for diagnostics; full volumetric caustics are not claimed." },
31
+ { extension: "ior", support: "bounded", diagnostic: "IOR is tracked and used by bounded Fresnel/transmission response." },
32
+ { extension: "anisotropy", support: "bounded", diagnostic: "Anisotropy uses the aspect-ratio anisotropic-GGX NDF in both primitive (procedural frame) and textured (authored-TBN) paths; same-scene rotation response is browser-proven (tests/browser/anisotropic-rotation-q1.spec.ts, tests/reports/anisotropic-rotation-q1/aniso-rotation.json). Full authored-tangent identity stays bounded." },
33
+ { extension: "iridescence", support: "bounded", diagnostic: "Iridescence factors are tracked for diagnostics; spectral accuracy is not claimed." }
34
+ ];
35
+ function finiteOr(value, fallback) {
36
+ return Number.isFinite(value) ? value : fallback;
37
+ }
38
+ export function createPhysicalMaterialSpec(options = {}) {
39
+ const spec = {
40
+ color: options.color ?? "#d7dee8",
41
+ roughness: finiteOr(options.roughness, 0.55),
42
+ metallic: finiteOr(options.metallic ?? options.metalness, 0),
43
+ metalness: finiteOr(options.metalness ?? options.metallic, 0),
44
+ clearcoat: finiteOr(options.clearcoat, 0),
45
+ clearcoatRoughness: finiteOr(options.clearcoatRoughness, 0),
46
+ sheen: finiteOr(options.sheen, 0),
47
+ sheenColor: options.sheenColor ?? "#000000",
48
+ sheenRoughness: finiteOr(options.sheenRoughness, 0.5),
49
+ iridescence: finiteOr(options.iridescence, 0),
50
+ iridescenceIOR: finiteOr(options.iridescenceIOR, 1.3),
51
+ iridescenceThicknessRange: options.iridescenceThicknessRange ?? [100, 400],
52
+ anisotropy: finiteOr(options.anisotropy, 0),
53
+ anisotropyRotation: finiteOr(options.anisotropyRotation, 0),
54
+ transmission: finiteOr(options.transmission, 0),
55
+ thickness: finiteOr(options.thickness, 0),
56
+ attenuationColor: options.attenuationColor ?? "#ffffff",
57
+ attenuationDistance: options.attenuationDistance,
58
+ ior: finiteOr(options.ior, 1.5),
59
+ ...(options.specularIntensity !== undefined ? { specularIntensity: options.specularIntensity } : {}),
60
+ ...(options.specularColor !== undefined ? { specularColor: options.specularColor } : {})
61
+ };
62
+ const requested = new Set();
63
+ if (spec.clearcoat > 0 || spec.clearcoatRoughness > 0)
64
+ requested.add("clearcoat");
65
+ if (spec.sheen > 0)
66
+ requested.add("sheen");
67
+ if (spec.iridescence > 0)
68
+ requested.add("iridescence");
69
+ if (spec.anisotropy > 0)
70
+ requested.add("anisotropy");
71
+ if (spec.transmission > 0)
72
+ requested.add("transmission");
73
+ if (spec.thickness > 0)
74
+ requested.add("volume");
75
+ if (options.attenuationColor !== undefined || options.attenuationDistance !== undefined)
76
+ requested.add("volume");
77
+ if (options.ior !== undefined)
78
+ requested.add("ior");
79
+ if (options.specularIntensity !== undefined || options.specularColor !== undefined)
80
+ requested.add("specular");
81
+ const extensionDiagnostics = PHYSICAL_EXTENSION_MATRIX.map((entry) => ({
82
+ ...entry,
83
+ requested: requested.has(entry.extension)
84
+ }));
85
+ const boundedWarnings = extensionDiagnostics
86
+ .filter((entry) => entry.requested && entry.support !== "supported")
87
+ .map((entry) => `${entry.extension}: ${entry.diagnostic}`);
88
+ return {
89
+ spec,
90
+ requestedExtensions: [...requested].sort(),
91
+ extensionDiagnostics,
92
+ boundedWarnings
93
+ };
94
+ }
95
+ //# sourceMappingURL=PhysicalMaterialSpec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PhysicalMaterialSpec.js","sourceRoot":"","sources":["../../../../../packages/engine/src/material-physical/PhysicalMaterialSpec.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
1
  export { createGameAppRuntime } from "../agent-api/GameAppRuntime.js";
2
- export type { GameAppRuntime, GameAppRuntimeEvidence, GameAppRuntimeLoopOptions, GameAppRuntimeOptions, GameAppRuntimeResize, GameAppRuntimeStatus } from "../agent-api/GameAppRuntime.js";
2
+ export type { GameAppRuntime, GameAppRuntimeEvidence, GameAppRuntimeLoopOptions, GameAppRuntimeOptions, GameAppRuntimePerformanceBudgetOptions, GameAppRuntimePerformanceSnapshot, GameAppRuntimeResize, GameAppRuntimeStatus } from "../agent-api/GameAppRuntime.js";
3
3
  //# sourceMappingURL=GameAppRuntime.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"GameAppRuntime.d.ts","sourceRoot":"","sources":["../../../../../packages/engine/src/production-runtime/GameAppRuntime.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACrB,MAAM,gCAAgC,CAAC;AAExC,YAAY,EACV,cAAc,EACd,sBAAsB,EACtB,yBAAyB,EACzB,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,EACrB,MAAM,gCAAgC,CAAC"}
1
+ {"version":3,"file":"GameAppRuntime.d.ts","sourceRoot":"","sources":["../../../../../packages/engine/src/production-runtime/GameAppRuntime.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACrB,MAAM,gCAAgC,CAAC;AAExC,YAAY,EACV,cAAc,EACd,sBAAsB,EACtB,yBAAyB,EACzB,qBAAqB,EACrB,sCAAsC,EACtC,iCAAiC,EACjC,oBAAoB,EACpB,oBAAoB,EACrB,MAAM,gCAAgC,CAAC"}
@@ -48,6 +48,58 @@ export interface SideViewGameRenderPresetOptions {
48
48
  readonly debugVolumesEnabled?: boolean;
49
49
  readonly reducedMotion?: boolean;
50
50
  }
51
+ /**
52
+ * J1 performance-governor policy.
53
+ *
54
+ * `off` never touches quality settings; `conservative` degrades one step per
55
+ * over-budget frame and recovers only after sustained headroom; `aggressive`
56
+ * degrades up to two steps per over-budget frame and recovers faster. Degrade
57
+ * order is fixed: resolution scale, particle scale, LOD bias, shadow size.
58
+ */
59
+ export type GamePerformanceGovernorMode = "off" | "conservative" | "aggressive";
60
+ /** Per-frame telemetry published in diagnostics (J1 task 2). */
61
+ export interface GamePerFramePerfTelemetry {
62
+ readonly fps: number;
63
+ readonly frameTimeMs: number;
64
+ readonly draws: number;
65
+ readonly tris: number;
66
+ readonly particles: number;
67
+ readonly shadowBytes: number;
68
+ }
69
+ /** Quality knobs the governor is allowed to move. */
70
+ export interface GamePerformanceGovernorSettings {
71
+ readonly resolutionScale: number;
72
+ readonly lodBias: number;
73
+ readonly particleScale: number;
74
+ readonly shadowSize: number;
75
+ }
76
+ /**
77
+ * Per-pass cost model (J1 task 1). The A2 pass-cost work plugs in here when it
78
+ * lands; until then these defaults are headed estimates used only to order
79
+ * degrade steps, never as proof of frame cost.
80
+ */
81
+ export interface GamePerPassCostModel {
82
+ readonly shadowMapMs: number;
83
+ readonly bloomMs: number;
84
+ readonly colorGradeMs: number;
85
+ readonly ambientParticlesMs: number;
86
+ readonly environmentFogMs: number;
87
+ }
88
+ export declare const DEFAULT_GAME_PER_PASS_COST_MODEL: GamePerPassCostModel;
89
+ export declare function estimateGamePerPassCostTotal(model?: GamePerPassCostModel): number;
90
+ export declare const DEFAULT_GAME_GOVERNOR_SETTINGS: GamePerformanceGovernorSettings;
91
+ export interface GamePerformanceGovernor {
92
+ readonly mode: GamePerformanceGovernorMode;
93
+ readonly settings: GamePerformanceGovernorSettings;
94
+ readonly degraded: readonly string[];
95
+ step(telemetry: GamePerFramePerfTelemetry, budget: SideViewGamePerformanceBudget): GamePerformanceGovernor;
96
+ }
97
+ /**
98
+ * Pure auto-governor step. Resolution scale degrades before particle scale,
99
+ * before LOD bias, before shadow size; recovery walks the same ladder back up
100
+ * after sustained headroom (4 frames conservative, 2 aggressive).
101
+ */
102
+ export declare function createPerformanceGovernor(mode?: GamePerformanceGovernorMode, initial?: GamePerformanceGovernorSettings): GamePerformanceGovernor;
51
103
  export interface SideViewGameStageGeometryPreset {
52
104
  readonly floor: {
53
105
  readonly label: string;
@@ -84,4 +136,28 @@ export interface SideViewGameDebugOverlayPreset {
84
136
  readonly label: "collision-volumes";
85
137
  }
86
138
  export declare function createSideViewGameRenderPreset(options?: SideViewGameRenderPresetOptions): SideViewGameRenderPreset;
139
+ export interface TopDownGameRenderPresetOptions {
140
+ readonly debugVolumesEnabled?: boolean;
141
+ readonly reducedMotion?: boolean;
142
+ }
143
+ export interface TopDownGameRenderPreset {
144
+ readonly kind: "aura-top-down-game-render-preset";
145
+ readonly cameraPolicy: RenderSource["cameraPolicy"];
146
+ readonly environmentLighting: EnvironmentLightingOptions;
147
+ readonly particles: SideViewGameParticlePreset;
148
+ readonly shadow: RendererShadowOptions;
149
+ readonly postprocess: RendererPostProcessOptions;
150
+ readonly performanceBudget: SideViewGamePerformanceBudget;
151
+ readonly debugVolumesEnabled: boolean;
152
+ }
153
+ /**
154
+ * Top-down twin of the side-view preset. It reuses the same measured budget
155
+ * shape so every game preset declares the passes it was measured with (J1
156
+ * task 3); the enabled set differs only by the arena features the top-down
157
+ * stage does not mount (no skinned fighters, no consolidated arena).
158
+ */
159
+ export declare function createTopDownGameRenderPreset(options?: TopDownGameRenderPresetOptions): TopDownGameRenderPreset;
160
+ export type GameRenderPreset = SideViewGameRenderPreset | TopDownGameRenderPreset;
161
+ /** Measured-pass declarations for every game preset (J1 checklist item 3). */
162
+ export declare function gamePresetMeasuredPasses(preset: GameRenderPreset): readonly SideViewGameBudgetedFeature[];
87
163
  //# sourceMappingURL=GameRenderPreset.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"GameRenderPreset.d.ts","sourceRoot":"","sources":["../../../../../packages/engine/src/production-runtime/GameRenderPreset.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GameRenderPreset.d.ts","sourceRoot":"","sources":["../../../../../packages/engine/src/production-runtime/GameRenderPreset.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,108 @@
1
+ export const DEFAULT_GAME_PER_PASS_COST_MODEL = {
2
+ shadowMapMs: 2.1,
3
+ bloomMs: 1.4,
4
+ colorGradeMs: 0.6,
5
+ ambientParticlesMs: 0.9,
6
+ environmentFogMs: 0.3
7
+ };
8
+ export function estimateGamePerPassCostTotal(model = DEFAULT_GAME_PER_PASS_COST_MODEL) {
9
+ return model.shadowMapMs + model.bloomMs + model.colorGradeMs + model.ambientParticlesMs + model.environmentFogMs;
10
+ }
11
+ export const DEFAULT_GAME_GOVERNOR_SETTINGS = {
12
+ resolutionScale: 1,
13
+ lodBias: 1,
14
+ particleScale: 1,
15
+ shadowSize: 1024
16
+ };
17
+ const RESOLUTION_STEPS = [1, 0.85, 0.7, 0.5];
18
+ const PARTICLE_STEPS = [1, 0.7, 0.4, 0.2];
19
+ const LOD_STEPS = [1, 1.25, 1.6, 2];
20
+ const SHADOW_STEPS = [1024, 512, 256, 256];
21
+ function stepIndex(steps, current, direction) {
22
+ const index = steps.indexOf(current);
23
+ const fallback = direction === 1 ? steps.length - 1 : 0;
24
+ const resolved = index < 0 ? fallback : Math.min(steps.length - 1, Math.max(0, index + direction));
25
+ return steps[resolved] ?? current;
26
+ }
27
+ /**
28
+ * Pure auto-governor step. Resolution scale degrades before particle scale,
29
+ * before LOD bias, before shadow size; recovery walks the same ladder back up
30
+ * after sustained headroom (4 frames conservative, 2 aggressive).
31
+ */
32
+ export function createPerformanceGovernor(mode = "conservative", initial = DEFAULT_GAME_GOVERNOR_SETTINGS) {
33
+ const degraded = [];
34
+ const make = (next, changed) => ({
35
+ mode,
36
+ settings: {
37
+ resolutionScale: next.resolutionScale,
38
+ lodBias: next.lodBias,
39
+ particleScale: next.particleScale,
40
+ shadowSize: next.shadowSize
41
+ },
42
+ degraded: [...degraded, ...changed],
43
+ step(telemetry, budget) {
44
+ if (mode === "off")
45
+ return make({ ...next, headroomFrames: 0 }, []);
46
+ const overBudget = telemetry.frameTimeMs > budget.maxFrameTimeMs || telemetry.fps < budget.minFps;
47
+ if (overBudget) {
48
+ const steps = mode === "aggressive" ? 2 : 1;
49
+ let working = { ...next, headroomFrames: 0 };
50
+ const applied = [];
51
+ for (let i = 0; i < steps; i += 1) {
52
+ const before = working;
53
+ if (working.resolutionScale !== RESOLUTION_STEPS[RESOLUTION_STEPS.length - 1]) {
54
+ working = { ...working, resolutionScale: stepIndex(RESOLUTION_STEPS, working.resolutionScale, 1) };
55
+ applied.push("resolutionScale");
56
+ }
57
+ else if (working.particleScale !== PARTICLE_STEPS[PARTICLE_STEPS.length - 1]) {
58
+ working = { ...working, particleScale: stepIndex(PARTICLE_STEPS, working.particleScale, 1) };
59
+ applied.push("particleScale");
60
+ }
61
+ else if (working.lodBias !== LOD_STEPS[LOD_STEPS.length - 1]) {
62
+ working = { ...working, lodBias: stepIndex(LOD_STEPS, working.lodBias, 1) };
63
+ applied.push("lodBias");
64
+ }
65
+ else if (working.shadowSize !== SHADOW_STEPS[SHADOW_STEPS.length - 1]) {
66
+ working = { ...working, shadowSize: stepIndex(SHADOW_STEPS, working.shadowSize, 1) };
67
+ applied.push("shadowSize");
68
+ }
69
+ if (working === before)
70
+ break;
71
+ }
72
+ degraded.push(...applied);
73
+ return make(working, []);
74
+ }
75
+ const headroom = telemetry.frameTimeMs <= budget.maxFrameTimeMs * 0.8 && telemetry.fps >= budget.minFps;
76
+ const sustained = next.headroomFrames + 1;
77
+ const threshold = mode === "aggressive" ? 2 : 4;
78
+ if (!headroom)
79
+ return make({ ...next, headroomFrames: 0 }, []);
80
+ if (sustained < threshold)
81
+ return make({ ...next, headroomFrames: sustained }, []);
82
+ // Recover one rung, in reverse degrade order: shadow size, LOD bias, particles, resolution.
83
+ let working = { ...next, headroomFrames: 0 };
84
+ const recovered = [];
85
+ if (working.shadowSize !== SHADOW_STEPS[0]) {
86
+ working = { ...working, shadowSize: stepIndex(SHADOW_STEPS, working.shadowSize, -1) };
87
+ recovered.push("shadowSize");
88
+ }
89
+ else if (working.lodBias !== LOD_STEPS[0]) {
90
+ working = { ...working, lodBias: stepIndex(LOD_STEPS, working.lodBias, -1) };
91
+ recovered.push("lodBias");
92
+ }
93
+ else if (working.particleScale !== PARTICLE_STEPS[0]) {
94
+ working = { ...working, particleScale: stepIndex(PARTICLE_STEPS, working.particleScale, -1) };
95
+ recovered.push("particleScale");
96
+ }
97
+ else if (working.resolutionScale !== RESOLUTION_STEPS[0]) {
98
+ working = { ...working, resolutionScale: stepIndex(RESOLUTION_STEPS, working.resolutionScale, -1) };
99
+ recovered.push("resolutionScale");
100
+ }
101
+ return make(working, recovered.map((name) => `recovered:${name}`));
102
+ }
103
+ });
104
+ return make({ ...initial, headroomFrames: 0 }, []);
105
+ }
1
106
  export function createSideViewGameRenderPreset(options = {}) {
2
107
  const reducedMotion = Boolean(options.reducedMotion);
3
108
  return {
@@ -122,4 +227,66 @@ export function createSideViewGameRenderPreset(options = {}) {
122
227
  debugVolumesEnabled: Boolean(options.debugVolumesEnabled)
123
228
  };
124
229
  }
230
+ /**
231
+ * Top-down twin of the side-view preset. It reuses the same measured budget
232
+ * shape so every game preset declares the passes it was measured with (J1
233
+ * task 3); the enabled set differs only by the arena features the top-down
234
+ * stage does not mount (no skinned fighters, no consolidated arena).
235
+ */
236
+ export function createTopDownGameRenderPreset(options = {}) {
237
+ const reducedMotion = Boolean(options.reducedMotion);
238
+ return {
239
+ kind: "aura-top-down-game-render-preset",
240
+ cameraPolicy: "auto-frame",
241
+ environmentLighting: {
242
+ color: [0.58, 0.7, 0.82],
243
+ intensity: 0.42
244
+ },
245
+ particles: {
246
+ enabled: true,
247
+ layerId: "arena-ambient-particles",
248
+ count: reducedMotion ? 48 : 128,
249
+ reducedMotionCount: 48,
250
+ colors: ["#8ff7ff", "#f5d36c", "#ff6bd5"],
251
+ normalPassOnly: true
252
+ },
253
+ shadow: {
254
+ enabled: true,
255
+ strength: 0.38
256
+ },
257
+ performanceBudget: {
258
+ maxFrameTimeMs: 16.7,
259
+ minFps: 55,
260
+ maxDrawCalls: 160,
261
+ enabledFeatures: [
262
+ "shadow-map",
263
+ "bloom",
264
+ "color-grade",
265
+ "environment-fog",
266
+ "environment-lighting",
267
+ "ambient-particles"
268
+ ]
269
+ },
270
+ postprocess: {
271
+ targetFormat: "rgba8",
272
+ bloom: {
273
+ threshold: 0.78,
274
+ intensity: reducedMotion ? 0.18 : 0.32,
275
+ radius: 2
276
+ },
277
+ colorGrade: {
278
+ contrast: 1.08,
279
+ saturation: 1.04,
280
+ vibrance: 0.12,
281
+ vignette: 0.22,
282
+ sharpening: 0.18
283
+ }
284
+ },
285
+ debugVolumesEnabled: Boolean(options.debugVolumesEnabled)
286
+ };
287
+ }
288
+ /** Measured-pass declarations for every game preset (J1 checklist item 3). */
289
+ export function gamePresetMeasuredPasses(preset) {
290
+ return preset.performanceBudget.enabledFeatures;
291
+ }
125
292
  //# sourceMappingURL=GameRenderPreset.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"GameRenderPreset.js","sourceRoot":"","sources":["../../../../../packages/engine/src/production-runtime/GameRenderPreset.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GameRenderPreset.js","sourceRoot":"","sources":["../../../../../packages/engine/src/production-runtime/GameRenderPreset.ts"],"names":[],"mappings":"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"}