@onerjs/core 8.54.1 → 8.54.3

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 (238) hide show
  1. package/Animations/animatable.core.js.map +1 -1
  2. package/AudioV2/abstractAudio/abstractSoundSource.d.ts +26 -0
  3. package/AudioV2/abstractAudio/abstractSoundSource.js.map +1 -1
  4. package/AudioV2/webAudio/webAudioEngine.js +2 -0
  5. package/AudioV2/webAudio/webAudioEngine.js.map +1 -1
  6. package/AudioV2/webAudio/webAudioSoundSource.d.ts +16 -0
  7. package/AudioV2/webAudio/webAudioSoundSource.js +43 -1
  8. package/AudioV2/webAudio/webAudioSoundSource.js.map +1 -1
  9. package/Bones/skeleton.functions.js +1 -1
  10. package/Bones/skeleton.functions.js.map +1 -1
  11. package/Cameras/inputMapper.js.map +1 -1
  12. package/Collisions/gpuPicker.js +7 -6
  13. package/Collisions/gpuPicker.js.map +1 -1
  14. package/Debug/physicsViewer.pure.js +1 -1
  15. package/Debug/physicsViewer.pure.js.map +1 -1
  16. package/Engines/Extensions/engine.alphaToCoverage.d.ts +6 -0
  17. package/Engines/Extensions/engine.alphaToCoverage.js +9 -0
  18. package/Engines/Extensions/engine.alphaToCoverage.js.map +1 -0
  19. package/Engines/Extensions/engine.alphaToCoverage.pure.d.ts +6 -0
  20. package/Engines/Extensions/engine.alphaToCoverage.pure.js +54 -0
  21. package/Engines/Extensions/engine.alphaToCoverage.pure.js.map +1 -0
  22. package/Engines/Extensions/engine.alphaToCoverage.types.d.ts +21 -0
  23. package/Engines/Extensions/engine.alphaToCoverage.types.js +2 -0
  24. package/Engines/Extensions/engine.alphaToCoverage.types.js.map +1 -0
  25. package/Engines/Extensions/engine.texture2DArrayImageSource.d.ts +6 -0
  26. package/Engines/Extensions/engine.texture2DArrayImageSource.js +9 -0
  27. package/Engines/Extensions/engine.texture2DArrayImageSource.js.map +1 -0
  28. package/Engines/Extensions/engine.texture2DArrayImageSource.pure.d.ts +7 -0
  29. package/Engines/Extensions/engine.texture2DArrayImageSource.pure.js +40 -0
  30. package/Engines/Extensions/engine.texture2DArrayImageSource.pure.js.map +1 -0
  31. package/Engines/Extensions/engine.texture2DArrayImageSource.types.d.ts +21 -0
  32. package/Engines/Extensions/engine.texture2DArrayImageSource.types.js +2 -0
  33. package/Engines/Extensions/engine.texture2DArrayImageSource.types.js.map +1 -0
  34. package/Engines/Extensions/index.d.ts +1 -0
  35. package/Engines/Extensions/index.js +1 -0
  36. package/Engines/Extensions/index.js.map +1 -1
  37. package/Engines/Extensions/pure.d.ts +2 -0
  38. package/Engines/Extensions/pure.js +2 -0
  39. package/Engines/Extensions/pure.js.map +1 -1
  40. package/Engines/Native/nativeHelpers.js +6 -4
  41. package/Engines/Native/nativeHelpers.js.map +1 -1
  42. package/Engines/Native/nativeInterfaces.d.ts +1 -0
  43. package/Engines/Native/nativeInterfaces.js.map +1 -1
  44. package/Engines/WebGPU/Extensions/engine.alphaToCoverage.d.ts +6 -0
  45. package/Engines/WebGPU/Extensions/engine.alphaToCoverage.js +9 -0
  46. package/Engines/WebGPU/Extensions/engine.alphaToCoverage.js.map +1 -0
  47. package/Engines/WebGPU/Extensions/engine.alphaToCoverage.pure.d.ts +6 -0
  48. package/Engines/WebGPU/Extensions/engine.alphaToCoverage.pure.js +34 -0
  49. package/Engines/WebGPU/Extensions/engine.alphaToCoverage.pure.js.map +1 -0
  50. package/Engines/WebGPU/Extensions/engine.alphaToCoverage.types.d.ts +16 -0
  51. package/Engines/WebGPU/Extensions/engine.alphaToCoverage.types.js +2 -0
  52. package/Engines/WebGPU/Extensions/engine.alphaToCoverage.types.js.map +1 -0
  53. package/Engines/WebGPU/Extensions/engine.texture2DArrayImageSource.d.ts +6 -0
  54. package/Engines/WebGPU/Extensions/engine.texture2DArrayImageSource.js +9 -0
  55. package/Engines/WebGPU/Extensions/engine.texture2DArrayImageSource.js.map +1 -0
  56. package/Engines/WebGPU/Extensions/engine.texture2DArrayImageSource.pure.d.ts +7 -0
  57. package/Engines/WebGPU/Extensions/engine.texture2DArrayImageSource.pure.js +23 -0
  58. package/Engines/WebGPU/Extensions/engine.texture2DArrayImageSource.pure.js.map +1 -0
  59. package/Engines/WebGPU/Extensions/index.d.ts +1 -0
  60. package/Engines/WebGPU/Extensions/index.js +1 -0
  61. package/Engines/WebGPU/Extensions/index.js.map +1 -1
  62. package/Engines/WebGPU/Extensions/pure.d.ts +2 -0
  63. package/Engines/WebGPU/Extensions/pure.js +2 -0
  64. package/Engines/WebGPU/Extensions/pure.js.map +1 -1
  65. package/Engines/WebGPU/webgpuCacheRenderPipeline.js +0 -1
  66. package/Engines/WebGPU/webgpuCacheRenderPipeline.js.map +1 -1
  67. package/Engines/abstractEngine.pure.d.ts +0 -15
  68. package/Engines/abstractEngine.pure.js +2 -23
  69. package/Engines/abstractEngine.pure.js.map +1 -1
  70. package/Engines/constants.d.ts +4 -0
  71. package/Engines/constants.js +4 -0
  72. package/Engines/constants.js.map +1 -1
  73. package/Engines/engine.d.ts +32 -2
  74. package/Engines/engine.js +1 -0
  75. package/Engines/engine.js.map +1 -1
  76. package/Engines/engine.pure.js +1 -1
  77. package/Engines/engine.pure.js.map +1 -1
  78. package/Engines/thinEngine.pure.d.ts +0 -11
  79. package/Engines/thinEngine.pure.js +0 -19
  80. package/Engines/thinEngine.pure.js.map +1 -1
  81. package/Engines/thinNativeEngine.pure.js +4 -4
  82. package/Engines/thinNativeEngine.pure.js.map +1 -1
  83. package/Engines/webgpuEngine.d.ts +2 -0
  84. package/Engines/webgpuEngine.js +2 -0
  85. package/Engines/webgpuEngine.js.map +1 -1
  86. package/Engines/webgpuEngine.pure.d.ts +0 -5
  87. package/Engines/webgpuEngine.pure.js +1 -10
  88. package/Engines/webgpuEngine.pure.js.map +1 -1
  89. package/FrameGraph/Node/Types/nodeRenderGraphTypes.js.map +1 -1
  90. package/Lights/Clustered/clusteredLightContainer.pure.js +6 -0
  91. package/Lights/Clustered/clusteredLightContainer.pure.js.map +1 -1
  92. package/Loading/Plugins/babylonFileLoader.d.ts +10 -0
  93. package/Loading/Plugins/babylonFileLoader.js +18 -0
  94. package/Loading/Plugins/babylonFileLoader.js.map +1 -1
  95. package/Loading/Plugins/babylonFileLoader.pure.js +10 -2
  96. package/Loading/Plugins/babylonFileLoader.pure.js.map +1 -1
  97. package/Loading/loadingScreen.pure.js +2 -0
  98. package/Loading/loadingScreen.pure.js.map +1 -1
  99. package/Materials/Node/Blocks/Fragment/ambientOcclusionBlock.pure.js.map +1 -1
  100. package/Materials/Node/Blocks/GaussianSplatting/gaussianSplattingBlock.pure.js +2 -1
  101. package/Materials/Node/Blocks/GaussianSplatting/gaussianSplattingBlock.pure.js.map +1 -1
  102. package/Materials/Node/nodeMaterial.pure.d.ts +13 -5
  103. package/Materials/Node/nodeMaterial.pure.js +20 -2
  104. package/Materials/Node/nodeMaterial.pure.js.map +1 -1
  105. package/Materials/Textures/index.d.ts +1 -0
  106. package/Materials/Textures/index.js +1 -0
  107. package/Materials/Textures/index.js.map +1 -1
  108. package/Materials/Textures/ktx2decoderTypes.d.ts +14 -3
  109. package/Materials/Textures/ktx2decoderTypes.js +2 -0
  110. package/Materials/Textures/ktx2decoderTypes.js.map +1 -1
  111. package/Materials/Textures/pure.d.ts +1 -0
  112. package/Materials/Textures/pure.js +1 -0
  113. package/Materials/Textures/pure.js.map +1 -1
  114. package/Materials/Textures/rawTexture2DArray.functions.d.ts +95 -0
  115. package/Materials/Textures/rawTexture2DArray.functions.js +201 -0
  116. package/Materials/Textures/rawTexture2DArray.functions.js.map +1 -0
  117. package/Materials/Textures/renderTargetTexture.pure.js +7 -0
  118. package/Materials/Textures/renderTargetTexture.pure.js.map +1 -1
  119. package/Materials/material.pure.d.ts +1 -0
  120. package/Materials/material.pure.js +1 -0
  121. package/Materials/material.pure.js.map +1 -1
  122. package/Meshes/Builders/pure.d.ts +2 -2
  123. package/Meshes/Builders/pure.js +2 -2
  124. package/Meshes/Builders/pure.js.map +1 -1
  125. package/Meshes/Builders/textBuilder.js.map +1 -1
  126. package/Meshes/Builders/tiledBoxBuilder.d.ts +1 -83
  127. package/Meshes/Builders/tiledBoxBuilder.js +3 -215
  128. package/Meshes/Builders/tiledBoxBuilder.js.map +1 -1
  129. package/Meshes/Builders/tiledBoxBuilder.pure.d.ts +89 -0
  130. package/Meshes/Builders/tiledBoxBuilder.pure.js +229 -0
  131. package/Meshes/Builders/tiledBoxBuilder.pure.js.map +1 -0
  132. package/Meshes/Builders/tiledPlaneBuilder.d.ts +1 -79
  133. package/Meshes/Builders/tiledPlaneBuilder.js +3 -429
  134. package/Meshes/Builders/tiledPlaneBuilder.js.map +1 -1
  135. package/Meshes/Builders/tiledPlaneBuilder.pure.d.ts +85 -0
  136. package/Meshes/Builders/tiledPlaneBuilder.pure.js +442 -0
  137. package/Meshes/Builders/tiledPlaneBuilder.pure.js.map +1 -0
  138. package/Meshes/GaussianSplatting/gaussianSplattingMesh.pure.d.ts +13 -0
  139. package/Meshes/GaussianSplatting/gaussianSplattingMesh.pure.js +15 -0
  140. package/Meshes/GaussianSplatting/gaussianSplattingMesh.pure.js.map +1 -1
  141. package/Meshes/GaussianSplatting/gaussianSplattingMeshBase.pure.js +29 -9
  142. package/Meshes/GaussianSplatting/gaussianSplattingMeshBase.pure.js.map +1 -1
  143. package/Meshes/Node/Blocks/bevelBlock.pure.js.map +1 -1
  144. package/Meshes/meshBuilder.d.ts +21 -57
  145. package/Meshes/meshBuilder.js +21 -58
  146. package/Meshes/meshBuilder.js.map +1 -1
  147. package/Meshes/meshBuilder.pure.d.ts +58 -0
  148. package/Meshes/meshBuilder.pure.js +60 -0
  149. package/Meshes/meshBuilder.pure.js.map +1 -0
  150. package/Meshes/pure.d.ts +1 -1
  151. package/Meshes/pure.js +1 -1
  152. package/Meshes/pure.js.map +1 -1
  153. package/Misc/greasedLineTools.js.map +1 -1
  154. package/Misc/khronosTextureContainer2.d.ts +10 -0
  155. package/Misc/khronosTextureContainer2.js +23 -12
  156. package/Misc/khronosTextureContainer2.js.map +1 -1
  157. package/Misc/perfCounter.d.ts +2 -0
  158. package/Misc/perfCounter.js +17 -2
  159. package/Misc/perfCounter.js.map +1 -1
  160. package/Misc/rgbdTextureTools.js +1 -1
  161. package/Misc/rgbdTextureTools.js.map +1 -1
  162. package/Misc/snapshotRenderingHelper.js +2 -1
  163. package/Misc/snapshotRenderingHelper.js.map +1 -1
  164. package/Misc/tools.pure.js +1 -1
  165. package/Misc/tools.pure.js.map +1 -1
  166. package/Navigation/Plugins/recastJSPlugin.js +1 -1
  167. package/Navigation/Plugins/recastJSPlugin.js.map +1 -1
  168. package/Physics/v2/Plugins/havokPlugin.js +15 -0
  169. package/Physics/v2/Plugins/havokPlugin.js.map +1 -1
  170. package/Physics/v2/characterController.d.ts +17 -0
  171. package/Physics/v2/characterController.js +40 -0
  172. package/Physics/v2/characterController.js.map +1 -1
  173. package/PostProcesses/RenderPipeline/Pipelines/lensRenderingPipeline.pure.js.map +1 -1
  174. package/PostProcesses/RenderPipeline/Pipelines/ssaoRenderingPipeline.pure.js.map +1 -1
  175. package/PostProcesses/thinSSAO2PostProcess.js.map +1 -1
  176. package/PostProcesses/volumetricLightScatteringPostProcess.d.ts +3 -0
  177. package/PostProcesses/volumetricLightScatteringPostProcess.js +3 -0
  178. package/PostProcesses/volumetricLightScatteringPostProcess.js.map +1 -1
  179. package/PostProcesses/volumetricLightScatteringPostProcess.pure.d.ts +1 -0
  180. package/PostProcesses/volumetricLightScatteringPostProcess.pure.js +25 -6
  181. package/PostProcesses/volumetricLightScatteringPostProcess.pure.js.map +1 -1
  182. package/Rendering/IBLShadows/iblShadowsAccumulationPass.d.ts +3 -1
  183. package/Rendering/IBLShadows/iblShadowsAccumulationPass.js +25 -4
  184. package/Rendering/IBLShadows/iblShadowsAccumulationPass.js.map +1 -1
  185. package/Rendering/IBLShadows/iblShadowsRenderPipeline.pure.js +6 -5
  186. package/Rendering/IBLShadows/iblShadowsRenderPipeline.pure.js.map +1 -1
  187. package/Rendering/IBLShadows/iblShadowsSpatialBlurPass.d.ts +3 -1
  188. package/Rendering/IBLShadows/iblShadowsSpatialBlurPass.js +16 -4
  189. package/Rendering/IBLShadows/iblShadowsSpatialBlurPass.js.map +1 -1
  190. package/Rendering/IBLShadows/iblShadowsVoxelRenderer.pure.js +6 -5
  191. package/Rendering/IBLShadows/iblShadowsVoxelRenderer.pure.js.map +1 -1
  192. package/Rendering/IBLShadows/iblShadowsVoxelTracingPass.d.ts +3 -1
  193. package/Rendering/IBLShadows/iblShadowsVoxelTracingPass.js +16 -4
  194. package/Rendering/IBLShadows/iblShadowsVoxelTracingPass.js.map +1 -1
  195. package/Rendering/depthRenderer.d.ts +2 -0
  196. package/Rendering/depthRenderer.js +2 -0
  197. package/Rendering/depthRenderer.js.map +1 -1
  198. package/Rendering/depthRenderer.pure.js +3 -2
  199. package/Rendering/depthRenderer.pure.js.map +1 -1
  200. package/Rendering/fluidRenderer/fluidRenderer.pure.js +6 -0
  201. package/Rendering/fluidRenderer/fluidRenderer.pure.js.map +1 -1
  202. package/Rendering/geometryBufferRenderer.pure.js +5 -5
  203. package/Rendering/geometryBufferRenderer.pure.js.map +1 -1
  204. package/Shaders/ShadersInclude/openpbrDielectricReflectance.js +6 -6
  205. package/Shaders/ShadersInclude/openpbrDielectricReflectance.js.map +1 -1
  206. package/ShadersWGSL/ShadersInclude/depthPrePass.js +2 -0
  207. package/ShadersWGSL/ShadersInclude/depthPrePass.js.map +1 -1
  208. package/ShadersWGSL/ShadersInclude/openpbrDielectricReflectance.js +7 -8
  209. package/ShadersWGSL/ShadersInclude/openpbrDielectricReflectance.js.map +1 -1
  210. package/ShadersWGSL/default.fragment.js +3 -0
  211. package/ShadersWGSL/default.fragment.js.map +1 -1
  212. package/ShadersWGSL/openpbr.fragment.js +3 -0
  213. package/ShadersWGSL/openpbr.fragment.js.map +1 -1
  214. package/ShadersWGSL/pbr.fragment.js +3 -0
  215. package/ShadersWGSL/pbr.fragment.js.map +1 -1
  216. package/ShadersWGSL/volumetricLightScattering.fragment.d.ts +5 -0
  217. package/ShadersWGSL/volumetricLightScattering.fragment.js +20 -0
  218. package/ShadersWGSL/volumetricLightScattering.fragment.js.map +1 -0
  219. package/ShadersWGSL/volumetricLightScatteringPass.fragment.d.ts +5 -0
  220. package/ShadersWGSL/volumetricLightScatteringPass.fragment.js +24 -0
  221. package/ShadersWGSL/volumetricLightScatteringPass.fragment.js.map +1 -0
  222. package/ShadersWGSL/volumetricLightScatteringPass.vertex.d.ts +5 -0
  223. package/ShadersWGSL/volumetricLightScatteringPass.vertex.js +67 -0
  224. package/ShadersWGSL/volumetricLightScatteringPass.vertex.js.map +1 -0
  225. package/SmartAssets/smartAssetManager.pure.js +9 -1
  226. package/SmartAssets/smartAssetManager.pure.js.map +1 -1
  227. package/States/alphaCullingState.d.ts +0 -9
  228. package/States/alphaCullingState.js +4 -31
  229. package/States/alphaCullingState.js.map +1 -1
  230. package/XR/features/WebXRBodyTracking.pure.d.ts +0 -28
  231. package/XR/features/WebXRBodyTracking.pure.js.map +1 -1
  232. package/XR/features/WebXRLayers.pure.js +4 -4
  233. package/XR/features/WebXRLayers.pure.js.map +1 -1
  234. package/node.d.ts +18 -1
  235. package/node.js +52 -1
  236. package/node.js.map +1 -1
  237. package/package.json +1 -1
  238. package/types.js.map +1 -1
