@babylonjs/core 8.1.1 → 8.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1506) hide show
  1. package/Actions/abstractActionManager.d.ts +4 -4
  2. package/Actions/action.d.ts +9 -9
  3. package/Actions/actionEvent.d.ts +5 -5
  4. package/Actions/actionManager.d.ts +6 -6
  5. package/Actions/condition.d.ts +1 -1
  6. package/Actions/directActions.d.ts +3 -3
  7. package/Actions/directAudioActions.d.ts +3 -3
  8. package/Actions/index.d.ts +8 -8
  9. package/Actions/interpolateValueAction.d.ts +3 -3
  10. package/Animations/animatable.core.d.ts +2 -2
  11. package/Animations/animatable.d.ts +8 -8
  12. package/Animations/animatable.interface.d.ts +2 -2
  13. package/Animations/animation.d.ts +13 -13
  14. package/Animations/animationGroup.d.ts +8 -8
  15. package/Animations/animationKey.d.ts +1 -1
  16. package/Animations/index.d.ts +12 -12
  17. package/Animations/pathCursor.d.ts +2 -2
  18. package/Animations/runtimeAnimation.d.ts +4 -4
  19. package/Audio/Interfaces/IAudioEngine.d.ts +4 -4
  20. package/Audio/analyser.d.ts +2 -2
  21. package/Audio/audioEngine.d.ts +4 -4
  22. package/Audio/audioSceneComponent.d.ts +8 -8
  23. package/Audio/index.d.ts +8 -8
  24. package/Audio/sound.d.ts +6 -6
  25. package/Audio/soundTrack.d.ts +4 -4
  26. package/Audio/weightedsound.d.ts +1 -1
  27. package/AudioV2/abstractAudio/abstractAudioBus.d.ts +5 -5
  28. package/AudioV2/abstractAudio/abstractAudioNode.d.ts +2 -2
  29. package/AudioV2/abstractAudio/abstractSound.d.ts +12 -12
  30. package/AudioV2/abstractAudio/abstractSound.js +1 -1
  31. package/AudioV2/abstractAudio/abstractSound.js.map +1 -1
  32. package/AudioV2/abstractAudio/abstractSoundInstance.d.ts +4 -4
  33. package/AudioV2/abstractAudio/audioBus.d.ts +7 -7
  34. package/AudioV2/abstractAudio/audioEngineV2.d.ts +8 -8
  35. package/AudioV2/abstractAudio/components/spatialAudioAttacherComponent.d.ts +5 -5
  36. package/AudioV2/abstractAudio/index.d.ts +10 -10
  37. package/AudioV2/abstractAudio/mainAudioBus.d.ts +3 -3
  38. package/AudioV2/abstractAudio/mainAudioOut.d.ts +2 -2
  39. package/AudioV2/abstractAudio/staticSound.d.ts +5 -5
  40. package/AudioV2/abstractAudio/staticSoundBuffer.d.ts +1 -1
  41. package/AudioV2/abstractAudio/staticSoundInstance.d.ts +3 -3
  42. package/AudioV2/abstractAudio/streamingSound.d.ts +4 -4
  43. package/AudioV2/abstractAudio/streamingSoundInstance.d.ts +4 -4
  44. package/AudioV2/abstractAudio/subNodes/abstractAudioSubGraph.d.ts +3 -3
  45. package/AudioV2/abstractAudio/subNodes/abstractAudioSubNode.d.ts +2 -2
  46. package/AudioV2/abstractAudio/subNodes/audioAnalyzerSubNode.d.ts +6 -6
  47. package/AudioV2/abstractAudio/subNodes/spatialAudioSubNode.d.ts +9 -9
  48. package/AudioV2/abstractAudio/subNodes/stereoAudioSubNode.d.ts +6 -6
  49. package/AudioV2/abstractAudio/subNodes/volumeAudioSubNode.d.ts +4 -4
  50. package/AudioV2/abstractAudio/subProperties/abstractSpatialAudio.d.ts +4 -4
  51. package/AudioV2/abstractAudio/subProperties/abstractSpatialAudioListener.d.ts +4 -4
  52. package/AudioV2/abstractAudio/subProperties/audioAnalyzer.d.ts +3 -3
  53. package/AudioV2/abstractAudio/subProperties/index.d.ts +4 -4
  54. package/AudioV2/abstractAudio/subProperties/spatialAudio.d.ts +6 -6
  55. package/AudioV2/abstractAudio/subProperties/spatialAudioListener.d.ts +6 -6
  56. package/AudioV2/abstractAudio/subProperties/stereoAudio.d.ts +2 -2
  57. package/AudioV2/index.d.ts +4 -4
  58. package/AudioV2/webAudio/index.d.ts +5 -5
  59. package/AudioV2/webAudio/subNodes/spatialWebAudioSubNode.d.ts +4 -4
  60. package/AudioV2/webAudio/subNodes/stereoWebAudioSubNode.d.ts +3 -3
  61. package/AudioV2/webAudio/subNodes/volumeWebAudioSubNode.d.ts +3 -3
  62. package/AudioV2/webAudio/subNodes/webAudioAnalyzerSubNode.d.ts +4 -4
  63. package/AudioV2/webAudio/subNodes/webAudioBaseSubGraph.d.ts +7 -7
  64. package/AudioV2/webAudio/subNodes/webAudioBusAndSoundSubGraph.d.ts +7 -7
  65. package/AudioV2/webAudio/subProperties/spatialWebAudio.d.ts +2 -2
  66. package/AudioV2/webAudio/subProperties/spatialWebAudioListener.d.ts +2 -2
  67. package/AudioV2/webAudio/webAudioBus.d.ts +7 -7
  68. package/AudioV2/webAudio/webAudioEngine.d.ts +11 -11
  69. package/AudioV2/webAudio/webAudioMainBus.d.ts +6 -6
  70. package/AudioV2/webAudio/webAudioMainOut.d.ts +3 -3
  71. package/AudioV2/webAudio/webAudioNode.d.ts +4 -4
  72. package/AudioV2/webAudio/webAudioStaticSound.d.ts +13 -13
  73. package/AudioV2/webAudio/webAudioStreamingSound.d.ts +10 -10
  74. package/AudioV2/webAudio/webAudioUnmuteUI.d.ts +1 -1
  75. package/BakedVertexAnimation/bakedVertexAnimationManager.d.ts +5 -5
  76. package/BakedVertexAnimation/index.d.ts +2 -2
  77. package/BakedVertexAnimation/vertexAnimationBaker.d.ts +4 -4
  78. package/Behaviors/Cameras/autoRotationBehavior.d.ts +3 -3
  79. package/Behaviors/Cameras/bouncingBehavior.d.ts +3 -3
  80. package/Behaviors/Cameras/framingBehavior.d.ts +7 -7
  81. package/Behaviors/Cameras/index.d.ts +3 -3
  82. package/Behaviors/Meshes/attachToBoxBehavior.d.ts +3 -3
  83. package/Behaviors/Meshes/baseSixDofDragBehavior.d.ts +9 -9
  84. package/Behaviors/Meshes/fadeInOutBehavior.d.ts +2 -2
  85. package/Behaviors/Meshes/followBehavior.d.ts +4 -4
  86. package/Behaviors/Meshes/handConstraintBehavior.d.ts +4 -4
  87. package/Behaviors/Meshes/index.d.ts +9 -9
  88. package/Behaviors/Meshes/multiPointerScaleBehavior.d.ts +2 -2
  89. package/Behaviors/Meshes/pointerDragBehavior.d.ts +8 -8
  90. package/Behaviors/Meshes/sixDofDragBehavior.d.ts +4 -4
  91. package/Behaviors/Meshes/surfaceMagnetismBehavior.d.ts +5 -5
  92. package/Behaviors/behavior.d.ts +1 -1
  93. package/Behaviors/index.d.ts +3 -3
  94. package/Bones/bone.d.ts +8 -8
  95. package/Bones/boneIKController.d.ts +4 -4
  96. package/Bones/boneLookController.d.ts +4 -4
  97. package/Bones/index.d.ts +4 -4
  98. package/Bones/skeleton.d.ts +13 -13
  99. package/Buffers/buffer.align.d.ts +2 -2
  100. package/Buffers/buffer.d.ts +3 -3
  101. package/Buffers/buffer.nonFloatVertexBuffers.d.ts +3 -3
  102. package/Buffers/bufferUtils.d.ts +1 -1
  103. package/Buffers/index.d.ts +5 -5
  104. package/Buffers/storageBuffer.d.ts +2 -2
  105. package/Cameras/Inputs/BaseCameraMouseWheelInput.d.ts +3 -3
  106. package/Cameras/Inputs/BaseCameraPointersInput.d.ts +5 -5
  107. package/Cameras/Inputs/arcRotateCameraGamepadInput.d.ts +4 -4
  108. package/Cameras/Inputs/arcRotateCameraKeyboardMoveInput.d.ts +2 -2
  109. package/Cameras/Inputs/arcRotateCameraMouseWheelInput.d.ts +4 -4
  110. package/Cameras/Inputs/arcRotateCameraPointersInput.d.ts +5 -5
  111. package/Cameras/Inputs/arcRotateCameraVRDeviceOrientationInput.d.ts +3 -3
  112. package/Cameras/Inputs/flyCameraKeyboardInput.d.ts +2 -2
  113. package/Cameras/Inputs/flyCameraMouseInput.d.ts +2 -2
  114. package/Cameras/Inputs/followCameraKeyboardMoveInput.d.ts +2 -2
  115. package/Cameras/Inputs/followCameraMouseWheelInput.d.ts +2 -2
  116. package/Cameras/Inputs/followCameraPointersInput.d.ts +4 -4
  117. package/Cameras/Inputs/freeCameraDeviceOrientationInput.d.ts +5 -5
  118. package/Cameras/Inputs/freeCameraGamepadInput.d.ts +4 -4
  119. package/Cameras/Inputs/freeCameraKeyboardMoveInput.d.ts +2 -2
  120. package/Cameras/Inputs/freeCameraMouseInput.d.ts +3 -3
  121. package/Cameras/Inputs/freeCameraMouseWheelInput.d.ts +4 -4
  122. package/Cameras/Inputs/freeCameraTouchInput.d.ts +2 -2
  123. package/Cameras/Inputs/freeCameraVirtualJoystickInput.d.ts +4 -4
  124. package/Cameras/Inputs/index.d.ts +19 -19
  125. package/Cameras/RigModes/index.d.ts +3 -3
  126. package/Cameras/RigModes/stereoscopicAnaglyphRigMode.d.ts +1 -1
  127. package/Cameras/RigModes/stereoscopicRigMode.d.ts +1 -1
  128. package/Cameras/RigModes/vrRigMode.d.ts +1 -1
  129. package/Cameras/Stereoscopic/anaglyphArcRotateCamera.d.ts +3 -3
  130. package/Cameras/Stereoscopic/anaglyphFreeCamera.d.ts +3 -3
  131. package/Cameras/Stereoscopic/anaglyphGamepadCamera.d.ts +3 -3
  132. package/Cameras/Stereoscopic/anaglyphUniversalCamera.d.ts +3 -3
  133. package/Cameras/Stereoscopic/index.d.ts +9 -9
  134. package/Cameras/Stereoscopic/stereoscopicArcRotateCamera.d.ts +3 -3
  135. package/Cameras/Stereoscopic/stereoscopicFreeCamera.d.ts +3 -3
  136. package/Cameras/Stereoscopic/stereoscopicGamepadCamera.d.ts +3 -3
  137. package/Cameras/Stereoscopic/stereoscopicScreenUniversalCamera.d.ts +5 -5
  138. package/Cameras/Stereoscopic/stereoscopicUniversalCamera.d.ts +3 -3
  139. package/Cameras/VR/index.d.ts +5 -5
  140. package/Cameras/VR/vrCameraMetrics.d.ts +1 -1
  141. package/Cameras/VR/vrDeviceOrientationArcRotateCamera.d.ts +5 -5
  142. package/Cameras/VR/vrDeviceOrientationFreeCamera.d.ts +4 -4
  143. package/Cameras/VR/vrDeviceOrientationGamepadCamera.d.ts +5 -5
  144. package/Cameras/VR/vrExperienceHelper.d.ts +15 -15
  145. package/Cameras/arcRotateCamera.d.ts +12 -12
  146. package/Cameras/arcRotateCameraInputsManager.d.ts +2 -2
  147. package/Cameras/camera.d.ts +16 -16
  148. package/Cameras/cameraInputsManager.d.ts +2 -2
  149. package/Cameras/deviceOrientationCamera.d.ts +5 -5
  150. package/Cameras/flyCamera.d.ts +6 -6
  151. package/Cameras/flyCameraInputsManager.d.ts +2 -2
  152. package/Cameras/followCamera.d.ts +6 -6
  153. package/Cameras/followCameraInputsManager.d.ts +2 -2
  154. package/Cameras/freeCamera.d.ts +5 -5
  155. package/Cameras/freeCameraInputsManager.d.ts +5 -5
  156. package/Cameras/gamepadCamera.d.ts +3 -3
  157. package/Cameras/index.d.ts +20 -20
  158. package/Cameras/targetCamera.d.ts +4 -4
  159. package/Cameras/touchCamera.d.ts +3 -3
  160. package/Cameras/universalCamera.d.ts +4 -4
  161. package/Cameras/virtualJoysticksCamera.d.ts +4 -4
  162. package/Collisions/collider.d.ts +4 -4
  163. package/Collisions/collisionCoordinator.d.ts +5 -5
  164. package/Collisions/index.d.ts +10 -10
  165. package/Collisions/intersectionInfo.d.ts +1 -1
  166. package/Collisions/meshCollisionData.d.ts +5 -5
  167. package/Collisions/pickingInfo.d.ts +6 -6
  168. package/Compat/index.d.ts +1 -1
  169. package/Compute/computeEffect.d.ts +4 -4
  170. package/Compute/computeShader.d.ts +8 -8
  171. package/Compute/index.d.ts +2 -2
  172. package/Culling/Helper/computeShaderBoundingHelper.d.ts +2 -2
  173. package/Culling/Helper/transformFeedbackBoundingHelper.d.ts +3 -3
  174. package/Culling/Octrees/index.d.ts +3 -3
  175. package/Culling/Octrees/octree.d.ts +7 -7
  176. package/Culling/Octrees/octreeBlock.d.ts +4 -4
  177. package/Culling/Octrees/octreeSceneComponent.d.ts +9 -9
  178. package/Culling/boundingBox.d.ts +6 -6
  179. package/Culling/boundingInfo.d.ts +7 -7
  180. package/Culling/boundingSphere.d.ts +3 -3
  181. package/Culling/index.d.ts +8 -8
  182. package/Culling/ray.core.d.ts +4 -4
  183. package/Culling/ray.core.js +1 -1
  184. package/Culling/ray.core.js.map +1 -1
  185. package/Culling/ray.d.ts +1 -1
  186. package/Debug/ISkeletonViewer.d.ts +2 -2
  187. package/Debug/axesViewer.d.ts +4 -4
  188. package/Debug/boneAxesViewer.d.ts +6 -6
  189. package/Debug/debugLayer.d.ts +4 -4
  190. package/Debug/debugLayer.js +8 -1
  191. package/Debug/debugLayer.js.map +1 -1
  192. package/Debug/directionalLightFrustumViewer.d.ts +3 -3
  193. package/Debug/index.d.ts +8 -8
  194. package/Debug/physicsViewer.d.ts +11 -11
  195. package/Debug/rayHelper.d.ts +6 -6
  196. package/Debug/skeletonViewer.d.ts +9 -9
  197. package/Decorators/nodeDecorator.d.ts +2 -2
  198. package/DeviceInput/InputDevices/deviceSource.d.ts +5 -5
  199. package/DeviceInput/InputDevices/deviceSourceManager.d.ts +8 -8
  200. package/DeviceInput/InputDevices/deviceTypes.d.ts +1 -1
  201. package/DeviceInput/eventFactory.d.ts +4 -4
  202. package/DeviceInput/index.d.ts +4 -4
  203. package/DeviceInput/inputInterfaces.d.ts +2 -2
  204. package/DeviceInput/internalDeviceSourceManager.d.ts +8 -8
  205. package/DeviceInput/nativeDeviceInputSystem.d.ts +3 -3
  206. package/DeviceInput/webDeviceInputSystem.d.ts +4 -4
  207. package/Engines/AbstractEngine/abstractEngine.alpha.d.ts +1 -1
  208. package/Engines/AbstractEngine/abstractEngine.cubeTexture.d.ts +4 -4
  209. package/Engines/AbstractEngine/abstractEngine.dom.d.ts +3 -3
  210. package/Engines/AbstractEngine/abstractEngine.loadingScreen.d.ts +2 -2
  211. package/Engines/AbstractEngine/abstractEngine.query.d.ts +3 -3
  212. package/Engines/AbstractEngine/abstractEngine.renderPass.d.ts +1 -1
  213. package/Engines/AbstractEngine/abstractEngine.states.d.ts +3 -3
  214. package/Engines/AbstractEngine/abstractEngine.texture.d.ts +4 -4
  215. package/Engines/AbstractEngine/abstractEngine.timeQuery.d.ts +3 -3
  216. package/Engines/AbstractEngine/abstractEngine.views.d.ts +4 -4
  217. package/Engines/AbstractEngine/index.d.ts +10 -10
  218. package/Engines/Extensions/engine.alpha.d.ts +1 -1
  219. package/Engines/Extensions/engine.computeShader.d.ts +7 -7
  220. package/Engines/Extensions/engine.cubeTexture.d.ts +5 -5
  221. package/Engines/Extensions/engine.debugging.d.ts +1 -1
  222. package/Engines/Extensions/engine.dynamicBuffer.d.ts +3 -3
  223. package/Engines/Extensions/engine.dynamicTexture.d.ts +4 -4
  224. package/Engines/Extensions/engine.multiRender.d.ts +5 -5
  225. package/Engines/Extensions/engine.multiview.d.ts +9 -9
  226. package/Engines/Extensions/engine.prefilteredCubeTexture.d.ts +4 -4
  227. package/Engines/Extensions/engine.query.d.ts +7 -7
  228. package/Engines/Extensions/engine.rawTexture.d.ts +4 -4
  229. package/Engines/Extensions/engine.readTexture.d.ts +4 -4
  230. package/Engines/Extensions/engine.renderTarget.d.ts +6 -6
  231. package/Engines/Extensions/engine.renderTargetCube.d.ts +3 -3
  232. package/Engines/Extensions/engine.renderTargetTexture.d.ts +3 -3
  233. package/Engines/Extensions/engine.textureSelector.d.ts +2 -2
  234. package/Engines/Extensions/engine.transformFeedback.d.ts +3 -3
  235. package/Engines/Extensions/engine.uniformBuffer.d.ts +4 -4
  236. package/Engines/Extensions/engine.videoTexture.d.ts +4 -4
  237. package/Engines/Extensions/engine.views.d.ts +1 -1
  238. package/Engines/Extensions/index.d.ts +20 -20
  239. package/Engines/IPipelineContext.d.ts +4 -4
  240. package/Engines/Native/index.d.ts +2 -2
  241. package/Engines/Native/nativeDataStream.d.ts +1 -1
  242. package/Engines/Native/nativeHardwareTexture.d.ts +3 -3
  243. package/Engines/Native/nativeInterfaces.d.ts +6 -6
  244. package/Engines/Native/nativePipelineContext.d.ts +8 -8
  245. package/Engines/Native/nativeRenderTargetWrapper.d.ts +5 -5
  246. package/Engines/Native/nativeShaderProcessingContext.d.ts +1 -1
  247. package/Engines/Native/nativeShaderProcessors.d.ts +4 -4
  248. package/Engines/Native/validatedNativeDataStream.d.ts +2 -2
  249. package/Engines/Processors/Expressions/Operators/index.d.ts +4 -4
  250. package/Engines/Processors/Expressions/Operators/shaderDefineAndOperator.d.ts +1 -1
  251. package/Engines/Processors/Expressions/Operators/shaderDefineArithmeticOperator.d.ts +1 -1
  252. package/Engines/Processors/Expressions/Operators/shaderDefineArithmeticOperator.js +2 -6
  253. package/Engines/Processors/Expressions/Operators/shaderDefineArithmeticOperator.js.map +1 -1
  254. package/Engines/Processors/Expressions/Operators/shaderDefineIsDefinedOperator.d.ts +1 -1
  255. package/Engines/Processors/Expressions/Operators/shaderDefineOrOperator.d.ts +1 -1
  256. package/Engines/Processors/Expressions/index.d.ts +2 -2
  257. package/Engines/Processors/iShaderProcessor.d.ts +8 -4
  258. package/Engines/Processors/iShaderProcessor.js.map +1 -1
  259. package/Engines/Processors/index.d.ts +9 -9
  260. package/Engines/Processors/shaderCodeConditionNode.d.ts +5 -3
  261. package/Engines/Processors/shaderCodeConditionNode.js +2 -2
  262. package/Engines/Processors/shaderCodeConditionNode.js.map +1 -1
  263. package/Engines/Processors/shaderCodeNode.d.ts +4 -2
  264. package/Engines/Processors/shaderCodeNode.js +3 -2
  265. package/Engines/Processors/shaderCodeNode.js.map +1 -1
  266. package/Engines/Processors/shaderCodeTestNode.d.ts +2 -2
  267. package/Engines/Processors/shaderProcessingOptions.d.ts +2 -2
  268. package/Engines/Processors/shaderProcessor.d.ts +6 -6
  269. package/Engines/Processors/shaderProcessor.js +16 -14
  270. package/Engines/Processors/shaderProcessor.js.map +1 -1
  271. package/Engines/WebGL/webGL2ShaderProcessors.d.ts +2 -2
  272. package/Engines/WebGL/webGLHardwareTexture.d.ts +2 -2
  273. package/Engines/WebGL/webGLPipelineContext.d.ts +6 -6
  274. package/Engines/WebGL/webGLRenderTargetWrapper.d.ts +5 -5
  275. package/Engines/WebGL/webGLShaderProcessors.d.ts +4 -4
  276. package/Engines/WebGPU/Extensions/engine.alpha.d.ts +2 -2
  277. package/Engines/WebGPU/Extensions/engine.computeShader.d.ts +7 -7
  278. package/Engines/WebGPU/Extensions/engine.cubeTexture.d.ts +5 -5
  279. package/Engines/WebGPU/Extensions/engine.dynamicTexture.d.ts +4 -4
  280. package/Engines/WebGPU/Extensions/engine.multiRender.d.ts +5 -5
  281. package/Engines/WebGPU/Extensions/engine.query.d.ts +1 -1
  282. package/Engines/WebGPU/Extensions/engine.rawTexture.d.ts +4 -4
  283. package/Engines/WebGPU/Extensions/engine.readTexture.d.ts +3 -3
  284. package/Engines/WebGPU/Extensions/engine.renderTarget.d.ts +6 -6
  285. package/Engines/WebGPU/Extensions/engine.renderTargetCube.d.ts +3 -3
  286. package/Engines/WebGPU/Extensions/engine.renderTargetTexture.d.ts +3 -3
  287. package/Engines/WebGPU/Extensions/engine.videoTexture.d.ts +4 -4
  288. package/Engines/WebGPU/Extensions/index.d.ts +13 -13
  289. package/Engines/WebGPU/webgpuBufferManager.d.ts +4 -4
  290. package/Engines/WebGPU/webgpuBundleList.d.ts +1 -1
  291. package/Engines/WebGPU/webgpuCacheBindGroups.d.ts +5 -5
  292. package/Engines/WebGPU/webgpuCacheRenderPipeline.d.ts +5 -5
  293. package/Engines/WebGPU/webgpuCacheRenderPipelineString.d.ts +2 -2
  294. package/Engines/WebGPU/webgpuCacheRenderPipelineTree.d.ts +2 -2
  295. package/Engines/WebGPU/webgpuCacheSampler.d.ts +2 -2
  296. package/Engines/WebGPU/webgpuClearQuad.d.ts +7 -7
  297. package/Engines/WebGPU/webgpuComputeContext.d.ts +3 -3
  298. package/Engines/WebGPU/webgpuComputePipelineContext.d.ts +3 -3
  299. package/Engines/WebGPU/webgpuDepthCullingState.d.ts +3 -3
  300. package/Engines/WebGPU/webgpuDrawContext.d.ts +4 -4
  301. package/Engines/WebGPU/webgpuExternalTexture.d.ts +1 -1
  302. package/Engines/WebGPU/webgpuHardwareTexture.d.ts +3 -3
  303. package/Engines/WebGPU/webgpuMaterialContext.d.ts +5 -5
  304. package/Engines/WebGPU/webgpuOcclusionQuery.d.ts +2 -2
  305. package/Engines/WebGPU/webgpuPerfCounter.d.ts +1 -1
  306. package/Engines/WebGPU/webgpuPipelineContext.d.ts +8 -8
  307. package/Engines/WebGPU/webgpuQuerySet.d.ts +3 -3
  308. package/Engines/WebGPU/webgpuRenderTargetWrapper.d.ts +4 -4
  309. package/Engines/WebGPU/webgpuShaderProcessingContext.d.ts +2 -2
  310. package/Engines/WebGPU/webgpuShaderProcessor.d.ts +4 -4
  311. package/Engines/WebGPU/webgpuShaderProcessorsGLSL.d.ts +5 -5
  312. package/Engines/WebGPU/webgpuShaderProcessorsWGSL.d.ts +22 -18
  313. package/Engines/WebGPU/webgpuShaderProcessorsWGSL.js +64 -21
  314. package/Engines/WebGPU/webgpuShaderProcessorsWGSL.js.map +1 -1
  315. package/Engines/WebGPU/webgpuSnapshotRendering.d.ts +2 -2
  316. package/Engines/WebGPU/webgpuStencilStateComposer.d.ts +2 -2
  317. package/Engines/WebGPU/webgpuTextureHelper.d.ts +2 -2
  318. package/Engines/WebGPU/webgpuTextureManager.d.ts +6 -6
  319. package/Engines/WebGPU/webgpuTimestampQuery.d.ts +4 -4
  320. package/Engines/abstractEngine.d.ts +41 -41
  321. package/Engines/abstractEngine.js +2 -2
  322. package/Engines/abstractEngine.js.map +1 -1
  323. package/Engines/engine.common.d.ts +3 -3
  324. package/Engines/engine.d.ts +30 -30
  325. package/Engines/engineFactory.d.ts +1 -1
  326. package/Engines/engineStore.d.ts +4 -4
  327. package/Engines/index.d.ts +39 -39
  328. package/Engines/nativeEngine.d.ts +27 -27
  329. package/Engines/nullEngine.d.ts +13 -13
  330. package/Engines/renderTargetWrapper.d.ts +4 -4
  331. package/Engines/shaderStore.d.ts +1 -1
  332. package/Engines/thinEngine.d.ts +27 -27
  333. package/Engines/thinEngine.functions.d.ts +5 -5
  334. package/Engines/thinWebGPUEngine.d.ts +8 -8
  335. package/Engines/webgpuEngine.d.ts +48 -48
  336. package/Events/deviceInputEvents.d.ts +1 -1
  337. package/Events/index.d.ts +4 -4
  338. package/Events/keyboardEvents.d.ts +1 -1
  339. package/Events/pointerEvents.d.ts +6 -6
  340. package/FlowGraph/Blocks/Data/Math/flowGraphMathBlocks.d.ts +12 -7
  341. package/FlowGraph/Blocks/Data/Math/flowGraphMathBlocks.js +26 -7
  342. package/FlowGraph/Blocks/Data/Math/flowGraphMathBlocks.js.map +1 -1
  343. package/FlowGraph/Blocks/Data/Math/flowGraphMathCombineExtractBlocks.d.ts +1 -1
  344. package/FlowGraph/Blocks/Data/Math/flowGraphMatrixMathBlocks.d.ts +2 -2
  345. package/FlowGraph/Blocks/Data/Math/flowGraphVectorMathBlocks.d.ts +3 -3
  346. package/FlowGraph/Blocks/Data/Math/index.d.ts +4 -4
  347. package/FlowGraph/Blocks/Data/Transformers/flowGraphJsonPointerParserBlock.d.ts +1 -1
  348. package/FlowGraph/Blocks/Data/Transformers/flowGraphTypeToTypeBlocks.d.ts +1 -1
  349. package/FlowGraph/Blocks/Data/Transformers/index.d.ts +2 -2
  350. package/FlowGraph/Blocks/Data/Utils/index.d.ts +5 -5
  351. package/FlowGraph/Blocks/Data/flowGraphBinaryOperationBlock.d.ts +5 -5
  352. package/FlowGraph/Blocks/Data/flowGraphCachedOperationBlock.d.ts +5 -5
  353. package/FlowGraph/Blocks/Data/flowGraphConditionalDataBlock.d.ts +4 -4
  354. package/FlowGraph/Blocks/Data/flowGraphConstantBlock.d.ts +1 -1
  355. package/FlowGraph/Blocks/Data/flowGraphConstantOperationBlock.d.ts +4 -4
  356. package/FlowGraph/Blocks/Data/flowGraphGetPropertyBlock.d.ts +1 -1
  357. package/FlowGraph/Blocks/Data/flowGraphGetVariableBlock.d.ts +4 -4
  358. package/FlowGraph/Blocks/Data/flowGraphTernaryOperationBlock.d.ts +5 -5
  359. package/FlowGraph/Blocks/Data/flowGraphTransformCoordinatesSystemBlock.d.ts +6 -6
  360. package/FlowGraph/Blocks/Data/flowGraphUnaryOperationBlock.d.ts +5 -5
  361. package/FlowGraph/Blocks/Data/index.d.ts +12 -12
  362. package/FlowGraph/Blocks/Event/flowGraphMeshPickEventBlock.d.ts +6 -6
  363. package/FlowGraph/Blocks/Event/flowGraphPointerOutEventBlock.d.ts +1 -1
  364. package/FlowGraph/Blocks/Event/flowGraphPointerOverEventBlock.d.ts +1 -1
  365. package/FlowGraph/Blocks/Event/flowGraphReceiveCustomEventBlock.d.ts +4 -4
  366. package/FlowGraph/Blocks/Event/flowGraphSceneReadyEventBlock.d.ts +2 -2
  367. package/FlowGraph/Blocks/Event/flowGraphSceneTickEventBlock.d.ts +1 -1
  368. package/FlowGraph/Blocks/Event/flowGraphSendCustomEventBlock.d.ts +3 -3
  369. package/FlowGraph/Blocks/Event/index.d.ts +7 -7
  370. package/FlowGraph/Blocks/Execution/Animation/flowGraphInterpolationBlock.d.ts +1 -1
  371. package/FlowGraph/Blocks/Execution/Animation/flowGraphInterpolationBlock.js +1 -1
  372. package/FlowGraph/Blocks/Execution/Animation/flowGraphInterpolationBlock.js.map +1 -1
  373. package/FlowGraph/Blocks/Execution/Animation/flowGraphPauseAnimationBlock.d.ts +4 -4
  374. package/FlowGraph/Blocks/Execution/Animation/flowGraphPlayAnimationBlock.d.ts +4 -4
  375. package/FlowGraph/Blocks/Execution/Animation/flowGraphStopAnimationBlock.d.ts +3 -3
  376. package/FlowGraph/Blocks/Execution/Animation/index.d.ts +6 -6
  377. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphBranchBlock.d.ts +5 -5
  378. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphCancelDelayBlock.d.ts +5 -5
  379. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphCounterBlock.d.ts +5 -5
  380. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphDebounceBlock.d.ts +1 -1
  381. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphDoNBlock.d.ts +6 -6
  382. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphFlipFlopBlock.d.ts +1 -1
  383. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphForLoopBlock.d.ts +4 -4
  384. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphMultiGateBlock.d.ts +5 -5
  385. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphSequenceBlock.d.ts +4 -4
  386. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphSetDelayBlock.d.ts +5 -5
  387. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphSwitchBlock.d.ts +5 -5
  388. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphThrottleBlock.d.ts +5 -5
  389. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphWaitAllBlock.d.ts +4 -4
  390. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphWhileLoopBlock.d.ts +5 -5
  391. package/FlowGraph/Blocks/Execution/ControlFlow/index.d.ts +14 -14
  392. package/FlowGraph/Blocks/Execution/flowGraphConsoleLogBlock.d.ts +4 -4
  393. package/FlowGraph/Blocks/Execution/flowGraphSetVariableBlock.d.ts +4 -4
  394. package/FlowGraph/Blocks/Execution/index.d.ts +3 -3
  395. package/FlowGraph/Blocks/flowGraphBlockFactory.d.ts +2 -2
  396. package/FlowGraph/Blocks/index.d.ts +5 -5
  397. package/FlowGraph/CustomTypes/index.d.ts +2 -2
  398. package/FlowGraph/flowGraph.d.ts +9 -9
  399. package/FlowGraph/flowGraphAsyncExecutionBlock.d.ts +4 -4
  400. package/FlowGraph/flowGraphBlock.d.ts +7 -7
  401. package/FlowGraph/flowGraphContext.d.ts +10 -10
  402. package/FlowGraph/flowGraphCoordinator.d.ts +4 -4
  403. package/FlowGraph/flowGraphDataConnection.d.ts +4 -4
  404. package/FlowGraph/flowGraphEventBlock.d.ts +3 -3
  405. package/FlowGraph/flowGraphExecutionBlock.d.ts +4 -4
  406. package/FlowGraph/flowGraphExecutionBlockWithOutSignal.d.ts +3 -3
  407. package/FlowGraph/flowGraphParser.d.ts +10 -10
  408. package/FlowGraph/flowGraphPathConverter.d.ts +3 -3
  409. package/FlowGraph/flowGraphPathConverterComponent.d.ts +6 -6
  410. package/FlowGraph/flowGraphPathConverterComponent.js +1 -1
  411. package/FlowGraph/flowGraphPathConverterComponent.js.map +1 -1
  412. package/FlowGraph/flowGraphRichTypes.d.ts +4 -4
  413. package/FlowGraph/flowGraphSceneEventCoordinator.d.ts +1 -1
  414. package/FlowGraph/flowGraphSignalConnection.d.ts +3 -3
  415. package/FlowGraph/index.d.ts +18 -18
  416. package/FlowGraph/serialization.d.ts +2 -2
  417. package/FlowGraph/typeDefinitions.d.ts +1 -1
  418. package/FlowGraph/utils.d.ts +3 -3
  419. package/FrameGraph/Node/Blocks/Layers/glowLayerBlock.d.ts +1 -1
  420. package/FrameGraph/Node/Blocks/Layers/highlightLayerBlock.d.ts +1 -1
  421. package/FrameGraph/Node/Blocks/PostProcesses/anaglyphPostProcessBlock.d.ts +1 -1
  422. package/FrameGraph/Node/Blocks/PostProcesses/basePostProcessBlock.d.ts +1 -1
  423. package/FrameGraph/Node/Blocks/PostProcesses/blackAndWhitePostProcessBlock.d.ts +1 -1
  424. package/FrameGraph/Node/Blocks/PostProcesses/bloomPostProcessBlock.d.ts +2 -2
  425. package/FrameGraph/Node/Blocks/PostProcesses/blurPostProcessBlock.d.ts +1 -1
  426. package/FrameGraph/Node/Blocks/PostProcesses/chromaticAberrationPostProcessBlock.d.ts +1 -1
  427. package/FrameGraph/Node/Blocks/PostProcesses/circleOfConfusionPostProcessBlock.d.ts +1 -1
  428. package/FrameGraph/Node/Blocks/PostProcesses/depthOfFieldPostProcessBlock.d.ts +2 -2
  429. package/FrameGraph/Node/Blocks/PostProcesses/extractHighlightsPostProcessBlock.d.ts +1 -1
  430. package/FrameGraph/Node/Blocks/PostProcesses/imageProcessingPostProcessBlock.d.ts +71 -0
  431. package/FrameGraph/Node/Blocks/PostProcesses/imageProcessingPostProcessBlock.js +246 -0
  432. package/FrameGraph/Node/Blocks/PostProcesses/imageProcessingPostProcessBlock.js.map +1 -0
  433. package/FrameGraph/Node/Blocks/PostProcesses/passPostProcessBlock.d.ts +1 -1
  434. package/FrameGraph/Node/Blocks/PostProcesses/ssrPostProcessBlock.d.ts +2 -2
  435. package/FrameGraph/Node/Blocks/Rendering/baseObjectRendererBlock.d.ts +3 -3
  436. package/FrameGraph/Node/Blocks/Rendering/baseObjectRendererBlock.js +4 -4
  437. package/FrameGraph/Node/Blocks/Rendering/baseObjectRendererBlock.js.map +1 -1
  438. package/FrameGraph/Node/Blocks/Rendering/baseShadowGeneratorBlock.d.ts +1 -1
  439. package/FrameGraph/Node/Blocks/Rendering/csmShadowGeneratorBlock.d.ts +2 -2
  440. package/FrameGraph/Node/Blocks/Rendering/geometryRendererBlock.d.ts +2 -2
  441. package/FrameGraph/Node/Blocks/Rendering/objectRendererBlock.d.ts +1 -1
  442. package/FrameGraph/Node/Blocks/Rendering/shadowGeneratorBlock.d.ts +1 -1
  443. package/FrameGraph/Node/Blocks/Rendering/taaObjectRendererBlock.d.ts +1 -1
  444. package/FrameGraph/Node/Blocks/Rendering/utilityLayerRendererBlock.d.ts +2 -2
  445. package/FrameGraph/Node/Blocks/Teleport/teleportInBlock.d.ts +1 -1
  446. package/FrameGraph/Node/Blocks/Teleport/teleportOutBlock.d.ts +1 -1
  447. package/FrameGraph/Node/Blocks/Textures/clearBlock.d.ts +3 -3
  448. package/FrameGraph/Node/Blocks/Textures/copyTextureBlock.d.ts +2 -2
  449. package/FrameGraph/Node/Blocks/Textures/generateMipmapsBlock.d.ts +2 -2
  450. package/FrameGraph/Node/Blocks/cullObjectsBlock.d.ts +2 -2
  451. package/FrameGraph/Node/Blocks/elbowBlock.d.ts +1 -1
  452. package/FrameGraph/Node/Blocks/executeBlock.d.ts +2 -2
  453. package/FrameGraph/Node/Blocks/index.d.ts +30 -29
  454. package/FrameGraph/Node/Blocks/index.js +1 -0
  455. package/FrameGraph/Node/Blocks/index.js.map +1 -1
  456. package/FrameGraph/Node/Blocks/inputBlock.d.ts +3 -3
  457. package/FrameGraph/Node/Blocks/outputBlock.d.ts +2 -2
  458. package/FrameGraph/Node/Blocks/resourceContainerBlock.d.ts +1 -1
  459. package/FrameGraph/Node/nodeRenderGraph.d.ts +4 -4
  460. package/FrameGraph/Node/nodeRenderGraphBlock.d.ts +3 -3
  461. package/FrameGraph/Node/nodeRenderGraphBlockConnectionPoint.d.ts +2 -2
  462. package/FrameGraph/Node/nodeRenderGraphConnectionPointCustomObject.d.ts +2 -2
  463. package/FrameGraph/Passes/cullPass.d.ts +1 -1
  464. package/FrameGraph/Passes/renderPass.d.ts +1 -1
  465. package/FrameGraph/Tasks/Layers/baseLayerTask.d.ts +6 -6
  466. package/FrameGraph/Tasks/Layers/glowLayerTask.d.ts +1 -1
  467. package/FrameGraph/Tasks/Layers/highlightLayerTask.d.ts +1 -1
  468. package/FrameGraph/Tasks/Misc/cullObjectsTask.d.ts +1 -1
  469. package/FrameGraph/Tasks/Misc/executeTask.d.ts +1 -1
  470. package/FrameGraph/Tasks/PostProcesses/anaglyphTask.d.ts +1 -1
  471. package/FrameGraph/Tasks/PostProcesses/blackAndWhiteTask.d.ts +1 -1
  472. package/FrameGraph/Tasks/PostProcesses/bloomMergeTask.d.ts +1 -1
  473. package/FrameGraph/Tasks/PostProcesses/bloomTask.d.ts +1 -1
  474. package/FrameGraph/Tasks/PostProcesses/blurTask.d.ts +1 -1
  475. package/FrameGraph/Tasks/PostProcesses/chromaticAberrationTask.d.ts +1 -1
  476. package/FrameGraph/Tasks/PostProcesses/circleOfConfusionTask.d.ts +1 -1
  477. package/FrameGraph/Tasks/PostProcesses/depthOfFieldBlurTask.d.ts +1 -1
  478. package/FrameGraph/Tasks/PostProcesses/depthOfFieldMergeTask.d.ts +1 -1
  479. package/FrameGraph/Tasks/PostProcesses/depthOfFieldTask.d.ts +1 -1
  480. package/FrameGraph/Tasks/PostProcesses/extractHighlightsTask.d.ts +1 -1
  481. package/FrameGraph/Tasks/PostProcesses/imageProcessingTask.d.ts +17 -0
  482. package/FrameGraph/Tasks/PostProcesses/imageProcessingTask.js +23 -0
  483. package/FrameGraph/Tasks/PostProcesses/imageProcessingTask.js.map +1 -0
  484. package/FrameGraph/Tasks/PostProcesses/passTask.d.ts +1 -1
  485. package/FrameGraph/Tasks/PostProcesses/postProcessTask.d.ts +1 -1
  486. package/FrameGraph/Tasks/PostProcesses/ssrBlurTask.d.ts +1 -1
  487. package/FrameGraph/Tasks/PostProcesses/ssrRenderingPipelineTask.d.ts +1 -1
  488. package/FrameGraph/Tasks/PostProcesses/ssrTask.d.ts +1 -1
  489. package/FrameGraph/Tasks/Rendering/csmShadowGeneratorTask.d.ts +2 -2
  490. package/FrameGraph/Tasks/Rendering/geometryRendererTask.d.ts +2 -2
  491. package/FrameGraph/Tasks/Rendering/objectRendererTask.d.ts +5 -4
  492. package/FrameGraph/Tasks/Rendering/objectRendererTask.js +5 -4
  493. package/FrameGraph/Tasks/Rendering/objectRendererTask.js.map +1 -1
  494. package/FrameGraph/Tasks/Rendering/shadowGeneratorTask.d.ts +2 -2
  495. package/FrameGraph/Tasks/Rendering/taaObjectRendererTask.d.ts +1 -1
  496. package/FrameGraph/Tasks/Rendering/taaObjectRendererTask.js +1 -1
  497. package/FrameGraph/Tasks/Rendering/taaObjectRendererTask.js.map +1 -1
  498. package/FrameGraph/Tasks/Rendering/utilityLayerRendererTask.d.ts +1 -1
  499. package/FrameGraph/Tasks/Texture/clearTextureTask.d.ts +2 -2
  500. package/FrameGraph/Tasks/Texture/copyToBackbufferColorTask.d.ts +1 -1
  501. package/FrameGraph/Tasks/Texture/copyToTextureTask.d.ts +1 -1
  502. package/FrameGraph/Tasks/Texture/generateMipMapsTask.d.ts +1 -1
  503. package/FrameGraph/frameGraph.d.ts +5 -5
  504. package/FrameGraph/frameGraphRenderContext.d.ts +1 -1
  505. package/FrameGraph/frameGraphTextureManager.d.ts +2 -2
  506. package/FrameGraph/index.d.ts +43 -42
  507. package/FrameGraph/index.js +1 -0
  508. package/FrameGraph/index.js.map +1 -1
  509. package/Gamepads/dualShockGamepad.d.ts +2 -2
  510. package/Gamepads/gamepad.d.ts +1 -1
  511. package/Gamepads/gamepadManager.d.ts +4 -4
  512. package/Gamepads/gamepadSceneComponent.d.ts +7 -7
  513. package/Gamepads/index.d.ts +5 -5
  514. package/Gamepads/xboxGamepad.d.ts +2 -2
  515. package/Gizmos/axisDragGizmo.d.ts +16 -16
  516. package/Gizmos/axisScaleGizmo.d.ts +15 -15
  517. package/Gizmos/boundingBoxGizmo.d.ts +15 -15
  518. package/Gizmos/cameraGizmo.d.ts +11 -11
  519. package/Gizmos/gizmo.d.ts +12 -12
  520. package/Gizmos/gizmoManager.d.ts +18 -18
  521. package/Gizmos/index.d.ts +12 -12
  522. package/Gizmos/lightGizmo.d.ts +13 -13
  523. package/Gizmos/planeDragGizmo.d.ts +15 -15
  524. package/Gizmos/planeRotationGizmo.d.ts +17 -17
  525. package/Gizmos/positionGizmo.d.ts +15 -15
  526. package/Gizmos/rotationGizmo.d.ts +15 -15
  527. package/Gizmos/scaleGizmo.d.ts +16 -16
  528. package/Helpers/environmentHelper.d.ts +10 -10
  529. package/Helpers/index.d.ts +5 -5
  530. package/Helpers/photoDome.d.ts +3 -3
  531. package/Helpers/sceneHelpers.d.ts +13 -13
  532. package/Helpers/textureDome.d.ts +7 -7
  533. package/Helpers/videoDome.d.ts +3 -3
  534. package/IAssetContainer.d.ts +23 -23
  535. package/Inputs/pointerPickingConfiguration.d.ts +1 -1
  536. package/Inputs/scene.inputManager.d.ts +8 -8
  537. package/Instrumentation/engineInstrumentation.d.ts +4 -4
  538. package/Instrumentation/index.d.ts +3 -3
  539. package/Instrumentation/sceneInstrumentation.d.ts +2 -2
  540. package/Instrumentation/timeToken.d.ts +1 -1
  541. package/Layers/effectLayer.d.ts +16 -16
  542. package/Layers/effectLayerSceneComponent.d.ts +4 -4
  543. package/Layers/glowLayer.d.ts +13 -13
  544. package/Layers/highlightLayer.d.ts +14 -14
  545. package/Layers/index.d.ts +23 -23
  546. package/Layers/layer.d.ts +7 -7
  547. package/Layers/layerSceneComponent.d.ts +2 -2
  548. package/Layers/thinEffectLayer.d.ts +13 -13
  549. package/Layers/thinGlowLayer.d.ts +10 -10
  550. package/Layers/thinHighlightLayer.d.ts +3 -3
  551. package/LensFlares/index.d.ts +7 -7
  552. package/LensFlares/lensFlare.d.ts +5 -5
  553. package/LensFlares/lensFlareSystem.d.ts +5 -5
  554. package/LensFlares/lensFlareSystemSceneComponent.d.ts +5 -5
  555. package/Lights/Shadows/cascadedShadowGenerator.d.ts +10 -10
  556. package/Lights/Shadows/index.d.ts +11 -11
  557. package/Lights/Shadows/shadowGenerator.d.ts +16 -16
  558. package/Lights/Shadows/shadowGeneratorSceneComponent.d.ts +2 -2
  559. package/Lights/areaLight.d.ts +1 -1
  560. package/Lights/directionalLight.d.ts +8 -8
  561. package/Lights/hemisphericLight.d.ts +7 -7
  562. package/Lights/index.d.ts +10 -10
  563. package/Lights/light.d.ts +12 -12
  564. package/Lights/pointLight.d.ts +5 -5
  565. package/Lights/rectAreaLight.d.ts +2 -2
  566. package/Lights/shadowLight.d.ts +5 -5
  567. package/Lights/spotLight.d.ts +9 -9
  568. package/Loading/Plugins/index.d.ts +2 -2
  569. package/Loading/index.d.ts +4 -4
  570. package/Loading/sceneLoader.d.ts +16 -16
  571. package/Materials/Background/backgroundMaterial.d.ts +13 -13
  572. package/Materials/Background/index.d.ts +5 -5
  573. package/Materials/GaussianSplatting/gaussianSplattingMaterial.d.ts +19 -11
  574. package/Materials/GaussianSplatting/gaussianSplattingMaterial.js +28 -1
  575. package/Materials/GaussianSplatting/gaussianSplattingMaterial.js.map +1 -1
  576. package/Materials/GreasedLine/greasedLineMaterialDefaults.d.ts +3 -3
  577. package/Materials/GreasedLine/greasedLineMaterialInterfaces.d.ts +4 -4
  578. package/Materials/GreasedLine/greasedLinePluginMaterial.d.ts +14 -14
  579. package/Materials/GreasedLine/greasedLinePluginMaterialShadersGLSL.d.ts +1 -1
  580. package/Materials/GreasedLine/greasedLinePluginMaterialShadersWGSL.d.ts +1 -1
  581. package/Materials/GreasedLine/greasedLineSimpleMaterial.d.ts +8 -8
  582. package/Materials/Node/Blocks/Dual/clipPlanesBlock.d.ts +8 -8
  583. package/Materials/Node/Blocks/Dual/currentScreenBlock.d.ts +9 -9
  584. package/Materials/Node/Blocks/Dual/fogBlock.d.ts +7 -7
  585. package/Materials/Node/Blocks/Dual/imageSourceBlock.d.ts +7 -7
  586. package/Materials/Node/Blocks/Dual/index.d.ts +37 -37
  587. package/Materials/Node/Blocks/Dual/lightBlock.d.ts +10 -10
  588. package/Materials/Node/Blocks/Dual/lightBlock.js +6 -3
  589. package/Materials/Node/Blocks/Dual/lightBlock.js.map +1 -1
  590. package/Materials/Node/Blocks/Dual/reflectionTextureBaseBlock.d.ts +12 -12
  591. package/Materials/Node/Blocks/Dual/reflectionTextureBlock.d.ts +5 -5
  592. package/Materials/Node/Blocks/Dual/sceneDepthBlock.d.ts +7 -7
  593. package/Materials/Node/Blocks/Dual/textureBlock.d.ts +12 -12
  594. package/Materials/Node/Blocks/Fragment/TBNBlock.d.ts +6 -6
  595. package/Materials/Node/Blocks/Fragment/derivativeBlock.d.ts +3 -3
  596. package/Materials/Node/Blocks/Fragment/discardBlock.d.ts +3 -3
  597. package/Materials/Node/Blocks/Fragment/fragCoordBlock.d.ts +3 -3
  598. package/Materials/Node/Blocks/Fragment/fragDepthBlock.d.ts +3 -3
  599. package/Materials/Node/Blocks/Fragment/fragmentOutputBlock.d.ts +8 -8
  600. package/Materials/Node/Blocks/Fragment/frontFacingBlock.d.ts +3 -3
  601. package/Materials/Node/Blocks/Fragment/heightToNormalBlock.d.ts +4 -4
  602. package/Materials/Node/Blocks/Fragment/imageProcessingBlock.d.ts +8 -8
  603. package/Materials/Node/Blocks/Fragment/index.d.ts +33 -33
  604. package/Materials/Node/Blocks/Fragment/perturbNormalBlock.d.ts +8 -8
  605. package/Materials/Node/Blocks/Fragment/prePassOutputBlock.d.ts +3 -3
  606. package/Materials/Node/Blocks/Fragment/screenSizeBlock.d.ts +4 -4
  607. package/Materials/Node/Blocks/Fragment/screenSpaceBlock.d.ts +4 -4
  608. package/Materials/Node/Blocks/Fragment/shadowMapBlock.d.ts +3 -3
  609. package/Materials/Node/Blocks/Fragment/twirlBlock.d.ts +3 -3
  610. package/Materials/Node/Blocks/GaussianSplatting/gaussianBlock.d.ts +3 -3
  611. package/Materials/Node/Blocks/GaussianSplatting/gaussianSplattingBlock.d.ts +3 -3
  612. package/Materials/Node/Blocks/GaussianSplatting/gaussianSplattingBlock.js +3 -1
  613. package/Materials/Node/Blocks/GaussianSplatting/gaussianSplattingBlock.js.map +1 -1
  614. package/Materials/Node/Blocks/GaussianSplatting/index.d.ts +5 -5
  615. package/Materials/Node/Blocks/GaussianSplatting/splatReaderBlock.d.ts +4 -4
  616. package/Materials/Node/Blocks/Input/index.d.ts +3 -3
  617. package/Materials/Node/Blocks/Input/inputBlock.d.ts +13 -13
  618. package/Materials/Node/Blocks/Input/prePassTextureBlock.d.ts +6 -6
  619. package/Materials/Node/Blocks/PBR/anisotropyBlock.d.ts +7 -7
  620. package/Materials/Node/Blocks/PBR/clearCoatBlock.d.ts +10 -10
  621. package/Materials/Node/Blocks/PBR/index.d.ts +8 -8
  622. package/Materials/Node/Blocks/PBR/iridescenceBlock.d.ts +7 -7
  623. package/Materials/Node/Blocks/PBR/pbrMetallicRoughnessBlock.d.ts +10 -10
  624. package/Materials/Node/Blocks/PBR/pbrMetallicRoughnessBlock.js +7 -3
  625. package/Materials/Node/Blocks/PBR/pbrMetallicRoughnessBlock.js.map +1 -1
  626. package/Materials/Node/Blocks/PBR/reflectionBlock.d.ts +11 -11
  627. package/Materials/Node/Blocks/PBR/refractionBlock.d.ts +10 -10
  628. package/Materials/Node/Blocks/PBR/sheenBlock.d.ts +8 -8
  629. package/Materials/Node/Blocks/PBR/subSurfaceBlock.d.ts +7 -7
  630. package/Materials/Node/Blocks/Particle/index.d.ts +3 -3
  631. package/Materials/Node/Blocks/Particle/particleBlendMultiplyBlock.d.ts +3 -3
  632. package/Materials/Node/Blocks/Particle/particleRampGradientBlock.d.ts +3 -3
  633. package/Materials/Node/Blocks/Particle/particleTextureBlock.d.ts +8 -8
  634. package/Materials/Node/Blocks/Teleport/index.d.ts +2 -2
  635. package/Materials/Node/Blocks/Teleport/teleportInBlock.d.ts +4 -4
  636. package/Materials/Node/Blocks/Teleport/teleportOutBlock.d.ts +7 -7
  637. package/Materials/Node/Blocks/Vertex/bonesBlock.d.ts +8 -8
  638. package/Materials/Node/Blocks/Vertex/index.d.ts +17 -17
  639. package/Materials/Node/Blocks/Vertex/instancesBlock.d.ts +6 -6
  640. package/Materials/Node/Blocks/Vertex/lightInformationBlock.d.ts +10 -10
  641. package/Materials/Node/Blocks/Vertex/morphTargetsBlock.d.ts +7 -7
  642. package/Materials/Node/Blocks/Vertex/vertexOutputBlock.d.ts +3 -3
  643. package/Materials/Node/Blocks/addBlock.d.ts +2 -2
  644. package/Materials/Node/Blocks/arcTan2Block.d.ts +3 -3
  645. package/Materials/Node/Blocks/baseMathBlock.d.ts +2 -2
  646. package/Materials/Node/Blocks/biPlanarBlock.d.ts +2 -2
  647. package/Materials/Node/Blocks/clampBlock.d.ts +4 -4
  648. package/Materials/Node/Blocks/cloudBlock.d.ts +4 -4
  649. package/Materials/Node/Blocks/colorConverterBlock.d.ts +3 -3
  650. package/Materials/Node/Blocks/colorMergerBlock.d.ts +4 -4
  651. package/Materials/Node/Blocks/colorSplitterBlock.d.ts +3 -3
  652. package/Materials/Node/Blocks/conditionalBlock.d.ts +5 -5
  653. package/Materials/Node/Blocks/crossBlock.d.ts +3 -3
  654. package/Materials/Node/Blocks/curveBlock.d.ts +4 -4
  655. package/Materials/Node/Blocks/customBlock.d.ts +3 -3
  656. package/Materials/Node/Blocks/debugBlock.d.ts +3 -3
  657. package/Materials/Node/Blocks/desaturateBlock.d.ts +3 -3
  658. package/Materials/Node/Blocks/distanceBlock.d.ts +3 -3
  659. package/Materials/Node/Blocks/divideBlock.d.ts +2 -2
  660. package/Materials/Node/Blocks/dotBlock.d.ts +3 -3
  661. package/Materials/Node/Blocks/elbowBlock.d.ts +4 -4
  662. package/Materials/Node/Blocks/fresnelBlock.d.ts +5 -5
  663. package/Materials/Node/Blocks/gradientBlock.d.ts +6 -6
  664. package/Materials/Node/Blocks/index.d.ts +70 -70
  665. package/Materials/Node/Blocks/lengthBlock.d.ts +3 -3
  666. package/Materials/Node/Blocks/lerpBlock.d.ts +3 -3
  667. package/Materials/Node/Blocks/loopBlock.d.ts +3 -3
  668. package/Materials/Node/Blocks/matrixBuilderBlock.d.ts +3 -3
  669. package/Materials/Node/Blocks/matrixDeterminantBlock.d.ts +3 -3
  670. package/Materials/Node/Blocks/matrixSplitterBlock.d.ts +3 -3
  671. package/Materials/Node/Blocks/matrixTransposeBlock.d.ts +3 -3
  672. package/Materials/Node/Blocks/maxBlock.d.ts +3 -3
  673. package/Materials/Node/Blocks/meshAttributeExistsBlock.d.ts +3 -3
  674. package/Materials/Node/Blocks/minBlock.d.ts +3 -3
  675. package/Materials/Node/Blocks/modBlock.d.ts +3 -3
  676. package/Materials/Node/Blocks/multiplyBlock.d.ts +2 -2
  677. package/Materials/Node/Blocks/nLerpBlock.d.ts +3 -3
  678. package/Materials/Node/Blocks/negateBlock.d.ts +3 -3
  679. package/Materials/Node/Blocks/normalBlendBlock.d.ts +3 -3
  680. package/Materials/Node/Blocks/normalizeBlock.d.ts +3 -3
  681. package/Materials/Node/Blocks/oneMinusBlock.d.ts +3 -3
  682. package/Materials/Node/Blocks/posterizeBlock.d.ts +3 -3
  683. package/Materials/Node/Blocks/powBlock.d.ts +3 -3
  684. package/Materials/Node/Blocks/randomNumberBlock.d.ts +4 -4
  685. package/Materials/Node/Blocks/reciprocalBlock.d.ts +3 -3
  686. package/Materials/Node/Blocks/reflectBlock.d.ts +3 -3
  687. package/Materials/Node/Blocks/refractBlock.d.ts +3 -3
  688. package/Materials/Node/Blocks/remapBlock.d.ts +5 -5
  689. package/Materials/Node/Blocks/replaceColorBlock.d.ts +3 -3
  690. package/Materials/Node/Blocks/rotate2dBlock.d.ts +3 -3
  691. package/Materials/Node/Blocks/scaleBlock.d.ts +3 -3
  692. package/Materials/Node/Blocks/simplexPerlin3DBlock.d.ts +3 -3
  693. package/Materials/Node/Blocks/smoothStepBlock.d.ts +3 -3
  694. package/Materials/Node/Blocks/stepBlock.d.ts +3 -3
  695. package/Materials/Node/Blocks/storageReadBlock.d.ts +3 -3
  696. package/Materials/Node/Blocks/storageWriteBlock.d.ts +3 -3
  697. package/Materials/Node/Blocks/subtractBlock.d.ts +2 -2
  698. package/Materials/Node/Blocks/transformBlock.d.ts +6 -6
  699. package/Materials/Node/Blocks/triPlanarBlock.d.ts +12 -12
  700. package/Materials/Node/Blocks/trigonometryBlock.d.ts +4 -4
  701. package/Materials/Node/Blocks/vectorMergerBlock.d.ts +4 -4
  702. package/Materials/Node/Blocks/vectorSplitterBlock.d.ts +3 -3
  703. package/Materials/Node/Blocks/viewDirectionBlock.d.ts +4 -4
  704. package/Materials/Node/Blocks/voronoiNoiseBlock.d.ts +3 -3
  705. package/Materials/Node/Blocks/waveBlock.d.ts +4 -4
  706. package/Materials/Node/Blocks/worleyNoise3DBlock.d.ts +4 -4
  707. package/Materials/Node/Enums/index.d.ts +5 -5
  708. package/Materials/Node/Optimizers/index.d.ts +1 -1
  709. package/Materials/Node/Optimizers/nodeMaterialOptimizer.d.ts +1 -1
  710. package/Materials/Node/index.d.ts +9 -9
  711. package/Materials/Node/nodeMaterial.d.ts +36 -36
  712. package/Materials/Node/nodeMaterialBlock.d.ts +12 -12
  713. package/Materials/Node/nodeMaterialBlockConnectionPoint.d.ts +6 -6
  714. package/Materials/Node/nodeMaterialBuildState.d.ts +6 -6
  715. package/Materials/Node/nodeMaterialBuildStateSharedData.d.ts +6 -6
  716. package/Materials/Node/nodeMaterialConnectionPointCustomObject.d.ts +4 -4
  717. package/Materials/Node/nodeMaterialDefault.d.ts +1 -1
  718. package/Materials/Occlusion/index.d.ts +1 -1
  719. package/Materials/Occlusion/occlusionMaterial.d.ts +4 -4
  720. package/Materials/PBR/index.d.ts +15 -15
  721. package/Materials/PBR/pbrAnisotropicConfiguration.d.ts +11 -11
  722. package/Materials/PBR/pbrBRDFConfiguration.d.ts +3 -3
  723. package/Materials/PBR/pbrBaseMaterial.d.ts +24 -24
  724. package/Materials/PBR/pbrBaseMaterial.js +2 -1
  725. package/Materials/PBR/pbrBaseMaterial.js.map +1 -1
  726. package/Materials/PBR/pbrBaseSimpleMaterial.d.ts +5 -5
  727. package/Materials/PBR/pbrClearCoatConfiguration.d.ts +12 -12
  728. package/Materials/PBR/pbrIridescenceConfiguration.d.ts +9 -9
  729. package/Materials/PBR/pbrMaterial.d.ts +7 -7
  730. package/Materials/PBR/pbrMaterial.decalMap.d.ts +2 -2
  731. package/Materials/PBR/pbrMetallicRoughnessMaterial.d.ts +5 -5
  732. package/Materials/PBR/pbrSheenConfiguration.d.ts +12 -12
  733. package/Materials/PBR/pbrSpecularGlossinessMaterial.d.ts +5 -5
  734. package/Materials/PBR/pbrSubSurfaceConfiguration.d.ts +27 -14
  735. package/Materials/PBR/pbrSubSurfaceConfiguration.js +17 -0
  736. package/Materials/PBR/pbrSubSurfaceConfiguration.js.map +1 -1
  737. package/Materials/Textures/Filtering/hdrFiltering.d.ts +2 -2
  738. package/Materials/Textures/Filtering/hdrIrradianceFiltering.d.ts +2 -2
  739. package/Materials/Textures/Loaders/EXR/exrLoader.compression.d.ts +1 -1
  740. package/Materials/Textures/Loaders/EXR/exrLoader.compression.huf.d.ts +1 -1
  741. package/Materials/Textures/Loaders/EXR/exrLoader.decoder.d.ts +3 -3
  742. package/Materials/Textures/Loaders/EXR/exrLoader.header.d.ts +2 -2
  743. package/Materials/Textures/Loaders/EXR/exrLoader.interfaces.d.ts +1 -1
  744. package/Materials/Textures/Loaders/EXR/index.d.ts +7 -7
  745. package/Materials/Textures/Loaders/basisTextureLoader.d.ts +3 -3
  746. package/Materials/Textures/Loaders/ddsTextureLoader.d.ts +3 -3
  747. package/Materials/Textures/Loaders/envTextureLoader.d.ts +3 -3
  748. package/Materials/Textures/Loaders/exrTextureLoader.d.ts +2 -2
  749. package/Materials/Textures/Loaders/hdrTextureLoader.d.ts +2 -2
  750. package/Materials/Textures/Loaders/iesTextureLoader.d.ts +2 -2
  751. package/Materials/Textures/Loaders/index.d.ts +11 -11
  752. package/Materials/Textures/Loaders/internalTextureLoader.d.ts +2 -2
  753. package/Materials/Textures/Loaders/ktxTextureLoader.d.ts +3 -3
  754. package/Materials/Textures/Loaders/textureLoaderManager.d.ts +2 -2
  755. package/Materials/Textures/Loaders/tgaTextureLoader.d.ts +2 -2
  756. package/Materials/Textures/MultiviewRenderTarget.d.ts +2 -2
  757. package/Materials/Textures/Packer/frame.d.ts +1 -1
  758. package/Materials/Textures/Packer/index.d.ts +2 -2
  759. package/Materials/Textures/Packer/packer.d.ts +5 -5
  760. package/Materials/Textures/Procedurals/customProceduralTexture.d.ts +5 -5
  761. package/Materials/Textures/Procedurals/index.d.ts +4 -4
  762. package/Materials/Textures/Procedurals/noiseProceduralTexture.d.ts +5 -5
  763. package/Materials/Textures/Procedurals/proceduralTexture.d.ts +10 -10
  764. package/Materials/Textures/Procedurals/proceduralTextureSceneComponent.d.ts +2 -2
  765. package/Materials/Textures/baseTexture.d.ts +10 -10
  766. package/Materials/Textures/baseTexture.polynomial.d.ts +3 -3
  767. package/Materials/Textures/colorGradingTexture.d.ts +5 -5
  768. package/Materials/Textures/cubeTexture.d.ts +7 -7
  769. package/Materials/Textures/dynamicTexture.d.ts +6 -6
  770. package/Materials/Textures/equiRectangularCubeTexture.d.ts +3 -3
  771. package/Materials/Textures/externalTexture.d.ts +1 -1
  772. package/Materials/Textures/hdrCubeTexture.d.ts +7 -7
  773. package/Materials/Textures/htmlElementTexture.d.ts +8 -8
  774. package/Materials/Textures/index.d.ts +39 -39
  775. package/Materials/Textures/internalTexture.d.ts +8 -8
  776. package/Materials/Textures/mirrorTexture.d.ts +3 -3
  777. package/Materials/Textures/multiRenderTarget.d.ts +6 -6
  778. package/Materials/Textures/prePassRenderTarget.d.ts +8 -8
  779. package/Materials/Textures/rawCubeTexture.d.ts +4 -4
  780. package/Materials/Textures/rawTexture.d.ts +4 -4
  781. package/Materials/Textures/rawTexture2DArray.d.ts +3 -3
  782. package/Materials/Textures/rawTexture3D.d.ts +3 -3
  783. package/Materials/Textures/refractionTexture.d.ts +3 -3
  784. package/Materials/Textures/renderTargetTexture.d.ts +21 -20
  785. package/Materials/Textures/renderTargetTexture.js +6 -5
  786. package/Materials/Textures/renderTargetTexture.js.map +1 -1
  787. package/Materials/Textures/texture.d.ts +12 -12
  788. package/Materials/Textures/texture.js +3 -2
  789. package/Materials/Textures/texture.js.map +1 -1
  790. package/Materials/Textures/textureCreationOptions.d.ts +1 -1
  791. package/Materials/Textures/textureSampler.d.ts +1 -1
  792. package/Materials/Textures/thinRenderTargetTexture.d.ts +6 -6
  793. package/Materials/Textures/thinTexture.d.ts +4 -4
  794. package/Materials/Textures/videoTexture.d.ts +7 -7
  795. package/Materials/clipPlaneMaterialHelper.d.ts +2 -2
  796. package/Materials/colorCurves.d.ts +1 -1
  797. package/Materials/drawWrapper.d.ts +6 -6
  798. package/Materials/drawWrapper.functions.d.ts +2 -2
  799. package/Materials/effect.d.ts +14 -14
  800. package/Materials/effect.functions.d.ts +2 -2
  801. package/Materials/effect.webgl.functions.d.ts +1 -1
  802. package/Materials/effectFallbacks.d.ts +3 -3
  803. package/Materials/effectRenderer.d.ts +10 -10
  804. package/Materials/fresnelParameters.d.ts +2 -2
  805. package/Materials/iEffectFallbacks.d.ts +1 -1
  806. package/Materials/imageProcessingConfiguration.d.ts +15 -7
  807. package/Materials/imageProcessingConfiguration.defines.d.ts +1 -1
  808. package/Materials/imageProcessingConfiguration.functions.d.ts +1 -1
  809. package/Materials/imageProcessingConfiguration.js +16 -2
  810. package/Materials/imageProcessingConfiguration.js.map +1 -1
  811. package/Materials/index.d.ts +49 -49
  812. package/Materials/material.d.ts +26 -26
  813. package/Materials/material.decalMap.d.ts +3 -3
  814. package/Materials/material.decalMapConfiguration.d.ts +5 -5
  815. package/Materials/material.detailMapConfiguration.d.ts +9 -9
  816. package/Materials/materialHelper.d.ts +12 -12
  817. package/Materials/materialHelper.functions.d.ts +12 -12
  818. package/Materials/materialPluginBase.d.ts +15 -15
  819. package/Materials/materialPluginEvent.d.ts +10 -10
  820. package/Materials/materialPluginFactoryExport.d.ts +3 -3
  821. package/Materials/materialPluginManager.d.ts +8 -8
  822. package/Materials/materialStencilState.d.ts +2 -2
  823. package/Materials/meshDebugPluginMaterial.d.ts +8 -8
  824. package/Materials/multiMaterial.d.ts +6 -6
  825. package/Materials/prePassConfiguration.d.ts +4 -4
  826. package/Materials/pushMaterial.d.ts +8 -8
  827. package/Materials/shaderMaterial.d.ts +15 -15
  828. package/Materials/shadowDepthWrapper.d.ts +6 -6
  829. package/Materials/standardMaterial.d.ts +19 -19
  830. package/Materials/standardMaterial.decalMap.d.ts +2 -2
  831. package/Materials/uniformBuffer.d.ts +6 -6
  832. package/Materials/uniformBufferEffectCommonAccessor.d.ts +3 -3
  833. package/Maths/index.d.ts +8 -8
  834. package/Maths/math.axis.d.ts +1 -1
  835. package/Maths/math.color.d.ts +3 -3
  836. package/Maths/math.d.ts +10 -10
  837. package/Maths/math.frustum.d.ts +3 -3
  838. package/Maths/math.functions.d.ts +3 -3
  839. package/Maths/math.isovector.d.ts +1 -1
  840. package/Maths/math.like.d.ts +1 -1
  841. package/Maths/math.path.d.ts +3 -3
  842. package/Maths/math.plane.d.ts +3 -3
  843. package/Maths/math.polar.d.ts +2 -2
  844. package/Maths/math.vector.d.ts +6 -6
  845. package/Maths/math.vector.functions.d.ts +1 -1
  846. package/Maths/math.vertexFormat.d.ts +1 -1
  847. package/Maths/math.viewport.d.ts +1 -1
  848. package/Maths/sphericalPolynomial.d.ts +2 -2
  849. package/Maths/tensor.d.ts +1 -1
  850. package/Meshes/Builders/boxBuilder.d.ts +6 -6
  851. package/Meshes/Builders/capsuleBuilder.d.ts +5 -5
  852. package/Meshes/Builders/cylinderBuilder.d.ts +6 -6
  853. package/Meshes/Builders/decalBuilder.d.ts +3 -3
  854. package/Meshes/Builders/discBuilder.d.ts +5 -5
  855. package/Meshes/Builders/geodesicBuilder.d.ts +5 -5
  856. package/Meshes/Builders/goldbergBuilder.d.ts +5 -5
  857. package/Meshes/Builders/greasedLineBuilder.d.ts +11 -11
  858. package/Meshes/Builders/groundBuilder.d.ts +6 -6
  859. package/Meshes/Builders/hemisphereBuilder.d.ts +2 -2
  860. package/Meshes/Builders/icoSphereBuilder.d.ts +5 -5
  861. package/Meshes/Builders/index.d.ts +25 -25
  862. package/Meshes/Builders/latheBuilder.d.ts +5 -5
  863. package/Meshes/Builders/linesBuilder.d.ts +7 -7
  864. package/Meshes/Builders/planeBuilder.d.ts +6 -6
  865. package/Meshes/Builders/polygonBuilder.d.ts +7 -7
  866. package/Meshes/Builders/polyhedronBuilder.d.ts +6 -6
  867. package/Meshes/Builders/ribbonBuilder.d.ts +6 -6
  868. package/Meshes/Builders/shapeBuilder.d.ts +5 -5
  869. package/Meshes/Builders/sphereBuilder.d.ts +5 -5
  870. package/Meshes/Builders/textBuilder.d.ts +6 -6
  871. package/Meshes/Builders/tiledBoxBuilder.d.ts +6 -6
  872. package/Meshes/Builders/tiledPlaneBuilder.d.ts +5 -5
  873. package/Meshes/Builders/torusBuilder.d.ts +4 -4
  874. package/Meshes/Builders/torusKnotBuilder.d.ts +4 -4
  875. package/Meshes/Builders/tubeBuilder.d.ts +5 -5
  876. package/Meshes/Compression/dracoCodec.d.ts +2 -2
  877. package/Meshes/Compression/dracoCompression.d.ts +6 -6
  878. package/Meshes/Compression/dracoCompressionWorker.d.ts +1 -1
  879. package/Meshes/Compression/dracoDecoder.d.ts +6 -6
  880. package/Meshes/Compression/dracoEncoder.d.ts +5 -5
  881. package/Meshes/Compression/index.d.ts +4 -4
  882. package/Meshes/Compression/meshoptCompression.d.ts +1 -1
  883. package/Meshes/GaussianSplatting/gaussianSplattingMesh.d.ts +3 -3
  884. package/Meshes/GaussianSplatting/gaussianSplattingMesh.js +15 -6
  885. package/Meshes/GaussianSplatting/gaussianSplattingMesh.js.map +1 -1
  886. package/Meshes/GreasedLine/greasedLineBaseMesh.d.ts +8 -8
  887. package/Meshes/GreasedLine/greasedLineMesh.d.ts +11 -11
  888. package/Meshes/GreasedLine/greasedLineRibbonMesh.d.ts +11 -11
  889. package/Meshes/Node/Blocks/Instances/instantiateBaseBlock.d.ts +5 -5
  890. package/Meshes/Node/Blocks/Instances/instantiateBlock.d.ts +4 -4
  891. package/Meshes/Node/Blocks/Instances/instantiateLinearBlock.d.ts +3 -3
  892. package/Meshes/Node/Blocks/Instances/instantiateOnFacesBlock.d.ts +6 -6
  893. package/Meshes/Node/Blocks/Instances/instantiateOnVerticesBlock.d.ts +5 -5
  894. package/Meshes/Node/Blocks/Instances/instantiateOnVolumeBlock.d.ts +6 -6
  895. package/Meshes/Node/Blocks/Instances/instantiateRadialBlock.d.ts +3 -3
  896. package/Meshes/Node/Blocks/Matrices/alignBlock.d.ts +3 -3
  897. package/Meshes/Node/Blocks/Matrices/rotationXBlock.d.ts +3 -3
  898. package/Meshes/Node/Blocks/Matrices/rotationYBlock.d.ts +3 -3
  899. package/Meshes/Node/Blocks/Matrices/rotationZBlock.d.ts +3 -3
  900. package/Meshes/Node/Blocks/Matrices/scalingBlock.d.ts +3 -3
  901. package/Meshes/Node/Blocks/Matrices/translationBlock.d.ts +3 -3
  902. package/Meshes/Node/Blocks/Set/aggregatorBlock.d.ts +4 -4
  903. package/Meshes/Node/Blocks/Set/latticeBlock.d.ts +5 -5
  904. package/Meshes/Node/Blocks/Set/setColorsBlock.d.ts +4 -4
  905. package/Meshes/Node/Blocks/Set/setMaterialIDBlock.d.ts +3 -3
  906. package/Meshes/Node/Blocks/Set/setNormalsBlock.d.ts +4 -4
  907. package/Meshes/Node/Blocks/Set/setPositionsBlock.d.ts +4 -4
  908. package/Meshes/Node/Blocks/Set/setTangentsBlock.d.ts +4 -4
  909. package/Meshes/Node/Blocks/Set/setUVsBlock.d.ts +4 -4
  910. package/Meshes/Node/Blocks/Sources/boxBlock.d.ts +3 -3
  911. package/Meshes/Node/Blocks/Sources/capsuleBlock.d.ts +3 -3
  912. package/Meshes/Node/Blocks/Sources/cylinderBlock.d.ts +3 -3
  913. package/Meshes/Node/Blocks/Sources/discBlock.d.ts +3 -3
  914. package/Meshes/Node/Blocks/Sources/gridBlock.d.ts +3 -3
  915. package/Meshes/Node/Blocks/Sources/icoSphereBlock.d.ts +3 -3
  916. package/Meshes/Node/Blocks/Sources/meshBlock.d.ts +4 -4
  917. package/Meshes/Node/Blocks/Sources/nullBlock.d.ts +2 -2
  918. package/Meshes/Node/Blocks/Sources/planeBlock.d.ts +3 -3
  919. package/Meshes/Node/Blocks/Sources/pointListBlock.d.ts +3 -3
  920. package/Meshes/Node/Blocks/Sources/sphereBlock.d.ts +3 -3
  921. package/Meshes/Node/Blocks/Sources/torusBlock.d.ts +3 -3
  922. package/Meshes/Node/Blocks/Teleport/teleportInBlock.d.ts +3 -3
  923. package/Meshes/Node/Blocks/Teleport/teleportOutBlock.d.ts +5 -5
  924. package/Meshes/Node/Blocks/Textures/geometryTextureBlock.d.ts +2 -2
  925. package/Meshes/Node/Blocks/Textures/geometryTextureFetchBlock.d.ts +2 -2
  926. package/Meshes/Node/Blocks/booleanGeometryBlock.d.ts +3 -3
  927. package/Meshes/Node/Blocks/boundingBlock.d.ts +2 -2
  928. package/Meshes/Node/Blocks/cleanGeometryBlock.d.ts +3 -3
  929. package/Meshes/Node/Blocks/computeNormalsBlock.d.ts +2 -2
  930. package/Meshes/Node/Blocks/conditionBlock.d.ts +3 -3
  931. package/Meshes/Node/Blocks/debugBlock.d.ts +3 -3
  932. package/Meshes/Node/Blocks/geometryArcTan2Block.d.ts +2 -2
  933. package/Meshes/Node/Blocks/geometryClampBlock.d.ts +2 -2
  934. package/Meshes/Node/Blocks/geometryCollectionBlock.d.ts +3 -3
  935. package/Meshes/Node/Blocks/geometryCrossBlock.d.ts +2 -2
  936. package/Meshes/Node/Blocks/geometryCurveBlock.d.ts +2 -2
  937. package/Meshes/Node/Blocks/geometryDesaturateBlock.d.ts +2 -2
  938. package/Meshes/Node/Blocks/geometryDistanceBlock.d.ts +2 -2
  939. package/Meshes/Node/Blocks/geometryDotBlock.d.ts +2 -2
  940. package/Meshes/Node/Blocks/geometryEaseBlock.d.ts +3 -3
  941. package/Meshes/Node/Blocks/geometryElbowBlock.d.ts +3 -3
  942. package/Meshes/Node/Blocks/geometryInfoBlock.d.ts +2 -2
  943. package/Meshes/Node/Blocks/geometryInputBlock.d.ts +6 -6
  944. package/Meshes/Node/Blocks/geometryInterceptorBlock.d.ts +3 -3
  945. package/Meshes/Node/Blocks/geometryLengthBlock.d.ts +2 -2
  946. package/Meshes/Node/Blocks/geometryLerpBlock.d.ts +2 -2
  947. package/Meshes/Node/Blocks/geometryModBlock.d.ts +2 -2
  948. package/Meshes/Node/Blocks/geometryNLerpBlock.d.ts +2 -2
  949. package/Meshes/Node/Blocks/geometryOptimizeBlock.d.ts +4 -4
  950. package/Meshes/Node/Blocks/geometryOutputBlock.d.ts +4 -4
  951. package/Meshes/Node/Blocks/geometryPosterizeBlock.d.ts +2 -2
  952. package/Meshes/Node/Blocks/geometryPowBlock.d.ts +2 -2
  953. package/Meshes/Node/Blocks/geometryReplaceColorBlock.d.ts +2 -2
  954. package/Meshes/Node/Blocks/geometryRotate2dBlock.d.ts +2 -2
  955. package/Meshes/Node/Blocks/geometrySmoothStepBlock.d.ts +2 -2
  956. package/Meshes/Node/Blocks/geometryStepBlock.d.ts +2 -2
  957. package/Meshes/Node/Blocks/geometryTransformBlock.d.ts +3 -3
  958. package/Meshes/Node/Blocks/geometryTrigonometryBlock.d.ts +3 -3
  959. package/Meshes/Node/Blocks/intFloatConverterBlock.d.ts +2 -2
  960. package/Meshes/Node/Blocks/mapRangeBlock.d.ts +2 -2
  961. package/Meshes/Node/Blocks/mappingBlock.d.ts +2 -2
  962. package/Meshes/Node/Blocks/mathBlock.d.ts +2 -2
  963. package/Meshes/Node/Blocks/matrixComposeBlock.d.ts +2 -2
  964. package/Meshes/Node/Blocks/mergeGeometryBlock.d.ts +3 -3
  965. package/Meshes/Node/Blocks/noiseBlock.d.ts +3 -3
  966. package/Meshes/Node/Blocks/normalizeVectorBlock.d.ts +3 -3
  967. package/Meshes/Node/Blocks/randomBlock.d.ts +2 -2
  968. package/Meshes/Node/Blocks/subdivideBlock.d.ts +2 -2
  969. package/Meshes/Node/Blocks/vectorConverterBlock.d.ts +3 -3
  970. package/Meshes/Node/index.d.ts +87 -87
  971. package/Meshes/Node/nodeGeometry.d.ts +9 -9
  972. package/Meshes/Node/nodeGeometryBlock.d.ts +6 -6
  973. package/Meshes/Node/nodeGeometryBlockConnectionPoint.d.ts +5 -5
  974. package/Meshes/Node/nodeGeometryBuildState.d.ts +8 -8
  975. package/Meshes/WebGL/webGLDataBuffer.d.ts +1 -1
  976. package/Meshes/WebGPU/webgpuDataBuffer.d.ts +2 -2
  977. package/Meshes/abstractMesh.d.ts +37 -32
  978. package/Meshes/abstractMesh.decalMap.d.ts +3 -3
  979. package/Meshes/abstractMesh.hotSpot.d.ts +1 -1
  980. package/Meshes/abstractMesh.js +1 -1
  981. package/Meshes/abstractMesh.js.map +1 -1
  982. package/Meshes/buffer.d.ts +1 -1
  983. package/Meshes/csg.d.ts +7 -7
  984. package/Meshes/csg2.d.ts +2 -2
  985. package/Meshes/geodesicMesh.d.ts +2 -2
  986. package/Meshes/geometry.d.ts +12 -12
  987. package/Meshes/goldbergMesh.d.ts +5 -5
  988. package/Meshes/groundMesh.d.ts +3 -3
  989. package/Meshes/index.d.ts +55 -55
  990. package/Meshes/instancedMesh.d.ts +16 -16
  991. package/Meshes/instancedMesh.js.map +1 -1
  992. package/Meshes/lattice.d.ts +1 -1
  993. package/Meshes/lattice.material.d.ts +1 -1
  994. package/Meshes/linesMesh.d.ts +9 -9
  995. package/Meshes/mesh.d.ts +30 -30
  996. package/Meshes/mesh.js +1 -1
  997. package/Meshes/mesh.js.map +1 -1
  998. package/Meshes/mesh.vertexData.d.ts +9 -9
  999. package/Meshes/mesh.vertexData.subdivide.d.ts +1 -1
  1000. package/Meshes/meshBuilder.d.ts +23 -23
  1001. package/Meshes/meshLODLevel.d.ts +2 -2
  1002. package/Meshes/meshSimplification.d.ts +1 -1
  1003. package/Meshes/meshSimplificationSceneComponent.d.ts +6 -6
  1004. package/Meshes/meshUVSpaceRenderer.d.ts +2 -2
  1005. package/Meshes/meshUtils.d.ts +4 -4
  1006. package/Meshes/polygonMesh.d.ts +5 -5
  1007. package/Meshes/subMesh.d.ts +17 -17
  1008. package/Meshes/subMesh.project.d.ts +3 -3
  1009. package/Meshes/thinInstanceMesh.d.ts +4 -4
  1010. package/Meshes/trailMesh.d.ts +3 -3
  1011. package/Meshes/transformNode.d.ts +9 -9
  1012. package/Misc/HighDynamicRange/cubemapToSphericalPolynomial.d.ts +4 -4
  1013. package/Misc/HighDynamicRange/hdr.d.ts +1 -1
  1014. package/Misc/HighDynamicRange/index.d.ts +3 -3
  1015. package/Misc/HighDynamicRange/panoramaToCubemap.d.ts +1 -1
  1016. package/Misc/PerformanceViewer/index.d.ts +4 -4
  1017. package/Misc/PerformanceViewer/performanceViewerCollectionStrategies.d.ts +1 -1
  1018. package/Misc/PerformanceViewer/performanceViewerCollector.d.ts +4 -4
  1019. package/Misc/arrayTools.d.ts +1 -1
  1020. package/Misc/assetsManager.d.ts +15 -15
  1021. package/Misc/basis.d.ts +1 -1
  1022. package/Misc/brdfTextureTools.d.ts +2 -2
  1023. package/Misc/copyTextureToTexture.d.ts +3 -3
  1024. package/Misc/copyTools.d.ts +3 -3
  1025. package/Misc/dds.d.ts +4 -4
  1026. package/Misc/decorators.d.ts +1 -1
  1027. package/Misc/decorators.serialization.d.ts +7 -7
  1028. package/Misc/depthReducer.d.ts +5 -5
  1029. package/Misc/dumpTools.d.ts +1 -1
  1030. package/Misc/environmentTextureTools.d.ts +5 -5
  1031. package/Misc/equirectangularCapture.d.ts +5 -5
  1032. package/Misc/fileRequest.d.ts +1 -1
  1033. package/Misc/fileTools.d.ts +12 -6
  1034. package/Misc/fileTools.js +30 -0
  1035. package/Misc/fileTools.js.map +1 -1
  1036. package/Misc/filesInput.d.ts +4 -4
  1037. package/Misc/gradients.d.ts +2 -2
  1038. package/Misc/greasedLineTools.d.ts +8 -8
  1039. package/Misc/index.d.ts +82 -82
  1040. package/Misc/interfaces/iClipPlanesHolder.d.ts +2 -2
  1041. package/Misc/interfaces/iPerfViewer.d.ts +1 -1
  1042. package/Misc/khronosTextureContainer.d.ts +1 -1
  1043. package/Misc/khronosTextureContainer2.d.ts +5 -5
  1044. package/Misc/meshExploder.d.ts +1 -1
  1045. package/Misc/minMaxReducer.d.ts +9 -9
  1046. package/Misc/observable.d.ts +1 -1
  1047. package/Misc/observable.extensions.d.ts +3 -3
  1048. package/Misc/observableCoroutine.d.ts +2 -2
  1049. package/Misc/pivotTools.d.ts +1 -1
  1050. package/Misc/pressureObserverWrapper.d.ts +1 -1
  1051. package/Misc/reflector.d.ts +1 -1
  1052. package/Misc/retryStrategy.d.ts +1 -1
  1053. package/Misc/rgbdTextureTools.d.ts +3 -3
  1054. package/Misc/sceneOptimizer.d.ts +2 -2
  1055. package/Misc/sceneRecorder.d.ts +1 -1
  1056. package/Misc/sceneSerializer.d.ts +1 -1
  1057. package/Misc/screenshotTools.d.ts +4 -4
  1058. package/Misc/stringDictionary.d.ts +1 -1
  1059. package/Misc/textureTools.d.ts +3 -3
  1060. package/Misc/tga.d.ts +1 -1
  1061. package/Misc/timer.d.ts +4 -4
  1062. package/Misc/tools.d.ts +10 -10
  1063. package/Misc/trajectoryClassifier.d.ts +2 -2
  1064. package/Misc/videoRecorder.d.ts +2 -2
  1065. package/Misc/virtualJoystick.d.ts +2 -2
  1066. package/Misc/webRequest.d.ts +2 -2
  1067. package/Misc/workerPool.d.ts +1 -1
  1068. package/Morph/index.d.ts +2 -2
  1069. package/Morph/morphTarget.d.ts +7 -7
  1070. package/Morph/morphTargetManager.d.ts +5 -5
  1071. package/Navigation/INavigationEngine.d.ts +4 -4
  1072. package/Navigation/Plugins/index.d.ts +1 -1
  1073. package/Navigation/Plugins/recastJSPlugin.d.ts +6 -6
  1074. package/Navigation/index.d.ts +2 -2
  1075. package/ObjectModel/index.d.ts +1 -1
  1076. package/Offline/database.d.ts +1 -1
  1077. package/Offline/index.d.ts +2 -2
  1078. package/Particles/EmitterTypes/IParticleEmitterType.d.ts +6 -6
  1079. package/Particles/EmitterTypes/boxParticleEmitter.d.ts +6 -6
  1080. package/Particles/EmitterTypes/coneParticleEmitter.d.ts +6 -6
  1081. package/Particles/EmitterTypes/customParticleEmitter.d.ts +7 -7
  1082. package/Particles/EmitterTypes/cylinderParticleEmitter.d.ts +6 -6
  1083. package/Particles/EmitterTypes/hemisphericParticleEmitter.d.ts +6 -6
  1084. package/Particles/EmitterTypes/index.d.ts +9 -9
  1085. package/Particles/EmitterTypes/meshParticleEmitter.d.ts +9 -9
  1086. package/Particles/EmitterTypes/pointParticleEmitter.d.ts +6 -6
  1087. package/Particles/EmitterTypes/sphereParticleEmitter.d.ts +6 -6
  1088. package/Particles/IGPUParticleSystemPlatform.d.ts +5 -5
  1089. package/Particles/IParticleSystem.d.ts +13 -13
  1090. package/Particles/baseParticleSystem.d.ts +23 -23
  1091. package/Particles/cloudPoint.d.ts +6 -6
  1092. package/Particles/computeShaderParticleSystem.d.ts +9 -9
  1093. package/Particles/gpuParticleSystem.d.ts +25 -25
  1094. package/Particles/index.d.ts +21 -21
  1095. package/Particles/particle.d.ts +6 -6
  1096. package/Particles/particleHelper.d.ts +6 -6
  1097. package/Particles/particleSystem.d.ts +13 -13
  1098. package/Particles/particleSystem.functions.d.ts +5 -5
  1099. package/Particles/particleSystemComponent.d.ts +5 -5
  1100. package/Particles/particleSystemSet.d.ts +6 -6
  1101. package/Particles/pointsCloudSystem.d.ts +5 -5
  1102. package/Particles/solidParticle.d.ts +9 -9
  1103. package/Particles/solidParticleSystem.d.ts +11 -11
  1104. package/Particles/subEmitter.d.ts +3 -3
  1105. package/Particles/thinParticleSystem.d.ts +16 -16
  1106. package/Particles/webgl2ParticleSystem.d.ts +10 -10
  1107. package/Physics/IPhysicsEngine.d.ts +4 -4
  1108. package/Physics/Plugins/ammoJSPlugin.d.ts +1 -1
  1109. package/Physics/Plugins/cannonJSPlugin.d.ts +1 -1
  1110. package/Physics/Plugins/oimoJSPlugin.d.ts +1 -1
  1111. package/Physics/castingResult.d.ts +3 -3
  1112. package/Physics/index.d.ts +10 -10
  1113. package/Physics/joinedPhysicsEngineComponent.d.ts +9 -9
  1114. package/Physics/physicsEngine.d.ts +1 -1
  1115. package/Physics/physicsEngineComponent.d.ts +3 -3
  1116. package/Physics/physicsHelper.d.ts +6 -6
  1117. package/Physics/physicsImpostor.d.ts +1 -1
  1118. package/Physics/physicsJoint.d.ts +1 -1
  1119. package/Physics/physicsPointProximityQuery.d.ts +3 -3
  1120. package/Physics/physicsRaycastResult.d.ts +2 -2
  1121. package/Physics/physicsShapeCastQuery.d.ts +3 -3
  1122. package/Physics/physicsShapeProximityCastQuery.d.ts +3 -3
  1123. package/Physics/proximityCastResult.d.ts +1 -1
  1124. package/Physics/shapeCastResult.d.ts +1 -1
  1125. package/Physics/v1/IPhysicsEnginePlugin.d.ts +6 -6
  1126. package/Physics/v1/Plugins/ammoJSPlugin.d.ts +7 -7
  1127. package/Physics/v1/Plugins/cannonJSPlugin.d.ts +8 -8
  1128. package/Physics/v1/Plugins/index.d.ts +3 -3
  1129. package/Physics/v1/Plugins/oimoJSPlugin.d.ts +8 -8
  1130. package/Physics/v1/index.d.ts +6 -6
  1131. package/Physics/v1/physicsEngine.d.ts +7 -7
  1132. package/Physics/v1/physicsEngineComponent.d.ts +7 -7
  1133. package/Physics/v1/physicsImpostor.d.ts +11 -11
  1134. package/Physics/v1/physicsJoint.d.ts +2 -2
  1135. package/Physics/v2/IPhysicsEnginePlugin.d.ts +12 -12
  1136. package/Physics/v2/Plugins/havokPlugin.d.ts +18 -18
  1137. package/Physics/v2/Plugins/index.d.ts +1 -1
  1138. package/Physics/v2/characterController.d.ts +10 -5
  1139. package/Physics/v2/characterController.js +7 -0
  1140. package/Physics/v2/characterController.js.map +1 -1
  1141. package/Physics/v2/index.d.ts +10 -10
  1142. package/Physics/v2/physicsAggregate.d.ts +8 -8
  1143. package/Physics/v2/physicsBody.d.ts +9 -9
  1144. package/Physics/v2/physicsConstraint.d.ts +5 -5
  1145. package/Physics/v2/physicsEngine.d.ts +7 -7
  1146. package/Physics/v2/physicsEngineComponent.d.ts +7 -7
  1147. package/Physics/v2/physicsShape.d.ts +10 -10
  1148. package/Physics/v2/ragdoll.d.ts +7 -7
  1149. package/PostProcesses/RenderPipeline/Pipelines/defaultRenderingPipeline.d.ts +15 -15
  1150. package/PostProcesses/RenderPipeline/Pipelines/index.d.ts +19 -19
  1151. package/PostProcesses/RenderPipeline/Pipelines/lensRenderingPipeline.d.ts +7 -7
  1152. package/PostProcesses/RenderPipeline/Pipelines/ssao2RenderingPipeline.d.ts +4 -4
  1153. package/PostProcesses/RenderPipeline/Pipelines/ssaoRenderingPipeline.d.ts +6 -6
  1154. package/PostProcesses/RenderPipeline/Pipelines/ssrRenderingPipeline.d.ts +8 -8
  1155. package/PostProcesses/RenderPipeline/Pipelines/standardRenderingPipeline.d.ts +15 -15
  1156. package/PostProcesses/RenderPipeline/Pipelines/taaRenderingPipeline.d.ts +4 -4
  1157. package/PostProcesses/RenderPipeline/index.d.ts +5 -5
  1158. package/PostProcesses/RenderPipeline/postProcessRenderEffect.d.ts +4 -4
  1159. package/PostProcesses/RenderPipeline/postProcessRenderPipeline.d.ts +6 -6
  1160. package/PostProcesses/RenderPipeline/postProcessRenderPipelineManager.d.ts +2 -2
  1161. package/PostProcesses/RenderPipeline/postProcessRenderPipelineManagerSceneComponent.d.ts +4 -4
  1162. package/PostProcesses/anaglyphPostProcess.d.ts +3 -3
  1163. package/PostProcesses/blackAndWhitePostProcess.d.ts +7 -7
  1164. package/PostProcesses/bloomEffect.d.ts +6 -6
  1165. package/PostProcesses/bloomMergePostProcess.d.ts +6 -6
  1166. package/PostProcesses/blurPostProcess.d.ts +8 -8
  1167. package/PostProcesses/chromaticAberrationPostProcess.d.ts +8 -8
  1168. package/PostProcesses/circleOfConfusionPostProcess.d.ts +7 -7
  1169. package/PostProcesses/colorCorrectionPostProcess.d.ts +6 -6
  1170. package/PostProcesses/convolutionPostProcess.d.ts +6 -6
  1171. package/PostProcesses/depthOfFieldBlurPostProcess.d.ts +6 -6
  1172. package/PostProcesses/depthOfFieldBlurPostProcess.js +9 -3
  1173. package/PostProcesses/depthOfFieldBlurPostProcess.js.map +1 -1
  1174. package/PostProcesses/depthOfFieldEffect.d.ts +7 -7
  1175. package/PostProcesses/depthOfFieldMergePostProcess.d.ts +5 -5
  1176. package/PostProcesses/displayPassPostProcess.d.ts +6 -6
  1177. package/PostProcesses/extractHighlightsPostProcess.d.ts +6 -6
  1178. package/PostProcesses/filterPostProcess.d.ts +7 -7
  1179. package/PostProcesses/fxaaPostProcess.d.ts +6 -6
  1180. package/PostProcesses/grainPostProcess.d.ts +6 -6
  1181. package/PostProcesses/highlightsPostProcess.d.ts +4 -4
  1182. package/PostProcesses/imageProcessingPostProcess.d.ts +12 -29
  1183. package/PostProcesses/imageProcessingPostProcess.js +27 -138
  1184. package/PostProcesses/imageProcessingPostProcess.js.map +1 -1
  1185. package/PostProcesses/index.d.ts +93 -92
  1186. package/PostProcesses/index.js +1 -0
  1187. package/PostProcesses/index.js.map +1 -1
  1188. package/PostProcesses/motionBlurPostProcess.d.ts +9 -9
  1189. package/PostProcesses/passPostProcess.d.ts +7 -7
  1190. package/PostProcesses/postProcess.d.ts +21 -21
  1191. package/PostProcesses/postProcessManager.d.ts +6 -6
  1192. package/PostProcesses/refractionPostProcess.d.ts +9 -9
  1193. package/PostProcesses/screenSpaceCurvaturePostProcess.d.ts +8 -8
  1194. package/PostProcesses/screenSpaceReflectionPostProcess.d.ts +7 -7
  1195. package/PostProcesses/sharpenPostProcess.d.ts +7 -7
  1196. package/PostProcesses/stereoscopicInterlacePostProcess.d.ts +3 -3
  1197. package/PostProcesses/subSurfaceScatteringPostProcess.d.ts +12 -12
  1198. package/PostProcesses/thinAnaglyphPostProcess.d.ts +1 -1
  1199. package/PostProcesses/thinBlackAndWhitePostProcess.d.ts +1 -1
  1200. package/PostProcesses/thinBloomEffect.d.ts +3 -3
  1201. package/PostProcesses/thinBloomMergePostProcess.d.ts +1 -1
  1202. package/PostProcesses/thinBlurPostProcess.d.ts +1 -1
  1203. package/PostProcesses/thinBlurPostProcess.js +1 -0
  1204. package/PostProcesses/thinBlurPostProcess.js.map +1 -1
  1205. package/PostProcesses/thinChromaticAberrationPostProcess.d.ts +4 -4
  1206. package/PostProcesses/thinChromaticAberrationPostProcess.js.map +1 -1
  1207. package/PostProcesses/thinCircleOfConfusionPostProcess.d.ts +1 -1
  1208. package/PostProcesses/thinDepthOfFieldBlurPostProcess.d.ts +1 -1
  1209. package/PostProcesses/thinDepthOfFieldEffect.d.ts +5 -5
  1210. package/PostProcesses/thinDepthOfFieldEffect.js +3 -3
  1211. package/PostProcesses/thinDepthOfFieldEffect.js.map +1 -1
  1212. package/PostProcesses/thinDepthOfFieldMergePostProcess.d.ts +1 -1
  1213. package/PostProcesses/thinExtractHighlightsPostProcess.d.ts +1 -1
  1214. package/PostProcesses/thinImageProcessingPostProcess.d.ts +258 -0
  1215. package/PostProcesses/thinImageProcessingPostProcess.js +462 -0
  1216. package/PostProcesses/thinImageProcessingPostProcess.js.map +1 -0
  1217. package/PostProcesses/thinSSRBlurCombinerPostProcess.d.ts +1 -1
  1218. package/PostProcesses/thinSSRBlurPostProcess.d.ts +2 -2
  1219. package/PostProcesses/thinTAAPostProcess.d.ts +1 -1
  1220. package/PostProcesses/tonemapPostProcess.d.ts +3 -3
  1221. package/PostProcesses/volumetricLightScatteringPostProcess.d.ts +13 -13
  1222. package/PostProcesses/vrDistortionCorrectionPostProcess.d.ts +4 -4
  1223. package/PostProcesses/vrMultiviewToSingleviewPostProcess.d.ts +5 -5
  1224. package/Probes/index.d.ts +1 -1
  1225. package/Probes/reflectionProbe.d.ts +6 -6
  1226. package/Rendering/GlobalIllumination/giRSM.d.ts +1 -1
  1227. package/Rendering/GlobalIllumination/giRSMManager.d.ts +1 -1
  1228. package/Rendering/GlobalIllumination/index.d.ts +10 -10
  1229. package/Rendering/IBLShadows/iblShadowsAccumulationPass.d.ts +4 -4
  1230. package/Rendering/IBLShadows/iblShadowsRenderPipeline.d.ts +6 -6
  1231. package/Rendering/IBLShadows/iblShadowsSpatialBlurPass.d.ts +3 -3
  1232. package/Rendering/IBLShadows/iblShadowsVoxelRenderer.d.ts +8 -8
  1233. package/Rendering/IBLShadows/iblShadowsVoxelTracingPass.d.ts +4 -4
  1234. package/Rendering/boundingBoxRenderer.d.ts +11 -11
  1235. package/Rendering/depthPeelingRenderer.d.ts +7 -7
  1236. package/Rendering/depthPeelingSceneComponent.d.ts +5 -5
  1237. package/Rendering/depthRenderer.d.ts +10 -10
  1238. package/Rendering/depthRendererSceneComponent.d.ts +6 -6
  1239. package/Rendering/edgesRenderer.d.ts +14 -14
  1240. package/Rendering/fluidRenderer/fluidRenderer.d.ts +3 -3
  1241. package/Rendering/fluidRenderer/fluidRenderingObjectCustomParticles.d.ts +1 -1
  1242. package/Rendering/fluidRenderer/fluidRenderingObjectParticleSystem.d.ts +1 -1
  1243. package/Rendering/fluidRenderer/fluidRenderingTargetRenderer.d.ts +2 -2
  1244. package/Rendering/fluidRenderer/index.d.ts +23 -23
  1245. package/Rendering/geometryBufferRenderer.d.ts +11 -11
  1246. package/Rendering/geometryBufferRendererSceneComponent.d.ts +5 -5
  1247. package/Rendering/iblCdfGenerator.d.ts +7 -7
  1248. package/Rendering/iblCdfGeneratorSceneComponent.d.ts +5 -5
  1249. package/Rendering/index.d.ts +86 -86
  1250. package/Rendering/motionBlurConfiguration.d.ts +1 -1
  1251. package/Rendering/objectRenderer.d.ts +7 -7
  1252. package/Rendering/objectRenderer.js +11 -11
  1253. package/Rendering/objectRenderer.js.map +1 -1
  1254. package/Rendering/outlineRenderer.d.ts +6 -6
  1255. package/Rendering/prePassEffectConfiguration.d.ts +1 -1
  1256. package/Rendering/prePassRenderer.d.ts +11 -11
  1257. package/Rendering/prePassRendererSceneComponent.d.ts +7 -7
  1258. package/Rendering/renderingGroup.d.ts +9 -9
  1259. package/Rendering/renderingManager.d.ts +10 -10
  1260. package/Rendering/screenSpaceReflections2Configuration.d.ts +1 -1
  1261. package/Rendering/screenSpaceReflectionsConfiguration.d.ts +1 -1
  1262. package/Rendering/ssao2Configuration.d.ts +1 -1
  1263. package/Rendering/subSurfaceConfiguration.d.ts +4 -4
  1264. package/Rendering/subSurfaceSceneComponent.d.ts +5 -5
  1265. package/Rendering/utilityLayerRenderer.d.ts +7 -7
  1266. package/Shaders/ShadersInclude/backgroundUboDeclaration.d.ts +1 -1
  1267. package/Shaders/ShadersInclude/bumpFragmentFunctions.d.ts +1 -1
  1268. package/Shaders/ShadersInclude/defaultFragmentDeclaration.d.ts +1 -1
  1269. package/Shaders/ShadersInclude/defaultUboDeclaration.d.ts +2 -2
  1270. package/Shaders/ShadersInclude/defaultVertexDeclaration.d.ts +1 -1
  1271. package/Shaders/ShadersInclude/gaussianSplatting.js +9 -1
  1272. package/Shaders/ShadersInclude/gaussianSplatting.js.map +1 -1
  1273. package/Shaders/ShadersInclude/gaussianSplattingFragmentDeclaration.d.ts +2 -2
  1274. package/Shaders/ShadersInclude/gaussianSplattingUboDeclaration.d.ts +2 -2
  1275. package/Shaders/ShadersInclude/geometryUboDeclaration.d.ts +1 -1
  1276. package/Shaders/ShadersInclude/lightFragment.js +10 -7
  1277. package/Shaders/ShadersInclude/lightFragment.js.map +1 -1
  1278. package/Shaders/ShadersInclude/lightsFragmentFunctions.d.ts +1 -1
  1279. package/Shaders/ShadersInclude/lineUboDeclaration.d.ts +2 -2
  1280. package/Shaders/ShadersInclude/pbrBRDFFunctions.js +5 -1
  1281. package/Shaders/ShadersInclude/pbrBRDFFunctions.js.map +1 -1
  1282. package/Shaders/ShadersInclude/pbrBlockAlbedoOpacity.d.ts +1 -1
  1283. package/Shaders/ShadersInclude/pbrBlockDirectLighting.js +1 -1
  1284. package/Shaders/ShadersInclude/pbrBlockDirectLighting.js.map +1 -1
  1285. package/Shaders/ShadersInclude/pbrBlockFinalUnlitComponents.js +1 -1
  1286. package/Shaders/ShadersInclude/pbrBlockFinalUnlitComponents.js.map +1 -1
  1287. package/Shaders/ShadersInclude/pbrBlockReflectance.js +1 -1
  1288. package/Shaders/ShadersInclude/pbrBlockReflectance.js.map +1 -1
  1289. package/Shaders/ShadersInclude/pbrBlockReflectivity.js +2 -2
  1290. package/Shaders/ShadersInclude/pbrBlockReflectivity.js.map +1 -1
  1291. package/Shaders/ShadersInclude/pbrDirectLightingFunctions.js +16 -4
  1292. package/Shaders/ShadersInclude/pbrDirectLightingFunctions.js.map +1 -1
  1293. package/Shaders/ShadersInclude/pbrDirectLightingSetupFunctions.d.ts +1 -1
  1294. package/Shaders/ShadersInclude/pbrFragmentDeclaration.d.ts +1 -1
  1295. package/Shaders/ShadersInclude/pbrFragmentExtraDeclaration.d.ts +1 -1
  1296. package/Shaders/ShadersInclude/pbrFragmentSamplersDeclaration.d.ts +2 -2
  1297. package/Shaders/ShadersInclude/pbrUboDeclaration.d.ts +2 -2
  1298. package/Shaders/ShadersInclude/pbrVertexDeclaration.d.ts +1 -1
  1299. package/Shaders/ShadersInclude/shadowMapFragmentExtraDeclaration.d.ts +2 -2
  1300. package/Shaders/ShadersInclude/shadowMapUboDeclaration.d.ts +2 -2
  1301. package/Shaders/ShadersInclude/shadowMapVertexDeclaration.d.ts +2 -2
  1302. package/Shaders/background.fragment.d.ts +18 -18
  1303. package/Shaders/background.vertex.d.ts +18 -18
  1304. package/Shaders/boundingBoxRenderer.fragment.d.ts +2 -2
  1305. package/Shaders/boundingBoxRenderer.vertex.d.ts +2 -2
  1306. package/Shaders/color.fragment.d.ts +4 -4
  1307. package/Shaders/color.vertex.d.ts +11 -11
  1308. package/Shaders/copyTextureToTexture.fragment.d.ts +1 -1
  1309. package/Shaders/default.fragment.d.ts +28 -28
  1310. package/Shaders/default.vertex.d.ts +33 -33
  1311. package/Shaders/depth.fragment.d.ts +3 -3
  1312. package/Shaders/depth.vertex.d.ts +14 -14
  1313. package/Shaders/extractHighlights.fragment.d.ts +1 -1
  1314. package/Shaders/gaussianSplatting.fragment.d.ts +5 -5
  1315. package/Shaders/gaussianSplatting.vertex.d.ts +10 -10
  1316. package/Shaders/gaussianSplatting.vertex.js +2 -2
  1317. package/Shaders/gaussianSplatting.vertex.js.map +1 -1
  1318. package/Shaders/geometry.fragment.d.ts +7 -7
  1319. package/Shaders/geometry.vertex.d.ts +15 -15
  1320. package/Shaders/glowMapGeneration.fragment.d.ts +3 -3
  1321. package/Shaders/glowMapGeneration.vertex.d.ts +12 -12
  1322. package/Shaders/gpuRenderParticles.fragment.d.ts +9 -9
  1323. package/Shaders/gpuRenderParticles.vertex.d.ts +6 -6
  1324. package/Shaders/gpuTransform.vertex.d.ts +8 -8
  1325. package/Shaders/grain.fragment.d.ts +1 -1
  1326. package/Shaders/greasedLine.vertex.d.ts +2 -2
  1327. package/Shaders/hdrFiltering.fragment.d.ts +4 -4
  1328. package/Shaders/hdrIrradianceFiltering.fragment.d.ts +4 -4
  1329. package/Shaders/iblCdfy.fragment.d.ts +1 -1
  1330. package/Shaders/iblIcdf.fragment.d.ts +1 -1
  1331. package/Shaders/iblScaledLuminance.fragment.d.ts +1 -1
  1332. package/Shaders/iblVoxelGrid.vertex.d.ts +10 -10
  1333. package/Shaders/imageProcessing.fragment.d.ts +3 -3
  1334. package/Shaders/kernelBlur.fragment.d.ts +4 -4
  1335. package/Shaders/kernelBlur.vertex.d.ts +2 -2
  1336. package/Shaders/layer.fragment.d.ts +1 -1
  1337. package/Shaders/line.fragment.d.ts +4 -4
  1338. package/Shaders/line.vertex.d.ts +8 -8
  1339. package/Shaders/meshUVSpaceRenderer.vertex.d.ts +10 -10
  1340. package/Shaders/outline.fragment.d.ts +4 -4
  1341. package/Shaders/outline.vertex.d.ts +14 -14
  1342. package/Shaders/particles.fragment.d.ts +9 -9
  1343. package/Shaders/particles.vertex.d.ts +6 -6
  1344. package/Shaders/pbr.fragment.d.ts +58 -58
  1345. package/Shaders/pbr.vertex.d.ts +33 -33
  1346. package/Shaders/picking.vertex.d.ts +10 -10
  1347. package/Shaders/rgbdDecode.fragment.d.ts +1 -1
  1348. package/Shaders/rgbdEncode.fragment.d.ts +1 -1
  1349. package/Shaders/screenSpaceReflection2.fragment.d.ts +3 -3
  1350. package/Shaders/screenSpaceReflection2BlurCombiner.fragment.d.ts +3 -3
  1351. package/Shaders/shadowMap.fragment.d.ts +4 -4
  1352. package/Shaders/shadowMap.vertex.d.ts +17 -17
  1353. package/Shaders/spriteMap.fragment.d.ts +4 -4
  1354. package/Shaders/spriteMap.vertex.d.ts +3 -3
  1355. package/Shaders/sprites.fragment.d.ts +5 -5
  1356. package/Shaders/sprites.vertex.d.ts +3 -3
  1357. package/Shaders/standard.fragment.d.ts +1 -1
  1358. package/Shaders/subSurfaceScattering.fragment.d.ts +4 -4
  1359. package/Shaders/velocity.vertex.d.ts +2 -2
  1360. package/Shaders/volumetricLightScatteringPass.vertex.d.ts +10 -10
  1361. package/ShadersWGSL/ShadersInclude/backgroundUboDeclaration.d.ts +1 -1
  1362. package/ShadersWGSL/ShadersInclude/bumpFragmentFunctions.d.ts +1 -1
  1363. package/ShadersWGSL/ShadersInclude/defaultUboDeclaration.d.ts +2 -2
  1364. package/ShadersWGSL/ShadersInclude/gaussianSplatting.js +11 -2
  1365. package/ShadersWGSL/ShadersInclude/gaussianSplatting.js.map +1 -1
  1366. package/ShadersWGSL/ShadersInclude/gaussianSplattingFragmentDeclaration.d.ts +2 -2
  1367. package/ShadersWGSL/ShadersInclude/gaussianSplattingUboDeclaration.d.ts +2 -2
  1368. package/ShadersWGSL/ShadersInclude/lightFragment.js +10 -7
  1369. package/ShadersWGSL/ShadersInclude/lightFragment.js.map +1 -1
  1370. package/ShadersWGSL/ShadersInclude/lightsFragmentFunctions.d.ts +1 -1
  1371. package/ShadersWGSL/ShadersInclude/pbrBRDFFunctions.js +5 -1
  1372. package/ShadersWGSL/ShadersInclude/pbrBRDFFunctions.js.map +1 -1
  1373. package/ShadersWGSL/ShadersInclude/pbrBlockAlbedoOpacity.d.ts +1 -1
  1374. package/ShadersWGSL/ShadersInclude/pbrBlockDirectLighting.js +1 -1
  1375. package/ShadersWGSL/ShadersInclude/pbrBlockDirectLighting.js.map +1 -1
  1376. package/ShadersWGSL/ShadersInclude/pbrBlockFinalUnlitComponents.js +1 -1
  1377. package/ShadersWGSL/ShadersInclude/pbrBlockFinalUnlitComponents.js.map +1 -1
  1378. package/ShadersWGSL/ShadersInclude/pbrBlockReflectance.js +1 -1
  1379. package/ShadersWGSL/ShadersInclude/pbrBlockReflectance.js.map +1 -1
  1380. package/ShadersWGSL/ShadersInclude/pbrBlockReflectivity.js +2 -2
  1381. package/ShadersWGSL/ShadersInclude/pbrBlockReflectivity.js.map +1 -1
  1382. package/ShadersWGSL/ShadersInclude/pbrDirectLightingFunctions.js +24 -8
  1383. package/ShadersWGSL/ShadersInclude/pbrDirectLightingFunctions.js.map +1 -1
  1384. package/ShadersWGSL/ShadersInclude/pbrDirectLightingSetupFunctions.d.ts +1 -1
  1385. package/ShadersWGSL/ShadersInclude/pbrFragmentExtraDeclaration.d.ts +1 -1
  1386. package/ShadersWGSL/ShadersInclude/pbrFragmentSamplersDeclaration.d.ts +2 -2
  1387. package/ShadersWGSL/ShadersInclude/pbrUboDeclaration.d.ts +2 -2
  1388. package/ShadersWGSL/ShadersInclude/shadowMapFragmentExtraDeclaration.d.ts +2 -2
  1389. package/ShadersWGSL/background.fragment.d.ts +16 -16
  1390. package/ShadersWGSL/background.vertex.d.ts +16 -16
  1391. package/ShadersWGSL/color.fragment.d.ts +4 -4
  1392. package/ShadersWGSL/color.vertex.d.ts +11 -11
  1393. package/ShadersWGSL/copyTextureToTexture.fragment.d.ts +1 -1
  1394. package/ShadersWGSL/default.fragment.d.ts +26 -26
  1395. package/ShadersWGSL/default.vertex.d.ts +31 -31
  1396. package/ShadersWGSL/depth.fragment.d.ts +3 -3
  1397. package/ShadersWGSL/depth.vertex.d.ts +12 -12
  1398. package/ShadersWGSL/extractHighlights.fragment.d.ts +1 -1
  1399. package/ShadersWGSL/gaussianSplatting.fragment.d.ts +5 -5
  1400. package/ShadersWGSL/gaussianSplatting.vertex.d.ts +10 -9
  1401. package/ShadersWGSL/gaussianSplatting.vertex.js +6 -3
  1402. package/ShadersWGSL/gaussianSplatting.vertex.js.map +1 -1
  1403. package/ShadersWGSL/geometry.fragment.d.ts +6 -6
  1404. package/ShadersWGSL/geometry.vertex.d.ts +14 -14
  1405. package/ShadersWGSL/glowMapGeneration.fragment.d.ts +3 -3
  1406. package/ShadersWGSL/glowMapGeneration.vertex.d.ts +12 -12
  1407. package/ShadersWGSL/grain.fragment.d.ts +1 -1
  1408. package/ShadersWGSL/greasedLine.vertex.d.ts +4 -4
  1409. package/ShadersWGSL/hdrFiltering.fragment.d.ts +4 -4
  1410. package/ShadersWGSL/hdrIrradianceFiltering.fragment.d.ts +4 -4
  1411. package/ShadersWGSL/iblIcdf.fragment.d.ts +1 -1
  1412. package/ShadersWGSL/iblScaledLuminance.fragment.d.ts +1 -1
  1413. package/ShadersWGSL/iblVoxelGrid.vertex.d.ts +10 -10
  1414. package/ShadersWGSL/imageProcessing.fragment.d.ts +3 -3
  1415. package/ShadersWGSL/kernelBlur.fragment.d.ts +4 -4
  1416. package/ShadersWGSL/kernelBlur.vertex.d.ts +2 -2
  1417. package/ShadersWGSL/layer.fragment.d.ts +1 -1
  1418. package/ShadersWGSL/line.fragment.d.ts +4 -4
  1419. package/ShadersWGSL/line.vertex.d.ts +8 -8
  1420. package/ShadersWGSL/meshUVSpaceRenderer.vertex.d.ts +10 -10
  1421. package/ShadersWGSL/outline.fragment.d.ts +4 -4
  1422. package/ShadersWGSL/outline.vertex.d.ts +14 -14
  1423. package/ShadersWGSL/particles.fragment.d.ts +9 -9
  1424. package/ShadersWGSL/particles.vertex.d.ts +6 -6
  1425. package/ShadersWGSL/pbr.fragment.d.ts +56 -56
  1426. package/ShadersWGSL/pbr.vertex.d.ts +31 -31
  1427. package/ShadersWGSL/picking.vertex.d.ts +10 -10
  1428. package/ShadersWGSL/rgbdDecode.fragment.d.ts +1 -1
  1429. package/ShadersWGSL/rgbdEncode.fragment.d.ts +1 -1
  1430. package/ShadersWGSL/screenSpaceReflection2.fragment.d.ts +3 -3
  1431. package/ShadersWGSL/screenSpaceReflection2BlurCombiner.fragment.d.ts +3 -3
  1432. package/ShadersWGSL/shadowMap.fragment.d.ts +4 -4
  1433. package/ShadersWGSL/shadowMap.vertex.d.ts +17 -17
  1434. package/ShadersWGSL/sprites.fragment.d.ts +5 -5
  1435. package/ShadersWGSL/sprites.vertex.d.ts +3 -3
  1436. package/ShadersWGSL/subSurfaceScattering.fragment.d.ts +4 -4
  1437. package/Sprites/index.d.ts +10 -10
  1438. package/Sprites/sprite.d.ts +9 -9
  1439. package/Sprites/spriteManager.d.ts +9 -9
  1440. package/Sprites/spriteMap.d.ts +7 -7
  1441. package/Sprites/spritePackedManager.d.ts +3 -3
  1442. package/Sprites/spriteRenderer.d.ts +8 -8
  1443. package/Sprites/spriteSceneComponent.d.ts +10 -10
  1444. package/Sprites/thinSprite.d.ts +2 -2
  1445. package/States/alphaCullingState.d.ts +1 -1
  1446. package/States/depthCullingState.d.ts +1 -1
  1447. package/States/index.d.ts +4 -4
  1448. package/States/stencilState.d.ts +1 -1
  1449. package/States/stencilStateComposer.d.ts +1 -1
  1450. package/XR/features/Layers/WebXRProjectionLayer.d.ts +1 -1
  1451. package/XR/features/WebXRAbstractFeature.d.ts +4 -4
  1452. package/XR/features/WebXRAnchorSystem.d.ts +6 -6
  1453. package/XR/features/WebXRBackgroundRemover.d.ts +4 -4
  1454. package/XR/features/WebXRControllerMovement.d.ts +9 -9
  1455. package/XR/features/WebXRControllerPhysics.d.ts +6 -6
  1456. package/XR/features/WebXRControllerPointerSelection.d.ts +10 -10
  1457. package/XR/features/WebXRControllerTeleportation.d.ts +12 -12
  1458. package/XR/features/WebXRDOMOverlay.d.ts +3 -3
  1459. package/XR/features/WebXRDepthSensing.d.ts +6 -6
  1460. package/XR/features/WebXREyeTracking.d.ts +5 -5
  1461. package/XR/features/WebXRFeaturePointSystem.d.ts +4 -4
  1462. package/XR/features/WebXRHandTracking.d.ts +11 -11
  1463. package/XR/features/WebXRHitTest.d.ts +5 -5
  1464. package/XR/features/WebXRHitTestLegacy.d.ts +6 -6
  1465. package/XR/features/WebXRImageTracking.d.ts +5 -5
  1466. package/XR/features/WebXRLayers.d.ts +8 -8
  1467. package/XR/features/WebXRLightEstimation.d.ts +9 -9
  1468. package/XR/features/WebXRMeshDetector.d.ts +6 -6
  1469. package/XR/features/WebXRNearInteraction.d.ts +13 -13
  1470. package/XR/features/WebXRPlaneDetector.d.ts +5 -5
  1471. package/XR/features/WebXRRawCameraAccess.d.ts +4 -4
  1472. package/XR/features/WebXRSpaceWarp.d.ts +10 -10
  1473. package/XR/features/WebXRWalkingLocomotion.d.ts +4 -4
  1474. package/XR/features/index.d.ts +23 -23
  1475. package/XR/index.d.ts +14 -14
  1476. package/XR/motionController/index.d.ts +9 -9
  1477. package/XR/motionController/webXRAbstractMotionController.d.ts +5 -5
  1478. package/XR/motionController/webXRControllerComponent.d.ts +3 -3
  1479. package/XR/motionController/webXRGenericHandController.d.ts +4 -4
  1480. package/XR/motionController/webXRGenericMotionController.d.ts +4 -4
  1481. package/XR/motionController/webXRHTCViveMotionController.d.ts +4 -4
  1482. package/XR/motionController/webXRMicrosoftMixedRealityController.d.ts +4 -4
  1483. package/XR/motionController/webXRMotionControllerManager.d.ts +2 -2
  1484. package/XR/motionController/webXROculusTouchMotionController.d.ts +4 -4
  1485. package/XR/motionController/webXRProfiledMotionController.d.ts +4 -4
  1486. package/XR/native/index.d.ts +2 -2
  1487. package/XR/native/nativeXRRenderTarget.d.ts +7 -7
  1488. package/XR/webXRCamera.d.ts +7 -7
  1489. package/XR/webXRDefaultExperience.d.ts +16 -16
  1490. package/XR/webXREnterExitUI.d.ts +5 -5
  1491. package/XR/webXRExperienceHelper.d.ts +7 -7
  1492. package/XR/webXRFeaturesManager.d.ts +2 -2
  1493. package/XR/webXRInput.d.ts +6 -6
  1494. package/XR/webXRInputSource.d.ts +7 -7
  1495. package/XR/webXRLayerWrapper.d.ts +3 -3
  1496. package/XR/webXRManagedOutputCanvas.d.ts +5 -5
  1497. package/XR/webXRRenderTargetTextureProvider.d.ts +5 -5
  1498. package/XR/webXRSessionManager.d.ts +9 -9
  1499. package/XR/webXRTypes.d.ts +2 -2
  1500. package/XR/webXRWebGLLayer.d.ts +6 -6
  1501. package/assetContainer.d.ts +27 -27
  1502. package/index.d.ts +49 -49
  1503. package/node.d.ts +15 -15
  1504. package/package.json +1 -1
  1505. package/scene.d.ts +62 -62
  1506. package/sceneComponent.d.ts +12 -12
