@aura3d/engine 1.4.4 → 1.5.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 (487) hide show
  1. package/README.md +65 -30
  2. package/dist/animation/Retargeting.d.ts +12 -0
  3. package/dist/animation/Retargeting.d.ts.map +1 -0
  4. package/dist/animation/Retargeting.js +19 -0
  5. package/dist/animation/Retargeting.js.map +1 -0
  6. package/dist/assets/GLTFLoader.d.ts +4 -0
  7. package/dist/assets/GLTFLoader.d.ts.map +1 -1
  8. package/dist/assets/GLTFLoader.js +39 -4
  9. package/dist/assets/GLTFLoader.js.map +1 -1
  10. package/dist/assets/GLTFRenderResources.d.ts +16 -0
  11. package/dist/assets/GLTFRenderResources.d.ts.map +1 -1
  12. package/dist/assets/GLTFRenderResources.js +42 -2
  13. package/dist/assets/GLTFRenderResources.js.map +1 -1
  14. package/dist/assets/asset-corpus/ProductionGLTFRenderPipeline.d.ts +6 -0
  15. package/dist/assets/asset-corpus/ProductionGLTFRenderPipeline.d.ts.map +1 -1
  16. package/dist/assets/asset-corpus/ProductionGLTFRenderPipeline.js +2 -1
  17. package/dist/assets/asset-corpus/ProductionGLTFRenderPipeline.js.map +1 -1
  18. package/dist/assets/index.d.ts +0 -1
  19. package/dist/assets/index.d.ts.map +1 -1
  20. package/dist/assets/index.js +0 -1
  21. package/dist/assets/index.js.map +1 -1
  22. package/dist/assets/loaders/index.d.ts +0 -1
  23. package/dist/assets/loaders/index.d.ts.map +1 -1
  24. package/dist/assets/loaders/index.js +0 -1
  25. package/dist/assets/loaders/index.js.map +1 -1
  26. package/dist/aura3d-cli/asset-intent.d.ts +148 -0
  27. package/dist/aura3d-cli/asset-intent.d.ts.map +1 -0
  28. package/dist/aura3d-cli/asset-intent.js +145 -0
  29. package/dist/aura3d-cli/asset-intent.js.map +1 -0
  30. package/dist/aura3d-cli/asset-role-admission.d.ts +174 -0
  31. package/dist/aura3d-cli/asset-role-admission.d.ts.map +1 -0
  32. package/dist/aura3d-cli/asset-role-admission.js +381 -0
  33. package/dist/aura3d-cli/asset-role-admission.js.map +1 -0
  34. package/dist/aura3d-cli/asset-screening-effects.d.ts +95 -0
  35. package/dist/aura3d-cli/asset-screening-effects.d.ts.map +1 -0
  36. package/dist/aura3d-cli/asset-screening-effects.js +321 -0
  37. package/dist/aura3d-cli/asset-screening-effects.js.map +1 -0
  38. package/dist/aura3d-cli/asset-screening-pipeline.d.ts +132 -0
  39. package/dist/aura3d-cli/asset-screening-pipeline.d.ts.map +1 -0
  40. package/dist/aura3d-cli/asset-screening-pipeline.js +277 -0
  41. package/dist/aura3d-cli/asset-screening-pipeline.js.map +1 -0
  42. package/dist/aura3d-cli/cartoon-asset-profiles.d.ts +15 -0
  43. package/dist/aura3d-cli/cartoon-asset-profiles.d.ts.map +1 -0
  44. package/dist/aura3d-cli/cartoon-asset-profiles.js +46 -0
  45. package/dist/aura3d-cli/cartoon-asset-profiles.js.map +1 -0
  46. package/dist/aura3d-cli/cli-help.js +1 -1
  47. package/dist/aura3d-cli/cli.js +16 -2
  48. package/dist/aura3d-cli/cli.js.map +1 -1
  49. package/dist/aura3d-cli/index.d.ts +8 -0
  50. package/dist/aura3d-cli/index.d.ts.map +1 -1
  51. package/dist/aura3d-cli/index.js +390 -17
  52. package/dist/aura3d-cli/index.js.map +1 -1
  53. package/dist/aura3d-cli/pull-bridge/search.d.ts +4 -0
  54. package/dist/aura3d-cli/pull-bridge/search.d.ts.map +1 -1
  55. package/dist/aura3d-cli/pull-bridge/search.js +22 -0
  56. package/dist/aura3d-cli/pull-bridge/search.js.map +1 -1
  57. package/dist/aura3d-cli/pull-bridge.d.ts +20 -5
  58. package/dist/aura3d-cli/pull-bridge.d.ts.map +1 -1
  59. package/dist/aura3d-cli/pull-bridge.js +38 -1
  60. package/dist/aura3d-cli/pull-bridge.js.map +1 -1
  61. package/dist/controls/ControlState.d.ts +1 -1
  62. package/dist/controls/ControlState.d.ts.map +1 -1
  63. package/dist/controls/DragControls.d.ts +21 -1
  64. package/dist/controls/DragControls.d.ts.map +1 -1
  65. package/dist/controls/DragControls.js +24 -2
  66. package/dist/controls/DragControls.js.map +1 -1
  67. package/dist/controls/FirstPersonControls.d.ts +10 -1
  68. package/dist/controls/FirstPersonControls.d.ts.map +1 -1
  69. package/dist/controls/FirstPersonControls.js +18 -2
  70. package/dist/controls/FirstPersonControls.js.map +1 -1
  71. package/dist/controls/FlyControls.d.ts +42 -0
  72. package/dist/controls/FlyControls.d.ts.map +1 -1
  73. package/dist/controls/FlyControls.js +106 -3
  74. package/dist/controls/FlyControls.js.map +1 -1
  75. package/dist/controls/MapControls.d.ts +13 -0
  76. package/dist/controls/MapControls.d.ts.map +1 -1
  77. package/dist/controls/MapControls.js +40 -2
  78. package/dist/controls/MapControls.js.map +1 -1
  79. package/dist/controls/OrbitControls.d.ts +54 -0
  80. package/dist/controls/OrbitControls.d.ts.map +1 -1
  81. package/dist/controls/OrbitControls.js +133 -0
  82. package/dist/controls/OrbitControls.js.map +1 -1
  83. package/dist/controls/PointerLockControls.d.ts +12 -5
  84. package/dist/controls/PointerLockControls.d.ts.map +1 -1
  85. package/dist/controls/PointerLockControls.js +30 -11
  86. package/dist/controls/PointerLockControls.js.map +1 -1
  87. package/dist/controls/SelectionManager.d.ts +22 -1
  88. package/dist/controls/SelectionManager.d.ts.map +1 -1
  89. package/dist/controls/SelectionManager.js +64 -6
  90. package/dist/controls/SelectionManager.js.map +1 -1
  91. package/dist/controls/TransformControls.d.ts +135 -1
  92. package/dist/controls/TransformControls.d.ts.map +1 -1
  93. package/dist/controls/TransformControls.js +534 -10
  94. package/dist/controls/TransformControls.js.map +1 -1
  95. package/dist/controls/index.d.ts +7 -2
  96. package/dist/controls/index.d.ts.map +1 -1
  97. package/dist/controls/index.js +1 -1
  98. package/dist/controls/index.js.map +1 -1
  99. package/dist/create-aura3d/index.js +1 -1
  100. package/dist/create-aura3d/showcase-spec-game-geometry-extractor.d.ts +2 -0
  101. package/dist/create-aura3d/showcase-spec-game-geometry-extractor.d.ts.map +1 -1
  102. package/dist/create-aura3d/showcase-spec-game-geometry-extractor.js +781 -46
  103. package/dist/create-aura3d/showcase-spec-game-geometry-extractor.js.map +1 -1
  104. package/dist/create-aura3d/showcase-spec-game-template-evidence.d.ts.map +1 -1
  105. package/dist/create-aura3d/showcase-spec-game-template-evidence.js +24 -4
  106. package/dist/create-aura3d/showcase-spec-game-template-evidence.js.map +1 -1
  107. package/dist/create-aura3d/showcase-spec-platformer-artifacts.d.ts.map +1 -1
  108. package/dist/create-aura3d/showcase-spec-platformer-artifacts.js +28 -17
  109. package/dist/create-aura3d/showcase-spec-platformer-artifacts.js.map +1 -1
  110. package/dist/create-aura3d/showcase-spec-racing-artifacts.d.ts.map +1 -1
  111. package/dist/create-aura3d/showcase-spec-racing-artifacts.js +10 -5
  112. package/dist/create-aura3d/showcase-spec-racing-artifacts.js.map +1 -1
  113. package/dist/create-aura3d/showcase-spec-replacement-candidates.js +26 -0
  114. package/dist/create-aura3d/showcase-spec-replacement-candidates.js.map +1 -1
  115. package/dist/ecs/components/MeshComponent.d.ts +5 -2
  116. package/dist/ecs/components/MeshComponent.d.ts.map +1 -1
  117. package/dist/ecs/components/MeshComponent.js.map +1 -1
  118. package/dist/editor-runtime/CartoonSceneEditor.d.ts +111 -0
  119. package/dist/editor-runtime/CartoonSceneEditor.d.ts.map +1 -0
  120. package/dist/editor-runtime/CartoonSceneEditor.js +285 -0
  121. package/dist/editor-runtime/CartoonSceneEditor.js.map +1 -0
  122. package/dist/editor-runtime/InteractiveTransformGizmo.d.ts +142 -0
  123. package/dist/editor-runtime/InteractiveTransformGizmo.d.ts.map +1 -0
  124. package/dist/editor-runtime/InteractiveTransformGizmo.js +468 -0
  125. package/dist/editor-runtime/InteractiveTransformGizmo.js.map +1 -0
  126. package/dist/editor-runtime/index.d.ts +2 -0
  127. package/dist/editor-runtime/index.d.ts.map +1 -1
  128. package/dist/editor-runtime/index.js +1 -0
  129. package/dist/editor-runtime/index.js.map +1 -1
  130. package/dist/engine/agent-api/CartoonAssetManifest.d.ts +50 -0
  131. package/dist/engine/agent-api/CartoonAssetManifest.d.ts.map +1 -0
  132. package/dist/engine/agent-api/CartoonAssetManifest.js +65 -0
  133. package/dist/engine/agent-api/CartoonAssetManifest.js.map +1 -0
  134. package/dist/engine/agent-api/CartoonDirector.d.ts +120 -0
  135. package/dist/engine/agent-api/CartoonDirector.d.ts.map +1 -0
  136. package/dist/engine/agent-api/CartoonDirector.js +432 -0
  137. package/dist/engine/agent-api/CartoonDirector.js.map +1 -0
  138. package/dist/engine/agent-api/CartoonEpisodePackage.d.ts +51 -0
  139. package/dist/engine/agent-api/CartoonEpisodePackage.d.ts.map +1 -0
  140. package/dist/engine/agent-api/CartoonEpisodePackage.js +79 -0
  141. package/dist/engine/agent-api/CartoonEpisodePackage.js.map +1 -0
  142. package/dist/engine/agent-api/CartoonMotionQuality.d.ts +83 -0
  143. package/dist/engine/agent-api/CartoonMotionQuality.d.ts.map +1 -0
  144. package/dist/engine/agent-api/CartoonMotionQuality.js +128 -0
  145. package/dist/engine/agent-api/CartoonMotionQuality.js.map +1 -0
  146. package/dist/engine/agent-api/CartoonPerformance.d.ts +150 -0
  147. package/dist/engine/agent-api/CartoonPerformance.d.ts.map +1 -0
  148. package/dist/engine/agent-api/CartoonPerformance.js +345 -0
  149. package/dist/engine/agent-api/CartoonPerformance.js.map +1 -0
  150. package/dist/engine/agent-api/CartoonRenderQueue.d.ts +143 -0
  151. package/dist/engine/agent-api/CartoonRenderQueue.d.ts.map +1 -0
  152. package/dist/engine/agent-api/CartoonRenderQueue.js +410 -0
  153. package/dist/engine/agent-api/CartoonRenderQueue.js.map +1 -0
  154. package/dist/engine/agent-api/CartoonRouteProof.d.ts +112 -0
  155. package/dist/engine/agent-api/CartoonRouteProof.d.ts.map +1 -0
  156. package/dist/engine/agent-api/CartoonRouteProof.js +127 -0
  157. package/dist/engine/agent-api/CartoonRouteProof.js.map +1 -0
  158. package/dist/engine/agent-api/GameEvidence.d.ts +1 -0
  159. package/dist/engine/agent-api/GameEvidence.d.ts.map +1 -1
  160. package/dist/engine/agent-api/GameEvidence.js +1 -0
  161. package/dist/engine/agent-api/GameEvidence.js.map +1 -1
  162. package/dist/engine/agent-api/GameGenreKits.d.ts +13 -0
  163. package/dist/engine/agent-api/GameGenreKits.d.ts.map +1 -1
  164. package/dist/engine/agent-api/GameGenreKits.js +57 -11
  165. package/dist/engine/agent-api/GameGenreKits.js.map +1 -1
  166. package/dist/engine/agent-api/GameRuntime.d.ts +1 -0
  167. package/dist/engine/agent-api/GameRuntime.d.ts.map +1 -1
  168. package/dist/engine/agent-api/GameRuntime.js +1 -0
  169. package/dist/engine/agent-api/GameRuntime.js.map +1 -1
  170. package/dist/engine/agent-api/GameSceneGeometryBindings.d.ts +12 -0
  171. package/dist/engine/agent-api/GameSceneGeometryBindings.d.ts.map +1 -1
  172. package/dist/engine/agent-api/GameSceneGeometryBindings.js +2 -0
  173. package/dist/engine/agent-api/GameSceneGeometryBindings.js.map +1 -1
  174. package/dist/engine/agent-api/LayeredSceneComposition.d.ts +295 -0
  175. package/dist/engine/agent-api/LayeredSceneComposition.d.ts.map +1 -0
  176. package/dist/engine/agent-api/LayeredSceneComposition.js +387 -0
  177. package/dist/engine/agent-api/LayeredSceneComposition.js.map +1 -0
  178. package/dist/engine/agent-api/SceneGroundingUtils.d.ts +62 -0
  179. package/dist/engine/agent-api/SceneGroundingUtils.d.ts.map +1 -1
  180. package/dist/engine/agent-api/SceneGroundingUtils.js +37 -0
  181. package/dist/engine/agent-api/SceneGroundingUtils.js.map +1 -1
  182. package/dist/engine/agent-api/SubjectFramingUtils.d.ts +127 -0
  183. package/dist/engine/agent-api/SubjectFramingUtils.d.ts.map +1 -0
  184. package/dist/engine/agent-api/SubjectFramingUtils.js +126 -0
  185. package/dist/engine/agent-api/SubjectFramingUtils.js.map +1 -0
  186. package/dist/engine/agent-api/TouchControlBinding.d.ts +81 -0
  187. package/dist/engine/agent-api/TouchControlBinding.d.ts.map +1 -0
  188. package/dist/engine/agent-api/TouchControlBinding.js +116 -0
  189. package/dist/engine/agent-api/TouchControlBinding.js.map +1 -0
  190. package/dist/engine/agent-api/index.d.ts +39 -0
  191. package/dist/engine/agent-api/index.d.ts.map +1 -1
  192. package/dist/engine/agent-api/index.js +546 -74
  193. package/dist/engine/agent-api/index.js.map +1 -1
  194. package/dist/engine/agent-api/product-viewer-runtime.d.ts.map +1 -1
  195. package/dist/engine/production-runtime/GameRenderPreset.d.ts +32 -0
  196. package/dist/engine/production-runtime/GameRenderPreset.d.ts.map +1 -1
  197. package/dist/engine/production-runtime/GameRenderPreset.js +37 -2
  198. package/dist/engine/production-runtime/GameRenderPreset.js.map +1 -1
  199. package/dist/engine/production-runtime/TypedGLBActor.d.ts +8 -0
  200. package/dist/engine/production-runtime/TypedGLBActor.d.ts.map +1 -1
  201. package/dist/engine/production-runtime/TypedGLBActor.js +2 -1
  202. package/dist/engine/production-runtime/TypedGLBActor.js.map +1 -1
  203. package/dist/input/controls/PointerLockControls.d.ts +1 -1
  204. package/dist/input/controls/PointerLockControls.d.ts.map +1 -1
  205. package/dist/input/controls/PointerLockControls.js +12 -0
  206. package/dist/input/controls/PointerLockControls.js.map +1 -1
  207. package/dist/physics/Collider.d.ts +1 -1
  208. package/dist/physics/Collider.d.ts.map +1 -1
  209. package/dist/physics/Collider.js +2 -2
  210. package/dist/physics/Collider.js.map +1 -1
  211. package/dist/physics/CollisionEvents.d.ts +1 -0
  212. package/dist/physics/CollisionEvents.d.ts.map +1 -1
  213. package/dist/physics/CollisionEvents.js.map +1 -1
  214. package/dist/physics/NarrowPhase.d.ts +11 -0
  215. package/dist/physics/NarrowPhase.d.ts.map +1 -0
  216. package/dist/physics/NarrowPhase.js +565 -0
  217. package/dist/physics/NarrowPhase.js.map +1 -0
  218. package/dist/physics/PhysicsDebugDraw.js +19 -1
  219. package/dist/physics/PhysicsDebugDraw.js.map +1 -1
  220. package/dist/physics/PhysicsWorld.d.ts +43 -0
  221. package/dist/physics/PhysicsWorld.d.ts.map +1 -1
  222. package/dist/physics/PhysicsWorld.js +305 -30
  223. package/dist/physics/PhysicsWorld.js.map +1 -1
  224. package/dist/physics/RigidBody.d.ts +8 -1
  225. package/dist/physics/RigidBody.d.ts.map +1 -1
  226. package/dist/physics/RigidBody.js +32 -5
  227. package/dist/physics/RigidBody.js.map +1 -1
  228. package/dist/physics/Shape.d.ts +16 -2
  229. package/dist/physics/Shape.d.ts.map +1 -1
  230. package/dist/physics/Shape.js +93 -31
  231. package/dist/physics/Shape.js.map +1 -1
  232. package/dist/physics/TimeOfImpact.d.ts +15 -0
  233. package/dist/physics/TimeOfImpact.d.ts.map +1 -0
  234. package/dist/physics/TimeOfImpact.js +81 -0
  235. package/dist/physics/TimeOfImpact.js.map +1 -0
  236. package/dist/physics/index.d.ts +2 -0
  237. package/dist/physics/index.d.ts.map +1 -1
  238. package/dist/physics/index.js +2 -0
  239. package/dist/physics/index.js.map +1 -1
  240. package/dist/rendering/CascadedShadowMaps.d.ts +9 -1
  241. package/dist/rendering/CascadedShadowMaps.d.ts.map +1 -1
  242. package/dist/rendering/CascadedShadowMaps.js +68 -0
  243. package/dist/rendering/CascadedShadowMaps.js.map +1 -1
  244. package/dist/rendering/ClusteredForwardLighting.d.ts +28 -0
  245. package/dist/rendering/ClusteredForwardLighting.d.ts.map +1 -0
  246. package/dist/rendering/ClusteredForwardLighting.js +156 -0
  247. package/dist/rendering/ClusteredForwardLighting.js.map +1 -0
  248. package/dist/rendering/DepthPass.d.ts +14 -1
  249. package/dist/rendering/DepthPass.d.ts.map +1 -1
  250. package/dist/rendering/DepthPass.js +19 -4
  251. package/dist/rendering/DepthPass.js.map +1 -1
  252. package/dist/rendering/EnvironmentMapResources.d.ts +59 -1
  253. package/dist/rendering/EnvironmentMapResources.d.ts.map +1 -1
  254. package/dist/rendering/EnvironmentMapResources.js +140 -100
  255. package/dist/rendering/EnvironmentMapResources.js.map +1 -1
  256. package/dist/rendering/EnvironmentPlatform.d.ts +3 -2
  257. package/dist/rendering/EnvironmentPlatform.d.ts.map +1 -1
  258. package/dist/rendering/EnvironmentPlatform.js +99 -44
  259. package/dist/rendering/EnvironmentPlatform.js.map +1 -1
  260. package/dist/rendering/ForwardPass.d.ts +37 -0
  261. package/dist/rendering/ForwardPass.d.ts.map +1 -1
  262. package/dist/rendering/ForwardPass.js +234 -7
  263. package/dist/rendering/ForwardPass.js.map +1 -1
  264. package/dist/rendering/Geometry.d.ts +19 -0
  265. package/dist/rendering/Geometry.d.ts.map +1 -1
  266. package/dist/rendering/Geometry.js +64 -0
  267. package/dist/rendering/Geometry.js.map +1 -1
  268. package/dist/rendering/IBL.d.ts.map +1 -1
  269. package/dist/rendering/IBL.js +0 -1
  270. package/dist/rendering/IBL.js.map +1 -1
  271. package/dist/rendering/LightCollector.d.ts +5 -1
  272. package/dist/rendering/LightCollector.d.ts.map +1 -1
  273. package/dist/rendering/LightCollector.js +16 -3
  274. package/dist/rendering/LightCollector.js.map +1 -1
  275. package/dist/rendering/LightUniforms.d.ts +26 -1
  276. package/dist/rendering/LightUniforms.d.ts.map +1 -1
  277. package/dist/rendering/LightUniforms.js +140 -8
  278. package/dist/rendering/LightUniforms.js.map +1 -1
  279. package/dist/rendering/LightingRig.d.ts +77 -0
  280. package/dist/rendering/LightingRig.d.ts.map +1 -1
  281. package/dist/rendering/LightingRig.js +100 -11
  282. package/dist/rendering/LightingRig.js.map +1 -1
  283. package/dist/rendering/MeshConsolidation.d.ts +63 -0
  284. package/dist/rendering/MeshConsolidation.d.ts.map +1 -0
  285. package/dist/rendering/MeshConsolidation.js +251 -0
  286. package/dist/rendering/MeshConsolidation.js.map +1 -0
  287. package/dist/rendering/PMREM.d.ts +13 -1
  288. package/dist/rendering/PMREM.d.ts.map +1 -1
  289. package/dist/rendering/PMREM.js +18 -4
  290. package/dist/rendering/PMREM.js.map +1 -1
  291. package/dist/rendering/PostProcessPass.d.ts +24 -2
  292. package/dist/rendering/PostProcessPass.d.ts.map +1 -1
  293. package/dist/rendering/PostProcessPass.js +136 -18
  294. package/dist/rendering/PostProcessPass.js.map +1 -1
  295. package/dist/rendering/PrimitiveSubmissionAudit.d.ts +195 -0
  296. package/dist/rendering/PrimitiveSubmissionAudit.d.ts.map +1 -0
  297. package/dist/rendering/PrimitiveSubmissionAudit.js +280 -0
  298. package/dist/rendering/PrimitiveSubmissionAudit.js.map +1 -0
  299. package/dist/rendering/ProductTurntableFixtures.d.ts.map +1 -1
  300. package/dist/rendering/ProductTurntableFixtures.js +93 -13
  301. package/dist/rendering/ProductTurntableFixtures.js.map +1 -1
  302. package/dist/rendering/ReflectionProbe.d.ts +59 -0
  303. package/dist/rendering/ReflectionProbe.d.ts.map +1 -1
  304. package/dist/rendering/ReflectionProbe.js +224 -0
  305. package/dist/rendering/ReflectionProbe.js.map +1 -1
  306. package/dist/rendering/ReflectionSurfaces.d.ts +4 -2
  307. package/dist/rendering/ReflectionSurfaces.d.ts.map +1 -1
  308. package/dist/rendering/ReflectionSurfaces.js +13 -8
  309. package/dist/rendering/ReflectionSurfaces.js.map +1 -1
  310. package/dist/rendering/RenderBackend.d.ts +1 -1
  311. package/dist/rendering/RenderBackend.d.ts.map +1 -1
  312. package/dist/rendering/RenderBackend.js +5 -1
  313. package/dist/rendering/RenderBackend.js.map +1 -1
  314. package/dist/rendering/RenderDevice.d.ts +13 -2
  315. package/dist/rendering/RenderDevice.d.ts.map +1 -1
  316. package/dist/rendering/RenderDevice.js +5 -2
  317. package/dist/rendering/RenderDevice.js.map +1 -1
  318. package/dist/rendering/Renderer.d.ts +41 -1
  319. package/dist/rendering/Renderer.d.ts.map +1 -1
  320. package/dist/rendering/Renderer.js +406 -61
  321. package/dist/rendering/Renderer.js.map +1 -1
  322. package/dist/rendering/RendererPostprocessPlan.d.ts +10 -3
  323. package/dist/rendering/RendererPostprocessPlan.d.ts.map +1 -1
  324. package/dist/rendering/RendererPostprocessPlan.js +25 -5
  325. package/dist/rendering/RendererPostprocessPlan.js.map +1 -1
  326. package/dist/rendering/RendererVisualPipelineReport.d.ts +3 -2
  327. package/dist/rendering/RendererVisualPipelineReport.d.ts.map +1 -1
  328. package/dist/rendering/RendererVisualPipelineReport.js +2 -0
  329. package/dist/rendering/RendererVisualPipelineReport.js.map +1 -1
  330. package/dist/rendering/ScreenSpaceLineMaterial.d.ts +34 -0
  331. package/dist/rendering/ScreenSpaceLineMaterial.d.ts.map +1 -0
  332. package/dist/rendering/ScreenSpaceLineMaterial.js +93 -0
  333. package/dist/rendering/ScreenSpaceLineMaterial.js.map +1 -0
  334. package/dist/rendering/ShaderChunks.d.ts +7 -0
  335. package/dist/rendering/ShaderChunks.d.ts.map +1 -1
  336. package/dist/rendering/ShaderChunks.js +137 -0
  337. package/dist/rendering/ShaderChunks.js.map +1 -1
  338. package/dist/rendering/ShaderLibrary.d.ts +17 -0
  339. package/dist/rendering/ShaderLibrary.d.ts.map +1 -1
  340. package/dist/rendering/ShaderLibrary.js +940 -98
  341. package/dist/rendering/ShaderLibrary.js.map +1 -1
  342. package/dist/rendering/ShadowPass.d.ts +10 -0
  343. package/dist/rendering/ShadowPass.d.ts.map +1 -1
  344. package/dist/rendering/ShadowPass.js +8 -1
  345. package/dist/rendering/ShadowPass.js.map +1 -1
  346. package/dist/rendering/SkinnedLitMaterial.d.ts +6 -0
  347. package/dist/rendering/SkinnedLitMaterial.d.ts.map +1 -1
  348. package/dist/rendering/SkinnedLitMaterial.js +22 -8
  349. package/dist/rendering/SkinnedLitMaterial.js.map +1 -1
  350. package/dist/rendering/SkinnedUnlitMaterial.d.ts +8 -0
  351. package/dist/rendering/SkinnedUnlitMaterial.d.ts.map +1 -1
  352. package/dist/rendering/SkinnedUnlitMaterial.js +26 -9
  353. package/dist/rendering/SkinnedUnlitMaterial.js.map +1 -1
  354. package/dist/rendering/SpecularPrefilter.d.ts +42 -0
  355. package/dist/rendering/SpecularPrefilter.d.ts.map +1 -0
  356. package/dist/rendering/SpecularPrefilter.js +480 -0
  357. package/dist/rendering/SpecularPrefilter.js.map +1 -0
  358. package/dist/rendering/TerrainFixtures.d.ts +24 -0
  359. package/dist/rendering/TerrainFixtures.d.ts.map +1 -1
  360. package/dist/rendering/TerrainFixtures.js +96 -0
  361. package/dist/rendering/TerrainFixtures.js.map +1 -1
  362. package/dist/rendering/Texture.d.ts +7 -0
  363. package/dist/rendering/Texture.d.ts.map +1 -1
  364. package/dist/rendering/Texture.js +9 -0
  365. package/dist/rendering/Texture.js.map +1 -1
  366. package/dist/rendering/VertexFormat.d.ts +34 -1
  367. package/dist/rendering/VertexFormat.d.ts.map +1 -1
  368. package/dist/rendering/VertexFormat.js +61 -0
  369. package/dist/rendering/VertexFormat.js.map +1 -1
  370. package/dist/rendering/WebGL2Device.d.ts +48 -0
  371. package/dist/rendering/WebGL2Device.d.ts.map +1 -1
  372. package/dist/rendering/WebGL2Device.js +1298 -44
  373. package/dist/rendering/WebGL2Device.js.map +1 -1
  374. package/dist/rendering/WebGPUDevice.d.ts +7 -2
  375. package/dist/rendering/WebGPUDevice.d.ts.map +1 -1
  376. package/dist/rendering/WebGPUDevice.js +111 -17
  377. package/dist/rendering/WebGPUDevice.js.map +1 -1
  378. package/dist/rendering/WebGPUSkinningLimits.d.ts +14 -0
  379. package/dist/rendering/WebGPUSkinningLimits.d.ts.map +1 -0
  380. package/dist/rendering/WebGPUSkinningLimits.js +14 -0
  381. package/dist/rendering/WebGPUSkinningLimits.js.map +1 -0
  382. package/dist/rendering/cartoon/CartoonMaterialStyle.d.ts +19 -0
  383. package/dist/rendering/cartoon/CartoonMaterialStyle.d.ts.map +1 -0
  384. package/dist/rendering/cartoon/CartoonMaterialStyle.js +13 -0
  385. package/dist/rendering/cartoon/CartoonMaterialStyle.js.map +1 -0
  386. package/dist/rendering/cartoon/CartoonRenderPreset.d.ts +36 -0
  387. package/dist/rendering/cartoon/CartoonRenderPreset.d.ts.map +1 -0
  388. package/dist/rendering/cartoon/CartoonRenderPreset.js +23 -0
  389. package/dist/rendering/cartoon/CartoonRenderPreset.js.map +1 -0
  390. package/dist/rendering/cartoon/CartoonToonMaterial.d.ts +130 -0
  391. package/dist/rendering/cartoon/CartoonToonMaterial.d.ts.map +1 -0
  392. package/dist/rendering/cartoon/CartoonToonMaterial.js +303 -0
  393. package/dist/rendering/cartoon/CartoonToonMaterial.js.map +1 -0
  394. package/dist/rendering/cartoon/CartoonVisualQuality.d.ts +28 -0
  395. package/dist/rendering/cartoon/CartoonVisualQuality.d.ts.map +1 -0
  396. package/dist/rendering/cartoon/CartoonVisualQuality.js +39 -0
  397. package/dist/rendering/cartoon/CartoonVisualQuality.js.map +1 -0
  398. package/dist/rendering/cartoon/applyCartoonRenderPreset.d.ts +79 -0
  399. package/dist/rendering/cartoon/applyCartoonRenderPreset.d.ts.map +1 -0
  400. package/dist/rendering/cartoon/applyCartoonRenderPreset.js +88 -0
  401. package/dist/rendering/cartoon/applyCartoonRenderPreset.js.map +1 -0
  402. package/dist/rendering/cartoon/index.d.ts +6 -0
  403. package/dist/rendering/cartoon/index.d.ts.map +1 -0
  404. package/dist/rendering/cartoon/index.js +6 -0
  405. package/dist/rendering/cartoon/index.js.map +1 -0
  406. package/dist/rendering/index.d.ts +26 -15
  407. package/dist/rendering/index.d.ts.map +1 -1
  408. package/dist/rendering/index.js +15 -9
  409. package/dist/rendering/index.js.map +1 -1
  410. package/dist/rendering/postprocess/NativeLdrEffectLuts.d.ts +93 -0
  411. package/dist/rendering/postprocess/NativeLdrEffectLuts.d.ts.map +1 -0
  412. package/dist/rendering/postprocess/NativeLdrEffectLuts.js +202 -0
  413. package/dist/rendering/postprocess/NativeLdrEffectLuts.js.map +1 -0
  414. package/dist/rendering/production-runtime/PBRHDRPipeline.d.ts.map +1 -1
  415. package/dist/rendering/production-runtime/PBRHDRPipeline.js +3 -0
  416. package/dist/rendering/production-runtime/PBRHDRPipeline.js.map +1 -1
  417. package/dist/rendering/production-runtime/ProductionRendererTypes.d.ts +1 -0
  418. package/dist/rendering/production-runtime/ProductionRendererTypes.d.ts.map +1 -1
  419. package/dist/rendering/production-runtime/ProductionRendererTypes.js.map +1 -1
  420. package/dist/rendering/production-runtime/ProductionWebGL2Renderer.d.ts.map +1 -1
  421. package/dist/rendering/production-runtime/ProductionWebGL2Renderer.js +5 -3
  422. package/dist/rendering/production-runtime/ProductionWebGL2Renderer.js.map +1 -1
  423. package/dist/rendering/production-runtime/ProductionWebGPURenderer.d.ts.map +1 -1
  424. package/dist/rendering/production-runtime/ProductionWebGPURenderer.js +9 -5
  425. package/dist/rendering/production-runtime/ProductionWebGPURenderer.js.map +1 -1
  426. package/dist/rendering/production-runtime/TransmissionBackdropCapture.d.ts +5 -0
  427. package/dist/rendering/production-runtime/TransmissionBackdropCapture.d.ts.map +1 -1
  428. package/dist/rendering/production-runtime/TransmissionBackdropCapture.js +40 -0
  429. package/dist/rendering/production-runtime/TransmissionBackdropCapture.js.map +1 -1
  430. package/dist/rendering/production-runtime/environment/HDRLoader.d.ts +6 -0
  431. package/dist/rendering/production-runtime/environment/HDRLoader.d.ts.map +1 -1
  432. package/dist/rendering/production-runtime/environment/HDRLoader.js +19 -0
  433. package/dist/rendering/production-runtime/environment/HDRLoader.js.map +1 -1
  434. package/dist/rendering/production-runtime/index.d.ts +3 -1
  435. package/dist/rendering/production-runtime/index.d.ts.map +1 -1
  436. package/dist/rendering/production-runtime/index.js +1 -0
  437. package/dist/rendering/production-runtime/index.js.map +1 -1
  438. package/dist/scene/Light.d.ts +1 -1
  439. package/dist/scene/Light.d.ts.map +1 -1
  440. package/dist/scene/RectAreaLight.d.ts +22 -0
  441. package/dist/scene/RectAreaLight.d.ts.map +1 -0
  442. package/dist/scene/RectAreaLight.js +46 -0
  443. package/dist/scene/RectAreaLight.js.map +1 -0
  444. package/dist/scene/Scene.d.ts +6 -1
  445. package/dist/scene/Scene.d.ts.map +1 -1
  446. package/dist/scene/Scene.js +8 -1
  447. package/dist/scene/Scene.js.map +1 -1
  448. package/dist/scene/SceneSerializer.d.ts +3 -1
  449. package/dist/scene/SceneSerializer.d.ts.map +1 -1
  450. package/dist/scene/SceneSerializer.js +14 -7
  451. package/dist/scene/SceneSerializer.js.map +1 -1
  452. package/dist/scene/index.d.ts +1 -0
  453. package/dist/scene/index.d.ts.map +1 -1
  454. package/dist/scene/index.js +1 -0
  455. package/dist/scene/index.js.map +1 -1
  456. package/dist/scripting/CartoonNodeCategories.d.ts +3 -0
  457. package/dist/scripting/CartoonNodeCategories.d.ts.map +1 -0
  458. package/dist/scripting/CartoonNodeCategories.js +9 -0
  459. package/dist/scripting/CartoonNodeCategories.js.map +1 -0
  460. package/dist/scripting/CartoonVisualNodes.d.ts +3 -0
  461. package/dist/scripting/CartoonVisualNodes.d.ts.map +1 -0
  462. package/dist/scripting/CartoonVisualNodes.js +41 -0
  463. package/dist/scripting/CartoonVisualNodes.js.map +1 -0
  464. package/package.json +124 -113
  465. package/templates/cinematic-scene/package.json +1 -1
  466. package/templates/mini-game/package.json +1 -1
  467. package/templates/product-viewer/package.json +1 -1
  468. package/templates/production-asset-inspector/README.md +5 -0
  469. package/templates/production-asset-inspector/asset-manifest.json +9 -0
  470. package/templates/production-asset-inspector/index.html +2 -0
  471. package/templates/production-asset-inspector/package.json +17 -0
  472. package/templates/production-asset-inspector/src/main.ts +16 -0
  473. package/templates/production-material-studio/README.md +5 -0
  474. package/templates/production-material-studio/asset-manifest.json +9 -0
  475. package/templates/production-material-studio/index.html +2 -0
  476. package/templates/production-material-studio/package.json +17 -0
  477. package/templates/production-material-studio/src/main.ts +16 -0
  478. package/templates/production-product-configurator/README.md +5 -0
  479. package/templates/production-product-configurator/asset-manifest.json +9 -0
  480. package/templates/production-product-configurator/index.html +2 -0
  481. package/templates/production-product-configurator/package.json +17 -0
  482. package/templates/production-product-configurator/src/main.ts +16 -0
  483. package/templates/production-product-viewer/README.md +7 -0
  484. package/templates/production-product-viewer/asset-manifest.json +8 -0
  485. package/templates/production-product-viewer/index.html +26 -0
  486. package/templates/production-product-viewer/package.json +17 -0
  487. package/templates/production-product-viewer/src/main.ts +70 -0