@@ -1044,7 +1044,11 @@ export class GaussianSplattingMeshBase extends Mesh {
1044
1044
  }
1045
1045
  return a.frameIdLastUpdate - b.frameIdLastUpdate;
1046
1046
  });
1047
- const hasSortFunction = this._worker || Native?.sortSplats || this._disableDepthSort;
1047
+ // The native sort writes into _splatPositions/_splatIndex: both must be allocated (they still are
1048
+ // null before any splat data has been committed) or the native binding throws on the conversion.
1049
+ const hasNativeSort = !!Native?.sortSplats && !!this._splatPositions && !!this._splatIndex;
1050
+ // When depth sort is disabled, no sort function must run: fall through to the no-sort path below.
1051
+ const hasSortFunction = !this._disableDepthSort && (this._worker || hasNativeSort);
1048
1052
  if ((forced || outdated) && hasSortFunction && (this._scene.activeCameras?.length || this._scene.activeCamera) && this._canPostToWorker) {
1049
1053
  const worldMatrix = this.computeWorldMatrix(true);
1050
1054
  // view infos sorted by least recent updated frame id
@@ -1098,14 +1102,16 @@ export class GaussianSplattingMeshBase extends Mesh {
1098
1102
  });
1099
1103
  }
1100
1104
  else if (this._disableDepthSort) {
1101
- activeViewInfos.forEach((cameraViewInfos) => {
1102
- if (!cameraViewInfos.splatIndexBufferSet) {
1103
- cameraViewInfos.mesh.thinInstanceSetBuffer("splatIndex", this._splatIndex, 16, false);
1104
- cameraViewInfos.splatIndexBufferSet = true;
1105
- }
1106
- });
1105
+ if (this._splatIndex) {
1106
+ activeViewInfos.forEach((cameraViewInfos) => {
1107
+ if (!cameraViewInfos.splatIndexBufferSet) {
1108
+ cameraViewInfos.mesh.thinInstanceSetBuffer("splatIndex", this._splatIndex, 16, false);
1109
+ cameraViewInfos.splatIndexBufferSet = true;
1110
+ }
1111
+ });
1112
+ this._readyToDisplay = true;
1113
+ }
1107
1114
  this._canPostToWorker = true;
1108
- this._readyToDisplay = true;
1109
1115
  }