@@ -2,4 +2,4 @@
2
2
  * This is here for backwards compatibility with 4.2
3
3
  * @internal
4
4
  */
5
- export { VertexBuffer, Buffer } from "../Buffers/buffer";
5
+ export { VertexBuffer, Buffer } from "../Buffers/buffer.js";
package/Meshes/csg.d.ts CHANGED
@@ -1,10 +1,10 @@
1
- import type { Nullable } from "../types";
2
- import type { Scene } from "../scene";
3
- import { Quaternion, Matrix, Vector3, Vector2 } from "../Maths/math.vector";
4
- import { Mesh } from "../Meshes/mesh";
5
- import type { Material } from "../Materials/material";
6
- import { Color4 } from "../Maths/math.color";
7
- import { VertexData } from "./mesh.vertexData";
1
+ import type { Nullable } from "../types.js";
2
+ import type { Scene } from "../scene.js";
3
+ import { Quaternion, Matrix, Vector3, Vector2 } from "../Maths/math.vector.js";
4
+ import { Mesh } from "../Meshes/mesh.js";
5
+ import type { Material } from "../Materials/material.js";
6
+ import { Color4 } from "../Maths/math.color.js";
7
+ import { VertexData } from "./mesh.vertexData.js";
8
8
  /**
9
9
  * Represents a vertex of a polygon. Use your own vertex class instead of this
10
10
  * one to provide additional features like texture coordinates and vertex
package/Meshes/csg2.d.ts CHANGED
@@ -1,6 +1,6 @@
1
- import { Mesh } from "./mesh";
1
+ import { Mesh } from "./mesh.js";
2
2
  import type { IDisposable, Scene } from "../scene.js";
3
- import { VertexData } from "./mesh.vertexData";
3
+ import { VertexData } from "./mesh.vertexData.js";
4
4
  import type { Material } from "../Materials/material.js";
5
5
  /**
6
6
  * Interface to customize the Manifold library import
@@ -1,5 +1,5 @@
1
- import { Vector3 } from "../Maths/math.vector";
2
- import { _IsoVector } from "../Maths/math.isovector";
1
+ import { Vector3 } from "../Maths/math.vector.js";
2
+ import { _IsoVector } from "../Maths/math.isovector.js";
3
3
  /**
4
4
  * Class representing data for one face OAB of an equilateral icosahedron
5
5
  * When O is the isovector (0, 0), A is isovector (m, n)
@@ -1,15 +1,15 @@
1
- import type { Nullable, FloatArray, DataArray, IndicesArray } from "../types";
2
- import type { Scene } from "../scene";
3
- import type { Vector2 } from "../Maths/math.vector";
4
- import { Vector3 } from "../Maths/math.vector";
5
- import type { IGetSetVerticesData } from "../Meshes/mesh.vertexData";
6
- import { VertexData } from "../Meshes/mesh.vertexData";
7
- import { VertexBuffer } from "../Buffers/buffer";
8
- import type { Effect } from "../Materials/effect";
9
- import { BoundingInfo } from "../Culling/boundingInfo";
10
- import type { DataBuffer } from "../Buffers/dataBuffer";
11
- import type { Mesh } from "../Meshes/mesh";
12
- import type { AbstractEngine } from "../Engines/abstractEngine";
1
+ import type { Nullable, FloatArray, DataArray, IndicesArray } from "../types.js";
2
+ import type { Scene } from "../scene.js";
3
+ import type { Vector2 } from "../Maths/math.vector.js";
4
+ import { Vector3 } from "../Maths/math.vector.js";
5
+ import type { IGetSetVerticesData } from "../Meshes/mesh.vertexData.js";
6
+ import { VertexData } from "../Meshes/mesh.vertexData.js";
7
+ import { VertexBuffer } from "../Buffers/buffer.js";
8
+ import type { Effect } from "../Materials/effect.js";
9
+ import { BoundingInfo } from "../Culling/boundingInfo.js";
10
+ import type { DataBuffer } from "../Buffers/dataBuffer.js";
11
+ import type { Mesh } from "../Meshes/mesh.js";
12
+ import type { AbstractEngine } from "../Engines/abstractEngine.js";
13
13
  import type { IAssetContainer } from "../IAssetContainer.js";
14
14
  /**
15
15
  * Class used to store geometry data (vertex buffers + index buffer)
@@ -1,8 +1,8 @@
1
- import type { Scene } from "../scene";
2
- import type { Vector2 } from "../Maths/math.vector";
3
- import { Vector3 } from "../Maths/math.vector";
4
- import { Mesh } from "../Meshes/mesh";
5
- import { Color4 } from "../Maths/math.color";
1
+ import type { Scene } from "../scene.js";
2
+ import type { Vector2 } from "../Maths/math.vector.js";
3
+ import { Vector3 } from "../Maths/math.vector.js";
4
+ import { Mesh } from "../Meshes/mesh.js";
5
+ import { Color4 } from "../Maths/math.color.js";
6
6
  /**
7
7
  * Defines the set of goldberg data used to create the polygon
8
8
  */