@@ -1 +1 @@
1
- {"version":3,"file":"EnvironmentPlatform.js","sourceRoot":"","sources":["../../../../packages/rendering/src/EnvironmentPlatform.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EnvironmentPlatform.js","sourceRoot":"","sources":["../../../../packages/rendering/src/EnvironmentPlatform.ts"],"names":[],"mappings":"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"}
@@ -39,7 +39,33 @@ export type RenderMaterial = Material | MaterialInstance;
39
39
  export interface SkinningPaletteBinding {
40
40
  readonly jointCount: number;
41
41
  readonly matrices: Float32Array;
42
+ /**
43
+ * Second influence set for eight-influence skinning. Only meaningful when the
44
+ * geometry carries `joints1`/`weights1` attributes and the material uses an
45
+ * eight-influence shader.
46
+ */
47
+ readonly extraInfluences?: boolean;
42
48
  }
49
+ /** Which GPU path carried the joint palette for a submission. */
50
+ export type SkinningPalettePath = "uniform-array" | "data-texture";
51
+ export interface SkinningPaletteDiagnostics {
52
+ readonly submissions: number;
53
+ readonly jointsUploaded: number;
54
+ readonly maxJointCount: number;
55
+ readonly uniformArraySubmissions: number;
56
+ readonly dataTextureSubmissions: number;
57
+ readonly eightInfluenceSubmissions: number;
58
+ readonly maxUniformJoints: number;
59
+ }
60
+ /** Joints addressable through the uniform-array palette. Re-exported for shaders. */
61
+ export declare const MAX_UNIFORM_SKINNING_JOINTS = 96;
62
+ /**
63
+ * Upper bound on joints per skin, using the data-texture palette path.
64
+ *
65
+ * Chosen to stay well inside a 1024-wide RGBA32F texture (1024 joints = 4096 texels =
66
+ * a 1024x4 texture) while covering rigs far beyond anything the uniform path allows.
67
+ */
68
+ export declare const MAX_SKINNING_JOINTS = 1024;
43
69
  export declare const MAX_GPU_MORPH_VERTICES = 64;
44
70
  export declare const MAX_GPU_MORPH_TARGETS = 4;
45
71
  export declare const MAX_GPU_INSTANCES = 64;
@@ -51,6 +77,8 @@ export interface ForwardPassOptions {
51
77
  readonly inputColorResource?: string;
52
78
  readonly shadowMap?: ForwardShadowMapOptions;
53
79
  readonly cameraPosition?: readonly [number, number, number];
80
+ readonly cameraViewMatrix?: Float32Array | readonly number[];
81
+ readonly cameraViewProjectionMatrix?: Float32Array | readonly number[];
54
82
  readonly outputColorSpace?: "linear" | "srgb";
55
83
  readonly shaderLibrary?: ShaderLibrary;
56
84
  }
@@ -95,6 +123,13 @@ export interface ForwardShadowMapOptions {
95
123
  readonly texelSize?: readonly [number, number];
96
124
  readonly filterKernel?: ShadowFilterKernel;
97
125
  readonly pointLight?: ForwardPointShadowMapOptions;
126
+ readonly cascades?: readonly ForwardShadowCascadeOptions[];
127
+ }
128
+ export interface ForwardShadowCascadeOptions {
129
+ readonly index: number;
130
+ readonly near: number;
131
+ readonly far: number;
132
+ readonly shadowMap: Omit<ForwardShadowMapOptions, "cascades">;
98
133
  }
99
134
  export interface ForwardPointShadowMapOptions {
100
135
  readonly texture: TextureBinding;
@@ -114,10 +149,12 @@ export declare class ForwardPass extends BaseRenderPass {
114
149
  private readonly materialBinding;
115
150
  private readonly shaderLibrary;
116
151
  private readonly skinningPaletteUploads;
152
+ private clusteredLighting;
117
153
  constructor(options: ForwardPassOptions);
118
154
  execute(context: RenderPassContext): void;
119
155
  private drawItem;
120
156
  private applyLightUniforms;
121
157
  private getShader;
122
158
  }
159
+ export declare function selectForwardShadowMap(shadowMap: ForwardShadowMapOptions | undefined, item: RenderItem, cameraViewMatrix?: Float32Array | readonly number[], cameraPosition?: readonly [number, number, number]): ForwardShadowMapOptions | undefined;
123
160
  //# sourceMappingURL=ForwardPass.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ForwardPass.d.ts","sourceRoot":"","sources":["../../../../packages/rendering/src/ForwardPass.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ForwardPass.d.ts","sourceRoot":"","sources":["../../../../packages/rendering/src/ForwardPass.ts"],"names":[],"mappings":"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"}
@@ -8,12 +8,26 @@ import { applyMorphTargets } from "./MorphTarget.js";
8
8
  import { RenderDeviceError } from "./RenderDevice.js";
9
9
  import { RenderPipeline } from "./RenderPipeline.js";
10
10
  import { BaseRenderPass } from "./RenderPass.js";
11
+ import { MAX_UNIFORM_SKINNING_JOINTS as SHADER_MAX_UNIFORM_SKINNING_JOINTS } from "./ShaderChunks.js";
11
12
  import { ShaderModule } from "./ShaderModule.js";
12
13
  import { createDefaultShaderLibrary } from "./ShaderLibrary.js";
13
14
  import { createShadowFilterKernel } from "./ShadowMap.js";
15
+ import { Sampler } from "./Sampler.js";
16
+ import { Texture } from "./Texture.js";
14
17
  import { TextureBinding } from "./TextureBinding.js";
15
18
  import { UnlitMaterial } from "./UnlitMaterial.js";
16
19
  import { sortRenderQueueItems } from "./performance/RenderItemSorting.js";
20
+ import { createClusteredForwardLighting } from "./ClusteredForwardLighting.js";
21
+ /** Joints addressable through the uniform-array palette. Re-exported for shaders. */
22
+ export const MAX_UNIFORM_SKINNING_JOINTS = SHADER_MAX_UNIFORM_SKINNING_JOINTS;
23
+ /**
24
+ * Upper bound on joints per skin, using the data-texture palette path.
25
+ *
26
+ * Chosen to stay well inside a 1024-wide RGBA32F texture (1024 joints = 4096 texels =
27
+ * a 1024x4 texture) while covering rigs far beyond anything the uniform path allows.
28
+ */
29
+ export const MAX_SKINNING_JOINTS = 1024;
30
+ const SKINNING_PALETTE_TEXTURE_MAX_WIDTH = 1024;
17
31
  export const MAX_GPU_MORPH_VERTICES = 64;
18
32
  export const MAX_GPU_MORPH_TARGETS = 4;
19
33
  export const MAX_GPU_INSTANCES = 64;
@@ -31,6 +45,7 @@ export class ForwardPass extends BaseRenderPass {
31
45
  materialBinding = new MaterialBinding();
32
46
  shaderLibrary;
33
47
  skinningPaletteUploads = new SkinningPaletteUploadManager();
48
+ clusteredLighting = null;
34
49
  constructor(options) {
35
50
  super("forward", options.inputColorResource ? [options.inputColorResource] : [], ["color"]);
36
51
  this.options = options;
@@ -38,8 +53,17 @@ export class ForwardPass extends BaseRenderPass {
38
53
  }
39
54
  execute(context) {
40
55
  this.skinningPaletteUploads.beginFrame();
41
- for (const item of sortForwardRenderItems(this.options.items, this.options.cameraPosition)) {
42
- this.drawItem(context.device, item);
56
+ this.clusteredLighting = (this.options.lights?.length ?? 0) > 16
57
+ ? createClusteredForwardLighting(this.options.lights ?? [], context.width, context.height, this.options.cameraViewProjectionMatrix)
58
+ : null;
59
+ try {
60
+ for (const item of sortForwardRenderItems(this.options.items, this.options.cameraPosition)) {
61
+ this.drawItem(context.device, item);
62
+ }
63
+ }
64
+ finally {
65
+ this.clusteredLighting?.dispose();
66
+ this.clusteredLighting = null;
43
67
  }
44
68
  }
45
69
  drawItem(device, item) {
@@ -67,9 +91,10 @@ export class ForwardPass extends BaseRenderPass {
67
91
  }
68
92
  const binding = this.materialBinding.bind(material, shader);
69
93
  const uniforms = new Map(binding.uniforms);
94
+ applyClusteredLightingUniforms(this.clusteredLighting, shader, uniforms);
70
95
  applyEnvironmentLightingUniforms(this.options.environmentLighting, item, shader, uniforms);
71
96
  applyEnvironmentFogUniforms(this.options.environmentFog, item, shader, uniforms);
72
- applyForwardShadowMapUniforms(this.options.shadowMap, item, shader, uniforms);
97
+ applyForwardShadowMapUniforms(selectForwardShadowMap(this.options.shadowMap, item, this.options.cameraViewMatrix, this.options.cameraPosition), item, shader, uniforms);
73
98
  applyOutputColorSpaceUniform(this.options.outputColorSpace ?? "srgb", item, shader, uniforms);
74
99
  applyCameraUniforms(this.options.cameraPosition, item, shader, uniforms);
75
100
  applyAlphaCutoffUniform(item, shader, uniforms);
@@ -153,13 +178,42 @@ class SkinningPaletteUploadManager {
153
178
  submissions = 0;
154
179
  jointsUploaded = 0;
155
180
  maxJointCount = 0;
181
+ uniformArraySubmissions = 0;
182
+ dataTextureSubmissions = 0;
183
+ eightInfluenceSubmissions = 0;
156
184
  beginFrame() {
157
185
  this.submissions = 0;
158
186
  this.jointsUploaded = 0;
159
187
  this.maxJointCount = 0;
188
+ this.uniformArraySubmissions = 0;
189
+ this.dataTextureSubmissions = 0;
190
+ this.eightInfluenceSubmissions = 0;
191
+ }
192
+ /**
193
+ * Which palette paths this frame actually used. Published rather than inferred so a
194
+ * claim about data-texture or eight-influence skinning rests on observed submissions.
195
+ */
196
+ diagnostics() {
197
+ return {
198
+ submissions: this.submissions,
199
+ jointsUploaded: this.jointsUploaded,
200
+ maxJointCount: this.maxJointCount,
201
+ uniformArraySubmissions: this.uniformArraySubmissions,
202
+ dataTextureSubmissions: this.dataTextureSubmissions,
203
+ eightInfluenceSubmissions: this.eightInfluenceSubmissions,
204
+ maxUniformJoints: MAX_UNIFORM_SKINNING_JOINTS
205
+ };
160
206
  }
161
207
  bind(item, skinning, material, shader, uniforms) {
162
- applySkinningUniforms(skinning, material, shader, uniforms);
208
+ const path = applySkinningUniforms(skinning, material, shader, uniforms);
209
+ if (path === "data-texture")
210
+ this.dataTextureSubmissions += 1;
211
+ else
212
+ this.uniformArraySubmissions += 1;
213
+ const eightInfluence = item.geometry.vertexBuffer.format.hasAttribute("joints1")
214
+ && item.geometry.vertexBuffer.format.hasAttribute("weights1");
215
+ if (eightInfluence)
216
+ this.eightInfluenceSubmissions += 1;
163
217
  const validatedJointCounts = SkinningPaletteUploadManager.validatedGeometryJointCounts.get(item.geometry) ?? new Set();
164
218
  if (!validatedJointCounts.has(skinning.jointCount)) {
165
219
  validateSkinningGeometryContract(item, skinning);
@@ -457,6 +511,37 @@ function invertMat4(matrix) {
457
511
  (a20 * b03 - a21 * b01 + a22 * b00) * invDet
458
512
  ];
459
513
  }
514
+ export function selectForwardShadowMap(shadowMap, item, cameraViewMatrix, cameraPosition) {
515
+ const cascades = shadowMap?.cascades;
516
+ if (!shadowMap || !cascades || cascades.length === 0)
517
+ return shadowMap;
518
+ const center = renderItemWorldCenter(item);
519
+ const depth = cameraViewMatrix && cameraViewMatrix.length >= 16
520
+ ? Math.max(0, -(cameraViewMatrix[2] * center[0]
521
+ + cameraViewMatrix[6] * center[1]
522
+ + cameraViewMatrix[10] * center[2]
523
+ + cameraViewMatrix[14]))
524
+ : cameraPosition
525
+ ? Math.hypot(center[0] - cameraPosition[0], center[1] - cameraPosition[1], center[2] - cameraPosition[2])
526
+ : cascades[0].near;
527
+ const selected = cascades.find((cascade) => depth <= cascade.far) ?? cascades[cascades.length - 1];
528
+ return selected.shadowMap;
529
+ }
530
+ function renderItemWorldCenter(item) {
531
+ const local = item.boundingBoxCenter ?? [
532
+ (item.geometry.bounds.min[0] + item.geometry.bounds.max[0]) / 2,
533
+ (item.geometry.bounds.min[1] + item.geometry.bounds.max[1]) / 2,
534
+ (item.geometry.bounds.min[2] + item.geometry.bounds.max[2]) / 2
535
+ ];
536
+ const matrix = item.modelMatrix;
537
+ if (!matrix || matrix.length < 16)
538
+ return local;
539
+ return [
540
+ matrix[0] * local[0] + matrix[4] * local[1] + matrix[8] * local[2] + matrix[12],
541
+ matrix[1] * local[0] + matrix[5] * local[1] + matrix[9] * local[2] + matrix[13],
542
+ matrix[2] * local[0] + matrix[6] * local[1] + matrix[10] * local[2] + matrix[14]
543
+ ];
544
+ }
460
545
  function applyForwardShadowMapUniforms(shadowMap, item, shader, uniforms) {
461
546
  const requiredUniforms = [
462
547
  "u_shadowMapTexture",
@@ -535,6 +620,33 @@ function applyForwardShadowMapUniforms(shadowMap, item, shader, uniforms) {
535
620
  uniforms.set("u_shadowPcfSampleCount", filterKernel.samples.length);
536
621
  uniforms.set("u_shadowPcfSamples", pcfSamples);
537
622
  }
623
+ function applyClusteredLightingUniforms(clustered, shader, uniforms) {
624
+ const required = [
625
+ "u_clusteredLightEnabled",
626
+ "u_clusterGridSize",
627
+ "u_clusterViewportSize",
628
+ "u_clusterLightData",
629
+ "u_clusterLightIndices"
630
+ ];
631
+ if (!required.every((name) => shader.reflection.uniforms.has(name)))
632
+ return;
633
+ if (!clustered) {
634
+ uniforms.set("u_clusteredLightEnabled", 0);
635
+ uniforms.set("u_clusterGridSize", [1, 1]);
636
+ uniforms.set("u_clusterViewportSize", [1, 1]);
637
+ uniforms.set("u_clusterLightData", new TextureBinding({ name: "u_clusterLightData", required: false }));
638
+ uniforms.set("u_clusterLightIndices", new TextureBinding({ name: "u_clusterLightIndices", required: false }));
639
+ return;
640
+ }
641
+ uniforms.set("u_clusteredLightEnabled", 1);
642
+ uniforms.set("u_clusterGridSize", [clustered.diagnostics.gridWidth, clustered.diagnostics.gridHeight]);
643
+ uniforms.set("u_clusterViewportSize", [
644
+ clustered.diagnostics.viewportWidth,
645
+ clustered.diagnostics.viewportHeight
646
+ ]);
647
+ uniforms.set("u_clusterLightData", clustered.lightData);
648
+ uniforms.set("u_clusterLightIndices", clustered.lightIndices);
649
+ }
538
650
  function applyForwardPointShadowMapUniforms(pointShadowMap, item, shader, uniforms) {
539
651
  const requiredUniforms = [
540
652
  "u_pointShadowMapTexture",
@@ -1242,9 +1354,11 @@ function applySkinningUniforms(skinning, material, shader, uniforms) {
1242
1354
  material: material.name
1243
1355
  });
1244
1356
  }
1245
- if (!Number.isInteger(skinning.jointCount) || skinning.jointCount <= 0 || skinning.jointCount > 96) {
1246
- throw new RenderDeviceError("Skinning jointCount must be an integer in [1, 96]", "INVALID_SKINNING_PALETTE", {
1247
- jointCount: skinning.jointCount
1357
+ if (!Number.isInteger(skinning.jointCount) || skinning.jointCount <= 0 || skinning.jointCount > MAX_SKINNING_JOINTS) {
1358
+ throw new RenderDeviceError(`Skinning jointCount must be an integer in [1, ${MAX_SKINNING_JOINTS}]`, "INVALID_SKINNING_PALETTE", {
1359
+ jointCount: skinning.jointCount,
1360
+ maxUniformJoints: MAX_UNIFORM_SKINNING_JOINTS,
1361
+ maxJoints: MAX_SKINNING_JOINTS
1248
1362
  });
1249
1363
  }
1250
1364
  if (skinning.matrices.length !== skinning.jointCount * 16) {
@@ -1259,7 +1373,68 @@ function applySkinningUniforms(skinning, material, shader, uniforms) {
1259
1373
  });
1260
1374
  }
1261
1375
  uniforms.set("u_jointCount", skinning.jointCount);
1376
+ // Over the uniform-array limit the palette travels as an RGBA32F data texture, four
1377
+ // texels per matrix. A mat4 uniform costs four vec4 slots, so a uniform array cannot
1378
+ // be grown far enough for large rigs without exhausting MAX_VERTEX_UNIFORM_VECTORS.
1379
+ const path = skinning.jointCount > MAX_UNIFORM_SKINNING_JOINTS ? "data-texture" : "uniform-array";
1380
+ if (path === "data-texture") {
1381
+ if (!shader.reflection.uniforms.has("u_jointPaletteTexture") || !shader.reflection.uniforms.has("u_jointPaletteMode")) {
1382
+ throw new RenderDeviceError(`Skinning palettes above ${MAX_UNIFORM_SKINNING_JOINTS} joints require a shader with data-texture palette uniforms`, "SKINNING_SHADER_CONTRACT", { material: material.name, jointCount: skinning.jointCount });
1383
+ }
1384
+ const texture = createSkinningPaletteTexture(skinning, material.name);
1385
+ uniforms.set("u_jointPaletteMode", 1);
1386
+ uniforms.set("u_jointPaletteTexture", new TextureBinding({
1387
+ name: "u_jointPaletteTexture",
1388
+ texture,
1389
+ sampler: new Sampler({ minFilter: "nearest", magFilter: "nearest", addressU: "clamp-to-edge", addressV: "clamp-to-edge" }),
1390
+ required: true
1391
+ }));
1392
+ uniforms.set("u_jointPaletteTextureSize", [texture.width, texture.height]);
1393
+ // The uniform array is still declared by the shader, so give it a valid value.
1394
+ uniforms.set("u_jointMatrices", new Float32Array(MAX_UNIFORM_SKINNING_JOINTS * 16));
1395
+ return path;
1396
+ }
1397
+ if (shader.reflection.uniforms.has("u_jointPaletteMode")) {
1398
+ uniforms.set("u_jointPaletteMode", 0);
1399
+ if (shader.reflection.uniforms.has("u_jointPaletteTextureSize"))
1400
+ uniforms.set("u_jointPaletteTextureSize", [1, 1]);
1401
+ if (shader.reflection.uniforms.has("u_jointPaletteTexture")) {
1402
+ uniforms.set("u_jointPaletteTexture", new TextureBinding({ name: "u_jointPaletteTexture", required: false }));
1403
+ }
1404
+ }
1262
1405
  uniforms.set("u_jointMatrices", skinning.matrices);
1406
+ return path;
1407
+ }
1408
+ /**
1409
+ * Packs a joint palette into an RGBA32F texture, one texel per matrix column.
1410
+ *
1411
+ * Width is a multiple of four so no matrix straddles a row boundary, which keeps the
1412
+ * shader's texel addressing a simple divide and avoids per-column row recomputation.
1413
+ */
1414
+ function createSkinningPaletteTexture(skinning, materialName) {
1415
+ const texelsPerMatrix = 4;
1416
+ const totalTexels = skinning.jointCount * texelsPerMatrix;
1417
+ const width = Math.min(SKINNING_PALETTE_TEXTURE_MAX_WIDTH, Math.max(texelsPerMatrix, ceilToMultiple(Math.ceil(Math.sqrt(totalTexels)), texelsPerMatrix)));
1418
+ const height = Math.ceil(totalTexels / width);
1419
+ const data = new Float32Array(width * height * 4);
1420
+ data.set(skinning.matrices.subarray(0, Math.min(skinning.matrices.length, data.length)));
1421
+ if (skinning.matrices.length > data.length) {
1422
+ throw new RenderDeviceError("Skinning palette does not fit the data texture", "INVALID_SKINNING_PALETTE", {
1423
+ material: materialName,
1424
+ jointCount: skinning.jointCount
1425
+ });
1426
+ }
1427
+ return new Texture({
1428
+ width,
1429
+ height,
1430
+ format: "rgba32f",
1431
+ colorSpace: "linear",
1432
+ label: `aura3d-skinning-palette-${skinning.jointCount}-joints`,
1433
+ data
1434
+ });
1435
+ }
1436
+ function ceilToMultiple(value, multiple) {
1437
+ return Math.ceil(value / multiple) * multiple;
1263
1438
  }
1264
1439
  function validateSkinningGeometryContract(item, skinning) {
1265
1440
  const format = item.geometry.vertexBuffer.format;
@@ -1284,10 +1459,62 @@ function validateSkinningGeometryContract(item, skinning) {
1284
1459
  weightComponents: weightsAttribute.components
1285
1460
  });
1286
1461
  }
1462
+ // Eight-influence geometry must supply both halves of the second set, and both must
1463
+ // be vec4. A half-declared second set would silently drop influences at draw time.
1464
+ const hasJoints1 = format.hasAttribute("joints1");
1465
+ const hasWeights1 = format.hasAttribute("weights1");
1466
+ if (hasJoints1 !== hasWeights1) {
1467
+ throw new RenderDeviceError("Eight-influence skinned geometry must declare both joints1 and weights1", "SKINNING_GEOMETRY_CONTRACT", {
1468
+ label: item.label,
1469
+ hasJoints1,
1470
+ hasWeights1
1471
+ });
1472
+ }
1473
+ const eightInfluence = hasJoints1 && hasWeights1;
1474
+ if (eightInfluence) {
1475
+ const joints1Attribute = format.getAttribute("joints1");
1476
+ const weights1Attribute = format.getAttribute("weights1");
1477
+ if (joints1Attribute.components !== 4 || weights1Attribute.components !== 4) {
1478
+ throw new RenderDeviceError("Eight-influence skinned geometry must use four components per second-set attribute", "SKINNING_GEOMETRY_CONTRACT", {
1479
+ label: item.label,
1480
+ joints1Components: joints1Attribute.components,
1481
+ weights1Components: weights1Attribute.components
1482
+ });
1483
+ }
1484
+ }
1287
1485
  for (let vertex = 0; vertex < item.geometry.vertexBuffer.vertexCount; vertex += 1) {
1288
1486
  const joints = item.geometry.vertexBuffer.getAttribute(vertex, "joints");
1289
1487
  const weights = item.geometry.vertexBuffer.getAttribute(vertex, "weights");
1290
1488
  let weightSum = 0;
1489
+ if (eightInfluence) {
1490
+ // Validate the second set with the same rules, and fold it into the weight sum so
1491
+ // a vertex whose influence is split across both sets is not reported as unweighted.
1492
+ const joints1 = item.geometry.vertexBuffer.getAttribute(vertex, "joints1");
1493
+ const weights1 = item.geometry.vertexBuffer.getAttribute(vertex, "weights1");
1494
+ for (let influence = 0; influence < 4; influence += 1) {
1495
+ const joint = joints1[influence] ?? 0;
1496
+ const weight = weights1[influence] ?? 0;
1497
+ if (!Number.isFinite(weight) || weight < 0) {
1498
+ throw new RenderDeviceError("Skinned render item weights must be finite non-negative values", "SKINNING_GEOMETRY_CONTRACT", {
1499
+ label: item.label,
1500
+ jointCount: skinning.jointCount,
1501
+ vertex,
1502
+ influence: influence + 4,
1503
+ weight
1504
+ });
1505
+ }
1506
+ if (!Number.isInteger(joint) || joint < 0 || joint >= skinning.jointCount) {
1507
+ throw new RenderDeviceError("Skinned render item joint indices must reference palette joints", "SKINNING_GEOMETRY_CONTRACT", {
1508
+ label: item.label,
1509
+ jointCount: skinning.jointCount,
1510
+ vertex,
1511
+ influence: influence + 4,
1512
+ joint
1513
+ });
1514
+ }
1515
+ weightSum += weight;
1516
+ }
1517
+ }
1291
1518
  for (let influence = 0; influence < 4; influence += 1) {
1292
1519
  const joint = joints[influence] ?? 0;
1293
1520
  const weight = weights[influence] ?? 0;