1110
1116
  }
1111
1117
  /**
@@ -2161,6 +2167,18 @@ export class GaussianSplattingMeshBase extends Mesh {
2161
2167
  this._postToWorker(true);
2162
2168
  }
2163
2169
  else {
2170
+ // Full rebuild: the texture size changed (or this is a size-changing reload), so the existing
2171
+ // GPU textures cannot be reused. Dispose them before recreating to avoid leaking the old ones.
2172
+ this._covariancesATexture?.dispose();
2173
+ this._covariancesBTexture?.dispose();
2174
+ this._centersTexture?.dispose();
2175
+ this._colorsTexture?.dispose();
2176
+ if (this._shTextures) {
2177
+ for (const shTexture of this._shTextures) {
2178
+ shTexture.dispose();
2179
+ }
2180
+ this._shTextures = null;
2181
+ }
2164
2182
  this._textureSize = textureSize;
2165
2183
  this._covariancesATexture = createTextureFromDataF16(covA, textureSize.x, textureSize.y, 5);
2166
2184
  this._covariancesBTexture = createTextureFromDataF16(covB, textureSize.x, textureSize.y, this._useRGBACovariants ? 5 : 7);
@@ -2550,10 +2568,12 @@ export class GaussianSplattingMeshBase extends Mesh {
2550
2568
  if (!this._vertexCount) {
2551
2569
  return;
2552
2570
  }
2571
+ // The identity index buffer must exist even when no sort worker is needed: every render path
2572
+ // (including the Native one) reads it, and a null buffer breaks the Native bindings.
2573
+ this._updateSplatIndexBuffer(this._vertexCount);
2553
2574
  if (this._disableDepthSort) {
2554
2575
  return;
2555
2576
  }
2556
- this._updateSplatIndexBuffer(this._vertexCount);
2557
2577
  // no worker in native
2558
2578
  if (IsNative) {
2559
2579
  return;