@@ -1,6 +1,6 @@
1
- import type { Scene } from "../scene";
2
- import { Vector3 } from "../Maths/math.vector";
3
- import { Mesh } from "../Meshes/mesh";
1
+ import type { Scene } from "../scene.js";
2
+ import { Vector3 } from "../Maths/math.vector.js";
3
+ import { Mesh } from "../Meshes/mesh.js";
4
4
  /**
5
5
  * Mesh representing the ground
6
6
  */
package/Meshes/index.d.ts CHANGED
@@ -1,55 +1,55 @@
1
- export * from "./abstractMesh";
2
- import "./abstractMesh.decalMap";
3
- export * from "./abstractMesh.hotSpot";
4
- export * from "./Compression/index";
5
- export * from "./csg";
6
- export * from "./meshUVSpaceRenderer";
7
- export * from "./geometry";
8
- export * from "./groundMesh";
9
- export * from "./goldbergMesh";
10
- export * from "./trailMesh";
11
- export * from "./instancedMesh";
12
- export * from "./linesMesh";
13
- export * from "./mesh";
14
- export * from "./mesh.vertexData";
15
- export * from "./meshBuilder";
16
- export * from "./meshSimplification";
17
- export * from "./meshSimplificationSceneComponent";
18
- export * from "./meshUtils";
19
- export * from "./polygonMesh";
20
- export * from "./geodesicMesh";
21
- export * from "./subMesh";
22
- export * from "./subMesh.project";
23
- export * from "./lattice";
24
- export * from "./lattice.material";
25
- export * from "./meshLODLevel";
26
- export * from "./transformNode";
27
- export * from "./Builders/index";
28
- export * from "./WebGL/webGLDataBuffer";
29
- export * from "./WebGPU/webgpuDataBuffer";
30
- export * from "./GreasedLine/greasedLineMesh";
31
- export * from "./GreasedLine/greasedLineRibbonMesh";
32
- export * from "./GreasedLine/greasedLineBaseMesh";
33
- export * from "./csg2";
34
- export * from "./mesh.vertexData.functions";
35
- export * from "./mesh.vertexData.subdivide";
36
- import "./thinInstanceMesh";
37
- export * from "./thinInstanceMesh";
38
- export * from "./Node/index";
39
- export * from "./GaussianSplatting/gaussianSplattingMesh";
40
- export * from "../Shaders/color.fragment";
41
- export * from "../Shaders/color.vertex";
42
- export * from "../ShadersWGSL/color.fragment";
43
- export * from "../ShadersWGSL/color.vertex";
44
- export * from "../Shaders/meshUVSpaceRenderer.vertex";
45
- export * from "../Shaders/meshUVSpaceRenderer.fragment";
46
- export * from "../Shaders/meshUVSpaceRendererMasker.vertex";
47
- export * from "../Shaders/meshUVSpaceRendererMasker.fragment";
48
- export * from "../Shaders/meshUVSpaceRendererFinaliser.fragment";
49
- export * from "../Shaders/meshUVSpaceRendererFinaliser.vertex";
50
- export * from "../ShadersWGSL/meshUVSpaceRenderer.vertex";
51
- export * from "../ShadersWGSL/meshUVSpaceRenderer.fragment";
52
- export * from "../ShadersWGSL/meshUVSpaceRendererMasker.vertex";
53
- export * from "../ShadersWGSL/meshUVSpaceRendererMasker.fragment";
54
- export * from "../ShadersWGSL/meshUVSpaceRendererFinaliser.fragment";
55
- export * from "../ShadersWGSL/meshUVSpaceRendererFinaliser.vertex";
1
+ export * from "./abstractMesh.js";
2
+ import "./abstractMesh.decalMap.js";
3
+ export * from "./abstractMesh.hotSpot.js";
4
+ export * from "./Compression/index.js";
5
+ export * from "./csg.js";
6
+ export * from "./meshUVSpaceRenderer.js";
7
+ export * from "./geometry.js";
8
+ export * from "./groundMesh.js";
9
+ export * from "./goldbergMesh.js";
10
+ export * from "./trailMesh.js";
11
+ export * from "./instancedMesh.js";
12
+ export * from "./linesMesh.js";
13
+ export * from "./mesh.js";
14
+ export * from "./mesh.vertexData.js";
15
+ export * from "./meshBuilder.js";
16
+ export * from "./meshSimplification.js";
17
+ export * from "./meshSimplificationSceneComponent.js";
18
+ export * from "./meshUtils.js";
19
+ export * from "./polygonMesh.js";
20
+ export * from "./geodesicMesh.js";
21
+ export * from "./subMesh.js";
22
+ export * from "./subMesh.project.js";
23
+ export * from "./lattice.js";
24
+ export * from "./lattice.material.js";
25
+ export * from "./meshLODLevel.js";
26
+ export * from "./transformNode.js";
27
+ export * from "./Builders/index.js";
28
+ export * from "./WebGL/webGLDataBuffer.js";
29
+ export * from "./WebGPU/webgpuDataBuffer.js";
30
+ export * from "./GreasedLine/greasedLineMesh.js";
31
+ export * from "./GreasedLine/greasedLineRibbonMesh.js";
32
+ export * from "./GreasedLine/greasedLineBaseMesh.js";
33
+ export * from "./csg2.js";
34
+ export * from "./mesh.vertexData.functions.js";
35
+ export * from "./mesh.vertexData.subdivide.js";
36
+ import "./thinInstanceMesh.js";
37
+ export * from "./thinInstanceMesh.js";
38
+ export * from "./Node/index.js";
39
+ export * from "./GaussianSplatting/gaussianSplattingMesh.js";
40
+ export * from "../Shaders/color.fragment.js";
41
+ export * from "../Shaders/color.vertex.js";
42
+ export * from "../ShadersWGSL/color.fragment.js";
43
+ export * from "../ShadersWGSL/color.vertex.js";
44
+ export * from "../Shaders/meshUVSpaceRenderer.vertex.js";
45
+ export * from "../Shaders/meshUVSpaceRenderer.fragment.js";
46
+ export * from "../Shaders/meshUVSpaceRendererMasker.vertex.js";
47
+ export * from "../Shaders/meshUVSpaceRendererMasker.fragment.js";
48
+ export * from "../Shaders/meshUVSpaceRendererFinaliser.fragment.js";
49
+ export * from "../Shaders/meshUVSpaceRendererFinaliser.vertex.js";
50
+ export * from "../ShadersWGSL/meshUVSpaceRenderer.vertex.js";
51
+ export * from "../ShadersWGSL/meshUVSpaceRenderer.fragment.js";
52
+ export * from "../ShadersWGSL/meshUVSpaceRendererMasker.vertex.js";
53
+ export * from "../ShadersWGSL/meshUVSpaceRendererMasker.fragment.js";
54
+ export * from "../ShadersWGSL/meshUVSpaceRendererFinaliser.fragment.js";
55
+ export * from "../ShadersWGSL/meshUVSpaceRendererFinaliser.vertex.js";
@@ -1,17 +1,17 @@
1
- import type { Nullable, FloatArray, IndicesArray } from "../types";
2
- import type { Vector3 } from "../Maths/math.vector";
3
- import { Matrix } from "../Maths/math.vector";
4
- import type { Camera } from "../Cameras/camera";
5
- import type { Node } from "../node";
6
- import type { IMeshDataOptions } from "../Meshes/abstractMesh";
7
- import { AbstractMesh } from "../Meshes/abstractMesh";
8
- import { Mesh } from "../Meshes/mesh";
9
- import type { Material } from "../Materials/material";
10
- import type { Skeleton } from "../Bones/skeleton";
11
- import { TransformNode } from "./transformNode";
12
- import type { Light } from "../Lights/light";
13
- import { VertexBuffer } from "../Buffers/buffer";
14
- import type { Geometry } from "./geometry";
1
+ import type { Nullable, FloatArray, IndicesArray } from "../types.js";
2
+ import type { Vector3 } from "../Maths/math.vector.js";
3
+ import { Matrix } from "../Maths/math.vector.js";
4
+ import type { Camera } from "../Cameras/camera.js";
5
+ import type { Node } from "../node.js";
6
+ import type { IMeshDataOptions } from "../Meshes/abstractMesh.js";
7
+ import { AbstractMesh } from "../Meshes/abstractMesh.js";
8
+ import { Mesh } from "../Meshes/mesh.js";
9
+ import type { Material } from "../Materials/material.js";
10
+ import type { Skeleton } from "../Bones/skeleton.js";
11
+ import { TransformNode } from "./transformNode.js";
12
+ import type { Light } from "../Lights/light.js";
13
+ import { VertexBuffer } from "../Buffers/buffer.js";
14
+ import type { Geometry } from "./geometry.js";
15
15
  /**
16
16
  * Creates an instance based on a source mesh.
17
17
  */
@@ -264,7 +264,7 @@ export declare class InstancedMesh extends AbstractMesh {
264
264
  newSourcedMesh?: Mesh;
265
265
  }, onNewNodeCreated?: (source: TransformNode, clone: TransformNode) => void): Nullable<TransformNode>;
266
266
  }
267
- declare module "./mesh" {
267
+ declare module "./mesh.js" {
268
268
  interface Mesh {
269
269
  /**
270
270
  * Register a custom buffer that will be instanced
@@ -301,7 +301,7 @@ declare module "./mesh" {
301
301
  };
302
302
  }
303
303
  }
304
- declare module "./abstractMesh" {
304
+ declare module "./abstractMesh.js" {
305
305
  interface AbstractMesh {
306
306
  /**
307
307
  * Object used to store instanced buffers defined by user
@@ -1 +1 @@
1
- {"version":3,"file":"instancedMesh.js","sourceRoot":"","sources":["../../../../dev/core/src/Meshes/instancedMesh.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAIxC,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAGtC,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAEtC,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAGlD,IAAI,CAAC,qBAAqB,GAAG,CAAC,IAAY,EAAE,IAAU,EAAiB,EAAE;IACrE,MAAM,QAAQ,GAAG,IAAI,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAE/C,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,QAAQ,CAAC,gBAAgB,GAAG,EAAE,CAAC;QAE/B,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;QAChE,CAAC;IACL,CAAC;IAED,OAAO,QAAQ,CAAC;AACpB,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,OAAO,aAAc,SAAQ,YAAY;IAY3C;;;;OAIG;IACH,YAAY,IAAY,EAAE,MAAY;QAClC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;QAbnC,gBAAgB;QACT,oCAA+B,GAAG,CAAC,CAAC,CAAC;QAC5C,gBAAgB;QACT,sBAAiB,GAAW,CAAC,CAAC;QAYjC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAEzB,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC;QAE1B,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;QAEpC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACxC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACxC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAEtC,IAAI,MAAM,CAAC,kBAAkB,EAAE,CAAC;YAC5B,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC;QAChE,CAAC;QAED,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QAC5C,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,kBAAkB,EAAE,EAAE,CAAC;YAC9C,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;gBAChB,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;YAChE,CAAC;QACL,CAAC;QAED,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAC;QAEhD,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC;QAE7C,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACrC,IAAI,CAAC,cAAc,EAAE,CAAC;IAC1B,CAAC;IAED;;OAEG;IACa,YAAY;QACxB,OAAO,eAAe,CAAC;IAC3B,CAAC;IAED,kDAAkD;IAClD,IAAoB,YAAY;QAC5B,OAAO,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC;IAC1C,CAAC;IAEe,mBAAmB;QAC/B,yDAAyD;IAC7D,CAAC;IAEe,kBAAkB;QAC9B,yDAAyD;IAC7D,CAAC;IAEe,kBAAkB;QAC9B,yDAAyD;IAC7D,CAAC;IAED,UAAU;IACV;;OAEG;IACH,IAAoB,cAAc;QAC9B,OAAO,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC;IAC3C,CAAC;IAED,IAAoB,cAAc,CAAC,MAAe;QAC9C,IAAI,IAAI,CAAC,WAAW,EAAE,cAAc,KAAK,MAAM,EAAE,CAAC;YAC9C,KAAK,CAAC,IAAI,CAAC,2DAA2D,CAAC,CAAC;QAC5E,CAAC;IACL,CAAC;IAED;;OAEG;IACH,IAAoB,QAAQ;QACxB,OAAO,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC;IACrC,CAAC;IAED,IAAoB,QAAQ,CAAC,MAA0B;QACnD,IAAI,IAAI,CAAC,WAAW,EAAE,QAAQ,KAAK,MAAM,EAAE,CAAC;YACxC,KAAK,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC;QACtE,CAAC;IACL,CAAC;IAED;;OAEG;IACH,IAAoB,UAAU;QAC1B,OAAO,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC;IACvC,CAAC;IAED,IAAoB,UAAU,CAAC,MAAc;QACzC,IAAI,IAAI,CAAC,WAAW,EAAE,UAAU,KAAK,MAAM,EAAE,CAAC;YAC1C,KAAK,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAC;QACxE,CAAC;IACL,CAAC;IAED;;OAEG;IACH,IAAoB,QAAQ;QACxB,OAAO,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC;IACrC,CAAC;IAED,IAAoB,QAAQ,CAAC,MAA0B;QACnD,IAAI,IAAI,CAAC,WAAW,EAAE,QAAQ,KAAK,MAAM,EAAE,CAAC;YACxC,KAAK,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC;QACtE,CAAC;IACL,CAAC;IAED;;OAEG;IACH,IAAoB,gBAAgB;QAChC,OAAO,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC;IAC7C,CAAC;IAED,IAAoB,gBAAgB,CAAC,KAAa;QAC9C,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,KAAK,KAAK,IAAI,CAAC,WAAW,CAAC,gBAAgB,EAAE,CAAC;YACnE,OAAO;QACX,CAAC;QAED,oBAAoB;QACpB,MAAM,CAAC,IAAI,CAAC,iFAAiF,CAAC,CAAC;IACnG,CAAC;IAED;;OAEG;IACa,gBAAgB;QAC5B,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACtE,CAAC;IAED;;;OAGG;IACa,eAAe;QAC3B,OAAO,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,CAAC;IAC9C,CAAC;IAED;;OAEG;IACH,IAAW,UAAU;QACjB,OAAO,IAAI,CAAC,WAAW,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,IAAW,QAAQ;QACf,OAAO,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;IACtC,CAAC;IAED;;;;;OAKG;IACI,cAAc,CAAC,IAAY;QAC9B,OAAO,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;IACjD,CAAC;IAED;;;;OAIG;IACa,OAAO,CAAC,aAAa,GAAG,KAAK;QACzC,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;IACzD,CAAC;IAED;;;;;;OAMG;IACa,eAAe,CAAC,IAAY,EAAE,cAAwB,EAAE,SAAmB;QACvF,OAAO,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,IAAI,EAAE,cAAc,EAAE,SAAS,CAAC,CAAC;IAC7E,CAAC;IAEe,gBAAgB,CAAC,IAAY,EAAE,UAA4C;QACvF,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IACxD,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACa,eAAe,CAAC,IAAY,EAAE,IAAgB,EAAE,SAAmB,EAAE,MAAe;QAChG,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;QACnE,CAAC;QACD,OAAO,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACa,kBAAkB,CAAC,IAAY,EAAE,IAAgB,EAAE,aAAuB,EAAE,YAAsB;QAC9G,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC,IAAI,EAAE,IAAI,EAAE,aAAa,EAAE,YAAY,CAAC,CAAC;QAChF,CAAC;QACD,OAAO,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;IAED;;;;;;;;;OASG;IACa,UAAU,CAAC,OAAqB,EAAE,gBAAkC,IAAI;QACpF,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;QACvD,CAAC;QACD,OAAO,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACa,qBAAqB,CAAC,IAAY;QAC9C,OAAO,IAAI,CAAC,WAAW,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;IACxD,CAAC;IAED;;OAEG;IACa,UAAU;QACtB,OAAO,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC;IACzC,CAAC;IAED,IAAoB,UAAU;QAC1B,OAAO,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC;IACvC,CAAC;IAEe,mBAAmB,CAAC,yBAAqD,KAAK,EAAE,aAAsB,KAAK;QACvH,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC,QAAQ,EAAE,CAAC;YAC1D,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,IAAI,OAAyB,CAAC;QAC9B,IAAI,OAAO,sBAAsB,KAAK,QAAQ,EAAE,CAAC;YAC7C,OAAO,GAAG,sBAAsB,CAAC;QACrC,CAAC;aAAM,CAAC;YACJ,OAAO,GAAG;gBACN,aAAa,EAAE,sBAAsB;gBACrC,UAAU,EAAE,UAAU;aACzB,CAAC;QACN,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC;QACvF,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,EAAE,YAAY,CAAC,YAAY,CAAC,EAAE,IAAI,CAAC,CAAC;QACrG,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,gBAAgB;IACA,YAAY;QACxB,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC;QACpC,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;OAEG;IACa,SAAS,CAAC,QAAgB,EAAE,qBAA8B;QACtE,KAAK,CAAC,SAAS,CAAC,QAAQ,EAAE,qBAAqB,CAAC,CAAC;QAEjD,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC;YAC9B,MAAM,CAAC,IAAI,CAAC,4DAA4D,CAAC,CAAC;QAC9E,CAAC;QAED,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,MAAM,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,0BAA0B,EAAE,IAAI,CAAC,KAAK,IAAI,CAAC,0BAA0B,EAAE,IAAI,CAAC,CAAC;YACpH,IAAI,aAAa,EAAE,CAAC;gBAChB,IAAI,CAAC,6BAA6B,CAAC,iBAAiB,GAAG,IAAI,CAAC;gBAC5D,OAAO,IAAI,CAAC;YAChB,CAAC;YACD,IAAI,CAAC,6BAA6B,CAAC,iBAAiB,GAAG,KAAK,CAAC;YAE7D,IAAI,CAAC,WAAW,CAAC,4BAA4B,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAE9D,IAAI,qBAAqB,EAAE,CAAC;gBACxB,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,6BAA6B,CAAC,qBAAqB,EAAE,CAAC;oBACxE,IAAI,CAAC,WAAW,CAAC,6BAA6B,CAAC,6BAA6B,GAAG,IAAI,CAAC;oBACpF,OAAO,IAAI,CAAC;gBAChB,CAAC;YACL,CAAC;iBAAM,CAAC;gBACJ,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,6BAA6B,CAAC,SAAS,EAAE,CAAC;oBAC5D,IAAI,CAAC,WAAW,CAAC,6BAA6B,CAAC,iBAAiB,GAAG,IAAI,CAAC;oBACxE,OAAO,IAAI,CAAC;gBAChB,CAAC;YACL,CAAC;QACL,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,gBAAgB;IACA,aAAa;QACzB,IAAI,IAAI,CAAC,WAAW,CAAC,uBAAuB,IAAI,IAAI,CAAC,WAAW,CAAC,cAAc,IAAI,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,SAAS,IAAI,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,CAAC;YAC/J,oDAAoD;YACpD,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,eAAe,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;YAClG,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;QAChF,CAAC;aAAM,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,CAAC,SAAS,IAAI,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,CAAC;YAClG,2DAA2D;YAC3D,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC/E,CAAC;IACL,CAAC;IAEe,cAAc;QAC1B,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,aAAa,KAAK,aAAa,CAAC,kBAAkB,IAAI,IAAI,CAAC,WAAW,CAAC,WAAW,KAAK,IAAI,EAAE,CAAC;YACnI,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC;gBAC9B,IAAI,CAAC,qBAAqB,GAAG,IAAI,MAAM,EAAE,CAAC;YAC9C,CAAC;YACD,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC;YAChD,IAAI,CAAC,WAAW,CAAC,WAAW,GAAG,IAAI,CAAC;YACpC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;YAC1D,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YACvC,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC;YAC/E,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1D,IAAI,CAAC,WAAW,CAAC,WAAW,GAAG,UAAU,CAAC;YAC1C,OAAO,IAAI,CAAC,qBAAqB,CAAC;QACtC,CAAC;QAED,OAAO,KAAK,CAAC,cAAc,EAAE,CAAC;IAClC,CAAC;IAED,IAAoB,YAAY;QAC5B,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;;;OAIG;IACa,MAAM,CAAC,MAAc;QACjC,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,MAAM,mBAAmB,GAAG,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC;QAC3D,IAAI,CAAC,mBAAmB,IAAI,mBAAmB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3D,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC;QACvC,CAAC;aAAM,CAAC;YACJ,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;YAC5C,IAAI,CAAC,WAAW,GAAS,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,cAAc,CAAC,CAAC;QACzF,CAAC;QAED,OAAO,IAAI,CAAC,WAAW,CAAC;IAC5B,CAAC;IAED;;OAEG;IACa,oCAAoC,CAAC,QAAgB;QACjE,OAAa,IAAI,CAAC,UAAU,CAAC,oCAAoC,CAAC,QAAQ,CAAC,CAAC;IAChF,CAAC;IAED,gBAAgB;IACT,cAAc;QACjB,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC;YAC7B,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;gBACrE,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;YACpE,CAAC;QACL,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,gBAAgB;IACA,oBAAoB;QAChC,OAAO,IAAI,CAAC,WAAW,CAAC,oBAAoB,EAAE,CAAC;IACnD,CAAC;IAED,gBAAgB;IACA,mBAAmB;QAC/B,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACvB,IAAI,CAAC,eAAe,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QAC7D,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACpG,CAAC;QACD,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QAC7D,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;;;;;;;;OASG;IACa,KAAK,CAAC,IAAY,EAAE,YAA4B,IAAI,EAAE,kBAA4B,EAAE,aAAoB;QACpH,MAAM,MAAM,GAAG,CAAC,aAAa,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAExE,YAAY;QACZ,UAAU,CAAC,QAAQ,CACf,IAAI,EACJ,MAAM,EACN;YACI,MAAM;YACN,WAAW;YACX,UAAU;YACV,QAAQ;YACR,cAAc;YACd,gBAAgB;YAChB,UAAU;YACV,YAAY;YACZ,UAAU;YACV,YAAY;YACZ,cAAc;YACd,SAAS;YACT,oBAAoB;YACpB,WAAW;YACX,UAAU;YACV,cAAc;YACd,UAAU;YACV,eAAe;YACf,SAAS;YACT,IAAI;YACJ,OAAO;YACP,kBAAkB;YAClB,iBAAiB;YACjB,4BAA4B;YAC5B,qBAAqB;YACrB,mBAAmB;YACnB,WAAW;YACX,sBAAsB;YACtB,kBAAkB;YAClB,iBAAiB;YACjB,UAAU;SACb,EACD,EAAE,CACL,CAAC;QAEF,gBAAgB;QAChB,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAE3B,SAAS;QACT,IAAI,SAAS,EAAE,CAAC;YACZ,MAAM,CAAC,MAAM,GAAG,SAAS,CAAC;QAC9B,CAAC;QAED,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACtB,WAAW;YACX,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;gBACjE,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAE3C,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;oBACvB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;gBAClC,CAAC;YACL,CAAC;QACL,CAAC;QAED,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAEhC,IAAI,CAAC,kBAAkB,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QAEhD,OAAO,MAAM,CAAC;IAClB,CAAC;IAED;;;;;OAKG;IACa,OAAO,CAAC,YAAsB,EAAE,0BAA0B,GAAG,KAAK;QAC9E,mBAAmB;QACnB,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QACtC,KAAK,CAAC,OAAO,CAAC,YAAY,EAAE,0BAA0B,CAAC,CAAC;IAC5D,CAAC;IAED;;OAEG;IACa,kBAAkB,CAAC,mBAAwB;QACvD,KAAK,CAAC,kBAAkB,CAAC,mBAAmB,CAAC,CAAC;QAE9C,mBAAmB,CAAC,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC;QACzD,mBAAmB,CAAC,mBAAmB,GAAG,IAAI,CAAC,+BAA+B,CAAC;IACnF,CAAC;IAED;;;;;;;;OAQG;IACa,oBAAoB,CAChC,YAAqC,IAAI,EACzC,OAAmG,EACnG,gBAAwE;QAExE,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,CAAC,EAAE,SAAS,IAAI,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,IAAI,OAAO,CAAC,cAAc,CAAC,CAAC;QAElI,IAAI,KAAK,EAAE,CAAC;YACR,IAAI,gBAAgB,EAAE,CAAC;gBACnB,gBAAgB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAClC,CAAC;QACL,CAAC;QAED,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,EAAE,CAAC;YACpD,KAAK,CAAC,oBAAoB,CAAC,KAAK,EAAE,OAAO,EAAE,gBAAgB,CAAC,CAAC;QACjE,CAAC;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;CACJ;AA2CD,IAAI,CAAC,SAAS,CAAC,uBAAuB,GAAG,UAAU,IAAY,EAAE,MAAc;IAC3E,sBAAsB;IACtB,IAAI,CAAC,4BAA4B,EAAE,aAAa,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC;IAElE,mDAAmD;IACnD,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACzB,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;QAE3B,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACpC,QAAQ,CAAC,gBAAgB,GAAG,EAAE,CAAC;QACnC,CAAC;IACL,CAAC;IAED,IAAI,CAAC,IAAI,CAAC,4BAA4B,EAAE,CAAC;QACrC,IAAI,CAAC,4BAA4B,GAAG;YAChC,IAAI,EAAE,EAAE;YACR,aAAa,EAAE,EAAE;YACjB,OAAO,EAAE,EAAE;YACX,KAAK,EAAE,EAAE;YACT,kBAAkB,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS;SACpF,CAAC;IACN,CAAC;IAED,0CAA0C;IAC1C,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAEnC,IAAI,CAAC,4BAA4B,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;IACzD,IAAI,CAAC,4BAA4B,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,GAAG,EAAE,CAAC,CAAC,eAAe;IAC5E,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,4BAA4B,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/G,IAAI,CAAC,4BAA4B,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IAE1K,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;QACpC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC3C,CAAC;IAED,IAAI,CAAC,oCAAoC,EAAE,CAAC;IAE5C,IAAI,CAAC,+BAA+B,EAAE,CAAC;AAC3C,CAAC,CAAC;AAEF,IAAI,CAAC,SAAS,CAAC,wBAAwB,GAAG,UAAU,gBAA2C,EAAE,UAAmB;IAChH,MAAM,aAAa,GAAG,gBAAgB,CAAC,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAErE,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACvC,IAAI,IAAI,GAAG,IAAI,CAAC,4BAA4B,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACzD,MAAM,MAAM,GAAG,IAAI,CAAC,4BAA4B,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAE/D,qBAAqB;QACrB,MAAM,YAAY,GAAG,CAAC,aAAa,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC;QAElD,OAAO,IAAI,GAAG,YAAY,EAAE,CAAC;YACzB,IAAI,IAAI,CAAC,CAAC;QACd,CAAC;QAED,IAAI,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC;YAC9D,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC;YACtE,IAAI,CAAC,4BAA4B,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;YACrD,IAAI,IAAI,CAAC,4BAA4B,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;gBACxD,IAAI,CAAC,4BAA4B,CAAC,aAAa,CAAC,IAAI,CAAE,CAAC,OAAO,EAAE,CAAC;gBACjE,IAAI,CAAC,4BAA4B,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;YACjE,CAAC;QACL,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE1D,qBAAqB;QACrB,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,IAAI,UAAU,EAAE,CAAC;YACb,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;YAE1C,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;gBAChB,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAChC,CAAC;iBAAM,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;gBAC3B,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YACpC,CAAC;iBAAM,CAAC;gBACJ,IAAI,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC;YACzB,CAAC;YAED,MAAM,IAAI,MAAM,CAAC;QACrB,CAAC;QAED,KAAK,IAAI,aAAa,GAAG,CAAC,EAAE,aAAa,GAAG,aAAa,EAAE,aAAa,EAAE,EAAE,CAAC;YACzE,MAAM,QAAQ,GAAG,gBAAiB,CAAC,aAAa,CAAE,CAAC;YAEnD,MAAM,KAAK,GAAG,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;YAE9C,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;gBAChB,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAChC,CAAC;iBAAM,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;gBAC3B,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YACpC,CAAC;iBAAM,CAAC;gBACJ,IAAI,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC;YACzB,CAAC;YAED,MAAM,IAAI,MAAM,CAAC;QACrB,CAAC;QAED,uBAAuB;QACvB,IAAI,CAAC,IAAI,CAAC,4BAA4B,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;YACzD,IAAI,CAAC,4BAA4B,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,IAAI,YAAY,CACpE,IAAI,CAAC,SAAS,EAAE,EAChB,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC,EAC5C,IAAI,EACJ,IAAI,EACJ,KAAK,EACL,MAAM,EACN,IAAI,CACP,CAAC;YACF,IAAI,CAAC,oCAAoC,EAAE,CAAC;QAChD,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,4BAA4B,CAAC,aAAa,CAAC,IAAI,CAAE,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACnF,CAAC;IACL,CAAC;AACL,CAAC,CAAC;AAEF,IAAI,CAAC,SAAS,CAAC,oCAAoC,GAAG;IAClD,IAAI,CAAC,IAAI,CAAC,4BAA4B,IAAI,IAAI,CAAC,4BAA4B,CAAC,kBAAkB,KAAK,SAAS,EAAE,CAAC;QAC3G,OAAO;IACX,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,4BAA4B,CAAC,kBAAkB,EAAE,CAAC;QACrE,IAAI,CAAC,SAAS,EAAiB,CAAC,wBAAwB,CAAC,IAAI,CAAC,4BAA4B,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC;IAC1H,CAAC;IAED,IAAI,CAAC,4BAA4B,CAAC,kBAAkB,GAAG,EAAE,CAAC;AAC9D,CAAC,CAAC;AAEF,IAAI,CAAC,SAAS,CAAC,4BAA4B,GAAG;IAC1C,IAAI,IAAI,CAAC,oBAAoB,CAAC,eAAe,EAAE,CAAC;QAC5C,IAAI,CAAC,oBAAoB,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC;QACpD,IAAI,CAAC,oBAAoB,CAAC,eAAe,GAAG,IAAI,CAAC;IACrD,CAAC;IAED,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;IAChC,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACvC,IAAI,IAAI,CAAC,4BAA4B,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;YACxD,IAAI,CAAC,4BAA4B,CAAC,aAAa,CAAC,IAAI,CAAE,CAAC,OAAO,EAAE,CAAC;QACrE,CAAC;IACL,CAAC;IAED,IAAI,CAAC,oCAAoC,EAAE,CAAC;IAE5C,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;AAC/B,CAAC,CAAC;AAEF,sBAAsB;AACtB,aAAa,CAAC,uBAAuB,EAAE,aAAa,CAAC,CAAC","sourcesContent":["import type { Nullable, FloatArray, IndicesArray } from \"../types\";\r\nimport type { Vector3 } from \"../Maths/math.vector\";\r\nimport { Matrix, TmpVectors } from \"../Maths/math.vector\";\r\nimport { Logger } from \"../Misc/logger\";\r\nimport type { Camera } from \"../Cameras/camera\";\r\nimport type { Node } from \"../node\";\r\nimport type { IMeshDataOptions } from \"../Meshes/abstractMesh\";\r\nimport { AbstractMesh } from \"../Meshes/abstractMesh\";\r\nimport { Mesh } from \"../Meshes/mesh\";\r\nimport type { Material } from \"../Materials/material\";\r\nimport type { Skeleton } from \"../Bones/skeleton\";\r\nimport { DeepCopier } from \"../Misc/deepCopier\";\r\nimport { TransformNode } from \"./transformNode\";\r\nimport type { Light } from \"../Lights/light\";\r\nimport { VertexBuffer } from \"../Buffers/buffer\";\r\nimport { Tools } from \"../Misc/tools\";\r\nimport type { ThinEngine } from \"../Engines/thinEngine\";\r\nimport { RegisterClass } from \"../Misc/typeStore\";\r\nimport type { Geometry } from \"./geometry\";\r\n\r\nMesh._instancedMeshFactory = (name: string, mesh: Mesh): InstancedMesh => {\r\n const instance = new InstancedMesh(name, mesh);\r\n\r\n if (mesh.instancedBuffers) {\r\n instance.instancedBuffers = {};\r\n\r\n for (const key in mesh.instancedBuffers) {\r\n instance.instancedBuffers[key] = mesh.instancedBuffers[key];\r\n }\r\n }\r\n\r\n return instance;\r\n};\r\n\r\n/**\r\n * Creates an instance based on a source mesh.\r\n */\r\nexport class InstancedMesh extends AbstractMesh {\r\n private _sourceMesh: Mesh;\r\n private _currentLOD: Mesh;\r\n private _billboardWorldMatrix: Matrix;\r\n\r\n /** @internal */\r\n public _indexInSourceMeshInstanceArray = -1;\r\n /** @internal */\r\n public _distanceToCamera: number = 0;\r\n /** @internal */\r\n public _previousWorldMatrix: Nullable<Matrix>;\r\n\r\n /**\r\n * Creates a new InstancedMesh object from the mesh source.\r\n * @param name defines the name of the instance\r\n * @param source the mesh to create the instance from\r\n */\r\n constructor(name: string, source: Mesh) {\r\n super(name, source.getScene());\r\n\r\n source.addInstance(this);\r\n\r\n this._sourceMesh = source;\r\n\r\n this._unIndexed = source._unIndexed;\r\n\r\n this.position.copyFrom(source.position);\r\n this.rotation.copyFrom(source.rotation);\r\n this.scaling.copyFrom(source.scaling);\r\n\r\n if (source.rotationQuaternion) {\r\n this.rotationQuaternion = source.rotationQuaternion.clone();\r\n }\r\n\r\n this.animations = source.animations.slice();\r\n for (const range of source.getAnimationRanges()) {\r\n if (range != null) {\r\n this.createAnimationRange(range.name, range.from, range.to);\r\n }\r\n }\r\n\r\n this.infiniteDistance = source.infiniteDistance;\r\n\r\n this.setPivotMatrix(source.getPivotMatrix());\r\n\r\n this.refreshBoundingInfo(true, true);\r\n this._syncSubMeshes();\r\n }\r\n\r\n /**\r\n * @returns the string \"InstancedMesh\".\r\n */\r\n public override getClassName(): string {\r\n return \"InstancedMesh\";\r\n }\r\n\r\n /** Gets the list of lights affecting that mesh */\r\n public override get lightSources(): Light[] {\r\n return this._sourceMesh._lightSources;\r\n }\r\n\r\n public override _resyncLightSources(): void {\r\n // Do nothing as all the work will be done by source mesh\r\n }\r\n\r\n public override _resyncLightSource(): void {\r\n // Do nothing as all the work will be done by source mesh\r\n }\r\n\r\n public override _removeLightSource(): void {\r\n // Do nothing as all the work will be done by source mesh\r\n }\r\n\r\n // Methods\r\n /**\r\n * If the source mesh receives shadows\r\n */\r\n public override get receiveShadows(): boolean {\r\n return this._sourceMesh.receiveShadows;\r\n }\r\n\r\n public override set receiveShadows(_value: boolean) {\r\n if (this._sourceMesh?.receiveShadows !== _value) {\r\n Tools.Warn(\"Setting receiveShadows on an instanced mesh has no effect\");\r\n }\r\n }\r\n\r\n /**\r\n * The material of the source mesh\r\n */\r\n public override get material(): Nullable<Material> {\r\n return this._sourceMesh.material;\r\n }\r\n\r\n public override set material(_value: Nullable<Material>) {\r\n if (this._sourceMesh?.material !== _value) {\r\n Tools.Warn(\"Setting material on an instanced mesh has no effect\");\r\n }\r\n }\r\n\r\n /**\r\n * Visibility of the source mesh\r\n */\r\n public override get visibility(): number {\r\n return this._sourceMesh.visibility;\r\n }\r\n\r\n public override set visibility(_value: number) {\r\n if (this._sourceMesh?.visibility !== _value) {\r\n Tools.Warn(\"Setting visibility on an instanced mesh has no effect\");\r\n }\r\n }\r\n\r\n /**\r\n * Skeleton of the source mesh\r\n */\r\n public override get skeleton(): Nullable<Skeleton> {\r\n return this._sourceMesh.skeleton;\r\n }\r\n\r\n public override set skeleton(_value: Nullable<Skeleton>) {\r\n if (this._sourceMesh?.skeleton !== _value) {\r\n Tools.Warn(\"Setting skeleton on an instanced mesh has no effect\");\r\n }\r\n }\r\n\r\n /**\r\n * Rendering ground id of the source mesh\r\n */\r\n public override get renderingGroupId(): number {\r\n return this._sourceMesh.renderingGroupId;\r\n }\r\n\r\n public override set renderingGroupId(value: number) {\r\n if (!this._sourceMesh || value === this._sourceMesh.renderingGroupId) {\r\n return;\r\n }\r\n\r\n //no-op with warning\r\n Logger.Warn(\"Note - setting renderingGroupId of an instanced mesh has no effect on the scene\");\r\n }\r\n\r\n /**\r\n * @returns the total number of vertices (integer).\r\n */\r\n public override getTotalVertices(): number {\r\n return this._sourceMesh ? this._sourceMesh.getTotalVertices() : 0;\r\n }\r\n\r\n /**\r\n * Returns a positive integer : the total number of indices in this mesh geometry.\r\n * @returns the number of indices or zero if the mesh has no geometry.\r\n */\r\n public override getTotalIndices(): number {\r\n return this._sourceMesh.getTotalIndices();\r\n }\r\n\r\n /**\r\n * The source mesh of the instance\r\n */\r\n public get sourceMesh(): Mesh {\r\n return this._sourceMesh;\r\n }\r\n\r\n /**\r\n * Gets the mesh internal Geometry object\r\n */\r\n public get geometry(): Nullable<Geometry> {\r\n return this._sourceMesh._geometry;\r\n }\r\n\r\n /**\r\n * Creates a new InstancedMesh object from the mesh model.\r\n * @see https://doc.babylonjs.com/features/featuresDeepDive/mesh/copies/instances\r\n * @param name defines the name of the new instance\r\n * @returns a new InstancedMesh\r\n */\r\n public createInstance(name: string): InstancedMesh {\r\n return this._sourceMesh.createInstance(name);\r\n }\r\n\r\n /**\r\n * Is this node ready to be used/rendered\r\n * @param completeCheck defines if a complete check (including materials and lights) has to be done (false by default)\r\n * @returns {boolean} is it ready\r\n */\r\n public override isReady(completeCheck = false): boolean {\r\n return this._sourceMesh.isReady(completeCheck, true);\r\n }\r\n\r\n /**\r\n * Returns an array of integers or a typed array (Int32Array, Uint32Array, Uint16Array) populated with the mesh indices.\r\n * @param kind kind of verticies to retrieve (eg. positions, normals, uvs, etc.)\r\n * @param copyWhenShared If true (default false) and and if the mesh geometry is shared among some other meshes, the returned array is a copy of the internal one.\r\n * @param forceCopy defines a boolean forcing the copy of the buffer no matter what the value of copyWhenShared is\r\n * @returns a float array or a Float32Array of the requested kind of data : positions, normals, uvs, etc.\r\n */\r\n public override getVerticesData(kind: string, copyWhenShared?: boolean, forceCopy?: boolean): Nullable<FloatArray> {\r\n return this._sourceMesh.getVerticesData(kind, copyWhenShared, forceCopy);\r\n }\r\n\r\n public override copyVerticesData(kind: string, vertexData: { [kind: string]: Float32Array }): void {\r\n this._sourceMesh.copyVerticesData(kind, vertexData);\r\n }\r\n\r\n /**\r\n * Sets the vertex data of the mesh geometry for the requested `kind`.\r\n * If the mesh has no geometry, a new Geometry object is set to the mesh and then passed this vertex data.\r\n * The `data` are either a numeric array either a Float32Array.\r\n * The parameter `updatable` is passed as is to the underlying Geometry object constructor (if initially none) or updater.\r\n * The parameter `stride` is an optional positive integer, it is usually automatically deducted from the `kind` (3 for positions or normals, 2 for UV, etc).\r\n * Note that a new underlying VertexBuffer object is created each call.\r\n * If the `kind` is the `PositionKind`, the mesh BoundingInfo is renewed, so the bounding box and sphere, and the mesh World Matrix is recomputed.\r\n *\r\n * Possible `kind` values :\r\n * - VertexBuffer.PositionKind\r\n * - VertexBuffer.UVKind\r\n * - VertexBuffer.UV2Kind\r\n * - VertexBuffer.UV3Kind\r\n * - VertexBuffer.UV4Kind\r\n * - VertexBuffer.UV5Kind\r\n * - VertexBuffer.UV6Kind\r\n * - VertexBuffer.ColorKind\r\n * - VertexBuffer.MatricesIndicesKind\r\n * - VertexBuffer.MatricesIndicesExtraKind\r\n * - VertexBuffer.MatricesWeightsKind\r\n * - VertexBuffer.MatricesWeightsExtraKind\r\n *\r\n * Returns the Mesh.\r\n * @param kind defines vertex data kind\r\n * @param data defines the data source\r\n * @param updatable defines if the data must be flagged as updatable (false as default)\r\n * @param stride defines the vertex stride (optional)\r\n * @returns the current mesh\r\n */\r\n public override setVerticesData(kind: string, data: FloatArray, updatable?: boolean, stride?: number): AbstractMesh {\r\n if (this.sourceMesh) {\r\n this.sourceMesh.setVerticesData(kind, data, updatable, stride);\r\n }\r\n return this.sourceMesh;\r\n }\r\n\r\n /**\r\n * Updates the existing vertex data of the mesh geometry for the requested `kind`.\r\n * If the mesh has no geometry, it is simply returned as it is.\r\n * The `data` are either a numeric array either a Float32Array.\r\n * No new underlying VertexBuffer object is created.\r\n * If the `kind` is the `PositionKind` and if `updateExtends` is true, the mesh BoundingInfo is renewed, so the bounding box and sphere, and the mesh World Matrix is recomputed.\r\n * If the parameter `makeItUnique` is true, a new global geometry is created from this positions and is set to the mesh.\r\n *\r\n * Possible `kind` values :\r\n * - VertexBuffer.PositionKind\r\n * - VertexBuffer.UVKind\r\n * - VertexBuffer.UV2Kind\r\n * - VertexBuffer.UV3Kind\r\n * - VertexBuffer.UV4Kind\r\n * - VertexBuffer.UV5Kind\r\n * - VertexBuffer.UV6Kind\r\n * - VertexBuffer.ColorKind\r\n * - VertexBuffer.MatricesIndicesKind\r\n * - VertexBuffer.MatricesIndicesExtraKind\r\n * - VertexBuffer.MatricesWeightsKind\r\n * - VertexBuffer.MatricesWeightsExtraKind\r\n *\r\n * Returns the Mesh.\r\n * @param kind defines vertex data kind\r\n * @param data defines the data source\r\n * @param updateExtends defines if extends info of the mesh must be updated (can be null). This is mostly useful for \"position\" kind\r\n * @param makeItUnique defines it the updated vertex buffer must be flagged as unique (false by default)\r\n * @returns the source mesh\r\n */\r\n public override updateVerticesData(kind: string, data: FloatArray, updateExtends?: boolean, makeItUnique?: boolean): Mesh {\r\n if (this.sourceMesh) {\r\n this.sourceMesh.updateVerticesData(kind, data, updateExtends, makeItUnique);\r\n }\r\n return this.sourceMesh;\r\n }\r\n\r\n /**\r\n * Sets the mesh indices.\r\n * Expects an array populated with integers or a typed array (Int32Array, Uint32Array, Uint16Array).\r\n * If the mesh has no geometry, a new Geometry object is created and set to the mesh.\r\n * This method creates a new index buffer each call.\r\n * Returns the Mesh.\r\n * @param indices the source data\r\n * @param totalVertices defines the total number of vertices referenced by indices (could be null)\r\n * @returns source mesh\r\n */\r\n public override setIndices(indices: IndicesArray, totalVertices: Nullable<number> = null): Mesh {\r\n if (this.sourceMesh) {\r\n this.sourceMesh.setIndices(indices, totalVertices);\r\n }\r\n return this.sourceMesh;\r\n }\r\n\r\n /**\r\n * Boolean : True if the mesh owns the requested kind of data.\r\n * @param kind defines which buffer to check (positions, indices, normals, etc). Possible `kind` values :\r\n * - VertexBuffer.PositionKind\r\n * - VertexBuffer.UVKind\r\n * - VertexBuffer.UV2Kind\r\n * - VertexBuffer.UV3Kind\r\n * - VertexBuffer.UV4Kind\r\n * - VertexBuffer.UV5Kind\r\n * - VertexBuffer.UV6Kind\r\n * - VertexBuffer.ColorKind\r\n * - VertexBuffer.MatricesIndicesKind\r\n * - VertexBuffer.MatricesIndicesExtraKind\r\n * - VertexBuffer.MatricesWeightsKind\r\n * - VertexBuffer.MatricesWeightsExtraKind\r\n * @returns true if data kind is present\r\n */\r\n public override isVerticesDataPresent(kind: string): boolean {\r\n return this._sourceMesh.isVerticesDataPresent(kind);\r\n }\r\n\r\n /**\r\n * @returns an array of indices (IndicesArray).\r\n */\r\n public override getIndices(): Nullable<IndicesArray> {\r\n return this._sourceMesh.getIndices();\r\n }\r\n\r\n public override get _positions(): Nullable<Vector3[]> {\r\n return this._sourceMesh._positions;\r\n }\r\n\r\n public override refreshBoundingInfo(applySkeletonOrOptions: boolean | IMeshDataOptions = false, applyMorph: boolean = false): InstancedMesh {\r\n if (this.hasBoundingInfo && this.getBoundingInfo().isLocked) {\r\n return this;\r\n }\r\n\r\n let options: IMeshDataOptions;\r\n if (typeof applySkeletonOrOptions === \"object\") {\r\n options = applySkeletonOrOptions;\r\n } else {\r\n options = {\r\n applySkeleton: applySkeletonOrOptions,\r\n applyMorph: applyMorph,\r\n };\r\n }\r\n\r\n const bias = this._sourceMesh.geometry ? this._sourceMesh.geometry.boundingBias : null;\r\n this._refreshBoundingInfo(this._sourceMesh._getData(options, null, VertexBuffer.PositionKind), bias);\r\n return this;\r\n }\r\n\r\n /** @internal */\r\n public override _preActivate(): InstancedMesh {\r\n if (this._currentLOD) {\r\n this._currentLOD._preActivate();\r\n }\r\n return this;\r\n }\r\n\r\n /**\r\n * @internal\r\n */\r\n public override _activate(renderId: number, intermediateRendering: boolean): boolean {\r\n super._activate(renderId, intermediateRendering);\r\n\r\n if (!this._sourceMesh.subMeshes) {\r\n Logger.Warn(\"Instances should only be created for meshes with geometry.\");\r\n }\r\n\r\n if (this._currentLOD) {\r\n const differentSign = this._currentLOD._getWorldMatrixDeterminant() >= 0 !== this._getWorldMatrixDeterminant() >= 0;\r\n if (differentSign) {\r\n this._internalAbstractMeshDataInfo._actAsRegularMesh = true;\r\n return true;\r\n }\r\n this._internalAbstractMeshDataInfo._actAsRegularMesh = false;\r\n\r\n this._currentLOD._registerInstanceForRenderId(this, renderId);\r\n\r\n if (intermediateRendering) {\r\n if (!this._currentLOD._internalAbstractMeshDataInfo._isActiveIntermediate) {\r\n this._currentLOD._internalAbstractMeshDataInfo._onlyForInstancesIntermediate = true;\r\n return true;\r\n }\r\n } else {\r\n if (!this._currentLOD._internalAbstractMeshDataInfo._isActive) {\r\n this._currentLOD._internalAbstractMeshDataInfo._onlyForInstances = true;\r\n return true;\r\n }\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n /** @internal */\r\n public override _postActivate(): void {\r\n if (this._sourceMesh.edgesShareWithInstances && this._sourceMesh._edgesRenderer && this._sourceMesh._edgesRenderer.isEnabled && this._sourceMesh._renderingGroup) {\r\n // we are using the edge renderer of the source mesh\r\n this._sourceMesh._renderingGroup._edgesRenderers.pushNoDuplicate(this._sourceMesh._edgesRenderer);\r\n this._sourceMesh._edgesRenderer.customInstances.push(this.getWorldMatrix());\r\n } else if (this._edgesRenderer && this._edgesRenderer.isEnabled && this._sourceMesh._renderingGroup) {\r\n // we are using the edge renderer defined for this instance\r\n this._sourceMesh._renderingGroup._edgesRenderers.push(this._edgesRenderer);\r\n }\r\n }\r\n\r\n public override getWorldMatrix(): Matrix {\r\n if (this._currentLOD && this._currentLOD.billboardMode !== TransformNode.BILLBOARDMODE_NONE && this._currentLOD._masterMesh !== this) {\r\n if (!this._billboardWorldMatrix) {\r\n this._billboardWorldMatrix = new Matrix();\r\n }\r\n const tempMaster = this._currentLOD._masterMesh;\r\n this._currentLOD._masterMesh = this;\r\n TmpVectors.Vector3[7].copyFrom(this._currentLOD.position);\r\n this._currentLOD.position.set(0, 0, 0);\r\n this._billboardWorldMatrix.copyFrom(this._currentLOD.computeWorldMatrix(true));\r\n this._currentLOD.position.copyFrom(TmpVectors.Vector3[7]);\r\n this._currentLOD._masterMesh = tempMaster;\r\n return this._billboardWorldMatrix;\r\n }\r\n\r\n return super.getWorldMatrix();\r\n }\r\n\r\n public override get isAnInstance(): boolean {\r\n return true;\r\n }\r\n\r\n /**\r\n * Returns the current associated LOD AbstractMesh.\r\n * @param camera defines the camera to use to pick the LOD level\r\n * @returns a Mesh or `null` if no LOD is associated with the AbstractMesh\r\n */\r\n public override getLOD(camera: Camera): AbstractMesh {\r\n if (!camera) {\r\n return this;\r\n }\r\n\r\n const sourceMeshLODLevels = this.sourceMesh.getLODLevels();\r\n if (!sourceMeshLODLevels || sourceMeshLODLevels.length === 0) {\r\n this._currentLOD = this.sourceMesh;\r\n } else {\r\n const boundingInfo = this.getBoundingInfo();\r\n this._currentLOD = <Mesh>this.sourceMesh.getLOD(camera, boundingInfo.boundingSphere);\r\n }\r\n\r\n return this._currentLOD;\r\n }\r\n\r\n /**\r\n * @internal\r\n */\r\n public override _preActivateForIntermediateRendering(renderId: number): Mesh {\r\n return <Mesh>this.sourceMesh._preActivateForIntermediateRendering(renderId);\r\n }\r\n\r\n /** @internal */\r\n public _syncSubMeshes(): InstancedMesh {\r\n this.releaseSubMeshes();\r\n if (this._sourceMesh.subMeshes) {\r\n for (let index = 0; index < this._sourceMesh.subMeshes.length; index++) {\r\n this._sourceMesh.subMeshes[index].clone(this, this._sourceMesh);\r\n }\r\n }\r\n return this;\r\n }\r\n\r\n /** @internal */\r\n public override _generatePointsArray(): boolean {\r\n return this._sourceMesh._generatePointsArray();\r\n }\r\n\r\n /** @internal */\r\n public override _updateBoundingInfo(): AbstractMesh {\r\n if (this.hasBoundingInfo) {\r\n this.getBoundingInfo().update(this.worldMatrixFromCache);\r\n } else {\r\n this.buildBoundingInfo(this.absolutePosition, this.absolutePosition, this.worldMatrixFromCache);\r\n }\r\n this._updateSubMeshesBoundingInfo(this.worldMatrixFromCache);\r\n return this;\r\n }\r\n\r\n /**\r\n * Creates a new InstancedMesh from the current mesh.\r\n *\r\n * Returns the clone.\r\n * @param name the cloned mesh name\r\n * @param newParent the optional Node to parent the clone to.\r\n * @param doNotCloneChildren if `true` the model children aren't cloned.\r\n * @param newSourceMesh if set this mesh will be used as the source mesh instead of ths instance's one\r\n * @returns the clone\r\n */\r\n public override clone(name: string, newParent: Nullable<Node> = null, doNotCloneChildren?: boolean, newSourceMesh?: Mesh): InstancedMesh {\r\n const result = (newSourceMesh || this._sourceMesh).createInstance(name);\r\n\r\n // Deep copy\r\n DeepCopier.DeepCopy(\r\n this,\r\n result,\r\n [\r\n \"name\",\r\n \"subMeshes\",\r\n \"uniqueId\",\r\n \"parent\",\r\n \"lightSources\",\r\n \"receiveShadows\",\r\n \"material\",\r\n \"visibility\",\r\n \"skeleton\",\r\n \"sourceMesh\",\r\n \"isAnInstance\",\r\n \"facetNb\",\r\n \"isFacetDataEnabled\",\r\n \"isBlocked\",\r\n \"useBones\",\r\n \"hasInstances\",\r\n \"collider\",\r\n \"edgesRenderer\",\r\n \"forward\",\r\n \"up\",\r\n \"right\",\r\n \"absolutePosition\",\r\n \"absoluteScaling\",\r\n \"absoluteRotationQuaternion\",\r\n \"isWorldMatrixFrozen\",\r\n \"nonUniformScaling\",\r\n \"behaviors\",\r\n \"worldMatrixFromCache\",\r\n \"hasThinInstances\",\r\n \"hasBoundingInfo\",\r\n \"geometry\",\r\n ],\r\n []\r\n );\r\n\r\n // Bounding info\r\n this.refreshBoundingInfo();\r\n\r\n // Parent\r\n if (newParent) {\r\n result.parent = newParent;\r\n }\r\n\r\n if (!doNotCloneChildren) {\r\n // Children\r\n for (let index = 0; index < this.getScene().meshes.length; index++) {\r\n const mesh = this.getScene().meshes[index];\r\n\r\n if (mesh.parent === this) {\r\n mesh.clone(mesh.name, result);\r\n }\r\n }\r\n }\r\n\r\n result.computeWorldMatrix(true);\r\n\r\n this.onClonedObservable.notifyObservers(result);\r\n\r\n return result;\r\n }\r\n\r\n /**\r\n * Disposes the InstancedMesh.\r\n * Returns nothing.\r\n * @param doNotRecurse Set to true to not recurse into each children (recurse into each children by default)\r\n * @param disposeMaterialAndTextures Set to true to also dispose referenced materials and textures (false by default)\r\n */\r\n public override dispose(doNotRecurse?: boolean, disposeMaterialAndTextures = false): void {\r\n // Remove from mesh\r\n this._sourceMesh.removeInstance(this);\r\n super.dispose(doNotRecurse, disposeMaterialAndTextures);\r\n }\r\n\r\n /**\r\n * @internal\r\n */\r\n public override _serializeAsParent(serializationObject: any) {\r\n super._serializeAsParent(serializationObject);\r\n\r\n serializationObject.parentId = this._sourceMesh.uniqueId;\r\n serializationObject.parentInstanceIndex = this._indexInSourceMeshInstanceArray;\r\n }\r\n\r\n /**\r\n * Instantiate (when possible) or clone that node with its hierarchy\r\n * @param newParent defines the new parent to use for the instance (or clone)\r\n * @param options defines options to configure how copy is done\r\n * @param options.doNotInstantiate defines if the model must be instantiated or just cloned\r\n * @param options.newSourcedMesh newSourcedMesh the new source mesh for the instance (or clone)\r\n * @param onNewNodeCreated defines an option callback to call when a clone or an instance is created\r\n * @returns an instance (or a clone) of the current node with its hierarchy\r\n */\r\n public override instantiateHierarchy(\r\n newParent: Nullable<TransformNode> = null,\r\n options?: { doNotInstantiate: boolean | ((node: TransformNode) => boolean); newSourcedMesh?: Mesh },\r\n onNewNodeCreated?: (source: TransformNode, clone: TransformNode) => void\r\n ): Nullable<TransformNode> {\r\n const clone = this.clone(\"Clone of \" + (this.name || this.id), newParent || this.parent, true, options && options.newSourcedMesh);\r\n\r\n if (clone) {\r\n if (onNewNodeCreated) {\r\n onNewNodeCreated(this, clone);\r\n }\r\n }\r\n\r\n for (const child of this.getChildTransformNodes(true)) {\r\n child.instantiateHierarchy(clone, options, onNewNodeCreated);\r\n }\r\n\r\n return clone;\r\n }\r\n}\r\n\r\ndeclare module \"./mesh\" {\r\n export interface Mesh {\r\n /**\r\n * Register a custom buffer that will be instanced\r\n * @see https://doc.babylonjs.com/features/featuresDeepDive/mesh/copies/instances#custom-buffers\r\n * @param kind defines the buffer kind\r\n * @param stride defines the stride in floats\r\n */\r\n registerInstancedBuffer(kind: string, stride: number): void;\r\n\r\n /**\r\n * Invalidate VertexArrayObjects belonging to the mesh (but not to the Geometry of the mesh).\r\n */\r\n _invalidateInstanceVertexArrayObject(): void;\r\n\r\n /**\r\n * true to use the edge renderer for all instances of this mesh\r\n */\r\n edgesShareWithInstances: boolean;\r\n\r\n /** @internal */\r\n _userInstancedBuffersStorage: {\r\n data: { [key: string]: Float32Array };\r\n sizes: { [key: string]: number };\r\n vertexBuffers: { [key: string]: Nullable<VertexBuffer> };\r\n strides: { [key: string]: number };\r\n vertexArrayObjects?: { [key: string]: WebGLVertexArrayObject };\r\n };\r\n }\r\n}\r\n\r\ndeclare module \"./abstractMesh\" {\r\n export interface AbstractMesh {\r\n /**\r\n * Object used to store instanced buffers defined by user\r\n * @see https://doc.babylonjs.com/features/featuresDeepDive/mesh/copies/instances#custom-buffers\r\n */\r\n instancedBuffers: { [key: string]: any };\r\n }\r\n}\r\n\r\nMesh.prototype.registerInstancedBuffer = function (kind: string, stride: number): void {\r\n // Remove existing one\r\n this._userInstancedBuffersStorage?.vertexBuffers[kind]?.dispose();\r\n\r\n // Creates the instancedBuffer field if not present\r\n if (!this.instancedBuffers) {\r\n this.instancedBuffers = {};\r\n\r\n for (const instance of this.instances) {\r\n instance.instancedBuffers = {};\r\n }\r\n }\r\n\r\n if (!this._userInstancedBuffersStorage) {\r\n this._userInstancedBuffersStorage = {\r\n data: {},\r\n vertexBuffers: {},\r\n strides: {},\r\n sizes: {},\r\n vertexArrayObjects: this.getEngine().getCaps().vertexArrayObject ? {} : undefined,\r\n };\r\n }\r\n\r\n // Creates an empty property for this kind\r\n this.instancedBuffers[kind] = null;\r\n\r\n this._userInstancedBuffersStorage.strides[kind] = stride;\r\n this._userInstancedBuffersStorage.sizes[kind] = stride * 32; // Initial size\r\n this._userInstancedBuffersStorage.data[kind] = new Float32Array(this._userInstancedBuffersStorage.sizes[kind]);\r\n this._userInstancedBuffersStorage.vertexBuffers[kind] = new VertexBuffer(this.getEngine(), this._userInstancedBuffersStorage.data[kind], kind, true, false, stride, true);\r\n\r\n for (const instance of this.instances) {\r\n instance.instancedBuffers[kind] = null;\r\n }\r\n\r\n this._invalidateInstanceVertexArrayObject();\r\n\r\n this._markSubMeshesAsAttributesDirty();\r\n};\r\n\r\nMesh.prototype._processInstancedBuffers = function (visibleInstances: Nullable<InstancedMesh[]>, renderSelf: boolean) {\r\n const instanceCount = visibleInstances ? visibleInstances.length : 0;\r\n\r\n for (const kind in this.instancedBuffers) {\r\n let size = this._userInstancedBuffersStorage.sizes[kind];\r\n const stride = this._userInstancedBuffersStorage.strides[kind];\r\n\r\n // Resize if required\r\n const expectedSize = (instanceCount + 1) * stride;\r\n\r\n while (size < expectedSize) {\r\n size *= 2;\r\n }\r\n\r\n if (this._userInstancedBuffersStorage.data[kind].length != size) {\r\n this._userInstancedBuffersStorage.data[kind] = new Float32Array(size);\r\n this._userInstancedBuffersStorage.sizes[kind] = size;\r\n if (this._userInstancedBuffersStorage.vertexBuffers[kind]) {\r\n this._userInstancedBuffersStorage.vertexBuffers[kind]!.dispose();\r\n this._userInstancedBuffersStorage.vertexBuffers[kind] = null;\r\n }\r\n }\r\n\r\n const data = this._userInstancedBuffersStorage.data[kind];\r\n\r\n // Update data buffer\r\n let offset = 0;\r\n if (renderSelf) {\r\n const value = this.instancedBuffers[kind];\r\n\r\n if (value.toArray) {\r\n value.toArray(data, offset);\r\n } else if (value.copyToArray) {\r\n value.copyToArray(data, offset);\r\n } else {\r\n data[offset] = value;\r\n }\r\n\r\n offset += stride;\r\n }\r\n\r\n for (let instanceIndex = 0; instanceIndex < instanceCount; instanceIndex++) {\r\n const instance = visibleInstances![instanceIndex]!;\r\n\r\n const value = instance.instancedBuffers[kind];\r\n\r\n if (value.toArray) {\r\n value.toArray(data, offset);\r\n } else if (value.copyToArray) {\r\n value.copyToArray(data, offset);\r\n } else {\r\n data[offset] = value;\r\n }\r\n\r\n offset += stride;\r\n }\r\n\r\n // Update vertex buffer\r\n if (!this._userInstancedBuffersStorage.vertexBuffers[kind]) {\r\n this._userInstancedBuffersStorage.vertexBuffers[kind] = new VertexBuffer(\r\n this.getEngine(),\r\n this._userInstancedBuffersStorage.data[kind],\r\n kind,\r\n true,\r\n false,\r\n stride,\r\n true\r\n );\r\n this._invalidateInstanceVertexArrayObject();\r\n } else {\r\n this._userInstancedBuffersStorage.vertexBuffers[kind]!.updateDirectly(data, 0);\r\n }\r\n }\r\n};\r\n\r\nMesh.prototype._invalidateInstanceVertexArrayObject = function () {\r\n if (!this._userInstancedBuffersStorage || this._userInstancedBuffersStorage.vertexArrayObjects === undefined) {\r\n return;\r\n }\r\n\r\n for (const kind in this._userInstancedBuffersStorage.vertexArrayObjects) {\r\n (this.getEngine() as ThinEngine).releaseVertexArrayObject(this._userInstancedBuffersStorage.vertexArrayObjects[kind]);\r\n }\r\n\r\n this._userInstancedBuffersStorage.vertexArrayObjects = {};\r\n};\r\n\r\nMesh.prototype._disposeInstanceSpecificData = function () {\r\n if (this._instanceDataStorage.instancesBuffer) {\r\n this._instanceDataStorage.instancesBuffer.dispose();\r\n this._instanceDataStorage.instancesBuffer = null;\r\n }\r\n\r\n while (this.instances.length) {\r\n this.instances[0].dispose();\r\n }\r\n\r\n for (const kind in this.instancedBuffers) {\r\n if (this._userInstancedBuffersStorage.vertexBuffers[kind]) {\r\n this._userInstancedBuffersStorage.vertexBuffers[kind]!.dispose();\r\n }\r\n }\r\n\r\n this._invalidateInstanceVertexArrayObject();\r\n\r\n this.instancedBuffers = {};\r\n};\r\n\r\n// Register Class Name\r\nRegisterClass(\"BABYLON.InstancedMesh\", InstancedMesh);\r\n"]}
1
+ {"version":3,"file":"instancedMesh.js","sourceRoot":"","sources":["../../../../dev/core/src/Meshes/instancedMesh.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Nullable, FloatArray, IndicesArray } from \"../types\";\r\nimport type { Vector3 } from \"../Maths/math.vector\";\r\nimport { Matrix, TmpVectors } from \"../Maths/math.vector\";\r\nimport { Logger } from \"../Misc/logger\";\r\nimport type { Camera } from \"../Cameras/camera\";\r\nimport type { Node } from \"../node\";\r\nimport type { IMeshDataOptions } from \"../Meshes/abstractMesh\";\r\nimport { AbstractMesh } from \"../Meshes/abstractMesh\";\r\nimport { Mesh } from \"../Meshes/mesh\";\r\nimport type { Material } from \"../Materials/material\";\r\nimport type { Skeleton } from \"../Bones/skeleton\";\r\nimport { DeepCopier } from \"../Misc/deepCopier\";\r\nimport { TransformNode } from \"./transformNode\";\r\nimport type { Light } from \"../Lights/light\";\r\nimport { VertexBuffer } from \"../Buffers/buffer\";\r\nimport { Tools } from \"../Misc/tools\";\r\nimport type { ThinEngine } from \"../Engines/thinEngine\";\r\nimport { RegisterClass } from \"../Misc/typeStore\";\r\nimport type { Geometry } from \"./geometry\";\r\n\r\nMesh._instancedMeshFactory = (name: string, mesh: Mesh): InstancedMesh => {\r\n const instance = new InstancedMesh(name, mesh);\r\n\r\n if (mesh.instancedBuffers) {\r\n instance.instancedBuffers = {};\r\n\r\n for (const key in mesh.instancedBuffers) {\r\n instance.instancedBuffers[key] = mesh.instancedBuffers[key];\r\n }\r\n }\r\n\r\n return instance;\r\n};\r\n\r\n/**\r\n * Creates an instance based on a source mesh.\r\n */\r\nexport class InstancedMesh extends AbstractMesh {\r\n private _sourceMesh: Mesh;\r\n private _currentLOD: Mesh;\r\n private _billboardWorldMatrix: Matrix;\r\n\r\n /** @internal */\r\n public _indexInSourceMeshInstanceArray = -1;\r\n /** @internal */\r\n public _distanceToCamera: number = 0;\r\n /** @internal */\r\n public _previousWorldMatrix: Nullable<Matrix>;\r\n\r\n /**\r\n * Creates a new InstancedMesh object from the mesh source.\r\n * @param name defines the name of the instance\r\n * @param source the mesh to create the instance from\r\n */\r\n constructor(name: string, source: Mesh) {\r\n super(name, source.getScene());\r\n\r\n source.addInstance(this);\r\n\r\n this._sourceMesh = source;\r\n\r\n this._unIndexed = source._unIndexed;\r\n\r\n this.position.copyFrom(source.position);\r\n this.rotation.copyFrom(source.rotation);\r\n this.scaling.copyFrom(source.scaling);\r\n\r\n if (source.rotationQuaternion) {\r\n this.rotationQuaternion = source.rotationQuaternion.clone();\r\n }\r\n\r\n this.animations = source.animations.slice();\r\n for (const range of source.getAnimationRanges()) {\r\n if (range != null) {\r\n this.createAnimationRange(range.name, range.from, range.to);\r\n }\r\n }\r\n\r\n this.infiniteDistance = source.infiniteDistance;\r\n\r\n this.setPivotMatrix(source.getPivotMatrix());\r\n\r\n this.refreshBoundingInfo(true, true);\r\n this._syncSubMeshes();\r\n }\r\n\r\n /**\r\n * @returns the string \"InstancedMesh\".\r\n */\r\n public override getClassName(): string {\r\n return \"InstancedMesh\";\r\n }\r\n\r\n /** Gets the list of lights affecting that mesh */\r\n public override get lightSources(): Light[] {\r\n return this._sourceMesh._lightSources;\r\n }\r\n\r\n public override _resyncLightSources(): void {\r\n // Do nothing as all the work will be done by source mesh\r\n }\r\n\r\n public override _resyncLightSource(): void {\r\n // Do nothing as all the work will be done by source mesh\r\n }\r\n\r\n public override _removeLightSource(): void {\r\n // Do nothing as all the work will be done by source mesh\r\n }\r\n\r\n // Methods\r\n /**\r\n * If the source mesh receives shadows\r\n */\r\n public override get receiveShadows(): boolean {\r\n return this._sourceMesh.receiveShadows;\r\n }\r\n\r\n public override set receiveShadows(_value: boolean) {\r\n if (this._sourceMesh?.receiveShadows !== _value) {\r\n Tools.Warn(\"Setting receiveShadows on an instanced mesh has no effect\");\r\n }\r\n }\r\n\r\n /**\r\n * The material of the source mesh\r\n */\r\n public override get material(): Nullable<Material> {\r\n return this._sourceMesh.material;\r\n }\r\n\r\n public override set material(_value: Nullable<Material>) {\r\n if (this._sourceMesh?.material !== _value) {\r\n Tools.Warn(\"Setting material on an instanced mesh has no effect\");\r\n }\r\n }\r\n\r\n /**\r\n * Visibility of the source mesh\r\n */\r\n public override get visibility(): number {\r\n return this._sourceMesh.visibility;\r\n }\r\n\r\n public override set visibility(_value: number) {\r\n if (this._sourceMesh?.visibility !== _value) {\r\n Tools.Warn(\"Setting visibility on an instanced mesh has no effect\");\r\n }\r\n }\r\n\r\n /**\r\n * Skeleton of the source mesh\r\n */\r\n public override get skeleton(): Nullable<Skeleton> {\r\n return this._sourceMesh.skeleton;\r\n }\r\n\r\n public override set skeleton(_value: Nullable<Skeleton>) {\r\n if (this._sourceMesh?.skeleton !== _value) {\r\n Tools.Warn(\"Setting skeleton on an instanced mesh has no effect\");\r\n }\r\n }\r\n\r\n /**\r\n * Rendering ground id of the source mesh\r\n */\r\n public override get renderingGroupId(): number {\r\n return this._sourceMesh.renderingGroupId;\r\n }\r\n\r\n public override set renderingGroupId(value: number) {\r\n if (!this._sourceMesh || value === this._sourceMesh.renderingGroupId) {\r\n return;\r\n }\r\n\r\n //no-op with warning\r\n Logger.Warn(\"Note - setting renderingGroupId of an instanced mesh has no effect on the scene\");\r\n }\r\n\r\n /**\r\n * @returns the total number of vertices (integer).\r\n */\r\n public override getTotalVertices(): number {\r\n return this._sourceMesh ? this._sourceMesh.getTotalVertices() : 0;\r\n }\r\n\r\n /**\r\n * Returns a positive integer : the total number of indices in this mesh geometry.\r\n * @returns the number of indices or zero if the mesh has no geometry.\r\n */\r\n public override getTotalIndices(): number {\r\n return this._sourceMesh.getTotalIndices();\r\n }\r\n\r\n /**\r\n * The source mesh of the instance\r\n */\r\n public get sourceMesh(): Mesh {\r\n return this._sourceMesh;\r\n }\r\n\r\n /**\r\n * Gets the mesh internal Geometry object\r\n */\r\n public override get geometry(): Nullable<Geometry> {\r\n return this._sourceMesh._geometry;\r\n }\r\n\r\n /**\r\n * Creates a new InstancedMesh object from the mesh model.\r\n * @see https://doc.babylonjs.com/features/featuresDeepDive/mesh/copies/instances\r\n * @param name defines the name of the new instance\r\n * @returns a new InstancedMesh\r\n */\r\n public createInstance(name: string): InstancedMesh {\r\n return this._sourceMesh.createInstance(name);\r\n }\r\n\r\n /**\r\n * Is this node ready to be used/rendered\r\n * @param completeCheck defines if a complete check (including materials and lights) has to be done (false by default)\r\n * @returns {boolean} is it ready\r\n */\r\n public override isReady(completeCheck = false): boolean {\r\n return this._sourceMesh.isReady(completeCheck, true);\r\n }\r\n\r\n /**\r\n * Returns an array of integers or a typed array (Int32Array, Uint32Array, Uint16Array) populated with the mesh indices.\r\n * @param kind kind of verticies to retrieve (eg. positions, normals, uvs, etc.)\r\n * @param copyWhenShared If true (default false) and and if the mesh geometry is shared among some other meshes, the returned array is a copy of the internal one.\r\n * @param forceCopy defines a boolean forcing the copy of the buffer no matter what the value of copyWhenShared is\r\n * @returns a float array or a Float32Array of the requested kind of data : positions, normals, uvs, etc.\r\n */\r\n public override getVerticesData(kind: string, copyWhenShared?: boolean, forceCopy?: boolean): Nullable<FloatArray> {\r\n return this._sourceMesh.getVerticesData(kind, copyWhenShared, forceCopy);\r\n }\r\n\r\n public override copyVerticesData(kind: string, vertexData: { [kind: string]: Float32Array }): void {\r\n this._sourceMesh.copyVerticesData(kind, vertexData);\r\n }\r\n\r\n /**\r\n * Sets the vertex data of the mesh geometry for the requested `kind`.\r\n * If the mesh has no geometry, a new Geometry object is set to the mesh and then passed this vertex data.\r\n * The `data` are either a numeric array either a Float32Array.\r\n * The parameter `updatable` is passed as is to the underlying Geometry object constructor (if initially none) or updater.\r\n * The parameter `stride` is an optional positive integer, it is usually automatically deducted from the `kind` (3 for positions or normals, 2 for UV, etc).\r\n * Note that a new underlying VertexBuffer object is created each call.\r\n * If the `kind` is the `PositionKind`, the mesh BoundingInfo is renewed, so the bounding box and sphere, and the mesh World Matrix is recomputed.\r\n *\r\n * Possible `kind` values :\r\n * - VertexBuffer.PositionKind\r\n * - VertexBuffer.UVKind\r\n * - VertexBuffer.UV2Kind\r\n * - VertexBuffer.UV3Kind\r\n * - VertexBuffer.UV4Kind\r\n * - VertexBuffer.UV5Kind\r\n * - VertexBuffer.UV6Kind\r\n * - VertexBuffer.ColorKind\r\n * - VertexBuffer.MatricesIndicesKind\r\n * - VertexBuffer.MatricesIndicesExtraKind\r\n * - VertexBuffer.MatricesWeightsKind\r\n * - VertexBuffer.MatricesWeightsExtraKind\r\n *\r\n * Returns the Mesh.\r\n * @param kind defines vertex data kind\r\n * @param data defines the data source\r\n * @param updatable defines if the data must be flagged as updatable (false as default)\r\n * @param stride defines the vertex stride (optional)\r\n * @returns the current mesh\r\n */\r\n public override setVerticesData(kind: string, data: FloatArray, updatable?: boolean, stride?: number): AbstractMesh {\r\n if (this.sourceMesh) {\r\n this.sourceMesh.setVerticesData(kind, data, updatable, stride);\r\n }\r\n return this.sourceMesh;\r\n }\r\n\r\n /**\r\n * Updates the existing vertex data of the mesh geometry for the requested `kind`.\r\n * If the mesh has no geometry, it is simply returned as it is.\r\n * The `data` are either a numeric array either a Float32Array.\r\n * No new underlying VertexBuffer object is created.\r\n * If the `kind` is the `PositionKind` and if `updateExtends` is true, the mesh BoundingInfo is renewed, so the bounding box and sphere, and the mesh World Matrix is recomputed.\r\n * If the parameter `makeItUnique` is true, a new global geometry is created from this positions and is set to the mesh.\r\n *\r\n * Possible `kind` values :\r\n * - VertexBuffer.PositionKind\r\n * - VertexBuffer.UVKind\r\n * - VertexBuffer.UV2Kind\r\n * - VertexBuffer.UV3Kind\r\n * - VertexBuffer.UV4Kind\r\n * - VertexBuffer.UV5Kind\r\n * - VertexBuffer.UV6Kind\r\n * - VertexBuffer.ColorKind\r\n * - VertexBuffer.MatricesIndicesKind\r\n * - VertexBuffer.MatricesIndicesExtraKind\r\n * - VertexBuffer.MatricesWeightsKind\r\n * - VertexBuffer.MatricesWeightsExtraKind\r\n *\r\n * Returns the Mesh.\r\n * @param kind defines vertex data kind\r\n * @param data defines the data source\r\n * @param updateExtends defines if extends info of the mesh must be updated (can be null). This is mostly useful for \"position\" kind\r\n * @param makeItUnique defines it the updated vertex buffer must be flagged as unique (false by default)\r\n * @returns the source mesh\r\n */\r\n public override updateVerticesData(kind: string, data: FloatArray, updateExtends?: boolean, makeItUnique?: boolean): Mesh {\r\n if (this.sourceMesh) {\r\n this.sourceMesh.updateVerticesData(kind, data, updateExtends, makeItUnique);\r\n }\r\n return this.sourceMesh;\r\n }\r\n\r\n /**\r\n * Sets the mesh indices.\r\n * Expects an array populated with integers or a typed array (Int32Array, Uint32Array, Uint16Array).\r\n * If the mesh has no geometry, a new Geometry object is created and set to the mesh.\r\n * This method creates a new index buffer each call.\r\n * Returns the Mesh.\r\n * @param indices the source data\r\n * @param totalVertices defines the total number of vertices referenced by indices (could be null)\r\n * @returns source mesh\r\n */\r\n public override setIndices(indices: IndicesArray, totalVertices: Nullable<number> = null): Mesh {\r\n if (this.sourceMesh) {\r\n this.sourceMesh.setIndices(indices, totalVertices);\r\n }\r\n return this.sourceMesh;\r\n }\r\n\r\n /**\r\n * Boolean : True if the mesh owns the requested kind of data.\r\n * @param kind defines which buffer to check (positions, indices, normals, etc). Possible `kind` values :\r\n * - VertexBuffer.PositionKind\r\n * - VertexBuffer.UVKind\r\n * - VertexBuffer.UV2Kind\r\n * - VertexBuffer.UV3Kind\r\n * - VertexBuffer.UV4Kind\r\n * - VertexBuffer.UV5Kind\r\n * - VertexBuffer.UV6Kind\r\n * - VertexBuffer.ColorKind\r\n * - VertexBuffer.MatricesIndicesKind\r\n * - VertexBuffer.MatricesIndicesExtraKind\r\n * - VertexBuffer.MatricesWeightsKind\r\n * - VertexBuffer.MatricesWeightsExtraKind\r\n * @returns true if data kind is present\r\n */\r\n public override isVerticesDataPresent(kind: string): boolean {\r\n return this._sourceMesh.isVerticesDataPresent(kind);\r\n }\r\n\r\n /**\r\n * @returns an array of indices (IndicesArray).\r\n */\r\n public override getIndices(): Nullable<IndicesArray> {\r\n return this._sourceMesh.getIndices();\r\n }\r\n\r\n public override get _positions(): Nullable<Vector3[]> {\r\n return this._sourceMesh._positions;\r\n }\r\n\r\n public override refreshBoundingInfo(applySkeletonOrOptions: boolean | IMeshDataOptions = false, applyMorph: boolean = false): InstancedMesh {\r\n if (this.hasBoundingInfo && this.getBoundingInfo().isLocked) {\r\n return this;\r\n }\r\n\r\n let options: IMeshDataOptions;\r\n if (typeof applySkeletonOrOptions === \"object\") {\r\n options = applySkeletonOrOptions;\r\n } else {\r\n options = {\r\n applySkeleton: applySkeletonOrOptions,\r\n applyMorph: applyMorph,\r\n };\r\n }\r\n\r\n const bias = this._sourceMesh.geometry ? this._sourceMesh.geometry.boundingBias : null;\r\n this._refreshBoundingInfo(this._sourceMesh._getData(options, null, VertexBuffer.PositionKind), bias);\r\n return this;\r\n }\r\n\r\n /** @internal */\r\n public override _preActivate(): InstancedMesh {\r\n if (this._currentLOD) {\r\n this._currentLOD._preActivate();\r\n }\r\n return this;\r\n }\r\n\r\n /**\r\n * @internal\r\n */\r\n public override _activate(renderId: number, intermediateRendering: boolean): boolean {\r\n super._activate(renderId, intermediateRendering);\r\n\r\n if (!this._sourceMesh.subMeshes) {\r\n Logger.Warn(\"Instances should only be created for meshes with geometry.\");\r\n }\r\n\r\n if (this._currentLOD) {\r\n const differentSign = this._currentLOD._getWorldMatrixDeterminant() >= 0 !== this._getWorldMatrixDeterminant() >= 0;\r\n if (differentSign) {\r\n this._internalAbstractMeshDataInfo._actAsRegularMesh = true;\r\n return true;\r\n }\r\n this._internalAbstractMeshDataInfo._actAsRegularMesh = false;\r\n\r\n this._currentLOD._registerInstanceForRenderId(this, renderId);\r\n\r\n if (intermediateRendering) {\r\n if (!this._currentLOD._internalAbstractMeshDataInfo._isActiveIntermediate) {\r\n this._currentLOD._internalAbstractMeshDataInfo._onlyForInstancesIntermediate = true;\r\n return true;\r\n }\r\n } else {\r\n if (!this._currentLOD._internalAbstractMeshDataInfo._isActive) {\r\n this._currentLOD._internalAbstractMeshDataInfo._onlyForInstances = true;\r\n return true;\r\n }\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n /** @internal */\r\n public override _postActivate(): void {\r\n if (this._sourceMesh.edgesShareWithInstances && this._sourceMesh._edgesRenderer && this._sourceMesh._edgesRenderer.isEnabled && this._sourceMesh._renderingGroup) {\r\n // we are using the edge renderer of the source mesh\r\n this._sourceMesh._renderingGroup._edgesRenderers.pushNoDuplicate(this._sourceMesh._edgesRenderer);\r\n this._sourceMesh._edgesRenderer.customInstances.push(this.getWorldMatrix());\r\n } else if (this._edgesRenderer && this._edgesRenderer.isEnabled && this._sourceMesh._renderingGroup) {\r\n // we are using the edge renderer defined for this instance\r\n this._sourceMesh._renderingGroup._edgesRenderers.push(this._edgesRenderer);\r\n }\r\n }\r\n\r\n public override getWorldMatrix(): Matrix {\r\n if (this._currentLOD && this._currentLOD.billboardMode !== TransformNode.BILLBOARDMODE_NONE && this._currentLOD._masterMesh !== this) {\r\n if (!this._billboardWorldMatrix) {\r\n this._billboardWorldMatrix = new Matrix();\r\n }\r\n const tempMaster = this._currentLOD._masterMesh;\r\n this._currentLOD._masterMesh = this;\r\n TmpVectors.Vector3[7].copyFrom(this._currentLOD.position);\r\n this._currentLOD.position.set(0, 0, 0);\r\n this._billboardWorldMatrix.copyFrom(this._currentLOD.computeWorldMatrix(true));\r\n this._currentLOD.position.copyFrom(TmpVectors.Vector3[7]);\r\n this._currentLOD._masterMesh = tempMaster;\r\n return this._billboardWorldMatrix;\r\n }\r\n\r\n return super.getWorldMatrix();\r\n }\r\n\r\n public override get isAnInstance(): boolean {\r\n return true;\r\n }\r\n\r\n /**\r\n * Returns the current associated LOD AbstractMesh.\r\n * @param camera defines the camera to use to pick the LOD level\r\n * @returns a Mesh or `null` if no LOD is associated with the AbstractMesh\r\n */\r\n public override getLOD(camera: Camera): AbstractMesh {\r\n if (!camera) {\r\n return this;\r\n }\r\n\r\n const sourceMeshLODLevels = this.sourceMesh.getLODLevels();\r\n if (!sourceMeshLODLevels || sourceMeshLODLevels.length === 0) {\r\n this._currentLOD = this.sourceMesh;\r\n } else {\r\n const boundingInfo = this.getBoundingInfo();\r\n this._currentLOD = <Mesh>this.sourceMesh.getLOD(camera, boundingInfo.boundingSphere);\r\n }\r\n\r\n return this._currentLOD;\r\n }\r\n\r\n /**\r\n * @internal\r\n */\r\n public override _preActivateForIntermediateRendering(renderId: number): Mesh {\r\n return <Mesh>this.sourceMesh._preActivateForIntermediateRendering(renderId);\r\n }\r\n\r\n /** @internal */\r\n public _syncSubMeshes(): InstancedMesh {\r\n this.releaseSubMeshes();\r\n if (this._sourceMesh.subMeshes) {\r\n for (let index = 0; index < this._sourceMesh.subMeshes.length; index++) {\r\n this._sourceMesh.subMeshes[index].clone(this, this._sourceMesh);\r\n }\r\n }\r\n return this;\r\n }\r\n\r\n /** @internal */\r\n public override _generatePointsArray(): boolean {\r\n return this._sourceMesh._generatePointsArray();\r\n }\r\n\r\n /** @internal */\r\n public override _updateBoundingInfo(): AbstractMesh {\r\n if (this.hasBoundingInfo) {\r\n this.getBoundingInfo().update(this.worldMatrixFromCache);\r\n } else {\r\n this.buildBoundingInfo(this.absolutePosition, this.absolutePosition, this.worldMatrixFromCache);\r\n }\r\n this._updateSubMeshesBoundingInfo(this.worldMatrixFromCache);\r\n return this;\r\n }\r\n\r\n /**\r\n * Creates a new InstancedMesh from the current mesh.\r\n *\r\n * Returns the clone.\r\n * @param name the cloned mesh name\r\n * @param newParent the optional Node to parent the clone to.\r\n * @param doNotCloneChildren if `true` the model children aren't cloned.\r\n * @param newSourceMesh if set this mesh will be used as the source mesh instead of ths instance's one\r\n * @returns the clone\r\n */\r\n public override clone(name: string, newParent: Nullable<Node> = null, doNotCloneChildren?: boolean, newSourceMesh?: Mesh): InstancedMesh {\r\n const result = (newSourceMesh || this._sourceMesh).createInstance(name);\r\n\r\n // Deep copy\r\n DeepCopier.DeepCopy(\r\n this,\r\n result,\r\n [\r\n \"name\",\r\n \"subMeshes\",\r\n \"uniqueId\",\r\n \"parent\",\r\n \"lightSources\",\r\n \"receiveShadows\",\r\n \"material\",\r\n \"visibility\",\r\n \"skeleton\",\r\n \"sourceMesh\",\r\n \"isAnInstance\",\r\n \"facetNb\",\r\n \"isFacetDataEnabled\",\r\n \"isBlocked\",\r\n \"useBones\",\r\n \"hasInstances\",\r\n \"collider\",\r\n \"edgesRenderer\",\r\n \"forward\",\r\n \"up\",\r\n \"right\",\r\n \"absolutePosition\",\r\n \"absoluteScaling\",\r\n \"absoluteRotationQuaternion\",\r\n \"isWorldMatrixFrozen\",\r\n \"nonUniformScaling\",\r\n \"behaviors\",\r\n \"worldMatrixFromCache\",\r\n \"hasThinInstances\",\r\n \"hasBoundingInfo\",\r\n \"geometry\",\r\n ],\r\n []\r\n );\r\n\r\n // Bounding info\r\n this.refreshBoundingInfo();\r\n\r\n // Parent\r\n if (newParent) {\r\n result.parent = newParent;\r\n }\r\n\r\n if (!doNotCloneChildren) {\r\n // Children\r\n for (let index = 0; index < this.getScene().meshes.length; index++) {\r\n const mesh = this.getScene().meshes[index];\r\n\r\n if (mesh.parent === this) {\r\n mesh.clone(mesh.name, result);\r\n }\r\n }\r\n }\r\n\r\n result.computeWorldMatrix(true);\r\n\r\n this.onClonedObservable.notifyObservers(result);\r\n\r\n return result;\r\n }\r\n\r\n /**\r\n * Disposes the InstancedMesh.\r\n * Returns nothing.\r\n * @param doNotRecurse Set to true to not recurse into each children (recurse into each children by default)\r\n * @param disposeMaterialAndTextures Set to true to also dispose referenced materials and textures (false by default)\r\n */\r\n public override dispose(doNotRecurse?: boolean, disposeMaterialAndTextures = false): void {\r\n // Remove from mesh\r\n this._sourceMesh.removeInstance(this);\r\n super.dispose(doNotRecurse, disposeMaterialAndTextures);\r\n }\r\n\r\n /**\r\n * @internal\r\n */\r\n public override _serializeAsParent(serializationObject: any) {\r\n super._serializeAsParent(serializationObject);\r\n\r\n serializationObject.parentId = this._sourceMesh.uniqueId;\r\n serializationObject.parentInstanceIndex = this._indexInSourceMeshInstanceArray;\r\n }\r\n\r\n /**\r\n * Instantiate (when possible) or clone that node with its hierarchy\r\n * @param newParent defines the new parent to use for the instance (or clone)\r\n * @param options defines options to configure how copy is done\r\n * @param options.doNotInstantiate defines if the model must be instantiated or just cloned\r\n * @param options.newSourcedMesh newSourcedMesh the new source mesh for the instance (or clone)\r\n * @param onNewNodeCreated defines an option callback to call when a clone or an instance is created\r\n * @returns an instance (or a clone) of the current node with its hierarchy\r\n */\r\n public override instantiateHierarchy(\r\n newParent: Nullable<TransformNode> = null,\r\n options?: { doNotInstantiate: boolean | ((node: TransformNode) => boolean); newSourcedMesh?: Mesh },\r\n onNewNodeCreated?: (source: TransformNode, clone: TransformNode) => void\r\n ): Nullable<TransformNode> {\r\n const clone = this.clone(\"Clone of \" + (this.name || this.id), newParent || this.parent, true, options && options.newSourcedMesh);\r\n\r\n if (clone) {\r\n if (onNewNodeCreated) {\r\n onNewNodeCreated(this, clone);\r\n }\r\n }\r\n\r\n for (const child of this.getChildTransformNodes(true)) {\r\n child.instantiateHierarchy(clone, options, onNewNodeCreated);\r\n }\r\n\r\n return clone;\r\n }\r\n}\r\n\r\ndeclare module \"./mesh\" {\r\n export interface Mesh {\r\n /**\r\n * Register a custom buffer that will be instanced\r\n * @see https://doc.babylonjs.com/features/featuresDeepDive/mesh/copies/instances#custom-buffers\r\n * @param kind defines the buffer kind\r\n * @param stride defines the stride in floats\r\n */\r\n registerInstancedBuffer(kind: string, stride: number): void;\r\n\r\n /**\r\n * Invalidate VertexArrayObjects belonging to the mesh (but not to the Geometry of the mesh).\r\n */\r\n _invalidateInstanceVertexArrayObject(): void;\r\n\r\n /**\r\n * true to use the edge renderer for all instances of this mesh\r\n */\r\n edgesShareWithInstances: boolean;\r\n\r\n /** @internal */\r\n _userInstancedBuffersStorage: {\r\n data: { [key: string]: Float32Array };\r\n sizes: { [key: string]: number };\r\n vertexBuffers: { [key: string]: Nullable<VertexBuffer> };\r\n strides: { [key: string]: number };\r\n vertexArrayObjects?: { [key: string]: WebGLVertexArrayObject };\r\n };\r\n }\r\n}\r\n\r\ndeclare module \"./abstractMesh\" {\r\n export interface AbstractMesh {\r\n /**\r\n * Object used to store instanced buffers defined by user\r\n * @see https://doc.babylonjs.com/features/featuresDeepDive/mesh/copies/instances#custom-buffers\r\n */\r\n instancedBuffers: { [key: string]: any };\r\n }\r\n}\r\n\r\nMesh.prototype.registerInstancedBuffer = function (kind: string, stride: number): void {\r\n // Remove existing one\r\n this._userInstancedBuffersStorage?.vertexBuffers[kind]?.dispose();\r\n\r\n // Creates the instancedBuffer field if not present\r\n if (!this.instancedBuffers) {\r\n this.instancedBuffers = {};\r\n\r\n for (const instance of this.instances) {\r\n instance.instancedBuffers = {};\r\n }\r\n }\r\n\r\n if (!this._userInstancedBuffersStorage) {\r\n this._userInstancedBuffersStorage = {\r\n data: {},\r\n vertexBuffers: {},\r\n strides: {},\r\n sizes: {},\r\n vertexArrayObjects: this.getEngine().getCaps().vertexArrayObject ? {} : undefined,\r\n };\r\n }\r\n\r\n // Creates an empty property for this kind\r\n this.instancedBuffers[kind] = null;\r\n\r\n this._userInstancedBuffersStorage.strides[kind] = stride;\r\n this._userInstancedBuffersStorage.sizes[kind] = stride * 32; // Initial size\r\n this._userInstancedBuffersStorage.data[kind] = new Float32Array(this._userInstancedBuffersStorage.sizes[kind]);\r\n this._userInstancedBuffersStorage.vertexBuffers[kind] = new VertexBuffer(this.getEngine(), this._userInstancedBuffersStorage.data[kind], kind, true, false, stride, true);\r\n\r\n for (const instance of this.instances) {\r\n instance.instancedBuffers[kind] = null;\r\n }\r\n\r\n this._invalidateInstanceVertexArrayObject();\r\n\r\n this._markSubMeshesAsAttributesDirty();\r\n};\r\n\r\nMesh.prototype._processInstancedBuffers = function (visibleInstances: Nullable<InstancedMesh[]>, renderSelf: boolean) {\r\n const instanceCount = visibleInstances ? visibleInstances.length : 0;\r\n\r\n for (const kind in this.instancedBuffers) {\r\n let size = this._userInstancedBuffersStorage.sizes[kind];\r\n const stride = this._userInstancedBuffersStorage.strides[kind];\r\n\r\n // Resize if required\r\n const expectedSize = (instanceCount + 1) * stride;\r\n\r\n while (size < expectedSize) {\r\n size *= 2;\r\n }\r\n\r\n if (this._userInstancedBuffersStorage.data[kind].length != size) {\r\n this._userInstancedBuffersStorage.data[kind] = new Float32Array(size);\r\n this._userInstancedBuffersStorage.sizes[kind] = size;\r\n if (this._userInstancedBuffersStorage.vertexBuffers[kind]) {\r\n this._userInstancedBuffersStorage.vertexBuffers[kind]!.dispose();\r\n this._userInstancedBuffersStorage.vertexBuffers[kind] = null;\r\n }\r\n }\r\n\r\n const data = this._userInstancedBuffersStorage.data[kind];\r\n\r\n // Update data buffer\r\n let offset = 0;\r\n if (renderSelf) {\r\n const value = this.instancedBuffers[kind];\r\n\r\n if (value.toArray) {\r\n value.toArray(data, offset);\r\n } else if (value.copyToArray) {\r\n value.copyToArray(data, offset);\r\n } else {\r\n data[offset] = value;\r\n }\r\n\r\n offset += stride;\r\n }\r\n\r\n for (let instanceIndex = 0; instanceIndex < instanceCount; instanceIndex++) {\r\n const instance = visibleInstances![instanceIndex]!;\r\n\r\n const value = instance.instancedBuffers[kind];\r\n\r\n if (value.toArray) {\r\n value.toArray(data, offset);\r\n } else if (value.copyToArray) {\r\n value.copyToArray(data, offset);\r\n } else {\r\n data[offset] = value;\r\n }\r\n\r\n offset += stride;\r\n }\r\n\r\n // Update vertex buffer\r\n if (!this._userInstancedBuffersStorage.vertexBuffers[kind]) {\r\n this._userInstancedBuffersStorage.vertexBuffers[kind] = new VertexBuffer(\r\n this.getEngine(),\r\n this._userInstancedBuffersStorage.data[kind],\r\n kind,\r\n true,\r\n false,\r\n stride,\r\n true\r\n );\r\n this._invalidateInstanceVertexArrayObject();\r\n } else {\r\n this._userInstancedBuffersStorage.vertexBuffers[kind]!.updateDirectly(data, 0);\r\n }\r\n }\r\n};\r\n\r\nMesh.prototype._invalidateInstanceVertexArrayObject = function () {\r\n if (!this._userInstancedBuffersStorage || this._userInstancedBuffersStorage.vertexArrayObjects === undefined) {\r\n return;\r\n }\r\n\r\n for (const kind in this._userInstancedBuffersStorage.vertexArrayObjects) {\r\n (this.getEngine() as ThinEngine).releaseVertexArrayObject(this._userInstancedBuffersStorage.vertexArrayObjects[kind]);\r\n }\r\n\r\n this._userInstancedBuffersStorage.vertexArrayObjects = {};\r\n};\r\n\r\nMesh.prototype._disposeInstanceSpecificData = function () {\r\n if (this._instanceDataStorage.instancesBuffer) {\r\n this._instanceDataStorage.instancesBuffer.dispose();\r\n this._instanceDataStorage.instancesBuffer = null;\r\n }\r\n\r\n while (this.instances.length) {\r\n this.instances[0].dispose();\r\n }\r\n\r\n for (const kind in this.instancedBuffers) {\r\n if (this._userInstancedBuffersStorage.vertexBuffers[kind]) {\r\n this._userInstancedBuffersStorage.vertexBuffers[kind]!.dispose();\r\n }\r\n }\r\n\r\n this._invalidateInstanceVertexArrayObject();\r\n\r\n this.instancedBuffers = {};\r\n};\r\n\r\n// Register Class Name\r\nRegisterClass(\"BABYLON.InstancedMesh\", InstancedMesh);\r\n"]}
@@ -1,5 +1,5 @@
1
1
  import { Vector3 } from "../Maths/math.vector.js";
2
- import type { Mesh } from "./mesh";
2
+ import type { Mesh } from "./mesh.js";
3
3
  import type { FloatArray } from "../types.js";
4
4
  /**
5
5
  * Interface used to define options for creating a lattice
@@ -1,6 +1,6 @@
1
1
  import type { Material } from "../Materials/material.js";
2
2
  import { MaterialPluginBase } from "../Materials/materialPluginBase.js";
3
- import type { Lattice } from "./lattice";
3
+ import type { Lattice } from "./lattice.js";
4
4
  import { ShaderLanguage } from "../Materials/shaderLanguage.js";
5
5
  import type { UniformBuffer } from "../Materials/uniformBuffer.js";
6
6
  /**
@@ -1,12 +1,12 @@
1
- import type { Nullable } from "../types";
2
- import type { Scene } from "../scene";
3
- import { Color3 } from "../Maths/math.color";
4
- import type { Node } from "../node";
5
- import type { SubMesh } from "../Meshes/subMesh";
6
- import { Mesh } from "../Meshes/mesh";
7
- import { InstancedMesh } from "../Meshes/instancedMesh";
8
- import { Material } from "../Materials/material";
9
- import type { Effect } from "../Materials/effect";
1
+ import type { Nullable } from "../types.js";
2
+ import type { Scene } from "../scene.js";
3
+ import { Color3 } from "../Maths/math.color.js";
4
+ import type { Node } from "../node.js";
5
+ import type { SubMesh } from "../Meshes/subMesh.js";
6
+ import { Mesh } from "../Meshes/mesh.js";
7
+ import { InstancedMesh } from "../Meshes/instancedMesh.js";
8
+ import { Material } from "../Materials/material.js";
9
+ import type { Effect } from "../Materials/effect.js";
10
10
  import { ShaderLanguage } from "../Materials/shaderLanguage.js";
11
11
  /**
12
12
  * Line mesh