@babylonjs/core 5.24.0 → 5.26.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1729) hide show
  1. package/Actions/action.d.ts +12 -21
  2. package/Actions/action.js +8 -17
  3. package/Actions/action.js.map +1 -1
  4. package/Actions/actionManager.d.ts +2 -5
  5. package/Actions/actionManager.js +2 -5
  6. package/Actions/actionManager.js.map +1 -1
  7. package/Actions/condition.d.ts +9 -50
  8. package/Actions/condition.js +3 -26
  9. package/Actions/condition.js.map +1 -1
  10. package/Actions/directActions.d.ts +7 -7
  11. package/Actions/directActions.js +7 -7
  12. package/Actions/directActions.js.map +1 -1
  13. package/Actions/directAudioActions.d.ts +2 -2
  14. package/Actions/directAudioActions.js +2 -2
  15. package/Actions/directAudioActions.js.map +1 -1
  16. package/Actions/interpolateValueAction.d.ts +1 -1
  17. package/Actions/interpolateValueAction.js +1 -1
  18. package/Actions/interpolateValueAction.js.map +1 -1
  19. package/Animations/animatable.d.ts +5 -6
  20. package/Animations/animatable.js +1 -2
  21. package/Animations/animatable.js.map +1 -1
  22. package/Animations/animation.d.ts +6 -20
  23. package/Animations/animation.js +6 -20
  24. package/Animations/animation.js.map +1 -1
  25. package/Animations/animationEvent.d.ts +1 -1
  26. package/Animations/animationEvent.js +1 -1
  27. package/Animations/animationEvent.js.map +1 -1
  28. package/Animations/animationGroup.d.ts +1 -1
  29. package/Animations/animationGroup.js +1 -1
  30. package/Animations/animationGroup.js.map +1 -1
  31. package/Animations/easing.d.ts +13 -26
  32. package/Animations/easing.js +13 -26
  33. package/Animations/easing.js.map +1 -1
  34. package/Animations/runtimeAnimation.d.ts +3 -4
  35. package/Animations/runtimeAnimation.js +1 -2
  36. package/Animations/runtimeAnimation.js.map +1 -1
  37. package/Audio/audioEngine.js +1 -2
  38. package/Audio/audioEngine.js.map +1 -1
  39. package/Audio/audioSceneComponent.d.ts +1 -1
  40. package/Audio/audioSceneComponent.js.map +1 -1
  41. package/Audio/sound.d.ts +3 -4
  42. package/Audio/sound.js +2 -3
  43. package/Audio/sound.js.map +1 -1
  44. package/BakedVertexAnimation/bakedVertexAnimationManager.d.ts +1 -1
  45. package/BakedVertexAnimation/bakedVertexAnimationManager.js +1 -1
  46. package/BakedVertexAnimation/bakedVertexAnimationManager.js.map +1 -1
  47. package/Behaviors/Meshes/attachToBoxBehavior.js +1 -1
  48. package/Behaviors/Meshes/attachToBoxBehavior.js.map +1 -1
  49. package/Behaviors/Meshes/baseSixDofDragBehavior.js +5 -5
  50. package/Behaviors/Meshes/baseSixDofDragBehavior.js.map +1 -1
  51. package/Behaviors/Meshes/followBehavior.d.ts +1 -1
  52. package/Behaviors/Meshes/followBehavior.js +1 -1
  53. package/Behaviors/Meshes/followBehavior.js.map +1 -1
  54. package/Behaviors/Meshes/pointerDragBehavior.d.ts +1 -1
  55. package/Behaviors/Meshes/pointerDragBehavior.js +1 -1
  56. package/Behaviors/Meshes/pointerDragBehavior.js.map +1 -1
  57. package/Bones/bone.d.ts +7 -9
  58. package/Bones/bone.js +7 -9
  59. package/Bones/bone.js.map +1 -1
  60. package/Bones/skeleton.d.ts +6 -8
  61. package/Bones/skeleton.js +6 -8
  62. package/Bones/skeleton.js.map +1 -1
  63. package/Buffers/buffer.d.ts +6 -6
  64. package/Buffers/buffer.js +14 -16
  65. package/Buffers/buffer.js.map +1 -1
  66. package/Buffers/storageBuffer.d.ts +1 -1
  67. package/Buffers/storageBuffer.js +1 -1
  68. package/Buffers/storageBuffer.js.map +1 -1
  69. package/Cameras/Inputs/arcRotateCameraVRDeviceOrientationInput.d.ts +1 -2
  70. package/Cameras/Inputs/arcRotateCameraVRDeviceOrientationInput.js +1 -2
  71. package/Cameras/Inputs/arcRotateCameraVRDeviceOrientationInput.js.map +1 -1
  72. package/Cameras/Inputs/flyCameraKeyboardInput.d.ts +1 -1
  73. package/Cameras/Inputs/flyCameraKeyboardInput.js +1 -1
  74. package/Cameras/Inputs/flyCameraKeyboardInput.js.map +1 -1
  75. package/Cameras/Inputs/freeCameraDeviceOrientationInput.d.ts +6 -3
  76. package/Cameras/Inputs/freeCameraDeviceOrientationInput.js +18 -5
  77. package/Cameras/Inputs/freeCameraDeviceOrientationInput.js.map +1 -1
  78. package/Cameras/Inputs/freeCameraKeyboardMoveInput.d.ts +1 -1
  79. package/Cameras/Inputs/freeCameraKeyboardMoveInput.js +1 -1
  80. package/Cameras/Inputs/freeCameraKeyboardMoveInput.js.map +1 -1
  81. package/Cameras/Inputs/freeCameraMouseInput.d.ts +1 -1
  82. package/Cameras/Inputs/freeCameraMouseInput.js +1 -1
  83. package/Cameras/Inputs/freeCameraMouseInput.js.map +1 -1
  84. package/Cameras/RigModes/stereoscopicAnaglyphRigMode.d.ts +1 -2
  85. package/Cameras/RigModes/stereoscopicAnaglyphRigMode.js +1 -2
  86. package/Cameras/RigModes/stereoscopicAnaglyphRigMode.js.map +1 -1
  87. package/Cameras/RigModes/stereoscopicRigMode.d.ts +1 -2
  88. package/Cameras/RigModes/stereoscopicRigMode.js +1 -2
  89. package/Cameras/RigModes/stereoscopicRigMode.js.map +1 -1
  90. package/Cameras/RigModes/vrRigMode.d.ts +1 -3
  91. package/Cameras/RigModes/vrRigMode.js +1 -3
  92. package/Cameras/RigModes/vrRigMode.js.map +1 -1
  93. package/Cameras/RigModes/webVRRigMode.d.ts +1 -3
  94. package/Cameras/RigModes/webVRRigMode.js +1 -3
  95. package/Cameras/RigModes/webVRRigMode.js.map +1 -1
  96. package/Cameras/Stereoscopic/stereoscopicScreenUniversalCamera.d.ts +2 -3
  97. package/Cameras/Stereoscopic/stereoscopicScreenUniversalCamera.js +2 -3
  98. package/Cameras/Stereoscopic/stereoscopicScreenUniversalCamera.js.map +1 -1
  99. package/Cameras/VR/vrCameraMetrics.d.ts +4 -4
  100. package/Cameras/VR/vrCameraMetrics.js +4 -4
  101. package/Cameras/VR/vrCameraMetrics.js.map +1 -1
  102. package/Cameras/VR/vrExperienceHelper.js +20 -48
  103. package/Cameras/VR/vrExperienceHelper.js.map +1 -1
  104. package/Cameras/VR/webVRCamera.d.ts +9 -9
  105. package/Cameras/VR/webVRCamera.js +9 -9
  106. package/Cameras/VR/webVRCamera.js.map +1 -1
  107. package/Cameras/arcRotateCamera.d.ts +11 -12
  108. package/Cameras/arcRotateCamera.js +8 -9
  109. package/Cameras/arcRotateCamera.js.map +1 -1
  110. package/Cameras/camera.d.ts +29 -38
  111. package/Cameras/camera.js +27 -36
  112. package/Cameras/camera.js.map +1 -1
  113. package/Cameras/deviceOrientationCamera.d.ts +1 -1
  114. package/Cameras/deviceOrientationCamera.js +1 -1
  115. package/Cameras/deviceOrientationCamera.js.map +1 -1
  116. package/Cameras/flyCamera.d.ts +8 -12
  117. package/Cameras/flyCamera.js +6 -10
  118. package/Cameras/flyCamera.js.map +1 -1
  119. package/Cameras/followCamera.d.ts +2 -2
  120. package/Cameras/followCamera.js +2 -2
  121. package/Cameras/followCamera.js.map +1 -1
  122. package/Cameras/freeCamera.d.ts +6 -7
  123. package/Cameras/freeCamera.js +4 -5
  124. package/Cameras/freeCamera.js.map +1 -1
  125. package/Cameras/freeCameraInputsManager.d.ts +2 -2
  126. package/Cameras/freeCameraInputsManager.js +2 -2
  127. package/Cameras/freeCameraInputsManager.js.map +1 -1
  128. package/Cameras/targetCamera.d.ts +21 -24
  129. package/Cameras/targetCamera.js +20 -23
  130. package/Cameras/targetCamera.js.map +1 -1
  131. package/Cameras/touchCamera.d.ts +1 -1
  132. package/Cameras/touchCamera.js +1 -1
  133. package/Cameras/touchCamera.js.map +1 -1
  134. package/Collisions/collider.d.ts +13 -44
  135. package/Collisions/collider.js +10 -41
  136. package/Collisions/collider.js.map +1 -1
  137. package/Collisions/collisionCoordinator.d.ts +2 -2
  138. package/Collisions/collisionCoordinator.js +1 -1
  139. package/Collisions/collisionCoordinator.js.map +1 -1
  140. package/Collisions/intersectionInfo.d.ts +1 -1
  141. package/Collisions/intersectionInfo.js +1 -1
  142. package/Collisions/intersectionInfo.js.map +1 -1
  143. package/Collisions/meshCollisionData.d.ts +1 -1
  144. package/Collisions/meshCollisionData.js +1 -1
  145. package/Collisions/meshCollisionData.js.map +1 -1
  146. package/Collisions/pickingInfo.d.ts +1 -1
  147. package/Collisions/pickingInfo.js +1 -1
  148. package/Collisions/pickingInfo.js.map +1 -1
  149. package/Compute/IComputeContext.d.ts +1 -1
  150. package/Compute/IComputeContext.js.map +1 -1
  151. package/Compute/IComputePipelineContext.d.ts +2 -2
  152. package/Compute/IComputePipelineContext.js.map +1 -1
  153. package/Compute/computeEffect.d.ts +5 -5
  154. package/Compute/computeEffect.js +5 -5
  155. package/Compute/computeEffect.js.map +1 -1
  156. package/Culling/Octrees/octreeBlock.d.ts +1 -9
  157. package/Culling/Octrees/octreeBlock.js +1 -9
  158. package/Culling/Octrees/octreeBlock.js.map +1 -1
  159. package/Culling/Octrees/octreeSceneComponent.d.ts +2 -2
  160. package/Culling/Octrees/octreeSceneComponent.js +1 -5
  161. package/Culling/Octrees/octreeSceneComponent.js.map +1 -1
  162. package/Culling/boundingBox.d.ts +4 -5
  163. package/Culling/boundingBox.js +3 -4
  164. package/Culling/boundingBox.js.map +1 -1
  165. package/Culling/boundingInfo.d.ts +1 -2
  166. package/Culling/boundingInfo.js +1 -2
  167. package/Culling/boundingInfo.js.map +1 -1
  168. package/Culling/boundingSphere.d.ts +1 -2
  169. package/Culling/boundingSphere.js +1 -2
  170. package/Culling/boundingSphere.js.map +1 -1
  171. package/Culling/ray.d.ts +6 -6
  172. package/Culling/ray.js.map +1 -1
  173. package/Debug/debugLayer.d.ts +1 -1
  174. package/Debug/debugLayer.js.map +1 -1
  175. package/Debug/physicsViewer.d.ts +6 -6
  176. package/Debug/physicsViewer.js +4 -4
  177. package/Debug/physicsViewer.js.map +1 -1
  178. package/DeviceInput/InputDevices/deviceEnums.d.ts +1 -1
  179. package/DeviceInput/InputDevices/deviceEnums.js +1 -1
  180. package/DeviceInput/InputDevices/deviceEnums.js.map +1 -1
  181. package/DeviceInput/InputDevices/deviceSourceManager.d.ts +3 -3
  182. package/DeviceInput/InputDevices/deviceSourceManager.js +3 -3
  183. package/DeviceInput/InputDevices/deviceSourceManager.js.map +1 -1
  184. package/DeviceInput/internalDeviceSourceManager.d.ts +3 -3
  185. package/DeviceInput/internalDeviceSourceManager.js +1 -1
  186. package/DeviceInput/internalDeviceSourceManager.js.map +1 -1
  187. package/DeviceInput/nativeDeviceInputSystem.d.ts +1 -1
  188. package/DeviceInput/nativeDeviceInputSystem.js +1 -1
  189. package/DeviceInput/nativeDeviceInputSystem.js.map +1 -1
  190. package/DeviceInput/webDeviceInputSystem.d.ts +1 -1
  191. package/DeviceInput/webDeviceInputSystem.js +1 -19
  192. package/DeviceInput/webDeviceInputSystem.js.map +1 -1
  193. package/Engines/Extensions/engine.computeShader.d.ts +7 -7
  194. package/Engines/Extensions/engine.computeShader.js +1 -1
  195. package/Engines/Extensions/engine.computeShader.js.map +1 -1
  196. package/Engines/Extensions/engine.cubeTexture.d.ts +6 -6
  197. package/Engines/Extensions/engine.cubeTexture.js +3 -2
  198. package/Engines/Extensions/engine.cubeTexture.js.map +1 -1
  199. package/Engines/Extensions/engine.debugging.d.ts +4 -4
  200. package/Engines/Extensions/engine.debugging.js.map +1 -1
  201. package/Engines/Extensions/engine.multiview.d.ts +9 -9
  202. package/Engines/Extensions/engine.multiview.js.map +1 -1
  203. package/Engines/Extensions/engine.query.d.ts +22 -22
  204. package/Engines/Extensions/engine.query.js +8 -8
  205. package/Engines/Extensions/engine.query.js.map +1 -1
  206. package/Engines/Extensions/engine.rawTexture.js +3 -7
  207. package/Engines/Extensions/engine.rawTexture.js.map +1 -1
  208. package/Engines/Extensions/engine.readTexture.d.ts +2 -2
  209. package/Engines/Extensions/engine.readTexture.js.map +1 -1
  210. package/Engines/Extensions/engine.renderTarget.d.ts +2 -2
  211. package/Engines/Extensions/engine.renderTarget.js.map +1 -1
  212. package/Engines/Extensions/engine.textureSelector.d.ts +2 -2
  213. package/Engines/Extensions/engine.textureSelector.js.map +1 -1
  214. package/Engines/Extensions/engine.transformFeedback.d.ts +1 -1
  215. package/Engines/Extensions/engine.transformFeedback.js +1 -1
  216. package/Engines/Extensions/engine.transformFeedback.js.map +1 -1
  217. package/Engines/Extensions/engine.views.d.ts +2 -2
  218. package/Engines/Extensions/engine.views.js.map +1 -1
  219. package/Engines/Extensions/engine.webVR.d.ts +13 -13
  220. package/Engines/Extensions/engine.webVR.js.map +1 -1
  221. package/Engines/IDrawContext.d.ts +1 -1
  222. package/Engines/IDrawContext.js.map +1 -1
  223. package/Engines/IMaterialContext.d.ts +1 -1
  224. package/Engines/IMaterialContext.js.map +1 -1
  225. package/Engines/IPipelineContext.d.ts +5 -5
  226. package/Engines/IPipelineContext.js.map +1 -1
  227. package/Engines/Native/nativeDataStream.d.ts +2 -2
  228. package/Engines/Native/nativeDataStream.js +1 -1
  229. package/Engines/Native/nativeDataStream.js.map +1 -1
  230. package/Engines/Native/nativeInterfaces.d.ts +10 -10
  231. package/Engines/Native/nativeInterfaces.js.map +1 -1
  232. package/Engines/Processors/Expressions/Operators/shaderDefineAndOperator.d.ts +1 -1
  233. package/Engines/Processors/Expressions/Operators/shaderDefineAndOperator.js +1 -1
  234. package/Engines/Processors/Expressions/Operators/shaderDefineAndOperator.js.map +1 -1
  235. package/Engines/Processors/Expressions/Operators/shaderDefineArithmeticOperator.d.ts +1 -1
  236. package/Engines/Processors/Expressions/Operators/shaderDefineArithmeticOperator.js +1 -1
  237. package/Engines/Processors/Expressions/Operators/shaderDefineArithmeticOperator.js.map +1 -1
  238. package/Engines/Processors/Expressions/Operators/shaderDefineIsDefinedOperator.d.ts +1 -1
  239. package/Engines/Processors/Expressions/Operators/shaderDefineIsDefinedOperator.js +1 -1
  240. package/Engines/Processors/Expressions/Operators/shaderDefineIsDefinedOperator.js.map +1 -1
  241. package/Engines/Processors/Expressions/Operators/shaderDefineOrOperator.d.ts +1 -1
  242. package/Engines/Processors/Expressions/Operators/shaderDefineOrOperator.js +1 -1
  243. package/Engines/Processors/Expressions/Operators/shaderDefineOrOperator.js.map +1 -1
  244. package/Engines/Processors/Expressions/shaderDefineExpression.d.ts +1 -1
  245. package/Engines/Processors/Expressions/shaderDefineExpression.js +1 -1
  246. package/Engines/Processors/Expressions/shaderDefineExpression.js.map +1 -1
  247. package/Engines/Processors/iShaderProcessor.d.ts +1 -1
  248. package/Engines/Processors/iShaderProcessor.js.map +1 -1
  249. package/Engines/Processors/shaderCodeConditionNode.d.ts +1 -1
  250. package/Engines/Processors/shaderCodeConditionNode.js +1 -1
  251. package/Engines/Processors/shaderCodeConditionNode.js.map +1 -1
  252. package/Engines/Processors/shaderCodeCursor.d.ts +1 -1
  253. package/Engines/Processors/shaderCodeCursor.js +1 -1
  254. package/Engines/Processors/shaderCodeCursor.js.map +1 -1
  255. package/Engines/Processors/shaderCodeNode.d.ts +1 -1
  256. package/Engines/Processors/shaderCodeNode.js +1 -1
  257. package/Engines/Processors/shaderCodeNode.js.map +1 -1
  258. package/Engines/Processors/shaderCodeTestNode.d.ts +1 -1
  259. package/Engines/Processors/shaderCodeTestNode.js +1 -1
  260. package/Engines/Processors/shaderCodeTestNode.js.map +1 -1
  261. package/Engines/Processors/shaderProcessingOptions.d.ts +2 -2
  262. package/Engines/Processors/shaderProcessingOptions.js.map +1 -1
  263. package/Engines/Processors/shaderProcessor.d.ts +2 -2
  264. package/Engines/Processors/shaderProcessor.js +2 -2
  265. package/Engines/Processors/shaderProcessor.js.map +1 -1
  266. package/Engines/WebGL/webGL2ShaderProcessors.d.ts +1 -1
  267. package/Engines/WebGL/webGL2ShaderProcessors.js +1 -1
  268. package/Engines/WebGL/webGL2ShaderProcessors.js.map +1 -1
  269. package/Engines/WebGL/webGLHardwareTexture.d.ts +1 -1
  270. package/Engines/WebGL/webGLHardwareTexture.js +1 -1
  271. package/Engines/WebGL/webGLHardwareTexture.js.map +1 -1
  272. package/Engines/WebGL/webGLPipelineContext.d.ts +6 -25
  273. package/Engines/WebGL/webGLPipelineContext.js +6 -25
  274. package/Engines/WebGL/webGLPipelineContext.js.map +1 -1
  275. package/Engines/WebGL/webGLRenderTargetWrapper.d.ts +2 -2
  276. package/Engines/WebGL/webGLRenderTargetWrapper.js +2 -2
  277. package/Engines/WebGL/webGLRenderTargetWrapper.js.map +1 -1
  278. package/Engines/WebGL/webGLShaderProcessors.d.ts +1 -1
  279. package/Engines/WebGL/webGLShaderProcessors.js +1 -1
  280. package/Engines/WebGL/webGLShaderProcessors.js.map +1 -1
  281. package/Engines/WebGPU/Extensions/engine.computeShader.d.ts +1 -1
  282. package/Engines/WebGPU/Extensions/engine.computeShader.js.map +1 -1
  283. package/Engines/WebGPU/Extensions/engine.rawTexture.js +1 -5
  284. package/Engines/WebGPU/Extensions/engine.rawTexture.js.map +1 -1
  285. package/Engines/WebGPU/webgpuBufferManager.d.ts +1 -1
  286. package/Engines/WebGPU/webgpuBufferManager.js +1 -1
  287. package/Engines/WebGPU/webgpuBufferManager.js.map +1 -1
  288. package/Engines/WebGPU/webgpuBundleList.d.ts +8 -8
  289. package/Engines/WebGPU/webgpuBundleList.js +7 -7
  290. package/Engines/WebGPU/webgpuBundleList.js.map +1 -1
  291. package/Engines/WebGPU/webgpuCacheBindGroups.d.ts +1 -1
  292. package/Engines/WebGPU/webgpuCacheBindGroups.js +1 -1
  293. package/Engines/WebGPU/webgpuCacheBindGroups.js.map +1 -1
  294. package/Engines/WebGPU/webgpuCacheRenderPipeline.d.ts +1 -1
  295. package/Engines/WebGPU/webgpuCacheRenderPipeline.js +1 -1
  296. package/Engines/WebGPU/webgpuCacheRenderPipeline.js.map +1 -1
  297. package/Engines/WebGPU/webgpuCacheRenderPipelineString.d.ts +1 -1
  298. package/Engines/WebGPU/webgpuCacheRenderPipelineString.js +1 -1
  299. package/Engines/WebGPU/webgpuCacheRenderPipelineString.js.map +1 -1
  300. package/Engines/WebGPU/webgpuCacheRenderPipelineTree.d.ts +2 -2
  301. package/Engines/WebGPU/webgpuCacheRenderPipelineTree.js +2 -2
  302. package/Engines/WebGPU/webgpuCacheRenderPipelineTree.js.map +1 -1
  303. package/Engines/WebGPU/webgpuCacheSampler.d.ts +1 -1
  304. package/Engines/WebGPU/webgpuCacheSampler.js +1 -1
  305. package/Engines/WebGPU/webgpuCacheSampler.js.map +1 -1
  306. package/Engines/WebGPU/webgpuClearQuad.d.ts +1 -1
  307. package/Engines/WebGPU/webgpuClearQuad.js +1 -1
  308. package/Engines/WebGPU/webgpuClearQuad.js.map +1 -1
  309. package/Engines/WebGPU/webgpuComputeContext.d.ts +1 -1
  310. package/Engines/WebGPU/webgpuComputeContext.js +1 -1
  311. package/Engines/WebGPU/webgpuComputeContext.js.map +1 -1
  312. package/Engines/WebGPU/webgpuComputePipelineContext.d.ts +2 -2
  313. package/Engines/WebGPU/webgpuComputePipelineContext.js +1 -1
  314. package/Engines/WebGPU/webgpuComputePipelineContext.js.map +1 -1
  315. package/Engines/WebGPU/webgpuConstants.d.ts +38 -38
  316. package/Engines/WebGPU/webgpuConstants.js +38 -38
  317. package/Engines/WebGPU/webgpuConstants.js.map +1 -1
  318. package/Engines/WebGPU/webgpuDepthCullingState.d.ts +1 -1
  319. package/Engines/WebGPU/webgpuDepthCullingState.js +1 -1
  320. package/Engines/WebGPU/webgpuDepthCullingState.js.map +1 -1
  321. package/Engines/WebGPU/webgpuDrawContext.d.ts +1 -1
  322. package/Engines/WebGPU/webgpuDrawContext.js +1 -1
  323. package/Engines/WebGPU/webgpuDrawContext.js.map +1 -1
  324. package/Engines/WebGPU/webgpuExternalTexture.d.ts +1 -1
  325. package/Engines/WebGPU/webgpuExternalTexture.js +1 -1
  326. package/Engines/WebGPU/webgpuExternalTexture.js.map +1 -1
  327. package/Engines/WebGPU/webgpuHardwareTexture.d.ts +9 -9
  328. package/Engines/WebGPU/webgpuHardwareTexture.js +1 -1
  329. package/Engines/WebGPU/webgpuHardwareTexture.js.map +1 -1
  330. package/Engines/WebGPU/webgpuMaterialContext.d.ts +3 -3
  331. package/Engines/WebGPU/webgpuMaterialContext.js +1 -1
  332. package/Engines/WebGPU/webgpuMaterialContext.js.map +1 -1
  333. package/Engines/WebGPU/webgpuOcclusionQuery.d.ts +1 -1
  334. package/Engines/WebGPU/webgpuOcclusionQuery.js +1 -1
  335. package/Engines/WebGPU/webgpuOcclusionQuery.js.map +1 -1
  336. package/Engines/WebGPU/webgpuPipelineContext.d.ts +4 -4
  337. package/Engines/WebGPU/webgpuPipelineContext.js +2 -2
  338. package/Engines/WebGPU/webgpuPipelineContext.js.map +1 -1
  339. package/Engines/WebGPU/webgpuQuerySet.d.ts +1 -1
  340. package/Engines/WebGPU/webgpuQuerySet.js +1 -1
  341. package/Engines/WebGPU/webgpuQuerySet.js.map +1 -1
  342. package/Engines/WebGPU/webgpuRenderPassWrapper.d.ts +1 -1
  343. package/Engines/WebGPU/webgpuRenderPassWrapper.js +1 -1
  344. package/Engines/WebGPU/webgpuRenderPassWrapper.js.map +1 -1
  345. package/Engines/WebGPU/webgpuRenderTargetWrapper.d.ts +2 -2
  346. package/Engines/WebGPU/webgpuRenderTargetWrapper.js +1 -1
  347. package/Engines/WebGPU/webgpuRenderTargetWrapper.js.map +1 -1
  348. package/Engines/WebGPU/webgpuShaderProcessingContext.d.ts +7 -7
  349. package/Engines/WebGPU/webgpuShaderProcessingContext.js +2 -2
  350. package/Engines/WebGPU/webgpuShaderProcessingContext.js.map +1 -1
  351. package/Engines/WebGPU/webgpuShaderProcessor.d.ts +1 -1
  352. package/Engines/WebGPU/webgpuShaderProcessor.js +1 -1
  353. package/Engines/WebGPU/webgpuShaderProcessor.js.map +1 -1
  354. package/Engines/WebGPU/webgpuShaderProcessorsGLSL.d.ts +1 -1
  355. package/Engines/WebGPU/webgpuShaderProcessorsGLSL.js +1 -1
  356. package/Engines/WebGPU/webgpuShaderProcessorsGLSL.js.map +1 -1
  357. package/Engines/WebGPU/webgpuShaderProcessorsWGSL.d.ts +1 -1
  358. package/Engines/WebGPU/webgpuShaderProcessorsWGSL.js +1 -1
  359. package/Engines/WebGPU/webgpuShaderProcessorsWGSL.js.map +1 -1
  360. package/Engines/WebGPU/webgpuSnapshotRendering.d.ts +1 -1
  361. package/Engines/WebGPU/webgpuSnapshotRendering.js +1 -1
  362. package/Engines/WebGPU/webgpuSnapshotRendering.js.map +1 -1
  363. package/Engines/WebGPU/webgpuStencilStateComposer.d.ts +1 -1
  364. package/Engines/WebGPU/webgpuStencilStateComposer.js +1 -1
  365. package/Engines/WebGPU/webgpuStencilStateComposer.js.map +1 -1
  366. package/Engines/WebGPU/webgpuTextureHelper.d.ts +1 -1
  367. package/Engines/WebGPU/webgpuTextureHelper.js +1 -1
  368. package/Engines/WebGPU/webgpuTextureHelper.js.map +1 -1
  369. package/Engines/WebGPU/webgpuTimestampQuery.d.ts +2 -2
  370. package/Engines/WebGPU/webgpuTimestampQuery.js +2 -2
  371. package/Engines/WebGPU/webgpuTimestampQuery.js.map +1 -1
  372. package/Engines/WebGPU/webgpuTintWASM.d.ts +1 -1
  373. package/Engines/WebGPU/webgpuTintWASM.js +1 -1
  374. package/Engines/WebGPU/webgpuTintWASM.js.map +1 -1
  375. package/Engines/constants.d.ts +1 -1
  376. package/Engines/constants.js +1 -1
  377. package/Engines/constants.js.map +1 -1
  378. package/Engines/engine.d.ts +16 -35
  379. package/Engines/engine.js +19 -69
  380. package/Engines/engine.js.map +1 -1
  381. package/Engines/engineFeatures.d.ts +2 -2
  382. package/Engines/engineFeatures.js.map +1 -1
  383. package/Engines/engineStore.d.ts +1 -1
  384. package/Engines/engineStore.js +1 -1
  385. package/Engines/engineStore.js.map +1 -1
  386. package/Engines/nativeEngine.d.ts +15 -47
  387. package/Engines/nativeEngine.js +20 -66
  388. package/Engines/nativeEngine.js.map +1 -1
  389. package/Engines/nullEngine.d.ts +12 -40
  390. package/Engines/nullEngine.js +12 -40
  391. package/Engines/nullEngine.js.map +1 -1
  392. package/Engines/performanceConfigurator.d.ts +6 -7
  393. package/Engines/performanceConfigurator.js +6 -7
  394. package/Engines/performanceConfigurator.js.map +1 -1
  395. package/Engines/renderTargetWrapper.d.ts +8 -9
  396. package/Engines/renderTargetWrapper.js +7 -8
  397. package/Engines/renderTargetWrapper.js.map +1 -1
  398. package/Engines/thinEngine.d.ts +90 -187
  399. package/Engines/thinEngine.js +73 -182
  400. package/Engines/thinEngine.js.map +1 -1
  401. package/Engines/webgpuEngine.d.ts +89 -145
  402. package/Engines/webgpuEngine.js +71 -127
  403. package/Engines/webgpuEngine.js.map +1 -1
  404. package/Events/pointerEvents.d.ts +4 -0
  405. package/Events/pointerEvents.js +4 -0
  406. package/Events/pointerEvents.js.map +1 -1
  407. package/Gamepads/Controllers/oculusTouchController.d.ts +1 -1
  408. package/Gamepads/Controllers/oculusTouchController.js +1 -1
  409. package/Gamepads/Controllers/oculusTouchController.js.map +1 -1
  410. package/Gamepads/Controllers/poseEnabledController.d.ts +9 -10
  411. package/Gamepads/Controllers/poseEnabledController.js +6 -7
  412. package/Gamepads/Controllers/poseEnabledController.js.map +1 -1
  413. package/Gamepads/Controllers/windowsMotionController.d.ts +1 -1
  414. package/Gamepads/Controllers/windowsMotionController.js +1 -1
  415. package/Gamepads/Controllers/windowsMotionController.js.map +1 -1
  416. package/Gamepads/gamepad.d.ts +1 -1
  417. package/Gamepads/gamepad.js +1 -1
  418. package/Gamepads/gamepad.js.map +1 -1
  419. package/Gamepads/gamepadManager.d.ts +2 -2
  420. package/Gamepads/gamepadManager.js +4 -4
  421. package/Gamepads/gamepadManager.js.map +1 -1
  422. package/Gamepads/gamepadSceneComponent.d.ts +1 -1
  423. package/Gamepads/gamepadSceneComponent.js.map +1 -1
  424. package/Gizmos/axisDragGizmo.d.ts +2 -8
  425. package/Gizmos/axisDragGizmo.js +2 -8
  426. package/Gizmos/axisDragGizmo.js.map +1 -1
  427. package/Gizmos/cameraGizmo.d.ts +1 -1
  428. package/Gizmos/cameraGizmo.js +1 -1
  429. package/Gizmos/cameraGizmo.js.map +1 -1
  430. package/Gizmos/lightGizmo.d.ts +1 -1
  431. package/Gizmos/lightGizmo.js +1 -1
  432. package/Gizmos/lightGizmo.js.map +1 -1
  433. package/Gizmos/planeDragGizmo.d.ts +1 -3
  434. package/Gizmos/planeDragGizmo.js +1 -3
  435. package/Gizmos/planeDragGizmo.js.map +1 -1
  436. package/Helpers/sceneHelpers.d.ts +1 -1
  437. package/Helpers/sceneHelpers.js +1 -1
  438. package/Helpers/sceneHelpers.js.map +1 -1
  439. package/Inputs/scene.inputManager.d.ts +3 -3
  440. package/Inputs/scene.inputManager.js +5 -4
  441. package/Inputs/scene.inputManager.js.map +1 -1
  442. package/Instrumentation/timeToken.d.ts +1 -1
  443. package/Instrumentation/timeToken.js +1 -1
  444. package/Instrumentation/timeToken.js.map +1 -1
  445. package/Layers/effectLayer.d.ts +2 -3
  446. package/Layers/effectLayer.js +2 -3
  447. package/Layers/effectLayer.js.map +1 -1
  448. package/Layers/glowLayer.d.ts +1 -1
  449. package/Layers/glowLayer.js +1 -1
  450. package/Layers/glowLayer.js.map +1 -1
  451. package/Layers/highlightLayer.d.ts +1 -1
  452. package/Layers/highlightLayer.js +1 -1
  453. package/Layers/highlightLayer.js.map +1 -1
  454. package/Layers/layer.d.ts +8 -1
  455. package/Layers/layer.js +12 -1
  456. package/Layers/layer.js.map +1 -1
  457. package/Layers/layerSceneComponent.d.ts +4 -2
  458. package/Layers/layerSceneComponent.js +27 -11
  459. package/Layers/layerSceneComponent.js.map +1 -1
  460. package/LensFlares/lensFlare.d.ts +1 -1
  461. package/LensFlares/lensFlare.js.map +1 -1
  462. package/LensFlares/lensFlareSystem.d.ts +4 -6
  463. package/LensFlares/lensFlareSystem.js +4 -6
  464. package/LensFlares/lensFlareSystem.js.map +1 -1
  465. package/Lights/Shadows/cascadedShadowGenerator.d.ts +1 -2
  466. package/Lights/Shadows/cascadedShadowGenerator.js +1 -2
  467. package/Lights/Shadows/cascadedShadowGenerator.js.map +1 -1
  468. package/Lights/Shadows/shadowGenerator.d.ts +1 -2
  469. package/Lights/Shadows/shadowGenerator.js +1 -2
  470. package/Lights/Shadows/shadowGenerator.js.map +1 -1
  471. package/Lights/light.d.ts +9 -9
  472. package/Lights/light.js +6 -6
  473. package/Lights/light.js.map +1 -1
  474. package/Lights/shadowLight.d.ts +3 -3
  475. package/Lights/shadowLight.js +3 -3
  476. package/Lights/shadowLight.js.map +1 -1
  477. package/Loading/Plugins/babylonFileLoader.d.ts +1 -1
  478. package/Loading/Plugins/babylonFileLoader.js +1 -1
  479. package/Loading/Plugins/babylonFileLoader.js.map +1 -1
  480. package/Loading/loadingScreen.js +6 -6
  481. package/Loading/loadingScreen.js.map +1 -1
  482. package/Materials/Background/backgroundMaterial.js +1 -1
  483. package/Materials/Background/backgroundMaterial.js.map +1 -1
  484. package/Materials/Node/Blocks/Dual/reflectionTextureBaseBlock.d.ts +18 -18
  485. package/Materials/Node/Blocks/Dual/reflectionTextureBaseBlock.js.map +1 -1
  486. package/Materials/Node/Blocks/Input/inputBlock.d.ts +4 -11
  487. package/Materials/Node/Blocks/Input/inputBlock.js +4 -11
  488. package/Materials/Node/Blocks/Input/inputBlock.js.map +1 -1
  489. package/Materials/Node/Blocks/PBR/anisotropyBlock.d.ts +2 -2
  490. package/Materials/Node/Blocks/PBR/anisotropyBlock.js.map +1 -1
  491. package/Materials/Node/Blocks/PBR/reflectionBlock.d.ts +9 -9
  492. package/Materials/Node/Blocks/PBR/reflectionBlock.js.map +1 -1
  493. package/Materials/Node/Blocks/PBR/refractionBlock.d.ts +12 -12
  494. package/Materials/Node/Blocks/PBR/refractionBlock.js.map +1 -1
  495. package/Materials/Node/nodeMaterial.d.ts +2 -2
  496. package/Materials/Node/nodeMaterial.js +2 -2
  497. package/Materials/Node/nodeMaterial.js.map +1 -1
  498. package/Materials/Node/nodeMaterialBlock.d.ts +8 -14
  499. package/Materials/Node/nodeMaterialBlock.js +6 -12
  500. package/Materials/Node/nodeMaterialBlock.js.map +1 -1
  501. package/Materials/Node/nodeMaterialBlockConnectionPoint.d.ts +8 -8
  502. package/Materials/Node/nodeMaterialBlockConnectionPoint.js +7 -7
  503. package/Materials/Node/nodeMaterialBlockConnectionPoint.js.map +1 -1
  504. package/Materials/Node/nodeMaterialBuildState.d.ts +22 -58
  505. package/Materials/Node/nodeMaterialBuildState.js +21 -57
  506. package/Materials/Node/nodeMaterialBuildState.js.map +1 -1
  507. package/Materials/PBR/pbrAnisotropicConfiguration.d.ts +3 -3
  508. package/Materials/PBR/pbrAnisotropicConfiguration.js +2 -2
  509. package/Materials/PBR/pbrAnisotropicConfiguration.js.map +1 -1
  510. package/Materials/PBR/pbrBRDFConfiguration.d.ts +3 -3
  511. package/Materials/PBR/pbrBRDFConfiguration.js +2 -2
  512. package/Materials/PBR/pbrBRDFConfiguration.js.map +1 -1
  513. package/Materials/PBR/pbrBaseMaterial.d.ts +65 -65
  514. package/Materials/PBR/pbrBaseMaterial.js +65 -65
  515. package/Materials/PBR/pbrBaseMaterial.js.map +1 -1
  516. package/Materials/PBR/pbrClearCoatConfiguration.d.ts +4 -4
  517. package/Materials/PBR/pbrClearCoatConfiguration.js +3 -3
  518. package/Materials/PBR/pbrClearCoatConfiguration.js.map +1 -1
  519. package/Materials/PBR/pbrIridescenceConfiguration.d.ts +6 -6
  520. package/Materials/PBR/pbrIridescenceConfiguration.js +5 -5
  521. package/Materials/PBR/pbrIridescenceConfiguration.js.map +1 -1
  522. package/Materials/PBR/pbrSheenConfiguration.d.ts +3 -3
  523. package/Materials/PBR/pbrSheenConfiguration.js +2 -2
  524. package/Materials/PBR/pbrSheenConfiguration.js.map +1 -1
  525. package/Materials/PBR/pbrSubSurfaceConfiguration.d.ts +6 -6
  526. package/Materials/PBR/pbrSubSurfaceConfiguration.js +5 -5
  527. package/Materials/PBR/pbrSubSurfaceConfiguration.js.map +1 -1
  528. package/Materials/Textures/Loaders/ddsTextureLoader.d.ts +1 -1
  529. package/Materials/Textures/Loaders/ddsTextureLoader.js +1 -1
  530. package/Materials/Textures/Loaders/ddsTextureLoader.js.map +1 -1
  531. package/Materials/Textures/Loaders/envTextureLoader.d.ts +1 -1
  532. package/Materials/Textures/Loaders/envTextureLoader.js +1 -1
  533. package/Materials/Textures/Loaders/envTextureLoader.js.map +1 -1
  534. package/Materials/Textures/Loaders/hdrTextureLoader.d.ts +1 -1
  535. package/Materials/Textures/Loaders/hdrTextureLoader.js +1 -1
  536. package/Materials/Textures/Loaders/hdrTextureLoader.js.map +1 -1
  537. package/Materials/Textures/Loaders/ktxTextureLoader.d.ts +1 -1
  538. package/Materials/Textures/Loaders/ktxTextureLoader.js +1 -1
  539. package/Materials/Textures/Loaders/ktxTextureLoader.js.map +1 -1
  540. package/Materials/Textures/Loaders/tgaTextureLoader.d.ts +1 -1
  541. package/Materials/Textures/Loaders/tgaTextureLoader.js +1 -1
  542. package/Materials/Textures/Loaders/tgaTextureLoader.js.map +1 -1
  543. package/Materials/Textures/MultiviewRenderTarget.d.ts +1 -1
  544. package/Materials/Textures/MultiviewRenderTarget.js +1 -1
  545. package/Materials/Textures/MultiviewRenderTarget.js.map +1 -1
  546. package/Materials/Textures/Procedurals/proceduralTexture.d.ts +6 -7
  547. package/Materials/Textures/Procedurals/proceduralTexture.js +4 -5
  548. package/Materials/Textures/Procedurals/proceduralTexture.js.map +1 -1
  549. package/Materials/Textures/baseTexture.d.ts +17 -23
  550. package/Materials/Textures/baseTexture.js +20 -23
  551. package/Materials/Textures/baseTexture.js.map +1 -1
  552. package/Materials/Textures/cubeTexture.d.ts +1 -1
  553. package/Materials/Textures/cubeTexture.js +1 -1
  554. package/Materials/Textures/cubeTexture.js.map +1 -1
  555. package/Materials/Textures/dynamicTexture.d.ts +1 -1
  556. package/Materials/Textures/dynamicTexture.js +1 -1
  557. package/Materials/Textures/dynamicTexture.js.map +1 -1
  558. package/Materials/Textures/hardwareTextureWrapper.d.ts +1 -1
  559. package/Materials/Textures/hardwareTextureWrapper.js.map +1 -1
  560. package/Materials/Textures/internalTexture.d.ts +35 -37
  561. package/Materials/Textures/internalTexture.js +34 -36
  562. package/Materials/Textures/internalTexture.js.map +1 -1
  563. package/Materials/Textures/multiRenderTarget.d.ts +1 -3
  564. package/Materials/Textures/multiRenderTarget.js +1 -3
  565. package/Materials/Textures/multiRenderTarget.js.map +1 -1
  566. package/Materials/Textures/prePassRenderTarget.d.ts +9 -9
  567. package/Materials/Textures/prePassRenderTarget.js +6 -6
  568. package/Materials/Textures/prePassRenderTarget.js.map +1 -1
  569. package/Materials/Textures/renderTargetTexture.d.ts +7 -11
  570. package/Materials/Textures/renderTargetTexture.js +8 -9
  571. package/Materials/Textures/renderTargetTexture.js.map +1 -1
  572. package/Materials/Textures/texture.d.ts +6 -18
  573. package/Materials/Textures/texture.js +13 -23
  574. package/Materials/Textures/texture.js.map +1 -1
  575. package/Materials/Textures/textureSampler.d.ts +5 -5
  576. package/Materials/Textures/textureSampler.js +5 -5
  577. package/Materials/Textures/textureSampler.js.map +1 -1
  578. package/Materials/Textures/thinRenderTargetTexture.js +1 -1
  579. package/Materials/Textures/thinRenderTargetTexture.js.map +1 -1
  580. package/Materials/Textures/thinTexture.d.ts +2 -2
  581. package/Materials/Textures/thinTexture.js +2 -2
  582. package/Materials/Textures/thinTexture.js.map +1 -1
  583. package/Materials/Textures/videoTexture.d.ts +1 -1
  584. package/Materials/Textures/videoTexture.js +3 -3
  585. package/Materials/Textures/videoTexture.js.map +1 -1
  586. package/Materials/drawWrapper.d.ts +1 -1
  587. package/Materials/drawWrapper.js +1 -1
  588. package/Materials/drawWrapper.js.map +1 -1
  589. package/Materials/effect.d.ts +17 -17
  590. package/Materials/effect.js +28 -22
  591. package/Materials/effect.js.map +1 -1
  592. package/Materials/effectRenderer.d.ts +1 -1
  593. package/Materials/effectRenderer.js.map +1 -1
  594. package/Materials/imageProcessingConfiguration.d.ts +5 -5
  595. package/Materials/imageProcessingConfiguration.js +4 -4
  596. package/Materials/imageProcessingConfiguration.js.map +1 -1
  597. package/Materials/material.d.ts +21 -26
  598. package/Materials/material.detailMapConfiguration.d.ts +3 -3
  599. package/Materials/material.detailMapConfiguration.js +2 -2
  600. package/Materials/material.detailMapConfiguration.js.map +1 -1
  601. package/Materials/material.js +22 -24
  602. package/Materials/material.js.map +1 -1
  603. package/Materials/materialDefines.d.ts +14 -14
  604. package/Materials/materialDefines.js +13 -13
  605. package/Materials/materialDefines.js.map +1 -1
  606. package/Materials/materialHelper.js +2 -7
  607. package/Materials/materialHelper.js.map +1 -1
  608. package/Materials/materialPluginEvent.d.ts +15 -15
  609. package/Materials/materialPluginEvent.js +1 -1
  610. package/Materials/materialPluginEvent.js.map +1 -1
  611. package/Materials/materialPluginManager.d.ts +2 -4
  612. package/Materials/materialPluginManager.js +2 -4
  613. package/Materials/materialPluginManager.js.map +1 -1
  614. package/Materials/multiMaterial.d.ts +1 -1
  615. package/Materials/multiMaterial.js +1 -1
  616. package/Materials/multiMaterial.js.map +1 -1
  617. package/Materials/pushMaterial.d.ts +1 -1
  618. package/Materials/pushMaterial.js +1 -1
  619. package/Materials/pushMaterial.js.map +1 -1
  620. package/Materials/standardMaterial.d.ts +3 -3
  621. package/Materials/standardMaterial.js +3 -3
  622. package/Materials/standardMaterial.js.map +1 -1
  623. package/Materials/uniformBuffer.d.ts +4 -4
  624. package/Materials/uniformBuffer.js +4 -4
  625. package/Materials/uniformBuffer.js.map +1 -1
  626. package/Materials/uniformBufferEffectCommonAccessor.d.ts +1 -1
  627. package/Materials/uniformBufferEffectCommonAccessor.js +1 -1
  628. package/Materials/uniformBufferEffectCommonAccessor.js.map +1 -1
  629. package/Maths/math.color.d.ts +1 -1
  630. package/Maths/math.color.js +1 -1
  631. package/Maths/math.color.js.map +1 -1
  632. package/Maths/math.isovector.d.ts +1 -1
  633. package/Maths/math.isovector.js +1 -1
  634. package/Maths/math.isovector.js.map +1 -1
  635. package/Maths/math.like.d.ts +8 -8
  636. package/Maths/math.like.js.map +1 -1
  637. package/Maths/math.polar.d.ts +343 -0
  638. package/Maths/math.polar.js +537 -0
  639. package/Maths/math.polar.js.map +1 -1
  640. package/Maths/math.vector.d.ts +58 -24
  641. package/Maths/math.vector.js +94 -18
  642. package/Maths/math.vector.js.map +1 -1
  643. package/Meshes/Builders/tubeBuilder.d.ts +2 -2
  644. package/Meshes/Builders/tubeBuilder.js +2 -2
  645. package/Meshes/Builders/tubeBuilder.js.map +1 -1
  646. package/Meshes/WebGL/webGLDataBuffer.d.ts +1 -1
  647. package/Meshes/WebGL/webGLDataBuffer.js +1 -1
  648. package/Meshes/WebGL/webGLDataBuffer.js.map +1 -1
  649. package/Meshes/WebGPU/webgpuDataBuffer.d.ts +1 -1
  650. package/Meshes/WebGPU/webgpuDataBuffer.js +1 -1
  651. package/Meshes/WebGPU/webgpuDataBuffer.js.map +1 -1
  652. package/Meshes/abstractMesh.d.ts +48 -70
  653. package/Meshes/abstractMesh.js +47 -69
  654. package/Meshes/abstractMesh.js.map +1 -1
  655. package/Meshes/buffer.d.ts +1 -1
  656. package/Meshes/buffer.js +1 -1
  657. package/Meshes/buffer.js.map +1 -1
  658. package/Meshes/geodesicMesh.d.ts +15 -28
  659. package/Meshes/geodesicMesh.js +11 -24
  660. package/Meshes/geodesicMesh.js.map +1 -1
  661. package/Meshes/geometry.d.ts +15 -20
  662. package/Meshes/geometry.js +7 -12
  663. package/Meshes/geometry.js.map +1 -1
  664. package/Meshes/groundMesh.d.ts +8 -8
  665. package/Meshes/groundMesh.js.map +1 -1
  666. package/Meshes/instancedMesh.d.ts +12 -16
  667. package/Meshes/instancedMesh.js +11 -15
  668. package/Meshes/instancedMesh.js.map +1 -1
  669. package/Meshes/linesMesh.d.ts +5 -8
  670. package/Meshes/linesMesh.js +5 -8
  671. package/Meshes/linesMesh.js.map +1 -1
  672. package/Meshes/mesh.d.ts +47 -92
  673. package/Meshes/mesh.js +50 -98
  674. package/Meshes/mesh.js.map +1 -1
  675. package/Meshes/mesh.vertexData.d.ts +3 -18
  676. package/Meshes/mesh.vertexData.js +3 -18
  677. package/Meshes/mesh.vertexData.js.map +1 -1
  678. package/Meshes/meshSimplificationSceneComponent.d.ts +1 -1
  679. package/Meshes/meshSimplificationSceneComponent.js.map +1 -1
  680. package/Meshes/subMesh.d.ts +23 -51
  681. package/Meshes/subMesh.js +20 -48
  682. package/Meshes/subMesh.js.map +1 -1
  683. package/Meshes/subMesh.project.d.ts +2 -2
  684. package/Meshes/subMesh.project.js +2 -12
  685. package/Meshes/subMesh.project.js.map +1 -1
  686. package/Meshes/thinInstanceMesh.d.ts +4 -4
  687. package/Meshes/thinInstanceMesh.js.map +1 -1
  688. package/Meshes/transformNode.d.ts +8 -9
  689. package/Meshes/transformNode.js +8 -9
  690. package/Meshes/transformNode.js.map +1 -1
  691. package/Misc/arrayTools.d.ts +3 -3
  692. package/Misc/arrayTools.js +1 -1
  693. package/Misc/arrayTools.js.map +1 -1
  694. package/Misc/assetsManager.d.ts +1 -3
  695. package/Misc/assetsManager.js +1 -3
  696. package/Misc/assetsManager.js.map +1 -1
  697. package/Misc/basis.js +1 -1
  698. package/Misc/basis.js.map +1 -1
  699. package/Misc/coroutine.d.ts +11 -25
  700. package/Misc/coroutine.js +7 -21
  701. package/Misc/coroutine.js.map +1 -1
  702. package/Misc/dds.d.ts +1 -10
  703. package/Misc/dds.js +1 -10
  704. package/Misc/dds.js.map +1 -1
  705. package/Misc/decorators.d.ts +5 -15
  706. package/Misc/decorators.js +6 -16
  707. package/Misc/decorators.js.map +1 -1
  708. package/Misc/depthReducer.d.ts +1 -5
  709. package/Misc/depthReducer.js +1 -5
  710. package/Misc/depthReducer.js.map +1 -1
  711. package/Misc/devTools.d.ts +1 -2
  712. package/Misc/devTools.js +1 -2
  713. package/Misc/devTools.js.map +1 -1
  714. package/Misc/environmentTextureTools.d.ts +1 -6
  715. package/Misc/environmentTextureTools.js +1 -6
  716. package/Misc/environmentTextureTools.js.map +1 -1
  717. package/Misc/fileTools.d.ts +12 -24
  718. package/Misc/fileTools.js +14 -26
  719. package/Misc/fileTools.js.map +1 -1
  720. package/Misc/khronosTextureContainer.d.ts +1 -3
  721. package/Misc/khronosTextureContainer.js +1 -3
  722. package/Misc/khronosTextureContainer.js.map +1 -1
  723. package/Misc/khronosTextureContainer2.d.ts +1 -4
  724. package/Misc/khronosTextureContainer2.js +1 -4
  725. package/Misc/khronosTextureContainer2.js.map +1 -1
  726. package/Misc/observable.d.ts +3 -4
  727. package/Misc/observable.js +2 -3
  728. package/Misc/observable.js.map +1 -1
  729. package/Misc/pivotTools.d.ts +3 -5
  730. package/Misc/pivotTools.js +3 -5
  731. package/Misc/pivotTools.js.map +1 -1
  732. package/Misc/screenshotTools.js +1 -1
  733. package/Misc/screenshotTools.js.map +1 -1
  734. package/Misc/tags.d.ts +2 -6
  735. package/Misc/tags.js +2 -6
  736. package/Misc/tags.js.map +1 -1
  737. package/Misc/tga.d.ts +14 -70
  738. package/Misc/tga.js +14 -70
  739. package/Misc/tga.js.map +1 -1
  740. package/Misc/tools.d.ts +9 -0
  741. package/Misc/tools.js +14 -5
  742. package/Misc/tools.js.map +1 -1
  743. package/Misc/typeStore.d.ts +2 -5
  744. package/Misc/typeStore.js +3 -6
  745. package/Misc/typeStore.js.map +1 -1
  746. package/Misc/virtualJoystick.js +0 -1
  747. package/Misc/virtualJoystick.js.map +1 -1
  748. package/Misc/webRequest.d.ts +2 -2
  749. package/Misc/webRequest.js +1 -1
  750. package/Misc/webRequest.js.map +1 -1
  751. package/Morph/morphTarget.d.ts +1 -1
  752. package/Morph/morphTarget.js +1 -1
  753. package/Morph/morphTarget.js.map +1 -1
  754. package/Morph/morphTargetManager.d.ts +3 -4
  755. package/Morph/morphTargetManager.js +2 -3
  756. package/Morph/morphTargetManager.js.map +1 -1
  757. package/Particles/IGPUParticleSystemPlatform.d.ts +1 -1
  758. package/Particles/IGPUParticleSystemPlatform.js.map +1 -1
  759. package/Particles/IParticleSystem.d.ts +6 -0
  760. package/Particles/IParticleSystem.js.map +1 -1
  761. package/Particles/baseParticleSystem.d.ts +14 -9
  762. package/Particles/baseParticleSystem.js +17 -8
  763. package/Particles/baseParticleSystem.js.map +1 -1
  764. package/Particles/cloudPoint.d.ts +16 -19
  765. package/Particles/cloudPoint.js +21 -29
  766. package/Particles/cloudPoint.js.map +1 -1
  767. package/Particles/computeShaderParticleSystem.d.ts +1 -1
  768. package/Particles/computeShaderParticleSystem.js +1 -1
  769. package/Particles/computeShaderParticleSystem.js.map +1 -1
  770. package/Particles/gpuParticleSystem.d.ts +14 -20
  771. package/Particles/gpuParticleSystem.js +17 -13
  772. package/Particles/gpuParticleSystem.js.map +1 -1
  773. package/Particles/particle.d.ts +30 -31
  774. package/Particles/particle.js +16 -17
  775. package/Particles/particle.js.map +1 -1
  776. package/Particles/particleSystem.d.ts +16 -32
  777. package/Particles/particleSystem.js +30 -31
  778. package/Particles/particleSystem.js.map +1 -1
  779. package/Particles/pointsCloudSystem.d.ts +3 -4
  780. package/Particles/pointsCloudSystem.js +27 -20
  781. package/Particles/pointsCloudSystem.js.map +1 -1
  782. package/Particles/solidParticle.d.ts +21 -31
  783. package/Particles/solidParticle.js +9 -19
  784. package/Particles/solidParticle.js.map +1 -1
  785. package/Particles/solidParticleSystem.d.ts +14 -16
  786. package/Particles/solidParticleSystem.js +14 -16
  787. package/Particles/solidParticleSystem.js.map +1 -1
  788. package/Particles/subEmitter.d.ts +1 -5
  789. package/Particles/subEmitter.js +1 -5
  790. package/Particles/subEmitter.js.map +1 -1
  791. package/Particles/webgl2ParticleSystem.d.ts +1 -1
  792. package/Particles/webgl2ParticleSystem.js +1 -1
  793. package/Particles/webgl2ParticleSystem.js.map +1 -1
  794. package/Physics/IPhysicsEngine.d.ts +1 -1
  795. package/Physics/IPhysicsEngine.js.map +1 -1
  796. package/Physics/Plugins/ammoJSPlugin.d.ts +3 -0
  797. package/Physics/Plugins/ammoJSPlugin.js +21 -2
  798. package/Physics/Plugins/ammoJSPlugin.js.map +1 -1
  799. package/Physics/Plugins/cannonJSPlugin.d.ts +1 -1
  800. package/Physics/Plugins/cannonJSPlugin.js +1 -1
  801. package/Physics/Plugins/cannonJSPlugin.js.map +1 -1
  802. package/Physics/Plugins/oimoJSPlugin.d.ts +1 -1
  803. package/Physics/Plugins/oimoJSPlugin.js +3 -3
  804. package/Physics/Plugins/oimoJSPlugin.js.map +1 -1
  805. package/Physics/physicsEngineComponent.d.ts +4 -4
  806. package/Physics/physicsEngineComponent.js +1 -2
  807. package/Physics/physicsEngineComponent.js.map +1 -1
  808. package/Physics/physicsImpostor.d.ts +13 -7
  809. package/Physics/physicsImpostor.js +9 -6
  810. package/Physics/physicsImpostor.js.map +1 -1
  811. package/PostProcesses/RenderPipeline/Pipelines/ssao2RenderingPipeline.d.ts +1 -1
  812. package/PostProcesses/RenderPipeline/Pipelines/ssao2RenderingPipeline.js +2 -2
  813. package/PostProcesses/RenderPipeline/Pipelines/ssao2RenderingPipeline.js.map +1 -1
  814. package/PostProcesses/RenderPipeline/Pipelines/ssaoRenderingPipeline.d.ts +2 -4
  815. package/PostProcesses/RenderPipeline/Pipelines/ssaoRenderingPipeline.js +2 -4
  816. package/PostProcesses/RenderPipeline/Pipelines/ssaoRenderingPipeline.js.map +1 -1
  817. package/PostProcesses/RenderPipeline/postProcessRenderEffect.d.ts +10 -10
  818. package/PostProcesses/RenderPipeline/postProcessRenderEffect.js +5 -5
  819. package/PostProcesses/RenderPipeline/postProcessRenderEffect.js.map +1 -1
  820. package/PostProcesses/RenderPipeline/postProcessRenderPipeline.d.ts +13 -13
  821. package/PostProcesses/RenderPipeline/postProcessRenderPipeline.js +7 -14
  822. package/PostProcesses/RenderPipeline/postProcessRenderPipeline.js.map +1 -1
  823. package/PostProcesses/RenderPipeline/postProcessRenderPipelineManager.d.ts +1 -1
  824. package/PostProcesses/RenderPipeline/postProcessRenderPipelineManager.js +1 -1
  825. package/PostProcesses/RenderPipeline/postProcessRenderPipelineManager.js.map +1 -1
  826. package/PostProcesses/RenderPipeline/postProcessRenderPipelineManagerSceneComponent.d.ts +1 -1
  827. package/PostProcesses/RenderPipeline/postProcessRenderPipelineManagerSceneComponent.js.map +1 -1
  828. package/PostProcesses/blackAndWhitePostProcess.d.ts +1 -5
  829. package/PostProcesses/blackAndWhitePostProcess.js +1 -5
  830. package/PostProcesses/blackAndWhitePostProcess.js.map +1 -1
  831. package/PostProcesses/bloomEffect.d.ts +4 -4
  832. package/PostProcesses/bloomEffect.js +3 -3
  833. package/PostProcesses/bloomEffect.js.map +1 -1
  834. package/PostProcesses/blurPostProcess.d.ts +1 -5
  835. package/PostProcesses/blurPostProcess.js +1 -5
  836. package/PostProcesses/blurPostProcess.js.map +1 -1
  837. package/PostProcesses/chromaticAberrationPostProcess.d.ts +1 -5
  838. package/PostProcesses/chromaticAberrationPostProcess.js +1 -5
  839. package/PostProcesses/chromaticAberrationPostProcess.js.map +1 -1
  840. package/PostProcesses/colorCorrectionPostProcess.d.ts +1 -5
  841. package/PostProcesses/colorCorrectionPostProcess.js +1 -5
  842. package/PostProcesses/colorCorrectionPostProcess.js.map +1 -1
  843. package/PostProcesses/convolutionPostProcess.d.ts +1 -5
  844. package/PostProcesses/convolutionPostProcess.js +1 -5
  845. package/PostProcesses/convolutionPostProcess.js.map +1 -1
  846. package/PostProcesses/depthOfFieldEffect.d.ts +4 -4
  847. package/PostProcesses/depthOfFieldEffect.js +3 -3
  848. package/PostProcesses/depthOfFieldEffect.js.map +1 -1
  849. package/PostProcesses/displayPassPostProcess.d.ts +1 -5
  850. package/PostProcesses/displayPassPostProcess.js +1 -5
  851. package/PostProcesses/displayPassPostProcess.js.map +1 -1
  852. package/PostProcesses/extractHighlightsPostProcess.d.ts +2 -2
  853. package/PostProcesses/extractHighlightsPostProcess.js +2 -2
  854. package/PostProcesses/extractHighlightsPostProcess.js.map +1 -1
  855. package/PostProcesses/filterPostProcess.d.ts +1 -5
  856. package/PostProcesses/filterPostProcess.js +1 -5
  857. package/PostProcesses/filterPostProcess.js.map +1 -1
  858. package/PostProcesses/fxaaPostProcess.d.ts +1 -5
  859. package/PostProcesses/fxaaPostProcess.js +1 -5
  860. package/PostProcesses/fxaaPostProcess.js.map +1 -1
  861. package/PostProcesses/grainPostProcess.d.ts +1 -5
  862. package/PostProcesses/grainPostProcess.js +1 -5
  863. package/PostProcesses/grainPostProcess.js.map +1 -1
  864. package/PostProcesses/imageProcessingPostProcess.d.ts +1 -1
  865. package/PostProcesses/imageProcessingPostProcess.js +1 -1
  866. package/PostProcesses/imageProcessingPostProcess.js.map +1 -1
  867. package/PostProcesses/motionBlurPostProcess.d.ts +1 -5
  868. package/PostProcesses/motionBlurPostProcess.js +1 -5
  869. package/PostProcesses/motionBlurPostProcess.js.map +1 -1
  870. package/PostProcesses/passPostProcess.d.ts +2 -10
  871. package/PostProcesses/passPostProcess.js +2 -10
  872. package/PostProcesses/passPostProcess.js.map +1 -1
  873. package/PostProcesses/postProcess.d.ts +8 -12
  874. package/PostProcesses/postProcess.js +6 -10
  875. package/PostProcesses/postProcess.js.map +1 -1
  876. package/PostProcesses/postProcessManager.d.ts +3 -3
  877. package/PostProcesses/postProcessManager.js +3 -3
  878. package/PostProcesses/postProcessManager.js.map +1 -1
  879. package/PostProcesses/refractionPostProcess.d.ts +1 -5
  880. package/PostProcesses/refractionPostProcess.js +1 -5
  881. package/PostProcesses/refractionPostProcess.js.map +1 -1
  882. package/PostProcesses/screenSpaceCurvaturePostProcess.d.ts +1 -5
  883. package/PostProcesses/screenSpaceCurvaturePostProcess.js +1 -5
  884. package/PostProcesses/screenSpaceCurvaturePostProcess.js.map +1 -1
  885. package/PostProcesses/screenSpaceReflectionPostProcess.d.ts +1 -5
  886. package/PostProcesses/screenSpaceReflectionPostProcess.js +1 -5
  887. package/PostProcesses/screenSpaceReflectionPostProcess.js.map +1 -1
  888. package/PostProcesses/sharpenPostProcess.d.ts +1 -5
  889. package/PostProcesses/sharpenPostProcess.js +1 -5
  890. package/PostProcesses/sharpenPostProcess.js.map +1 -1
  891. package/PostProcesses/volumetricLightScatteringPostProcess.d.ts +1 -1
  892. package/PostProcesses/volumetricLightScatteringPostProcess.js +1 -1
  893. package/PostProcesses/volumetricLightScatteringPostProcess.js.map +1 -1
  894. package/Probes/reflectionProbe.d.ts +1 -1
  895. package/Probes/reflectionProbe.js +1 -1
  896. package/Probes/reflectionProbe.js.map +1 -1
  897. package/Rendering/boundingBoxRenderer.d.ts +5 -5
  898. package/Rendering/boundingBoxRenderer.js +2 -2
  899. package/Rendering/boundingBoxRenderer.js.map +1 -1
  900. package/Rendering/depthPeelingSceneComponent.d.ts +2 -2
  901. package/Rendering/depthPeelingSceneComponent.js.map +1 -1
  902. package/Rendering/depthRenderer.d.ts +1 -2
  903. package/Rendering/depthRenderer.js +1 -2
  904. package/Rendering/depthRenderer.js.map +1 -1
  905. package/Rendering/depthRendererSceneComponent.d.ts +1 -1
  906. package/Rendering/depthRendererSceneComponent.js.map +1 -1
  907. package/Rendering/edgesRenderer.d.ts +2 -2
  908. package/Rendering/edgesRenderer.js +1 -1
  909. package/Rendering/edgesRenderer.js.map +1 -1
  910. package/Rendering/geometryBufferRenderer.d.ts +10 -16
  911. package/Rendering/geometryBufferRenderer.js +9 -15
  912. package/Rendering/geometryBufferRenderer.js.map +1 -1
  913. package/Rendering/geometryBufferRendererSceneComponent.d.ts +1 -1
  914. package/Rendering/geometryBufferRendererSceneComponent.js.map +1 -1
  915. package/Rendering/outlineRenderer.d.ts +3 -3
  916. package/Rendering/outlineRenderer.js.map +1 -1
  917. package/Rendering/prePassRenderer.d.ts +7 -14
  918. package/Rendering/prePassRenderer.js +8 -15
  919. package/Rendering/prePassRenderer.js.map +1 -1
  920. package/Rendering/prePassRendererSceneComponent.d.ts +2 -2
  921. package/Rendering/prePassRendererSceneComponent.js.map +1 -1
  922. package/Rendering/renderingGroup.d.ts +3 -3
  923. package/Rendering/renderingGroup.js +3 -3
  924. package/Rendering/renderingGroup.js.map +1 -1
  925. package/Rendering/renderingManager.d.ts +15 -8
  926. package/Rendering/renderingManager.js +59 -17
  927. package/Rendering/renderingManager.js.map +1 -1
  928. package/Rendering/subSurfaceConfiguration.d.ts +2 -4
  929. package/Rendering/subSurfaceConfiguration.js +2 -4
  930. package/Rendering/subSurfaceConfiguration.js.map +1 -1
  931. package/Rendering/subSurfaceSceneComponent.d.ts +1 -1
  932. package/Rendering/subSurfaceSceneComponent.js.map +1 -1
  933. package/Rendering/utilityLayerRenderer.d.ts +4 -4
  934. package/Rendering/utilityLayerRenderer.js +15 -10
  935. package/Rendering/utilityLayerRenderer.js.map +1 -1
  936. package/Shaders/ShadersInclude/backgroundFragmentDeclaration.d.ts +1 -1
  937. package/Shaders/ShadersInclude/backgroundFragmentDeclaration.js +1 -1
  938. package/Shaders/ShadersInclude/backgroundFragmentDeclaration.js.map +1 -1
  939. package/Shaders/ShadersInclude/backgroundUboDeclaration.d.ts +1 -1
  940. package/Shaders/ShadersInclude/backgroundUboDeclaration.js +1 -1
  941. package/Shaders/ShadersInclude/backgroundUboDeclaration.js.map +1 -1
  942. package/Shaders/ShadersInclude/backgroundVertexDeclaration.d.ts +1 -1
  943. package/Shaders/ShadersInclude/backgroundVertexDeclaration.js +1 -1
  944. package/Shaders/ShadersInclude/backgroundVertexDeclaration.js.map +1 -1
  945. package/Shaders/ShadersInclude/bakedVertexAnimation.d.ts +1 -1
  946. package/Shaders/ShadersInclude/bakedVertexAnimation.js +1 -1
  947. package/Shaders/ShadersInclude/bakedVertexAnimation.js.map +1 -1
  948. package/Shaders/ShadersInclude/bakedVertexAnimationDeclaration.d.ts +1 -1
  949. package/Shaders/ShadersInclude/bakedVertexAnimationDeclaration.js +1 -1
  950. package/Shaders/ShadersInclude/bakedVertexAnimationDeclaration.js.map +1 -1
  951. package/Shaders/ShadersInclude/bayerDitherFunctions.d.ts +1 -1
  952. package/Shaders/ShadersInclude/bayerDitherFunctions.js +1 -1
  953. package/Shaders/ShadersInclude/bayerDitherFunctions.js.map +1 -1
  954. package/Shaders/ShadersInclude/bonesDeclaration.d.ts +1 -1
  955. package/Shaders/ShadersInclude/bonesDeclaration.js +1 -1
  956. package/Shaders/ShadersInclude/bonesDeclaration.js.map +1 -1
  957. package/Shaders/ShadersInclude/bonesVertex.d.ts +1 -1
  958. package/Shaders/ShadersInclude/bonesVertex.js +1 -1
  959. package/Shaders/ShadersInclude/bonesVertex.js.map +1 -1
  960. package/Shaders/ShadersInclude/boundingBoxRendererFragmentDeclaration.d.ts +1 -1
  961. package/Shaders/ShadersInclude/boundingBoxRendererFragmentDeclaration.js +1 -1
  962. package/Shaders/ShadersInclude/boundingBoxRendererFragmentDeclaration.js.map +1 -1
  963. package/Shaders/ShadersInclude/boundingBoxRendererUboDeclaration.d.ts +1 -1
  964. package/Shaders/ShadersInclude/boundingBoxRendererUboDeclaration.js +1 -1
  965. package/Shaders/ShadersInclude/boundingBoxRendererUboDeclaration.js.map +1 -1
  966. package/Shaders/ShadersInclude/boundingBoxRendererVertexDeclaration.d.ts +1 -1
  967. package/Shaders/ShadersInclude/boundingBoxRendererVertexDeclaration.js +1 -1
  968. package/Shaders/ShadersInclude/boundingBoxRendererVertexDeclaration.js.map +1 -1
  969. package/Shaders/ShadersInclude/bumpFragment.d.ts +1 -1
  970. package/Shaders/ShadersInclude/bumpFragment.js +1 -1
  971. package/Shaders/ShadersInclude/bumpFragment.js.map +1 -1
  972. package/Shaders/ShadersInclude/bumpFragmentFunctions.d.ts +1 -1
  973. package/Shaders/ShadersInclude/bumpFragmentFunctions.js +1 -1
  974. package/Shaders/ShadersInclude/bumpFragmentFunctions.js.map +1 -1
  975. package/Shaders/ShadersInclude/bumpFragmentMainFunctions.d.ts +1 -1
  976. package/Shaders/ShadersInclude/bumpFragmentMainFunctions.js +1 -1
  977. package/Shaders/ShadersInclude/bumpFragmentMainFunctions.js.map +1 -1
  978. package/Shaders/ShadersInclude/bumpVertex.d.ts +1 -1
  979. package/Shaders/ShadersInclude/bumpVertex.js +1 -1
  980. package/Shaders/ShadersInclude/bumpVertex.js.map +1 -1
  981. package/Shaders/ShadersInclude/bumpVertexDeclaration.d.ts +1 -1
  982. package/Shaders/ShadersInclude/bumpVertexDeclaration.js +1 -1
  983. package/Shaders/ShadersInclude/bumpVertexDeclaration.js.map +1 -1
  984. package/Shaders/ShadersInclude/clipPlaneFragment.d.ts +1 -1
  985. package/Shaders/ShadersInclude/clipPlaneFragment.js +1 -1
  986. package/Shaders/ShadersInclude/clipPlaneFragment.js.map +1 -1
  987. package/Shaders/ShadersInclude/clipPlaneFragmentDeclaration.d.ts +1 -1
  988. package/Shaders/ShadersInclude/clipPlaneFragmentDeclaration.js +1 -1
  989. package/Shaders/ShadersInclude/clipPlaneFragmentDeclaration.js.map +1 -1
  990. package/Shaders/ShadersInclude/clipPlaneFragmentDeclaration2.d.ts +1 -1
  991. package/Shaders/ShadersInclude/clipPlaneFragmentDeclaration2.js +1 -1
  992. package/Shaders/ShadersInclude/clipPlaneFragmentDeclaration2.js.map +1 -1
  993. package/Shaders/ShadersInclude/clipPlaneVertex.d.ts +1 -1
  994. package/Shaders/ShadersInclude/clipPlaneVertex.js +1 -1
  995. package/Shaders/ShadersInclude/clipPlaneVertex.js.map +1 -1
  996. package/Shaders/ShadersInclude/clipPlaneVertexDeclaration.d.ts +1 -1
  997. package/Shaders/ShadersInclude/clipPlaneVertexDeclaration.js +1 -1
  998. package/Shaders/ShadersInclude/clipPlaneVertexDeclaration.js.map +1 -1
  999. package/Shaders/ShadersInclude/clipPlaneVertexDeclaration2.d.ts +1 -1
  1000. package/Shaders/ShadersInclude/clipPlaneVertexDeclaration2.js +1 -1
  1001. package/Shaders/ShadersInclude/clipPlaneVertexDeclaration2.js.map +1 -1
  1002. package/Shaders/ShadersInclude/defaultFragmentDeclaration.d.ts +1 -1
  1003. package/Shaders/ShadersInclude/defaultFragmentDeclaration.js +1 -1
  1004. package/Shaders/ShadersInclude/defaultFragmentDeclaration.js.map +1 -1
  1005. package/Shaders/ShadersInclude/defaultUboDeclaration.d.ts +1 -1
  1006. package/Shaders/ShadersInclude/defaultUboDeclaration.js +1 -1
  1007. package/Shaders/ShadersInclude/defaultUboDeclaration.js.map +1 -1
  1008. package/Shaders/ShadersInclude/defaultVertexDeclaration.d.ts +1 -1
  1009. package/Shaders/ShadersInclude/defaultVertexDeclaration.js +1 -1
  1010. package/Shaders/ShadersInclude/defaultVertexDeclaration.js.map +1 -1
  1011. package/Shaders/ShadersInclude/depthPrePass.d.ts +1 -1
  1012. package/Shaders/ShadersInclude/depthPrePass.js +1 -1
  1013. package/Shaders/ShadersInclude/depthPrePass.js.map +1 -1
  1014. package/Shaders/ShadersInclude/diffusionProfile.d.ts +1 -1
  1015. package/Shaders/ShadersInclude/diffusionProfile.js +1 -1
  1016. package/Shaders/ShadersInclude/diffusionProfile.js.map +1 -1
  1017. package/Shaders/ShadersInclude/fibonacci.d.ts +1 -1
  1018. package/Shaders/ShadersInclude/fibonacci.js +1 -1
  1019. package/Shaders/ShadersInclude/fibonacci.js.map +1 -1
  1020. package/Shaders/ShadersInclude/fogFragment.d.ts +1 -1
  1021. package/Shaders/ShadersInclude/fogFragment.js +1 -1
  1022. package/Shaders/ShadersInclude/fogFragment.js.map +1 -1
  1023. package/Shaders/ShadersInclude/fogFragmentDeclaration.d.ts +1 -1
  1024. package/Shaders/ShadersInclude/fogFragmentDeclaration.js +1 -1
  1025. package/Shaders/ShadersInclude/fogFragmentDeclaration.js.map +1 -1
  1026. package/Shaders/ShadersInclude/fogVertex.d.ts +1 -1
  1027. package/Shaders/ShadersInclude/fogVertex.js +1 -1
  1028. package/Shaders/ShadersInclude/fogVertex.js.map +1 -1
  1029. package/Shaders/ShadersInclude/fogVertexDeclaration.d.ts +1 -1
  1030. package/Shaders/ShadersInclude/fogVertexDeclaration.js +1 -1
  1031. package/Shaders/ShadersInclude/fogVertexDeclaration.js.map +1 -1
  1032. package/Shaders/ShadersInclude/fresnelFunction.d.ts +1 -1
  1033. package/Shaders/ShadersInclude/fresnelFunction.js +1 -1
  1034. package/Shaders/ShadersInclude/fresnelFunction.js.map +1 -1
  1035. package/Shaders/ShadersInclude/geometryUboDeclaration.d.ts +1 -1
  1036. package/Shaders/ShadersInclude/geometryUboDeclaration.js +1 -1
  1037. package/Shaders/ShadersInclude/geometryUboDeclaration.js.map +1 -1
  1038. package/Shaders/ShadersInclude/geometryVertexDeclaration.d.ts +1 -1
  1039. package/Shaders/ShadersInclude/geometryVertexDeclaration.js +1 -1
  1040. package/Shaders/ShadersInclude/geometryVertexDeclaration.js.map +1 -1
  1041. package/Shaders/ShadersInclude/harmonicsFunctions.d.ts +1 -1
  1042. package/Shaders/ShadersInclude/harmonicsFunctions.js +1 -1
  1043. package/Shaders/ShadersInclude/harmonicsFunctions.js.map +1 -1
  1044. package/Shaders/ShadersInclude/hdrFilteringFunctions.d.ts +1 -1
  1045. package/Shaders/ShadersInclude/hdrFilteringFunctions.js +1 -1
  1046. package/Shaders/ShadersInclude/hdrFilteringFunctions.js.map +1 -1
  1047. package/Shaders/ShadersInclude/helperFunctions.d.ts +1 -1
  1048. package/Shaders/ShadersInclude/helperFunctions.js +1 -1
  1049. package/Shaders/ShadersInclude/helperFunctions.js.map +1 -1
  1050. package/Shaders/ShadersInclude/imageProcessingCompatibility.d.ts +1 -1
  1051. package/Shaders/ShadersInclude/imageProcessingCompatibility.js +1 -1
  1052. package/Shaders/ShadersInclude/imageProcessingCompatibility.js.map +1 -1
  1053. package/Shaders/ShadersInclude/imageProcessingDeclaration.d.ts +1 -1
  1054. package/Shaders/ShadersInclude/imageProcessingDeclaration.js +1 -1
  1055. package/Shaders/ShadersInclude/imageProcessingDeclaration.js.map +1 -1
  1056. package/Shaders/ShadersInclude/imageProcessingFunctions.d.ts +1 -1
  1057. package/Shaders/ShadersInclude/imageProcessingFunctions.js +1 -1
  1058. package/Shaders/ShadersInclude/imageProcessingFunctions.js.map +1 -1
  1059. package/Shaders/ShadersInclude/importanceSampling.d.ts +1 -1
  1060. package/Shaders/ShadersInclude/importanceSampling.js +1 -1
  1061. package/Shaders/ShadersInclude/importanceSampling.js.map +1 -1
  1062. package/Shaders/ShadersInclude/instancesDeclaration.d.ts +1 -1
  1063. package/Shaders/ShadersInclude/instancesDeclaration.js +1 -1
  1064. package/Shaders/ShadersInclude/instancesDeclaration.js.map +1 -1
  1065. package/Shaders/ShadersInclude/instancesVertex.d.ts +1 -1
  1066. package/Shaders/ShadersInclude/instancesVertex.js +1 -1
  1067. package/Shaders/ShadersInclude/instancesVertex.js.map +1 -1
  1068. package/Shaders/ShadersInclude/kernelBlurFragment.d.ts +1 -1
  1069. package/Shaders/ShadersInclude/kernelBlurFragment.js +1 -1
  1070. package/Shaders/ShadersInclude/kernelBlurFragment.js.map +1 -1
  1071. package/Shaders/ShadersInclude/kernelBlurFragment2.d.ts +1 -1
  1072. package/Shaders/ShadersInclude/kernelBlurFragment2.js +1 -1
  1073. package/Shaders/ShadersInclude/kernelBlurFragment2.js.map +1 -1
  1074. package/Shaders/ShadersInclude/kernelBlurVaryingDeclaration.d.ts +1 -1
  1075. package/Shaders/ShadersInclude/kernelBlurVaryingDeclaration.js +1 -1
  1076. package/Shaders/ShadersInclude/kernelBlurVaryingDeclaration.js.map +1 -1
  1077. package/Shaders/ShadersInclude/kernelBlurVertex.d.ts +1 -1
  1078. package/Shaders/ShadersInclude/kernelBlurVertex.js +1 -1
  1079. package/Shaders/ShadersInclude/kernelBlurVertex.js.map +1 -1
  1080. package/Shaders/ShadersInclude/lightFragment.d.ts +1 -1
  1081. package/Shaders/ShadersInclude/lightFragment.js +1 -1
  1082. package/Shaders/ShadersInclude/lightFragment.js.map +1 -1
  1083. package/Shaders/ShadersInclude/lightFragmentDeclaration.d.ts +1 -1
  1084. package/Shaders/ShadersInclude/lightFragmentDeclaration.js +1 -1
  1085. package/Shaders/ShadersInclude/lightFragmentDeclaration.js.map +1 -1
  1086. package/Shaders/ShadersInclude/lightUboDeclaration.d.ts +1 -1
  1087. package/Shaders/ShadersInclude/lightUboDeclaration.js +1 -1
  1088. package/Shaders/ShadersInclude/lightUboDeclaration.js.map +1 -1
  1089. package/Shaders/ShadersInclude/lightVxFragmentDeclaration.d.ts +1 -1
  1090. package/Shaders/ShadersInclude/lightVxFragmentDeclaration.js +1 -1
  1091. package/Shaders/ShadersInclude/lightVxFragmentDeclaration.js.map +1 -1
  1092. package/Shaders/ShadersInclude/lightVxUboDeclaration.d.ts +1 -1
  1093. package/Shaders/ShadersInclude/lightVxUboDeclaration.js +1 -1
  1094. package/Shaders/ShadersInclude/lightVxUboDeclaration.js.map +1 -1
  1095. package/Shaders/ShadersInclude/lightsFragmentFunctions.d.ts +1 -1
  1096. package/Shaders/ShadersInclude/lightsFragmentFunctions.js +1 -1
  1097. package/Shaders/ShadersInclude/lightsFragmentFunctions.js.map +1 -1
  1098. package/Shaders/ShadersInclude/logDepthDeclaration.d.ts +1 -1
  1099. package/Shaders/ShadersInclude/logDepthDeclaration.js +1 -1
  1100. package/Shaders/ShadersInclude/logDepthDeclaration.js.map +1 -1
  1101. package/Shaders/ShadersInclude/logDepthFragment.d.ts +1 -1
  1102. package/Shaders/ShadersInclude/logDepthFragment.js +1 -1
  1103. package/Shaders/ShadersInclude/logDepthFragment.js.map +1 -1
  1104. package/Shaders/ShadersInclude/logDepthVertex.d.ts +1 -1
  1105. package/Shaders/ShadersInclude/logDepthVertex.js +1 -1
  1106. package/Shaders/ShadersInclude/logDepthVertex.js.map +1 -1
  1107. package/Shaders/ShadersInclude/mainUVVaryingDeclaration.d.ts +1 -1
  1108. package/Shaders/ShadersInclude/mainUVVaryingDeclaration.js +1 -1
  1109. package/Shaders/ShadersInclude/mainUVVaryingDeclaration.js.map +1 -1
  1110. package/Shaders/ShadersInclude/meshFragmentDeclaration.d.ts +1 -1
  1111. package/Shaders/ShadersInclude/meshFragmentDeclaration.js +1 -1
  1112. package/Shaders/ShadersInclude/meshFragmentDeclaration.js.map +1 -1
  1113. package/Shaders/ShadersInclude/meshUboDeclaration.d.ts +1 -1
  1114. package/Shaders/ShadersInclude/meshUboDeclaration.js +1 -1
  1115. package/Shaders/ShadersInclude/meshUboDeclaration.js.map +1 -1
  1116. package/Shaders/ShadersInclude/meshVertexDeclaration.d.ts +1 -1
  1117. package/Shaders/ShadersInclude/meshVertexDeclaration.js +1 -1
  1118. package/Shaders/ShadersInclude/meshVertexDeclaration.js.map +1 -1
  1119. package/Shaders/ShadersInclude/morphTargetsVertex.d.ts +1 -1
  1120. package/Shaders/ShadersInclude/morphTargetsVertex.js +1 -1
  1121. package/Shaders/ShadersInclude/morphTargetsVertex.js.map +1 -1
  1122. package/Shaders/ShadersInclude/morphTargetsVertexDeclaration.d.ts +1 -1
  1123. package/Shaders/ShadersInclude/morphTargetsVertexDeclaration.js +1 -1
  1124. package/Shaders/ShadersInclude/morphTargetsVertexDeclaration.js.map +1 -1
  1125. package/Shaders/ShadersInclude/morphTargetsVertexGlobal.d.ts +1 -1
  1126. package/Shaders/ShadersInclude/morphTargetsVertexGlobal.js +1 -1
  1127. package/Shaders/ShadersInclude/morphTargetsVertexGlobal.js.map +1 -1
  1128. package/Shaders/ShadersInclude/morphTargetsVertexGlobalDeclaration.d.ts +1 -1
  1129. package/Shaders/ShadersInclude/morphTargetsVertexGlobalDeclaration.js +1 -1
  1130. package/Shaders/ShadersInclude/morphTargetsVertexGlobalDeclaration.js.map +1 -1
  1131. package/Shaders/ShadersInclude/mrtFragmentDeclaration.d.ts +1 -1
  1132. package/Shaders/ShadersInclude/mrtFragmentDeclaration.js +1 -1
  1133. package/Shaders/ShadersInclude/mrtFragmentDeclaration.js.map +1 -1
  1134. package/Shaders/ShadersInclude/oitDeclaration.d.ts +1 -1
  1135. package/Shaders/ShadersInclude/oitDeclaration.js +1 -1
  1136. package/Shaders/ShadersInclude/oitDeclaration.js.map +1 -1
  1137. package/Shaders/ShadersInclude/oitFragment.d.ts +1 -1
  1138. package/Shaders/ShadersInclude/oitFragment.js +1 -1
  1139. package/Shaders/ShadersInclude/oitFragment.js.map +1 -1
  1140. package/Shaders/ShadersInclude/packingFunctions.d.ts +1 -1
  1141. package/Shaders/ShadersInclude/packingFunctions.js +1 -1
  1142. package/Shaders/ShadersInclude/packingFunctions.js.map +1 -1
  1143. package/Shaders/ShadersInclude/pbrBRDFFunctions.d.ts +1 -1
  1144. package/Shaders/ShadersInclude/pbrBRDFFunctions.js +1 -1
  1145. package/Shaders/ShadersInclude/pbrBRDFFunctions.js.map +1 -1
  1146. package/Shaders/ShadersInclude/pbrBlockAlbedoOpacity.d.ts +1 -1
  1147. package/Shaders/ShadersInclude/pbrBlockAlbedoOpacity.js +3 -3
  1148. package/Shaders/ShadersInclude/pbrBlockAlbedoOpacity.js.map +1 -1
  1149. package/Shaders/ShadersInclude/pbrBlockAlphaFresnel.d.ts +1 -1
  1150. package/Shaders/ShadersInclude/pbrBlockAlphaFresnel.js +1 -1
  1151. package/Shaders/ShadersInclude/pbrBlockAlphaFresnel.js.map +1 -1
  1152. package/Shaders/ShadersInclude/pbrBlockAmbientOcclusion.d.ts +1 -1
  1153. package/Shaders/ShadersInclude/pbrBlockAmbientOcclusion.js +1 -1
  1154. package/Shaders/ShadersInclude/pbrBlockAmbientOcclusion.js.map +1 -1
  1155. package/Shaders/ShadersInclude/pbrBlockAnisotropic.d.ts +1 -1
  1156. package/Shaders/ShadersInclude/pbrBlockAnisotropic.js +1 -1
  1157. package/Shaders/ShadersInclude/pbrBlockAnisotropic.js.map +1 -1
  1158. package/Shaders/ShadersInclude/pbrBlockClearcoat.d.ts +1 -1
  1159. package/Shaders/ShadersInclude/pbrBlockClearcoat.js +1 -1
  1160. package/Shaders/ShadersInclude/pbrBlockClearcoat.js.map +1 -1
  1161. package/Shaders/ShadersInclude/pbrBlockDirectLighting.d.ts +1 -1
  1162. package/Shaders/ShadersInclude/pbrBlockDirectLighting.js +1 -1
  1163. package/Shaders/ShadersInclude/pbrBlockDirectLighting.js.map +1 -1
  1164. package/Shaders/ShadersInclude/pbrBlockFinalColorComposition.d.ts +1 -1
  1165. package/Shaders/ShadersInclude/pbrBlockFinalColorComposition.js +1 -1
  1166. package/Shaders/ShadersInclude/pbrBlockFinalColorComposition.js.map +1 -1
  1167. package/Shaders/ShadersInclude/pbrBlockFinalLitComponents.d.ts +1 -1
  1168. package/Shaders/ShadersInclude/pbrBlockFinalLitComponents.js +1 -1
  1169. package/Shaders/ShadersInclude/pbrBlockFinalLitComponents.js.map +1 -1
  1170. package/Shaders/ShadersInclude/pbrBlockFinalUnlitComponents.d.ts +1 -1
  1171. package/Shaders/ShadersInclude/pbrBlockFinalUnlitComponents.js +1 -1
  1172. package/Shaders/ShadersInclude/pbrBlockFinalUnlitComponents.js.map +1 -1
  1173. package/Shaders/ShadersInclude/pbrBlockGeometryInfo.d.ts +1 -1
  1174. package/Shaders/ShadersInclude/pbrBlockGeometryInfo.js +1 -1
  1175. package/Shaders/ShadersInclude/pbrBlockGeometryInfo.js.map +1 -1
  1176. package/Shaders/ShadersInclude/pbrBlockImageProcessing.d.ts +1 -1
  1177. package/Shaders/ShadersInclude/pbrBlockImageProcessing.js +1 -1
  1178. package/Shaders/ShadersInclude/pbrBlockImageProcessing.js.map +1 -1
  1179. package/Shaders/ShadersInclude/pbrBlockIridescence.d.ts +1 -1
  1180. package/Shaders/ShadersInclude/pbrBlockIridescence.js +1 -1
  1181. package/Shaders/ShadersInclude/pbrBlockIridescence.js.map +1 -1
  1182. package/Shaders/ShadersInclude/pbrBlockLightmapInit.d.ts +1 -1
  1183. package/Shaders/ShadersInclude/pbrBlockLightmapInit.js +1 -1
  1184. package/Shaders/ShadersInclude/pbrBlockLightmapInit.js.map +1 -1
  1185. package/Shaders/ShadersInclude/pbrBlockNormalFinal.d.ts +1 -1
  1186. package/Shaders/ShadersInclude/pbrBlockNormalFinal.js +1 -1
  1187. package/Shaders/ShadersInclude/pbrBlockNormalFinal.js.map +1 -1
  1188. package/Shaders/ShadersInclude/pbrBlockNormalGeometric.d.ts +1 -1
  1189. package/Shaders/ShadersInclude/pbrBlockNormalGeometric.js +1 -1
  1190. package/Shaders/ShadersInclude/pbrBlockNormalGeometric.js.map +1 -1
  1191. package/Shaders/ShadersInclude/pbrBlockReflectance.d.ts +1 -1
  1192. package/Shaders/ShadersInclude/pbrBlockReflectance.js +1 -1
  1193. package/Shaders/ShadersInclude/pbrBlockReflectance.js.map +1 -1
  1194. package/Shaders/ShadersInclude/pbrBlockReflectance0.d.ts +1 -1
  1195. package/Shaders/ShadersInclude/pbrBlockReflectance0.js +1 -1
  1196. package/Shaders/ShadersInclude/pbrBlockReflectance0.js.map +1 -1
  1197. package/Shaders/ShadersInclude/pbrBlockReflection.d.ts +1 -1
  1198. package/Shaders/ShadersInclude/pbrBlockReflection.js +1 -1
  1199. package/Shaders/ShadersInclude/pbrBlockReflection.js.map +1 -1
  1200. package/Shaders/ShadersInclude/pbrBlockReflectivity.d.ts +1 -1
  1201. package/Shaders/ShadersInclude/pbrBlockReflectivity.js +1 -1
  1202. package/Shaders/ShadersInclude/pbrBlockReflectivity.js.map +1 -1
  1203. package/Shaders/ShadersInclude/pbrBlockSheen.d.ts +1 -1
  1204. package/Shaders/ShadersInclude/pbrBlockSheen.js +1 -1
  1205. package/Shaders/ShadersInclude/pbrBlockSheen.js.map +1 -1
  1206. package/Shaders/ShadersInclude/pbrBlockSubSurface.d.ts +1 -1
  1207. package/Shaders/ShadersInclude/pbrBlockSubSurface.js +1 -1
  1208. package/Shaders/ShadersInclude/pbrBlockSubSurface.js.map +1 -1
  1209. package/Shaders/ShadersInclude/pbrDebug.d.ts +1 -1
  1210. package/Shaders/ShadersInclude/pbrDebug.js +1 -1
  1211. package/Shaders/ShadersInclude/pbrDebug.js.map +1 -1
  1212. package/Shaders/ShadersInclude/pbrDirectLightingFalloffFunctions.d.ts +1 -1
  1213. package/Shaders/ShadersInclude/pbrDirectLightingFalloffFunctions.js +1 -1
  1214. package/Shaders/ShadersInclude/pbrDirectLightingFalloffFunctions.js.map +1 -1
  1215. package/Shaders/ShadersInclude/pbrDirectLightingFunctions.d.ts +1 -1
  1216. package/Shaders/ShadersInclude/pbrDirectLightingFunctions.js +1 -1
  1217. package/Shaders/ShadersInclude/pbrDirectLightingFunctions.js.map +1 -1
  1218. package/Shaders/ShadersInclude/pbrDirectLightingSetupFunctions.d.ts +1 -1
  1219. package/Shaders/ShadersInclude/pbrDirectLightingSetupFunctions.js +1 -1
  1220. package/Shaders/ShadersInclude/pbrDirectLightingSetupFunctions.js.map +1 -1
  1221. package/Shaders/ShadersInclude/pbrFragmentDeclaration.d.ts +1 -1
  1222. package/Shaders/ShadersInclude/pbrFragmentDeclaration.js +1 -1
  1223. package/Shaders/ShadersInclude/pbrFragmentDeclaration.js.map +1 -1
  1224. package/Shaders/ShadersInclude/pbrFragmentExtraDeclaration.d.ts +1 -1
  1225. package/Shaders/ShadersInclude/pbrFragmentExtraDeclaration.js +2 -2
  1226. package/Shaders/ShadersInclude/pbrFragmentExtraDeclaration.js.map +1 -1
  1227. package/Shaders/ShadersInclude/pbrFragmentSamplersDeclaration.d.ts +1 -1
  1228. package/Shaders/ShadersInclude/pbrFragmentSamplersDeclaration.js +1 -1
  1229. package/Shaders/ShadersInclude/pbrFragmentSamplersDeclaration.js.map +1 -1
  1230. package/Shaders/ShadersInclude/pbrHelperFunctions.d.ts +1 -1
  1231. package/Shaders/ShadersInclude/pbrHelperFunctions.js +1 -1
  1232. package/Shaders/ShadersInclude/pbrHelperFunctions.js.map +1 -1
  1233. package/Shaders/ShadersInclude/pbrIBLFunctions.d.ts +1 -1
  1234. package/Shaders/ShadersInclude/pbrIBLFunctions.js +1 -1
  1235. package/Shaders/ShadersInclude/pbrIBLFunctions.js.map +1 -1
  1236. package/Shaders/ShadersInclude/pbrUboDeclaration.d.ts +1 -1
  1237. package/Shaders/ShadersInclude/pbrUboDeclaration.js +1 -1
  1238. package/Shaders/ShadersInclude/pbrUboDeclaration.js.map +1 -1
  1239. package/Shaders/ShadersInclude/pbrVertexDeclaration.d.ts +1 -1
  1240. package/Shaders/ShadersInclude/pbrVertexDeclaration.js +1 -1
  1241. package/Shaders/ShadersInclude/pbrVertexDeclaration.js.map +1 -1
  1242. package/Shaders/ShadersInclude/pointCloudVertex.d.ts +1 -1
  1243. package/Shaders/ShadersInclude/pointCloudVertex.js +1 -1
  1244. package/Shaders/ShadersInclude/pointCloudVertex.js.map +1 -1
  1245. package/Shaders/ShadersInclude/pointCloudVertexDeclaration.d.ts +1 -1
  1246. package/Shaders/ShadersInclude/pointCloudVertexDeclaration.js +1 -1
  1247. package/Shaders/ShadersInclude/pointCloudVertexDeclaration.js.map +1 -1
  1248. package/Shaders/ShadersInclude/prePassDeclaration.d.ts +1 -1
  1249. package/Shaders/ShadersInclude/prePassDeclaration.js +1 -1
  1250. package/Shaders/ShadersInclude/prePassDeclaration.js.map +1 -1
  1251. package/Shaders/ShadersInclude/prePassVertex.d.ts +1 -1
  1252. package/Shaders/ShadersInclude/prePassVertex.js +1 -1
  1253. package/Shaders/ShadersInclude/prePassVertex.js.map +1 -1
  1254. package/Shaders/ShadersInclude/prePassVertexDeclaration.d.ts +1 -1
  1255. package/Shaders/ShadersInclude/prePassVertexDeclaration.js +1 -1
  1256. package/Shaders/ShadersInclude/prePassVertexDeclaration.js.map +1 -1
  1257. package/Shaders/ShadersInclude/reflectionFunction.d.ts +1 -1
  1258. package/Shaders/ShadersInclude/reflectionFunction.js +1 -1
  1259. package/Shaders/ShadersInclude/reflectionFunction.js.map +1 -1
  1260. package/Shaders/ShadersInclude/samplerFragmentAlternateDeclaration.d.ts +1 -1
  1261. package/Shaders/ShadersInclude/samplerFragmentAlternateDeclaration.js +1 -1
  1262. package/Shaders/ShadersInclude/samplerFragmentAlternateDeclaration.js.map +1 -1
  1263. package/Shaders/ShadersInclude/samplerFragmentDeclaration.d.ts +1 -1
  1264. package/Shaders/ShadersInclude/samplerFragmentDeclaration.js +1 -1
  1265. package/Shaders/ShadersInclude/samplerFragmentDeclaration.js.map +1 -1
  1266. package/Shaders/ShadersInclude/samplerVertexDeclaration.d.ts +1 -1
  1267. package/Shaders/ShadersInclude/samplerVertexDeclaration.js +1 -1
  1268. package/Shaders/ShadersInclude/samplerVertexDeclaration.js.map +1 -1
  1269. package/Shaders/ShadersInclude/samplerVertexImplementation.d.ts +1 -1
  1270. package/Shaders/ShadersInclude/samplerVertexImplementation.js +1 -1
  1271. package/Shaders/ShadersInclude/samplerVertexImplementation.js.map +1 -1
  1272. package/Shaders/ShadersInclude/sceneFragmentDeclaration.d.ts +1 -1
  1273. package/Shaders/ShadersInclude/sceneFragmentDeclaration.js +1 -1
  1274. package/Shaders/ShadersInclude/sceneFragmentDeclaration.js.map +1 -1
  1275. package/Shaders/ShadersInclude/sceneUboDeclaration.d.ts +1 -1
  1276. package/Shaders/ShadersInclude/sceneUboDeclaration.js +1 -1
  1277. package/Shaders/ShadersInclude/sceneUboDeclaration.js.map +1 -1
  1278. package/Shaders/ShadersInclude/sceneVertexDeclaration.d.ts +1 -1
  1279. package/Shaders/ShadersInclude/sceneVertexDeclaration.js +1 -1
  1280. package/Shaders/ShadersInclude/sceneVertexDeclaration.js.map +1 -1
  1281. package/Shaders/ShadersInclude/shadowMapFragment.d.ts +1 -1
  1282. package/Shaders/ShadersInclude/shadowMapFragment.js +1 -1
  1283. package/Shaders/ShadersInclude/shadowMapFragment.js.map +1 -1
  1284. package/Shaders/ShadersInclude/shadowMapFragmentExtraDeclaration.d.ts +1 -1
  1285. package/Shaders/ShadersInclude/shadowMapFragmentExtraDeclaration.js +1 -1
  1286. package/Shaders/ShadersInclude/shadowMapFragmentExtraDeclaration.js.map +1 -1
  1287. package/Shaders/ShadersInclude/shadowMapFragmentSoftTransparentShadow.d.ts +1 -1
  1288. package/Shaders/ShadersInclude/shadowMapFragmentSoftTransparentShadow.js +1 -1
  1289. package/Shaders/ShadersInclude/shadowMapFragmentSoftTransparentShadow.js.map +1 -1
  1290. package/Shaders/ShadersInclude/shadowMapUboDeclaration.d.ts +1 -1
  1291. package/Shaders/ShadersInclude/shadowMapUboDeclaration.js +1 -1
  1292. package/Shaders/ShadersInclude/shadowMapUboDeclaration.js.map +1 -1
  1293. package/Shaders/ShadersInclude/shadowMapVertexDeclaration.d.ts +1 -1
  1294. package/Shaders/ShadersInclude/shadowMapVertexDeclaration.js +1 -1
  1295. package/Shaders/ShadersInclude/shadowMapVertexDeclaration.js.map +1 -1
  1296. package/Shaders/ShadersInclude/shadowMapVertexExtraDeclaration.d.ts +1 -1
  1297. package/Shaders/ShadersInclude/shadowMapVertexExtraDeclaration.js +1 -1
  1298. package/Shaders/ShadersInclude/shadowMapVertexExtraDeclaration.js.map +1 -1
  1299. package/Shaders/ShadersInclude/shadowMapVertexMetric.d.ts +1 -1
  1300. package/Shaders/ShadersInclude/shadowMapVertexMetric.js +1 -1
  1301. package/Shaders/ShadersInclude/shadowMapVertexMetric.js.map +1 -1
  1302. package/Shaders/ShadersInclude/shadowMapVertexNormalBias.d.ts +1 -1
  1303. package/Shaders/ShadersInclude/shadowMapVertexNormalBias.js +1 -1
  1304. package/Shaders/ShadersInclude/shadowMapVertexNormalBias.js.map +1 -1
  1305. package/Shaders/ShadersInclude/shadowsFragmentFunctions.d.ts +1 -1
  1306. package/Shaders/ShadersInclude/shadowsFragmentFunctions.js +1 -1
  1307. package/Shaders/ShadersInclude/shadowsFragmentFunctions.js.map +1 -1
  1308. package/Shaders/ShadersInclude/shadowsVertex.d.ts +1 -1
  1309. package/Shaders/ShadersInclude/shadowsVertex.js +1 -1
  1310. package/Shaders/ShadersInclude/shadowsVertex.js.map +1 -1
  1311. package/Shaders/ShadersInclude/subSurfaceScatteringFunctions.d.ts +1 -1
  1312. package/Shaders/ShadersInclude/subSurfaceScatteringFunctions.js +1 -1
  1313. package/Shaders/ShadersInclude/subSurfaceScatteringFunctions.js.map +1 -1
  1314. package/Shaders/ShadersInclude/uvAttributeDeclaration.d.ts +1 -1
  1315. package/Shaders/ShadersInclude/uvAttributeDeclaration.js +1 -1
  1316. package/Shaders/ShadersInclude/uvAttributeDeclaration.js.map +1 -1
  1317. package/Shaders/ShadersInclude/uvVariableDeclaration.d.ts +1 -1
  1318. package/Shaders/ShadersInclude/uvVariableDeclaration.js +1 -1
  1319. package/Shaders/ShadersInclude/uvVariableDeclaration.js.map +1 -1
  1320. package/Shaders/ShadersInclude/vertexColorMixing.d.ts +1 -1
  1321. package/Shaders/ShadersInclude/vertexColorMixing.js +2 -2
  1322. package/Shaders/ShadersInclude/vertexColorMixing.js.map +1 -1
  1323. package/Shaders/anaglyph.fragment.d.ts +1 -1
  1324. package/Shaders/anaglyph.fragment.js +1 -1
  1325. package/Shaders/anaglyph.fragment.js.map +1 -1
  1326. package/Shaders/background.fragment.d.ts +1 -1
  1327. package/Shaders/background.fragment.js +1 -1
  1328. package/Shaders/background.fragment.js.map +1 -1
  1329. package/Shaders/background.vertex.d.ts +1 -1
  1330. package/Shaders/background.vertex.js +1 -1
  1331. package/Shaders/background.vertex.js.map +1 -1
  1332. package/Shaders/blackAndWhite.fragment.d.ts +1 -1
  1333. package/Shaders/blackAndWhite.fragment.js +1 -1
  1334. package/Shaders/blackAndWhite.fragment.js.map +1 -1
  1335. package/Shaders/bloomMerge.fragment.d.ts +1 -1
  1336. package/Shaders/bloomMerge.fragment.js +1 -1
  1337. package/Shaders/bloomMerge.fragment.js.map +1 -1
  1338. package/Shaders/blur.fragment.d.ts +1 -1
  1339. package/Shaders/blur.fragment.js +1 -1
  1340. package/Shaders/blur.fragment.js.map +1 -1
  1341. package/Shaders/boundingBoxRenderer.fragment.d.ts +1 -1
  1342. package/Shaders/boundingBoxRenderer.fragment.js +1 -1
  1343. package/Shaders/boundingBoxRenderer.fragment.js.map +1 -1
  1344. package/Shaders/boundingBoxRenderer.vertex.d.ts +1 -1
  1345. package/Shaders/boundingBoxRenderer.vertex.js +1 -1
  1346. package/Shaders/boundingBoxRenderer.vertex.js.map +1 -1
  1347. package/Shaders/chromaticAberration.fragment.d.ts +1 -1
  1348. package/Shaders/chromaticAberration.fragment.js +2 -1
  1349. package/Shaders/chromaticAberration.fragment.js.map +1 -1
  1350. package/Shaders/circleOfConfusion.fragment.d.ts +1 -1
  1351. package/Shaders/circleOfConfusion.fragment.js +1 -1
  1352. package/Shaders/circleOfConfusion.fragment.js.map +1 -1
  1353. package/Shaders/clearQuad.fragment.d.ts +1 -1
  1354. package/Shaders/clearQuad.fragment.js +1 -1
  1355. package/Shaders/clearQuad.fragment.js.map +1 -1
  1356. package/Shaders/clearQuad.vertex.d.ts +1 -1
  1357. package/Shaders/clearQuad.vertex.js +1 -1
  1358. package/Shaders/clearQuad.vertex.js.map +1 -1
  1359. package/Shaders/color.fragment.d.ts +1 -1
  1360. package/Shaders/color.fragment.js +4 -3
  1361. package/Shaders/color.fragment.js.map +1 -1
  1362. package/Shaders/color.vertex.d.ts +1 -1
  1363. package/Shaders/color.vertex.js +2 -2
  1364. package/Shaders/color.vertex.js.map +1 -1
  1365. package/Shaders/colorCorrection.fragment.d.ts +1 -1
  1366. package/Shaders/colorCorrection.fragment.js +1 -1
  1367. package/Shaders/colorCorrection.fragment.js.map +1 -1
  1368. package/Shaders/convolution.fragment.d.ts +1 -1
  1369. package/Shaders/convolution.fragment.js +1 -1
  1370. package/Shaders/convolution.fragment.js.map +1 -1
  1371. package/Shaders/default.fragment.d.ts +1 -1
  1372. package/Shaders/default.fragment.js +4 -4
  1373. package/Shaders/default.fragment.js.map +1 -1
  1374. package/Shaders/default.vertex.d.ts +1 -1
  1375. package/Shaders/default.vertex.js +2 -2
  1376. package/Shaders/default.vertex.js.map +1 -1
  1377. package/Shaders/depth.fragment.d.ts +1 -1
  1378. package/Shaders/depth.fragment.js +1 -1
  1379. package/Shaders/depth.fragment.js.map +1 -1
  1380. package/Shaders/depth.vertex.d.ts +1 -1
  1381. package/Shaders/depth.vertex.js +1 -1
  1382. package/Shaders/depth.vertex.js.map +1 -1
  1383. package/Shaders/depthBoxBlur.fragment.d.ts +1 -1
  1384. package/Shaders/depthBoxBlur.fragment.js +1 -1
  1385. package/Shaders/depthBoxBlur.fragment.js.map +1 -1
  1386. package/Shaders/depthOfField.fragment.d.ts +1 -1
  1387. package/Shaders/depthOfField.fragment.js +1 -1
  1388. package/Shaders/depthOfField.fragment.js.map +1 -1
  1389. package/Shaders/depthOfFieldMerge.fragment.d.ts +1 -1
  1390. package/Shaders/depthOfFieldMerge.fragment.js +1 -1
  1391. package/Shaders/depthOfFieldMerge.fragment.js.map +1 -1
  1392. package/Shaders/displayPass.fragment.d.ts +1 -1
  1393. package/Shaders/displayPass.fragment.js +1 -1
  1394. package/Shaders/displayPass.fragment.js.map +1 -1
  1395. package/Shaders/extractHighlights.fragment.d.ts +1 -1
  1396. package/Shaders/extractHighlights.fragment.js +1 -1
  1397. package/Shaders/extractHighlights.fragment.js.map +1 -1
  1398. package/Shaders/filter.fragment.d.ts +1 -1
  1399. package/Shaders/filter.fragment.js +1 -1
  1400. package/Shaders/filter.fragment.js.map +1 -1
  1401. package/Shaders/fxaa.fragment.d.ts +1 -1
  1402. package/Shaders/fxaa.fragment.js +1 -1
  1403. package/Shaders/fxaa.fragment.js.map +1 -1
  1404. package/Shaders/fxaa.vertex.d.ts +1 -1
  1405. package/Shaders/fxaa.vertex.js +1 -1
  1406. package/Shaders/fxaa.vertex.js.map +1 -1
  1407. package/Shaders/geometry.fragment.d.ts +1 -1
  1408. package/Shaders/geometry.fragment.js +14 -2
  1409. package/Shaders/geometry.fragment.js.map +1 -1
  1410. package/Shaders/geometry.vertex.d.ts +1 -1
  1411. package/Shaders/geometry.vertex.js +1 -1
  1412. package/Shaders/geometry.vertex.js.map +1 -1
  1413. package/Shaders/glowBlurPostProcess.fragment.d.ts +1 -1
  1414. package/Shaders/glowBlurPostProcess.fragment.js +1 -1
  1415. package/Shaders/glowBlurPostProcess.fragment.js.map +1 -1
  1416. package/Shaders/glowMapGeneration.fragment.d.ts +1 -1
  1417. package/Shaders/glowMapGeneration.fragment.js +1 -1
  1418. package/Shaders/glowMapGeneration.fragment.js.map +1 -1
  1419. package/Shaders/glowMapGeneration.vertex.d.ts +1 -1
  1420. package/Shaders/glowMapGeneration.vertex.js +1 -1
  1421. package/Shaders/glowMapGeneration.vertex.js.map +1 -1
  1422. package/Shaders/glowMapMerge.fragment.d.ts +1 -1
  1423. package/Shaders/glowMapMerge.fragment.js +1 -1
  1424. package/Shaders/glowMapMerge.fragment.js.map +1 -1
  1425. package/Shaders/glowMapMerge.vertex.d.ts +1 -1
  1426. package/Shaders/glowMapMerge.vertex.js +1 -1
  1427. package/Shaders/glowMapMerge.vertex.js.map +1 -1
  1428. package/Shaders/gpuRenderParticles.fragment.d.ts +3 -1
  1429. package/Shaders/gpuRenderParticles.fragment.js +9 -2
  1430. package/Shaders/gpuRenderParticles.fragment.js.map +1 -1
  1431. package/Shaders/gpuRenderParticles.vertex.d.ts +3 -1
  1432. package/Shaders/gpuRenderParticles.vertex.js +5 -1
  1433. package/Shaders/gpuRenderParticles.vertex.js.map +1 -1
  1434. package/Shaders/gpuUpdateParticles.fragment.d.ts +1 -1
  1435. package/Shaders/gpuUpdateParticles.fragment.js +1 -1
  1436. package/Shaders/gpuUpdateParticles.fragment.js.map +1 -1
  1437. package/Shaders/gpuUpdateParticles.vertex.d.ts +1 -1
  1438. package/Shaders/gpuUpdateParticles.vertex.js +1 -1
  1439. package/Shaders/gpuUpdateParticles.vertex.js.map +1 -1
  1440. package/Shaders/grain.fragment.d.ts +1 -1
  1441. package/Shaders/grain.fragment.js +1 -1
  1442. package/Shaders/grain.fragment.js.map +1 -1
  1443. package/Shaders/hdrFiltering.fragment.d.ts +1 -1
  1444. package/Shaders/hdrFiltering.fragment.js +1 -1
  1445. package/Shaders/hdrFiltering.fragment.js.map +1 -1
  1446. package/Shaders/hdrFiltering.vertex.d.ts +1 -1
  1447. package/Shaders/hdrFiltering.vertex.js +1 -1
  1448. package/Shaders/hdrFiltering.vertex.js.map +1 -1
  1449. package/Shaders/highlights.fragment.d.ts +1 -1
  1450. package/Shaders/highlights.fragment.js +1 -1
  1451. package/Shaders/highlights.fragment.js.map +1 -1
  1452. package/Shaders/imageProcessing.fragment.d.ts +1 -1
  1453. package/Shaders/imageProcessing.fragment.js +1 -1
  1454. package/Shaders/imageProcessing.fragment.js.map +1 -1
  1455. package/Shaders/kernelBlur.fragment.d.ts +1 -1
  1456. package/Shaders/kernelBlur.fragment.js +1 -1
  1457. package/Shaders/kernelBlur.fragment.js.map +1 -1
  1458. package/Shaders/kernelBlur.vertex.d.ts +1 -1
  1459. package/Shaders/kernelBlur.vertex.js +1 -1
  1460. package/Shaders/kernelBlur.vertex.js.map +1 -1
  1461. package/Shaders/layer.fragment.d.ts +1 -1
  1462. package/Shaders/layer.fragment.js +1 -1
  1463. package/Shaders/layer.fragment.js.map +1 -1
  1464. package/Shaders/layer.vertex.d.ts +1 -1
  1465. package/Shaders/layer.vertex.js +1 -1
  1466. package/Shaders/layer.vertex.js.map +1 -1
  1467. package/Shaders/lensFlare.fragment.d.ts +1 -1
  1468. package/Shaders/lensFlare.fragment.js +1 -1
  1469. package/Shaders/lensFlare.fragment.js.map +1 -1
  1470. package/Shaders/lensFlare.vertex.d.ts +1 -1
  1471. package/Shaders/lensFlare.vertex.js +1 -1
  1472. package/Shaders/lensFlare.vertex.js.map +1 -1
  1473. package/Shaders/lensHighlights.fragment.d.ts +1 -1
  1474. package/Shaders/lensHighlights.fragment.js +1 -1
  1475. package/Shaders/lensHighlights.fragment.js.map +1 -1
  1476. package/Shaders/line.fragment.d.ts +1 -1
  1477. package/Shaders/line.fragment.js +1 -1
  1478. package/Shaders/line.fragment.js.map +1 -1
  1479. package/Shaders/line.vertex.d.ts +1 -1
  1480. package/Shaders/line.vertex.js +1 -1
  1481. package/Shaders/line.vertex.js.map +1 -1
  1482. package/Shaders/minmaxRedux.fragment.d.ts +1 -1
  1483. package/Shaders/minmaxRedux.fragment.js +1 -1
  1484. package/Shaders/minmaxRedux.fragment.js.map +1 -1
  1485. package/Shaders/motionBlur.fragment.d.ts +1 -1
  1486. package/Shaders/motionBlur.fragment.js +1 -1
  1487. package/Shaders/motionBlur.fragment.js.map +1 -1
  1488. package/Shaders/noise.fragment.d.ts +1 -1
  1489. package/Shaders/noise.fragment.js +1 -1
  1490. package/Shaders/noise.fragment.js.map +1 -1
  1491. package/Shaders/oitBackBlend.fragment.d.ts +1 -1
  1492. package/Shaders/oitBackBlend.fragment.js +1 -1
  1493. package/Shaders/oitBackBlend.fragment.js.map +1 -1
  1494. package/Shaders/oitFinal.fragment.d.ts +1 -1
  1495. package/Shaders/oitFinal.fragment.js +1 -1
  1496. package/Shaders/oitFinal.fragment.js.map +1 -1
  1497. package/Shaders/outline.fragment.d.ts +1 -1
  1498. package/Shaders/outline.fragment.js +1 -1
  1499. package/Shaders/outline.fragment.js.map +1 -1
  1500. package/Shaders/outline.vertex.d.ts +1 -1
  1501. package/Shaders/outline.vertex.js +1 -1
  1502. package/Shaders/outline.vertex.js.map +1 -1
  1503. package/Shaders/particles.fragment.d.ts +3 -1
  1504. package/Shaders/particles.fragment.js +9 -2
  1505. package/Shaders/particles.fragment.js.map +1 -1
  1506. package/Shaders/particles.vertex.d.ts +3 -1
  1507. package/Shaders/particles.vertex.js +5 -1
  1508. package/Shaders/particles.vertex.js.map +1 -1
  1509. package/Shaders/pass.fragment.d.ts +1 -1
  1510. package/Shaders/pass.fragment.js +1 -1
  1511. package/Shaders/pass.fragment.js.map +1 -1
  1512. package/Shaders/passCube.fragment.d.ts +1 -1
  1513. package/Shaders/passCube.fragment.js +1 -1
  1514. package/Shaders/passCube.fragment.js.map +1 -1
  1515. package/Shaders/pbr.fragment.d.ts +1 -1
  1516. package/Shaders/pbr.fragment.js +1 -1
  1517. package/Shaders/pbr.fragment.js.map +1 -1
  1518. package/Shaders/pbr.vertex.d.ts +1 -1
  1519. package/Shaders/pbr.vertex.js +2 -2
  1520. package/Shaders/pbr.vertex.js.map +1 -1
  1521. package/Shaders/postprocess.vertex.d.ts +1 -1
  1522. package/Shaders/postprocess.vertex.js +1 -1
  1523. package/Shaders/postprocess.vertex.js.map +1 -1
  1524. package/Shaders/procedural.vertex.d.ts +1 -1
  1525. package/Shaders/procedural.vertex.js +1 -1
  1526. package/Shaders/procedural.vertex.js.map +1 -1
  1527. package/Shaders/refraction.fragment.d.ts +1 -1
  1528. package/Shaders/refraction.fragment.js +1 -1
  1529. package/Shaders/refraction.fragment.js.map +1 -1
  1530. package/Shaders/rgbdDecode.fragment.d.ts +1 -1
  1531. package/Shaders/rgbdDecode.fragment.js +1 -1
  1532. package/Shaders/rgbdDecode.fragment.js.map +1 -1
  1533. package/Shaders/rgbdEncode.fragment.d.ts +1 -1
  1534. package/Shaders/rgbdEncode.fragment.js +1 -1
  1535. package/Shaders/rgbdEncode.fragment.js.map +1 -1
  1536. package/Shaders/screenSpaceCurvature.fragment.d.ts +1 -1
  1537. package/Shaders/screenSpaceCurvature.fragment.js +1 -1
  1538. package/Shaders/screenSpaceCurvature.fragment.js.map +1 -1
  1539. package/Shaders/screenSpaceReflection.fragment.d.ts +1 -1
  1540. package/Shaders/screenSpaceReflection.fragment.js +1 -1
  1541. package/Shaders/screenSpaceReflection.fragment.js.map +1 -1
  1542. package/Shaders/shadowMap.fragment.d.ts +1 -1
  1543. package/Shaders/shadowMap.fragment.js +1 -1
  1544. package/Shaders/shadowMap.fragment.js.map +1 -1
  1545. package/Shaders/shadowMap.vertex.d.ts +1 -1
  1546. package/Shaders/shadowMap.vertex.js +1 -1
  1547. package/Shaders/shadowMap.vertex.js.map +1 -1
  1548. package/Shaders/sharpen.fragment.d.ts +1 -1
  1549. package/Shaders/sharpen.fragment.js +1 -1
  1550. package/Shaders/sharpen.fragment.js.map +1 -1
  1551. package/Shaders/spriteMap.fragment.d.ts +1 -1
  1552. package/Shaders/spriteMap.fragment.js +1 -1
  1553. package/Shaders/spriteMap.fragment.js.map +1 -1
  1554. package/Shaders/spriteMap.vertex.d.ts +1 -1
  1555. package/Shaders/spriteMap.vertex.js +1 -1
  1556. package/Shaders/spriteMap.vertex.js.map +1 -1
  1557. package/Shaders/sprites.fragment.d.ts +1 -1
  1558. package/Shaders/sprites.fragment.js +1 -1
  1559. package/Shaders/sprites.fragment.js.map +1 -1
  1560. package/Shaders/sprites.vertex.d.ts +1 -1
  1561. package/Shaders/sprites.vertex.js +1 -1
  1562. package/Shaders/sprites.vertex.js.map +1 -1
  1563. package/Shaders/ssao.fragment.d.ts +1 -1
  1564. package/Shaders/ssao.fragment.js +1 -1
  1565. package/Shaders/ssao.fragment.js.map +1 -1
  1566. package/Shaders/ssao2.fragment.d.ts +1 -1
  1567. package/Shaders/ssao2.fragment.js +1 -1
  1568. package/Shaders/ssao2.fragment.js.map +1 -1
  1569. package/Shaders/ssaoCombine.fragment.d.ts +1 -1
  1570. package/Shaders/ssaoCombine.fragment.js +1 -1
  1571. package/Shaders/ssaoCombine.fragment.js.map +1 -1
  1572. package/Shaders/standard.fragment.d.ts +1 -1
  1573. package/Shaders/standard.fragment.js +1 -1
  1574. package/Shaders/standard.fragment.js.map +1 -1
  1575. package/Shaders/stereoscopicInterlace.fragment.d.ts +1 -1
  1576. package/Shaders/stereoscopicInterlace.fragment.js +1 -1
  1577. package/Shaders/stereoscopicInterlace.fragment.js.map +1 -1
  1578. package/Shaders/subSurfaceScattering.fragment.d.ts +1 -1
  1579. package/Shaders/subSurfaceScattering.fragment.js +1 -1
  1580. package/Shaders/subSurfaceScattering.fragment.js.map +1 -1
  1581. package/Shaders/tonemap.fragment.d.ts +1 -1
  1582. package/Shaders/tonemap.fragment.js +1 -1
  1583. package/Shaders/tonemap.fragment.js.map +1 -1
  1584. package/Shaders/volumetricLightScattering.fragment.d.ts +1 -1
  1585. package/Shaders/volumetricLightScattering.fragment.js +1 -1
  1586. package/Shaders/volumetricLightScattering.fragment.js.map +1 -1
  1587. package/Shaders/volumetricLightScatteringPass.fragment.d.ts +1 -1
  1588. package/Shaders/volumetricLightScatteringPass.fragment.js +1 -1
  1589. package/Shaders/volumetricLightScatteringPass.fragment.js.map +1 -1
  1590. package/Shaders/volumetricLightScatteringPass.vertex.d.ts +1 -1
  1591. package/Shaders/volumetricLightScatteringPass.vertex.js +1 -1
  1592. package/Shaders/volumetricLightScatteringPass.vertex.js.map +1 -1
  1593. package/Shaders/vrDistortionCorrection.fragment.d.ts +1 -1
  1594. package/Shaders/vrDistortionCorrection.fragment.js +1 -1
  1595. package/Shaders/vrDistortionCorrection.fragment.js.map +1 -1
  1596. package/Shaders/vrMultiviewToSingleview.fragment.d.ts +1 -1
  1597. package/Shaders/vrMultiviewToSingleview.fragment.js +1 -1
  1598. package/Shaders/vrMultiviewToSingleview.fragment.js.map +1 -1
  1599. package/ShadersWGSL/ShadersInclude/bakedVertexAnimation.d.ts +1 -1
  1600. package/ShadersWGSL/ShadersInclude/bakedVertexAnimation.js +1 -1
  1601. package/ShadersWGSL/ShadersInclude/bakedVertexAnimation.js.map +1 -1
  1602. package/ShadersWGSL/ShadersInclude/bakedVertexAnimationDeclaration.d.ts +1 -1
  1603. package/ShadersWGSL/ShadersInclude/bakedVertexAnimationDeclaration.js +1 -1
  1604. package/ShadersWGSL/ShadersInclude/bakedVertexAnimationDeclaration.js.map +1 -1
  1605. package/ShadersWGSL/ShadersInclude/bonesDeclaration.d.ts +1 -1
  1606. package/ShadersWGSL/ShadersInclude/bonesDeclaration.js +1 -1
  1607. package/ShadersWGSL/ShadersInclude/bonesDeclaration.js.map +1 -1
  1608. package/ShadersWGSL/ShadersInclude/bonesVertex.d.ts +1 -1
  1609. package/ShadersWGSL/ShadersInclude/bonesVertex.js +1 -1
  1610. package/ShadersWGSL/ShadersInclude/bonesVertex.js.map +1 -1
  1611. package/ShadersWGSL/ShadersInclude/clipPlaneFragment.d.ts +1 -1
  1612. package/ShadersWGSL/ShadersInclude/clipPlaneFragment.js +1 -1
  1613. package/ShadersWGSL/ShadersInclude/clipPlaneFragment.js.map +1 -1
  1614. package/ShadersWGSL/ShadersInclude/clipPlaneFragmentDeclaration.d.ts +1 -1
  1615. package/ShadersWGSL/ShadersInclude/clipPlaneFragmentDeclaration.js +1 -1
  1616. package/ShadersWGSL/ShadersInclude/clipPlaneFragmentDeclaration.js.map +1 -1
  1617. package/ShadersWGSL/ShadersInclude/clipPlaneVertex.d.ts +1 -1
  1618. package/ShadersWGSL/ShadersInclude/clipPlaneVertex.js +1 -1
  1619. package/ShadersWGSL/ShadersInclude/clipPlaneVertex.js.map +1 -1
  1620. package/ShadersWGSL/ShadersInclude/clipPlaneVertexDeclaration.d.ts +1 -1
  1621. package/ShadersWGSL/ShadersInclude/clipPlaneVertexDeclaration.js +1 -1
  1622. package/ShadersWGSL/ShadersInclude/clipPlaneVertexDeclaration.js.map +1 -1
  1623. package/ShadersWGSL/ShadersInclude/instancesDeclaration.d.ts +1 -1
  1624. package/ShadersWGSL/ShadersInclude/instancesDeclaration.js +1 -1
  1625. package/ShadersWGSL/ShadersInclude/instancesDeclaration.js.map +1 -1
  1626. package/ShadersWGSL/ShadersInclude/instancesVertex.d.ts +1 -1
  1627. package/ShadersWGSL/ShadersInclude/instancesVertex.js +1 -1
  1628. package/ShadersWGSL/ShadersInclude/instancesVertex.js.map +1 -1
  1629. package/ShadersWGSL/ShadersInclude/meshUboDeclaration.d.ts +1 -1
  1630. package/ShadersWGSL/ShadersInclude/meshUboDeclaration.js +1 -1
  1631. package/ShadersWGSL/ShadersInclude/meshUboDeclaration.js.map +1 -1
  1632. package/ShadersWGSL/ShadersInclude/morphTargetsVertex.d.ts +1 -1
  1633. package/ShadersWGSL/ShadersInclude/morphTargetsVertex.js +1 -1
  1634. package/ShadersWGSL/ShadersInclude/morphTargetsVertex.js.map +1 -1
  1635. package/ShadersWGSL/ShadersInclude/morphTargetsVertexDeclaration.d.ts +1 -1
  1636. package/ShadersWGSL/ShadersInclude/morphTargetsVertexDeclaration.js +1 -1
  1637. package/ShadersWGSL/ShadersInclude/morphTargetsVertexDeclaration.js.map +1 -1
  1638. package/ShadersWGSL/ShadersInclude/morphTargetsVertexGlobal.d.ts +1 -1
  1639. package/ShadersWGSL/ShadersInclude/morphTargetsVertexGlobal.js +1 -1
  1640. package/ShadersWGSL/ShadersInclude/morphTargetsVertexGlobal.js.map +1 -1
  1641. package/ShadersWGSL/ShadersInclude/morphTargetsVertexGlobalDeclaration.d.ts +1 -1
  1642. package/ShadersWGSL/ShadersInclude/morphTargetsVertexGlobalDeclaration.js +1 -1
  1643. package/ShadersWGSL/ShadersInclude/morphTargetsVertexGlobalDeclaration.js.map +1 -1
  1644. package/ShadersWGSL/ShadersInclude/sceneUboDeclaration.d.ts +1 -1
  1645. package/ShadersWGSL/ShadersInclude/sceneUboDeclaration.js +1 -1
  1646. package/ShadersWGSL/ShadersInclude/sceneUboDeclaration.js.map +1 -1
  1647. package/ShadersWGSL/gpuUpdateParticles.compute.d.ts +1 -1
  1648. package/ShadersWGSL/gpuUpdateParticles.compute.js +1 -1
  1649. package/ShadersWGSL/gpuUpdateParticles.compute.js.map +1 -1
  1650. package/Sprites/spriteManager.d.ts +4 -0
  1651. package/Sprites/spriteManager.js +2 -0
  1652. package/Sprites/spriteManager.js.map +1 -1
  1653. package/Sprites/spriteSceneComponent.d.ts +6 -6
  1654. package/Sprites/spriteSceneComponent.js.map +1 -1
  1655. package/Sprites/thinSprite.d.ts +5 -6
  1656. package/Sprites/thinSprite.js +1 -2
  1657. package/Sprites/thinSprite.js.map +1 -1
  1658. package/States/IStencilState.d.ts +1 -1
  1659. package/States/IStencilState.js.map +1 -1
  1660. package/States/alphaCullingState.d.ts +1 -1
  1661. package/States/alphaCullingState.js +1 -1
  1662. package/States/alphaCullingState.js.map +1 -1
  1663. package/States/depthCullingState.d.ts +1 -1
  1664. package/States/depthCullingState.js +1 -1
  1665. package/States/depthCullingState.js.map +1 -1
  1666. package/States/stencilState.d.ts +1 -1
  1667. package/States/stencilState.js +1 -1
  1668. package/States/stencilState.js.map +1 -1
  1669. package/States/stencilStateComposer.d.ts +1 -1
  1670. package/States/stencilStateComposer.js +1 -1
  1671. package/States/stencilStateComposer.js.map +1 -1
  1672. package/XR/features/WebXRControllerPhysics.d.ts +1 -1
  1673. package/XR/features/WebXRControllerPhysics.js +1 -1
  1674. package/XR/features/WebXRControllerPhysics.js.map +1 -1
  1675. package/XR/features/WebXRControllerPointerSelection.d.ts +3 -6
  1676. package/XR/features/WebXRControllerPointerSelection.js +3 -6
  1677. package/XR/features/WebXRControllerPointerSelection.js.map +1 -1
  1678. package/XR/features/WebXRLayers.d.ts +2 -2
  1679. package/XR/features/WebXRLayers.js +4 -4
  1680. package/XR/features/WebXRLayers.js.map +1 -1
  1681. package/XR/features/WebXRNearInteraction.js +2 -2
  1682. package/XR/features/WebXRNearInteraction.js.map +1 -1
  1683. package/XR/motionController/webXRAbstractMotionController.d.ts +3 -4
  1684. package/XR/motionController/webXRAbstractMotionController.js +2 -3
  1685. package/XR/motionController/webXRAbstractMotionController.js.map +1 -1
  1686. package/XR/native/nativeXRFrame.d.ts +2 -2
  1687. package/XR/native/nativeXRFrame.js +1 -1
  1688. package/XR/native/nativeXRFrame.js.map +1 -1
  1689. package/XR/native/nativeXRRenderTarget.d.ts +3 -3
  1690. package/XR/native/nativeXRRenderTarget.js +3 -3
  1691. package/XR/native/nativeXRRenderTarget.js.map +1 -1
  1692. package/XR/webXRCamera.d.ts +2 -2
  1693. package/XR/webXRCamera.js +1 -1
  1694. package/XR/webXRCamera.js.map +1 -1
  1695. package/XR/webXRDefaultExperience.d.ts +6 -6
  1696. package/XR/webXRDefaultExperience.js.map +1 -1
  1697. package/XR/webXRExperienceHelper.d.ts +21 -1
  1698. package/XR/webXRExperienceHelper.js +37 -7
  1699. package/XR/webXRExperienceHelper.js.map +1 -1
  1700. package/XR/webXRInputSource.d.ts +1 -1
  1701. package/XR/webXRInputSource.js.map +1 -1
  1702. package/XR/webXRLayerWrapper.d.ts +1 -1
  1703. package/XR/webXRLayerWrapper.js +1 -1
  1704. package/XR/webXRLayerWrapper.js.map +1 -1
  1705. package/XR/webXRRenderTargetTextureProvider.d.ts +1 -1
  1706. package/XR/webXRRenderTargetTextureProvider.js +1 -1
  1707. package/XR/webXRRenderTargetTextureProvider.js.map +1 -1
  1708. package/XR/webXRSessionManager.d.ts +1 -2
  1709. package/XR/webXRSessionManager.js +1 -2
  1710. package/XR/webXRSessionManager.js.map +1 -1
  1711. package/XR/webXRWebGLLayer.d.ts +2 -2
  1712. package/XR/webXRWebGLLayer.js +2 -2
  1713. package/XR/webXRWebGLLayer.js.map +1 -1
  1714. package/abstractScene.d.ts +1 -1
  1715. package/abstractScene.js +1 -1
  1716. package/abstractScene.js.map +1 -1
  1717. package/node.d.ts +40 -52
  1718. package/node.js +40 -55
  1719. package/node.js.map +1 -1
  1720. package/package.json +1 -1
  1721. package/scene.d.ts +83 -107
  1722. package/scene.js +94 -108
  1723. package/scene.js.map +1 -1
  1724. package/sceneComponent.d.ts +4 -2
  1725. package/sceneComponent.js +4 -2
  1726. package/sceneComponent.js.map +1 -1
  1727. package/types.d.ts +2 -2
  1728. package/types.js +1 -1
  1729. package/types.js.map +1 -1
@@ -35,7 +35,7 @@ export declare class ReadFileError extends RuntimeError {
35
35
  constructor(message: string, file: File);
36
36
  }
37
37
  /**
38
- * @hidden
38
+ * @internal
39
39
  */
40
40
  export declare const FileToolsOptions: {
41
41
  DefaultRetryStrategy: (url: string, request: WebRequest, retryIndex: number) => number;
@@ -47,8 +47,7 @@ export declare const FileToolsOptions: {
47
47
  * Sets the cors behavior on a dom element. This will add the required Tools.CorsBehavior to the element.
48
48
  * @param url define the url we are trying
49
49
  * @param element define the dom element where to configure the cors policy
50
- * @param element.crossOrigin
51
- * @hidden
50
+ * @internal
52
51
  */
53
52
  export declare const SetCorsBehavior: (url: string | string[], element: {
54
53
  crossOrigin: string | null;
@@ -62,7 +61,7 @@ export declare const SetCorsBehavior: (url: string | string[], element: {
62
61
  * @param mimeType optional mime type
63
62
  * @param imageBitmapOptions
64
63
  * @returns the HTMLImageElement of the loaded image
65
- * @hidden
64
+ * @internal
66
65
  */
67
66
  export declare const LoadImage: (input: string | ArrayBuffer | ArrayBufferView | Blob, onLoad: (img: HTMLImageElement | ImageBitmap) => void, onError: (message?: string | undefined, exception?: any) => void, offlineProvider: Nullable<IOfflineProvider>, mimeType?: string, imageBitmapOptions?: ImageBitmapOptions | undefined) => Nullable<HTMLImageElement>;
68
67
  /**
@@ -73,7 +72,7 @@ export declare const LoadImage: (input: string | ArrayBuffer | ArrayBufferView |
73
72
  * @param useArrayBuffer defines a boolean indicating that data must be returned as an ArrayBuffer
74
73
  * @param onError defines the callback to call when an error occurs
75
74
  * @returns a file request object
76
- * @hidden
75
+ * @internal
77
76
  */
78
77
  export declare const ReadFile: (file: File, onSuccess: (data: any) => void, onProgress?: ((ev: ProgressEvent) => any) | undefined, useArrayBuffer?: boolean | undefined, onError?: ((error: ReadFileError) => void) | undefined) => IFileRequest;
79
78
  /**
@@ -86,7 +85,7 @@ export declare const ReadFile: (file: File, onSuccess: (data: any) => void, onPr
86
85
  * @param onError callback called when the file fails to load
87
86
  * @param onOpened
88
87
  * @returns a file request object
89
- * @hidden
88
+ * @internal
90
89
  */
91
90
  export declare const LoadFile: (fileOrUrl: File | string, onSuccess: (data: string | ArrayBuffer, responseURL?: string | undefined, contentType?: Nullable<string> | undefined) => void, onProgress?: ((ev: ProgressEvent) => void) | undefined, offlineProvider?: IOfflineProvider | undefined, useArrayBuffer?: boolean | undefined, onError?: ((request?: WebRequest | undefined, exception?: LoadFileError | undefined) => void) | undefined, onOpened?: ((request: WebRequest) => void) | undefined) => IFileRequest;
92
91
  /**
@@ -99,20 +98,20 @@ export declare const LoadFile: (fileOrUrl: File | string, onSuccess: (data: stri
99
98
  * @param onError callback called when the file fails to load
100
99
  * @param onOpened callback called when the web request is opened
101
100
  * @returns a file request object
102
- * @hidden
101
+ * @internal
103
102
  */
104
103
  export declare const RequestFile: (url: string, onSuccess?: ((data: string | ArrayBuffer, request?: WebRequest | undefined) => void) | undefined, onProgress?: ((event: ProgressEvent) => void) | undefined, offlineProvider?: IOfflineProvider | undefined, useArrayBuffer?: boolean | undefined, onError?: ((error: RequestFileError) => void) | undefined, onOpened?: ((request: WebRequest) => void) | undefined) => IFileRequest;
105
104
  /**
106
105
  * Checks if the loaded document was accessed via `file:`-Protocol.
107
106
  * @returns boolean
108
- * @hidden
107
+ * @internal
109
108
  */
110
109
  export declare const IsFileURL: () => boolean;
111
110
  /**
112
111
  * Test if the given uri is a valid base64 data url
113
112
  * @param uri The uri to test
114
113
  * @returns True if the uri is a base64 data url or false otherwise
115
- * @hidden
114
+ * @internal
116
115
  */
117
116
  export declare const IsBase64DataUrl: (uri: string) => boolean;
118
117
  export declare const TestBase64DataUrl: (uri: string) => {
@@ -123,20 +122,20 @@ export declare const TestBase64DataUrl: (uri: string) => {
123
122
  * Decode the given base64 uri.
124
123
  * @param uri The uri to decode
125
124
  * @returns The decoded base64 data.
126
- * @hidden
125
+ * @internal
127
126
  */
128
127
  export declare function DecodeBase64UrlToBinary(uri: string): ArrayBuffer;
129
128
  /**
130
129
  * Decode the given base64 uri into a UTF-8 encoded string.
131
130
  * @param uri The uri to decode
132
131
  * @returns The decoded base64 data.
133
- * @hidden
132
+ * @internal
134
133
  */
135
134
  export declare const DecodeBase64UrlToString: (uri: string) => string;
136
135
  /**
137
136
  * FileTools defined as any.
138
137
  * This should not be imported or used in future releases or in any module in the framework
139
- * @hidden
138
+ * @internal
140
139
  * @deprecated import the needed function from fileTools.ts
141
140
  */
142
141
  export declare let FileTools: {
@@ -160,18 +159,7 @@ export declare let FileTools: {
160
159
  * @param DecodeBase64UrlToBinary
161
160
  * @param DecodeBase64UrlToString
162
161
  * @param FileToolsOptions
163
- * @param FileToolsOptions.DefaultRetryStrategy
164
- * @param FileToolsOptions.BaseUrl
165
- * @param FileToolsOptions.CorsBehavior
166
- * @param FileToolsOptions.PreprocessUrl
167
- * @param IsBase64DataUrl
168
- * @param IsFileURL
169
- * @param LoadFile
170
- * @param LoadImage
171
- * @param ReadFile
172
- * @param RequestFile
173
- * @param SetCorsBehavior
174
- * @hidden
162
+ * @internal
175
163
  */
176
164
  export declare const _injectLTSFileTools: (DecodeBase64UrlToBinary: (uri: string) => ArrayBuffer, DecodeBase64UrlToString: (uri: string) => string, FileToolsOptions: {
177
165
  DefaultRetryStrategy: any;
package/Misc/fileTools.js CHANGED
@@ -60,7 +60,7 @@ export class ReadFileError extends RuntimeError {
60
60
  }
61
61
  }
62
62
  /**
63
- * @hidden
63
+ * @internal
64
64
  */
65
65
  export const FileToolsOptions = {
66
66
  /**
@@ -100,8 +100,7 @@ const _CleanUrl = (url) => {
100
100
  * Sets the cors behavior on a dom element. This will add the required Tools.CorsBehavior to the element.
101
101
  * @param url define the url we are trying
102
102
  * @param element define the dom element where to configure the cors policy
103
- * @param element.crossOrigin
104
- * @hidden
103
+ * @internal
105
104
  */
106
105
  export const SetCorsBehavior = (url, element) => {
107
106
  if (url && url.indexOf("data:") === 0) {
@@ -128,7 +127,7 @@ export const SetCorsBehavior = (url, element) => {
128
127
  * @param mimeType optional mime type
129
128
  * @param imageBitmapOptions
130
129
  * @returns the HTMLImageElement of the loaded image
131
- * @hidden
130
+ * @internal
132
131
  */
133
132
  export const LoadImage = (input, onLoad, onError, offlineProvider, mimeType = "", imageBitmapOptions) => {
134
133
  let url;
@@ -259,7 +258,7 @@ export const LoadImage = (input, onLoad, onError, offlineProvider, mimeType = ""
259
258
  * @param useArrayBuffer defines a boolean indicating that data must be returned as an ArrayBuffer
260
259
  * @param onError defines the callback to call when an error occurs
261
260
  * @returns a file request object
262
- * @hidden
261
+ * @internal
263
262
  */
264
263
  export const ReadFile = (file, onSuccess, onProgress, useArrayBuffer, onError) => {
265
264
  const reader = new FileReader();
@@ -299,7 +298,7 @@ export const ReadFile = (file, onSuccess, onProgress, useArrayBuffer, onError) =
299
298
  * @param onError callback called when the file fails to load
300
299
  * @param onOpened
301
300
  * @returns a file request object
302
- * @hidden
301
+ * @internal
303
302
  */
304
303
  // eslint-disable-next-line @typescript-eslint/naming-convention
305
304
  export const LoadFile = (fileOrUrl, onSuccess, onProgress, offlineProvider, useArrayBuffer, onError, onOpened) => {
@@ -364,7 +363,7 @@ export const LoadFile = (fileOrUrl, onSuccess, onProgress, offlineProvider, useA
364
363
  * @param onError callback called when the file fails to load
365
364
  * @param onOpened callback called when the web request is opened
366
365
  * @returns a file request object
367
- * @hidden
366
+ * @internal
368
367
  */
369
368
  export const RequestFile = (url, onSuccess, onProgress, offlineProvider, useArrayBuffer, onError, onOpened) => {
370
369
  url = _CleanUrl(url);
@@ -530,7 +529,7 @@ export const RequestFile = (url, onSuccess, onProgress, offlineProvider, useArra
530
529
  /**
531
530
  * Checks if the loaded document was accessed via `file:`-Protocol.
532
531
  * @returns boolean
533
- * @hidden
532
+ * @internal
534
533
  */
535
534
  export const IsFileURL = () => {
536
535
  return typeof location !== "undefined" && location.protocol === "file:";
@@ -539,7 +538,7 @@ export const IsFileURL = () => {
539
538
  * Test if the given uri is a valid base64 data url
540
539
  * @param uri The uri to test
541
540
  * @returns True if the uri is a base64 data url or false otherwise
542
- * @hidden
541
+ * @internal
543
542
  */
544
543
  export const IsBase64DataUrl = (uri) => {
545
544
  return Base64DataUrlRegEx.test(uri);
@@ -558,7 +557,7 @@ export const TestBase64DataUrl = (uri) => {
558
557
  * Decode the given base64 uri.
559
558
  * @param uri The uri to decode
560
559
  * @returns The decoded base64 data.
561
- * @hidden
560
+ * @internal
562
561
  */
563
562
  export function DecodeBase64UrlToBinary(uri) {
564
563
  return DecodeBase64ToBinary(uri.split(",")[1]);
@@ -567,7 +566,7 @@ export function DecodeBase64UrlToBinary(uri) {
567
566
  * Decode the given base64 uri into a UTF-8 encoded string.
568
567
  * @param uri The uri to decode
569
568
  * @returns The decoded base64 data.
570
- * @hidden
569
+ * @internal
571
570
  */
572
571
  export const DecodeBase64UrlToString = (uri) => {
573
572
  return DecodeBase64ToString(uri.split(",")[1]);
@@ -576,7 +575,7 @@ export const DecodeBase64UrlToString = (uri) => {
576
575
  * This will be executed automatically for UMD and es5.
577
576
  * If esm dev wants the side effects to execute they will have to run it manually
578
577
  * Once we build native modules those need to be exported.
579
- * @hidden
578
+ * @internal
580
579
  */
581
580
  const initSideEffects = () => {
582
581
  ThinEngine._FileToolsLoadImage = LoadImage;
@@ -587,7 +586,7 @@ initSideEffects();
587
586
  /**
588
587
  * FileTools defined as any.
589
588
  * This should not be imported or used in future releases or in any module in the framework
590
- * @hidden
589
+ * @internal
591
590
  * @deprecated import the needed function from fileTools.ts
592
591
  */
593
592
  export let FileTools;
@@ -595,23 +594,12 @@ export let FileTools;
595
594
  * @param DecodeBase64UrlToBinary
596
595
  * @param DecodeBase64UrlToString
597
596
  * @param FileToolsOptions
598
- * @param FileToolsOptions.DefaultRetryStrategy
599
- * @param FileToolsOptions.BaseUrl
600
- * @param FileToolsOptions.CorsBehavior
601
- * @param FileToolsOptions.PreprocessUrl
602
- * @param IsBase64DataUrl
603
- * @param IsFileURL
604
- * @param LoadFile
605
- * @param LoadImage
606
- * @param ReadFile
607
- * @param RequestFile
608
- * @param SetCorsBehavior
609
- * @hidden
597
+ * @internal
610
598
  */
611
599
  export const _injectLTSFileTools = (DecodeBase64UrlToBinary, DecodeBase64UrlToString, FileToolsOptions, IsBase64DataUrl, IsFileURL, LoadFile, LoadImage, ReadFile, RequestFile, SetCorsBehavior) => {
612
600
  /**
613
601
  * Backwards compatibility.
614
- * @hidden
602
+ * @internal
615
603
  * @deprecated
616
604
  */
617
605
  FileTools = {
@@ -1 +1 @@
1
- {"version":3,"file":"fileTools.js","sourceRoot":"","sources":["../../../../../lts/core/generated/Misc/fileTools.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable @typescript-eslint/naming-convention */\nimport { WebRequest } from \"./webRequest\";\nimport { IsWindowObjectExist } from \"./domManagement\";\nimport type { Nullable } from \"../types\";\nimport type { IOfflineProvider } from \"../Offline/IOfflineProvider\";\nimport type { IFileRequest } from \"./fileRequest\";\nimport { Observable } from \"./observable\";\nimport { FilesInputStore } from \"./filesInputStore\";\nimport { RetryStrategy } from \"./retryStrategy\";\nimport { BaseError, ErrorCodes, RuntimeError } from \"./error\";\nimport { DecodeBase64ToBinary, DecodeBase64ToString, EncodeArrayBufferToBase64 } from \"./stringTools\";\nimport { ShaderProcessor } from \"../Engines/Processors/shaderProcessor\";\nimport { ThinEngine } from \"../Engines/thinEngine\";\nimport { EngineStore } from \"../Engines/engineStore\";\nimport { Logger } from \"./logger\";\nimport { TimingTools } from \"./timingTools\";\nconst Base64DataUrlRegEx = new RegExp(/^data:([^,]+\\/[^,]+)?;base64,/i);\n/** @ignore */\nexport class LoadFileError extends RuntimeError {\n public request?: WebRequest;\n public file?: File;\n /**\n * Creates a new LoadFileError\n * @param message defines the message of the error\n * @param object defines the optional web request\n */\n constructor(message: string, object?: WebRequest | File) {\n super(message, ErrorCodes.LoadFileError);\n this.name = \"LoadFileError\";\n BaseError._setPrototypeOf(this, LoadFileError.prototype);\n if (object instanceof WebRequest) {\n this.request = object;\n }\n else {\n this.file = object;\n }\n }\n}\n/** @ignore */\nexport class RequestFileError extends RuntimeError {\n /**\n * Creates a new LoadFileError\n * @param message defines the message of the error\n * @param request defines the optional web request\n */\n constructor(message: string, public request: WebRequest) {\n super(message, ErrorCodes.RequestFileError);\n this.name = \"RequestFileError\";\n BaseError._setPrototypeOf(this, RequestFileError.prototype);\n }\n}\n/** @ignore */\nexport class ReadFileError extends RuntimeError {\n /**\n * Creates a new ReadFileError\n * @param message defines the message of the error\n * @param file defines the optional file\n */\n constructor(message: string, public file: File) {\n super(message, ErrorCodes.ReadFileError);\n this.name = \"ReadFileError\";\n BaseError._setPrototypeOf(this, ReadFileError.prototype);\n }\n}\n/**\n * @hidden\n */\nexport const FileToolsOptions: {\n DefaultRetryStrategy: (url: string, request: WebRequest, retryIndex: number) => number;\n BaseUrl: string;\n CorsBehavior: string | ((url: string | string[]) => string);\n PreprocessUrl: (url: string) => string;\n} = {\n /**\n * Gets or sets the retry strategy to apply when an error happens while loading an asset.\n * When defining this function, return the wait time before trying again or return -1 to\n * stop retrying and error out.\n */\n DefaultRetryStrategy: RetryStrategy.ExponentialBackoff(),\n /**\n * Gets or sets the base URL to use to load assets\n */\n BaseUrl: \"\",\n /**\n * Default behaviour for cors in the application.\n * It can be a string if the expected behavior is identical in the entire app.\n * Or a callback to be able to set it per url or on a group of them (in case of Video source for instance)\n */\n CorsBehavior: \"anonymous\",\n /**\n * Gets or sets a function used to pre-process url before using them to load assets\n * @param url\n */\n PreprocessUrl: (url: string) => {\n return url;\n }\n};\n/**\n * Removes unwanted characters from an url\n * @param url defines the url to clean\n * @returns the cleaned url\n */\nconst _CleanUrl = (url: string): string => {\n url = url.replace(/#/gm, \"%23\");\n return url;\n};\n/**\n * Sets the cors behavior on a dom element. This will add the required Tools.CorsBehavior to the element.\n * @param url define the url we are trying\n * @param element define the dom element where to configure the cors policy\n * @param element.crossOrigin\n * @hidden\n */\nexport const SetCorsBehavior = (url: string | string[], element: {\n crossOrigin: string | null;\n}): void => {\n if (url && url.indexOf(\"data:\") === 0) {\n return;\n }\n if (FileToolsOptions.CorsBehavior) {\n if (typeof FileToolsOptions.CorsBehavior === \"string\" || FileToolsOptions.CorsBehavior instanceof String) {\n element.crossOrigin = <string>FileToolsOptions.CorsBehavior;\n }\n else {\n const result = FileToolsOptions.CorsBehavior(url);\n if (result) {\n element.crossOrigin = result;\n }\n }\n }\n};\n/**\n * Loads an image as an HTMLImageElement.\n * @param input url string, ArrayBuffer, or Blob to load\n * @param onLoad callback called when the image successfully loads\n * @param onError callback called when the image fails to load\n * @param offlineProvider offline provider for caching\n * @param mimeType optional mime type\n * @param imageBitmapOptions\n * @returns the HTMLImageElement of the loaded image\n * @hidden\n */\nexport const LoadImage = (input: string | ArrayBuffer | ArrayBufferView | Blob, onLoad: (img: HTMLImageElement | ImageBitmap) => void, onError: (message?: string, exception?: any) => void, offlineProvider: Nullable<IOfflineProvider>, mimeType: string = \"\", imageBitmapOptions?: ImageBitmapOptions): Nullable<HTMLImageElement> => {\n let url: string;\n let usingObjectURL = false;\n if (input instanceof ArrayBuffer || ArrayBuffer.isView(input)) {\n if (typeof Blob !== \"undefined\" && typeof URL !== \"undefined\") {\n url = URL.createObjectURL(new Blob([input], { type: mimeType }));\n usingObjectURL = true;\n }\n else {\n url = `data:${mimeType};base64,` + EncodeArrayBufferToBase64(input);\n }\n }\n else if (input instanceof Blob) {\n url = URL.createObjectURL(input);\n usingObjectURL = true;\n }\n else {\n url = _CleanUrl(input);\n url = FileToolsOptions.PreprocessUrl(input);\n }\n const engine = EngineStore.LastCreatedEngine;\n const onErrorHandler = (exception: any) => {\n if (onError) {\n const inputText = url || input.toString();\n onError(`Error while trying to load image: ${inputText.indexOf(\"http\") === 0 || inputText.length <= 128 ? inputText : inputText.slice(0, 128) + \"...\"}`, exception);\n }\n };\n if (typeof Image === \"undefined\" || (engine?._features.forceBitmapOverHTMLImageElement ?? false)) {\n LoadFile(url, (data) => {\n engine!\n .createImageBitmap(new Blob([data], { type: mimeType }), { premultiplyAlpha: \"none\", ...imageBitmapOptions })\n .then((imgBmp) => {\n onLoad(imgBmp);\n if (usingObjectURL) {\n URL.revokeObjectURL(url);\n }\n })\n .catch((reason) => {\n if (onError) {\n onError(\"Error while trying to load image: \" + input, reason);\n }\n });\n }, undefined, offlineProvider || undefined, true, (request, exception) => {\n onErrorHandler(exception);\n });\n return null;\n }\n const img = new Image();\n SetCorsBehavior(url, img);\n const loadHandler = () => {\n img.removeEventListener(\"load\", loadHandler);\n img.removeEventListener(\"error\", errorHandler);\n onLoad(img);\n // Must revoke the URL after calling onLoad to avoid security exceptions in\n // certain scenarios (e.g. when hosted in vscode).\n if (usingObjectURL && img.src) {\n URL.revokeObjectURL(img.src);\n }\n };\n const errorHandler = (err: any) => {\n img.removeEventListener(\"load\", loadHandler);\n img.removeEventListener(\"error\", errorHandler);\n onErrorHandler(err);\n if (usingObjectURL && img.src) {\n URL.revokeObjectURL(img.src);\n }\n };\n img.addEventListener(\"load\", loadHandler);\n img.addEventListener(\"error\", errorHandler);\n const fromBlob = url.substring(0, 5) === \"blob:\";\n const fromData = url.substring(0, 5) === \"data:\";\n const noOfflineSupport = () => {\n if (fromBlob || fromData) {\n img.src = url;\n }\n else {\n LoadFile(url, (data, _, contentType) => {\n const type = !mimeType && contentType ? contentType : mimeType;\n const blob = new Blob([data], { type });\n const url = URL.createObjectURL(blob);\n usingObjectURL = true;\n img.src = url;\n }, undefined, offlineProvider || undefined, true, (request, exception) => {\n onErrorHandler(exception);\n });\n }\n };\n const loadFromOfflineSupport = () => {\n if (offlineProvider) {\n offlineProvider.loadImage(url, img);\n }\n };\n if (!fromBlob && !fromData && offlineProvider && offlineProvider.enableTexturesOffline) {\n offlineProvider.open(loadFromOfflineSupport, noOfflineSupport);\n }\n else {\n if (url.indexOf(\"file:\") !== -1) {\n const textureName = decodeURIComponent(url.substring(5).toLowerCase());\n if (FilesInputStore.FilesToLoad[textureName] && typeof URL !== \"undefined\") {\n try {\n let blobURL;\n try {\n blobURL = URL.createObjectURL(FilesInputStore.FilesToLoad[textureName]);\n }\n catch (ex) {\n // Chrome doesn't support oneTimeOnly parameter\n blobURL = URL.createObjectURL(FilesInputStore.FilesToLoad[textureName]);\n }\n img.src = blobURL;\n usingObjectURL = true;\n }\n catch (e) {\n img.src = \"\";\n }\n return img;\n }\n }\n noOfflineSupport();\n }\n return img;\n};\n/**\n * Reads a file from a File object\n * @param file defines the file to load\n * @param onSuccess defines the callback to call when data is loaded\n * @param onProgress defines the callback to call during loading process\n * @param useArrayBuffer defines a boolean indicating that data must be returned as an ArrayBuffer\n * @param onError defines the callback to call when an error occurs\n * @returns a file request object\n * @hidden\n */\nexport const ReadFile = (file: File, onSuccess: (data: any) => void, onProgress?: (ev: ProgressEvent) => any, useArrayBuffer?: boolean, onError?: (error: ReadFileError) => void): IFileRequest => {\n const reader = new FileReader();\n const fileRequest: IFileRequest = {\n onCompleteObservable: new Observable<IFileRequest>(),\n abort: () => reader.abort()\n };\n reader.onloadend = () => fileRequest.onCompleteObservable.notifyObservers(fileRequest);\n if (onError) {\n reader.onerror = () => {\n onError(new ReadFileError(`Unable to read ${file.name}`, file));\n };\n }\n reader.onload = (e) => {\n //target doesn't have result from ts 1.3\n onSuccess((<any>e.target)[\"result\"]);\n };\n if (onProgress) {\n reader.onprogress = onProgress;\n }\n if (!useArrayBuffer) {\n // Asynchronous read\n reader.readAsText(file);\n }\n else {\n reader.readAsArrayBuffer(file);\n }\n return fileRequest;\n};\n/**\n * Loads a file from a url, a data url, or a file url\n * @param fileOrUrl file, url, data url, or file url to load\n * @param onSuccess callback called when the file successfully loads\n * @param onProgress callback called while file is loading (if the server supports this mode)\n * @param offlineProvider defines the offline provider for caching\n * @param useArrayBuffer defines a boolean indicating that date must be returned as ArrayBuffer\n * @param onError callback called when the file fails to load\n * @param onOpened\n * @returns a file request object\n * @hidden\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport const LoadFile = (fileOrUrl: File | string, onSuccess: (data: string | ArrayBuffer, responseURL?: string, contentType?: Nullable<string>) => void, onProgress?: (ev: ProgressEvent) => void, offlineProvider?: IOfflineProvider, useArrayBuffer?: boolean, onError?: (request?: WebRequest, exception?: LoadFileError) => void, onOpened?: (request: WebRequest) => void): IFileRequest => {\n if ((fileOrUrl as File).name) {\n return ReadFile(fileOrUrl as File, onSuccess, onProgress, useArrayBuffer, onError\n ? (error: ReadFileError) => {\n onError(undefined, error);\n }\n : undefined);\n }\n const url = fileOrUrl as string;\n // If file and file input are set\n if (url.indexOf(\"file:\") !== -1) {\n let fileName = decodeURIComponent(url.substring(5).toLowerCase());\n if (fileName.indexOf(\"./\") === 0) {\n fileName = fileName.substring(2);\n }\n const file = FilesInputStore.FilesToLoad[fileName];\n if (file) {\n return ReadFile(file, onSuccess, onProgress, useArrayBuffer, onError ? (error) => onError(undefined, new LoadFileError(error.message, error.file)) : undefined);\n }\n }\n // For a Base64 Data URL\n const { match, type } = TestBase64DataUrl(url);\n if (match) {\n const fileRequest: IFileRequest = {\n onCompleteObservable: new Observable<IFileRequest>(),\n abort: () => () => { }\n };\n try {\n const data = useArrayBuffer ? DecodeBase64UrlToBinary(url) : DecodeBase64UrlToString(url);\n onSuccess(data, undefined, type);\n }\n catch (error) {\n if (onError) {\n onError(undefined, error);\n }\n else {\n Logger.Error(error.message || \"Failed to parse the Data URL\");\n }\n }\n TimingTools.SetImmediate(() => {\n fileRequest.onCompleteObservable.notifyObservers(fileRequest);\n });\n return fileRequest;\n }\n return RequestFile(url, (data, request) => {\n onSuccess(data, request?.responseURL, request?.getResponseHeader(\"content-type\"));\n }, onProgress, offlineProvider, useArrayBuffer, onError\n ? (error) => {\n onError(error.request, new LoadFileError(error.message, error.request));\n }\n : undefined, onOpened);\n};\n/**\n * Loads a file from a url\n * @param url url to load\n * @param onSuccess callback called when the file successfully loads\n * @param onProgress callback called while file is loading (if the server supports this mode)\n * @param offlineProvider defines the offline provider for caching\n * @param useArrayBuffer defines a boolean indicating that date must be returned as ArrayBuffer\n * @param onError callback called when the file fails to load\n * @param onOpened callback called when the web request is opened\n * @returns a file request object\n * @hidden\n */\nexport const RequestFile = (url: string, onSuccess?: (data: string | ArrayBuffer, request?: WebRequest) => void, onProgress?: (event: ProgressEvent) => void, offlineProvider?: IOfflineProvider, useArrayBuffer?: boolean, onError?: (error: RequestFileError) => void, onOpened?: (request: WebRequest) => void): IFileRequest => {\n url = _CleanUrl(url);\n url = FileToolsOptions.PreprocessUrl(url);\n const loadUrl = FileToolsOptions.BaseUrl + url;\n let aborted = false;\n const fileRequest: IFileRequest = {\n onCompleteObservable: new Observable<IFileRequest>(),\n abort: () => (aborted = true)\n };\n const requestFile = () => {\n let request: Nullable<WebRequest> = new WebRequest();\n let retryHandle: Nullable<ReturnType<typeof setTimeout>> = null;\n let onReadyStateChange: Nullable<() => void>;\n const unbindEvents = () => {\n if (!request) {\n return;\n }\n if (onProgress) {\n request.removeEventListener(\"progress\", onProgress);\n }\n if (onReadyStateChange) {\n request.removeEventListener(\"readystatechange\", onReadyStateChange);\n }\n request.removeEventListener(\"loadend\", onLoadEnd!);\n };\n let onLoadEnd: Nullable<() => void> = () => {\n unbindEvents();\n fileRequest.onCompleteObservable.notifyObservers(fileRequest);\n fileRequest.onCompleteObservable.clear();\n onProgress = undefined;\n onReadyStateChange = null;\n onLoadEnd = null;\n onError = undefined;\n onOpened = undefined;\n onSuccess = undefined;\n };\n fileRequest.abort = () => {\n aborted = true;\n if (onLoadEnd) {\n onLoadEnd();\n }\n if (request && request.readyState !== (XMLHttpRequest.DONE || 4)) {\n request.abort();\n }\n if (retryHandle !== null) {\n clearTimeout(retryHandle);\n retryHandle = null;\n }\n request = null;\n };\n const handleError = (error: any) => {\n const message = error.message || \"Unknown error\";\n if (onError && request) {\n onError(new RequestFileError(message, request));\n }\n else {\n Logger.Error(message);\n }\n };\n const retryLoop = (retryIndex: number) => {\n if (!request) {\n return;\n }\n request.open(\"GET\", loadUrl);\n if (onOpened) {\n try {\n onOpened(request);\n }\n catch (e) {\n handleError(e);\n return;\n }\n }\n if (useArrayBuffer) {\n request.responseType = \"arraybuffer\";\n }\n if (onProgress) {\n request.addEventListener(\"progress\", onProgress);\n }\n if (onLoadEnd) {\n request.addEventListener(\"loadend\", onLoadEnd);\n }\n onReadyStateChange = () => {\n if (aborted || !request) {\n return;\n }\n // In case of undefined state in some browsers.\n if (request.readyState === (XMLHttpRequest.DONE || 4)) {\n // Some browsers have issues where onreadystatechange can be called multiple times with the same value.\n if (onReadyStateChange) {\n request.removeEventListener(\"readystatechange\", onReadyStateChange);\n }\n if ((request.status >= 200 && request.status < 300) || (request.status === 0 && (!IsWindowObjectExist() || IsFileURL()))) {\n try {\n if (onSuccess) {\n onSuccess(useArrayBuffer ? request.response : request.responseText, request);\n }\n }\n catch (e) {\n handleError(e);\n }\n return;\n }\n const retryStrategy = FileToolsOptions.DefaultRetryStrategy;\n if (retryStrategy) {\n const waitTime = retryStrategy(loadUrl, request, retryIndex);\n if (waitTime !== -1) {\n // Prevent the request from completing for retry.\n unbindEvents();\n request = new WebRequest();\n retryHandle = setTimeout(() => retryLoop(retryIndex + 1), waitTime);\n return;\n }\n }\n const error = new RequestFileError(\"Error status: \" + request.status + \" \" + request.statusText + \" - Unable to load \" + loadUrl, request);\n if (onError) {\n onError(error);\n }\n }\n };\n request.addEventListener(\"readystatechange\", onReadyStateChange);\n request.send();\n };\n retryLoop(0);\n };\n // Caching all files\n if (offlineProvider && offlineProvider.enableSceneOffline) {\n const noOfflineSupport = (request?: any) => {\n if (request && request.status > 400) {\n if (onError) {\n onError(request);\n }\n }\n else {\n requestFile();\n }\n };\n const loadFromOfflineSupport = () => {\n // TODO: database needs to support aborting and should return a IFileRequest\n if (offlineProvider) {\n offlineProvider.loadFile(FileToolsOptions.BaseUrl + url, (data) => {\n if (!aborted && onSuccess) {\n onSuccess(data);\n }\n fileRequest.onCompleteObservable.notifyObservers(fileRequest);\n }, onProgress\n ? (event) => {\n if (!aborted && onProgress) {\n onProgress(event);\n }\n }\n : undefined, noOfflineSupport, useArrayBuffer);\n }\n };\n offlineProvider.open(loadFromOfflineSupport, noOfflineSupport);\n }\n else {\n requestFile();\n }\n return fileRequest;\n};\n/**\n * Checks if the loaded document was accessed via `file:`-Protocol.\n * @returns boolean\n * @hidden\n */\nexport const IsFileURL = (): boolean => {\n return typeof location !== \"undefined\" && location.protocol === \"file:\";\n};\n/**\n * Test if the given uri is a valid base64 data url\n * @param uri The uri to test\n * @returns True if the uri is a base64 data url or false otherwise\n * @hidden\n */\nexport const IsBase64DataUrl = (uri: string): boolean => {\n return Base64DataUrlRegEx.test(uri);\n};\nexport const TestBase64DataUrl = (uri: string): {\n match: boolean;\n type: string;\n} => {\n const results = Base64DataUrlRegEx.exec(uri);\n if (results === null || results.length === 0) {\n return { match: false, type: \"\" };\n }\n else {\n const type = results[0].replace(\"data:\", \"\").replace(\"base64,\", \"\");\n return { match: true, type };\n }\n};\n/**\n * Decode the given base64 uri.\n * @param uri The uri to decode\n * @returns The decoded base64 data.\n * @hidden\n */\nexport function DecodeBase64UrlToBinary(uri: string): ArrayBuffer {\n return DecodeBase64ToBinary(uri.split(\",\")[1]);\n}\n/**\n * Decode the given base64 uri into a UTF-8 encoded string.\n * @param uri The uri to decode\n * @returns The decoded base64 data.\n * @hidden\n */\nexport const DecodeBase64UrlToString = (uri: string): string => {\n return DecodeBase64ToString(uri.split(\",\")[1]);\n};\n/**\n * This will be executed automatically for UMD and es5.\n * If esm dev wants the side effects to execute they will have to run it manually\n * Once we build native modules those need to be exported.\n * @hidden\n */\nconst initSideEffects = () => {\n ThinEngine._FileToolsLoadImage = LoadImage;\n ThinEngine._FileToolsLoadFile = LoadFile;\n ShaderProcessor._FileToolsLoadFile = LoadFile;\n};\ninitSideEffects();\n\n /**\n * FileTools defined as any.\n * This should not be imported or used in future releases or in any module in the framework\n * @hidden\n * @deprecated import the needed function from fileTools.ts\n */\nexport let FileTools: {\n DecodeBase64UrlToBinary: (uri: string) => ArrayBuffer;\n DecodeBase64UrlToString: (uri: string) => string;\n DefaultRetryStrategy: any;\n BaseUrl: any;\n CorsBehavior: any;\n PreprocessUrl: any;\n IsBase64DataUrl: (uri: string) => boolean;\n IsFileURL: () => boolean;\n LoadFile: (fileOrUrl: string | File, onSuccess: (data: string | ArrayBuffer, responseURL?: string | undefined) => void, onProgress?: ((ev: ProgressEvent<EventTarget>) => void) | undefined, offlineProvider?: IOfflineProvider | undefined, useArrayBuffer?: boolean | undefined, onError?: ((request?: WebRequest | undefined, exception?: LoadFileError | undefined) => void) | undefined, onOpened?: ((request: WebRequest) => void) | undefined) => IFileRequest;\n LoadImage: (input: string | ArrayBuffer | Blob | ArrayBufferView, onLoad: (img: HTMLImageElement | ImageBitmap) => void, onError: (message?: string | undefined, exception?: any) => void, offlineProvider: Nullable<IOfflineProvider>, mimeType?: string | undefined, imageBitmapOptions?: ImageBitmapOptions | undefined) => Nullable<HTMLImageElement>;\n ReadFile: (file: File, onSuccess: (data: any) => void, onProgress?: ((ev: ProgressEvent<EventTarget>) => any) | undefined, useArrayBuffer?: boolean | undefined, onError?: ((error: ReadFileError) => void) | undefined) => IFileRequest;\n RequestFile: (url: string, onSuccess: (data: string | ArrayBuffer, request?: WebRequest | undefined) => void, onProgress?: ((event: ProgressEvent<EventTarget>) => void) | undefined, offlineProvider?: IOfflineProvider | undefined, useArrayBuffer?: boolean | undefined, onError?: ((error: RequestFileError) => void) | undefined, onOpened?: ((request: WebRequest) => void) | undefined) => IFileRequest;\n SetCorsBehavior: (url: string | string[], element: {\n crossOrigin: string | null;\n }) => void;\n};\n/**\n * @param DecodeBase64UrlToBinary\n * @param DecodeBase64UrlToString\n * @param FileToolsOptions\n * @param FileToolsOptions.DefaultRetryStrategy\n * @param FileToolsOptions.BaseUrl\n * @param FileToolsOptions.CorsBehavior\n * @param FileToolsOptions.PreprocessUrl\n * @param IsBase64DataUrl\n * @param IsFileURL\n * @param LoadFile\n * @param LoadImage\n * @param ReadFile\n * @param RequestFile\n * @param SetCorsBehavior\n * @hidden\n */\nexport const _injectLTSFileTools = (DecodeBase64UrlToBinary: (uri: string) => ArrayBuffer, DecodeBase64UrlToString: (uri: string) => string, FileToolsOptions: {\n DefaultRetryStrategy: any;\n BaseUrl: any;\n CorsBehavior: any;\n PreprocessUrl: any;\n}, IsBase64DataUrl: (uri: string) => boolean, IsFileURL: () => boolean, LoadFile: (fileOrUrl: string | File, onSuccess: (data: string | ArrayBuffer, responseURL?: string | undefined) => void, onProgress?: ((ev: ProgressEvent<EventTarget>) => void) | undefined, offlineProvider?: IOfflineProvider | undefined, useArrayBuffer?: boolean | undefined, onError?: ((request?: WebRequest | undefined, exception?: LoadFileError | undefined) => void) | undefined, onOpened?: ((request: WebRequest) => void) | undefined) => IFileRequest, LoadImage: (input: string | ArrayBuffer | ArrayBufferView | Blob, onLoad: (img: HTMLImageElement | ImageBitmap) => void, onError: (message?: string | undefined, exception?: any) => void, offlineProvider: Nullable<IOfflineProvider>, mimeType?: string, imageBitmapOptions?: ImageBitmapOptions | undefined) => Nullable<HTMLImageElement>, ReadFile: (file: File, onSuccess: (data: any) => void, onProgress?: ((ev: ProgressEvent<EventTarget>) => any) | undefined, useArrayBuffer?: boolean | undefined, onError?: ((error: ReadFileError) => void) | undefined) => IFileRequest, RequestFile: (url: string, onSuccess: (data: string | ArrayBuffer, request?: WebRequest | undefined) => void, onProgress?: ((event: ProgressEvent<EventTarget>) => void) | undefined, offlineProvider?: IOfflineProvider | undefined, useArrayBuffer?: boolean | undefined, onError?: ((error: RequestFileError) => void) | undefined, onOpened?: ((request: WebRequest) => void) | undefined) => IFileRequest, SetCorsBehavior: (url: string | string[], element: {\n crossOrigin: string | null;\n}) => void) => {\n /**\n * Backwards compatibility.\n * @hidden\n * @deprecated\n */\n FileTools = {\n DecodeBase64UrlToBinary,\n DecodeBase64UrlToString,\n DefaultRetryStrategy: FileToolsOptions.DefaultRetryStrategy,\n BaseUrl: FileToolsOptions.BaseUrl,\n CorsBehavior: FileToolsOptions.CorsBehavior,\n PreprocessUrl: FileToolsOptions.PreprocessUrl,\n IsBase64DataUrl,\n IsFileURL,\n LoadFile,\n LoadImage,\n ReadFile,\n RequestFile,\n SetCorsBehavior\n };\n Object.defineProperty(FileTools, \"DefaultRetryStrategy\", {\n get: function (this: null) {\n return FileToolsOptions.DefaultRetryStrategy;\n },\n set: function (this: null, value: (url: string, request: WebRequest, retryIndex: number) => number) {\n FileToolsOptions.DefaultRetryStrategy = value;\n }\n });\n Object.defineProperty(FileTools, \"BaseUrl\", {\n get: function (this: null) {\n return FileToolsOptions.BaseUrl;\n },\n set: function (this: null, value: string) {\n FileToolsOptions.BaseUrl = value;\n }\n });\n Object.defineProperty(FileTools, \"PreprocessUrl\", {\n get: function (this: null) {\n return FileToolsOptions.PreprocessUrl;\n },\n set: function (this: null, value: (url: string) => string) {\n FileToolsOptions.PreprocessUrl = value;\n }\n });\n Object.defineProperty(FileTools, \"CorsBehavior\", {\n get: function (this: null) {\n return FileToolsOptions.CorsBehavior;\n },\n set: function (this: null, value: string | ((url: string | string[]) => string)) {\n FileToolsOptions.CorsBehavior = value;\n }\n });\n};\n_injectLTSFileTools(DecodeBase64UrlToBinary, DecodeBase64UrlToString, FileToolsOptions, IsBase64DataUrl, IsFileURL, LoadFile, LoadImage, ReadFile, RequestFile, SetCorsBehavior);\n"]}
1
+ {"version":3,"file":"fileTools.js","sourceRoot":"","sources":["../../../../../lts/core/generated/Misc/fileTools.ts"],"names":[],"mappings":"AAAA,yDAAyD;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAItD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAC;AACtG,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AACxE,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,MAAM,kBAAkB,GAAG,IAAI,MAAM,CAAC,gCAAgC,CAAC,CAAC;AACxE,cAAc;AACd,MAAM,OAAO,aAAc,SAAQ,YAAY;IAG3C;;;;OAIG;IACH,YAAY,OAAe,EAAE,MAA0B;QACnD,KAAK,CAAC,OAAO,EAAE,UAAU,CAAC,aAAa,CAAC,CAAC;QACzC,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;QAC5B,SAAS,CAAC,eAAe,CAAC,IAAI,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;QACzD,IAAI,MAAM,YAAY,UAAU,EAAE;YAC9B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;SACzB;aACI;YACD,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC;SACtB;IACL,CAAC;CACJ;AACD,cAAc;AACd,MAAM,OAAO,gBAAiB,SAAQ,YAAY;IAC9C;;;;OAIG;IACH,YAAY,OAAe,EAAS,OAAmB;QACnD,KAAK,CAAC,OAAO,EAAE,UAAU,CAAC,gBAAgB,CAAC,CAAC;QADZ,YAAO,GAAP,OAAO,CAAY;QAEnD,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;QAC/B,SAAS,CAAC,eAAe,CAAC,IAAI,EAAE,gBAAgB,CAAC,SAAS,CAAC,CAAC;IAChE,CAAC;CACJ;AACD,cAAc;AACd,MAAM,OAAO,aAAc,SAAQ,YAAY;IAC3C;;;;OAIG;IACH,YAAY,OAAe,EAAS,IAAU;QAC1C,KAAK,CAAC,OAAO,EAAE,UAAU,CAAC,aAAa,CAAC,CAAC;QADT,SAAI,GAAJ,IAAI,CAAM;QAE1C,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;QAC5B,SAAS,CAAC,eAAe,CAAC,IAAI,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;IAC7D,CAAC;CACJ;AACD;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAKzB;IACA;;;;OAIG;IACH,oBAAoB,EAAE,aAAa,CAAC,kBAAkB,EAAE;IACxD;;OAEG;IACH,OAAO,EAAE,EAAE;IACX;;;;OAIG;IACH,YAAY,EAAE,WAAW;IACzB;;;OAGG;IACH,aAAa,EAAE,CAAC,GAAW,EAAE,EAAE;QAC3B,OAAO,GAAG,CAAC;IACf,CAAC;CACJ,CAAC;AACF;;;;GAIG;AACH,MAAM,SAAS,GAAG,CAAC,GAAW,EAAU,EAAE;IACtC,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAChC,OAAO,GAAG,CAAC;AACf,CAAC,CAAC;AACF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,GAAsB,EAAE,OAEvD,EAAQ,EAAE;IACP,IAAI,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QACnC,OAAO;KACV;IACD,IAAI,gBAAgB,CAAC,YAAY,EAAE;QAC/B,IAAI,OAAO,gBAAgB,CAAC,YAAY,KAAK,QAAQ,IAAI,gBAAgB,CAAC,YAAY,YAAY,MAAM,EAAE;YACtG,OAAO,CAAC,WAAW,GAAW,gBAAgB,CAAC,YAAY,CAAC;SAC/D;aACI;YACD,MAAM,MAAM,GAAG,gBAAgB,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;YAClD,IAAI,MAAM,EAAE;gBACR,OAAO,CAAC,WAAW,GAAG,MAAM,CAAC;aAChC;SACJ;KACJ;AACL,CAAC,CAAC;AACF;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,KAAoD,EAAE,MAAqD,EAAE,OAAoD,EAAE,eAA2C,EAAE,WAAmB,EAAE,EAAE,kBAAuC,EAA8B,EAAE;IACpU,IAAI,GAAW,CAAC;IAChB,IAAI,cAAc,GAAG,KAAK,CAAC;IAC3B,IAAI,KAAK,YAAY,WAAW,IAAI,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;QAC3D,IAAI,OAAO,IAAI,KAAK,WAAW,IAAI,OAAO,GAAG,KAAK,WAAW,EAAE;YAC3D,GAAG,GAAG,GAAG,CAAC,eAAe,CAAC,IAAI,IAAI,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;YACjE,cAAc,GAAG,IAAI,CAAC;SACzB;aACI;YACD,GAAG,GAAG,QAAQ,QAAQ,UAAU,GAAG,yBAAyB,CAAC,KAAK,CAAC,CAAC;SACvE;KACJ;SACI,IAAI,KAAK,YAAY,IAAI,EAAE;QAC5B,GAAG,GAAG,GAAG,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QACjC,cAAc,GAAG,IAAI,CAAC;KACzB;SACI;QACD,GAAG,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;QACvB,GAAG,GAAG,gBAAgB,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;KAC/C;IACD,MAAM,MAAM,GAAG,WAAW,CAAC,iBAAiB,CAAC;IAC7C,MAAM,cAAc,GAAG,CAAC,SAAc,EAAE,EAAE;QACtC,IAAI,OAAO,EAAE;YACT,MAAM,SAAS,GAAG,GAAG,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YAC1C,OAAO,CAAC,qCAAqC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,SAAS,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,KAAK,EAAE,EAAE,SAAS,CAAC,CAAC;SACvK;IACL,CAAC,CAAC;IACF,IAAI,OAAO,KAAK,KAAK,WAAW,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,+BAA+B,IAAI,KAAK,CAAC,EAAE;QAC9F,QAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE;YACnB,MAAO;iBACF,iBAAiB,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE,gBAAgB,EAAE,MAAM,EAAE,GAAG,kBAAkB,EAAE,CAAC;iBAC5G,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;gBACjB,MAAM,CAAC,MAAM,CAAC,CAAC;gBACf,IAAI,cAAc,EAAE;oBAChB,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;iBAC5B;YACL,CAAC,CAAC;iBACG,KAAK,CAAC,CAAC,MAAM,EAAE,EAAE;gBAClB,IAAI,OAAO,EAAE;oBACT,OAAO,CAAC,oCAAoC,GAAG,KAAK,EAAE,MAAM,CAAC,CAAC;iBACjE;YACL,CAAC,CAAC,CAAC;QACP,CAAC,EAAE,SAAS,EAAE,eAAe,IAAI,SAAS,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,EAAE;YACrE,cAAc,CAAC,SAAS,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;KACf;IACD,MAAM,GAAG,GAAG,IAAI,KAAK,EAAE,CAAC;IACxB,eAAe,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC1B,MAAM,WAAW,GAAG,GAAG,EAAE;QACrB,GAAG,CAAC,mBAAmB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QAC7C,GAAG,CAAC,mBAAmB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QAC/C,MAAM,CAAC,GAAG,CAAC,CAAC;QACZ,2EAA2E;QAC3E,kDAAkD;QAClD,IAAI,cAAc,IAAI,GAAG,CAAC,GAAG,EAAE;YAC3B,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;SAChC;IACL,CAAC,CAAC;IACF,MAAM,YAAY,GAAG,CAAC,GAAQ,EAAE,EAAE;QAC9B,GAAG,CAAC,mBAAmB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QAC7C,GAAG,CAAC,mBAAmB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QAC/C,cAAc,CAAC,GAAG,CAAC,CAAC;QACpB,IAAI,cAAc,IAAI,GAAG,CAAC,GAAG,EAAE;YAC3B,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;SAChC;IACL,CAAC,CAAC;IACF,GAAG,CAAC,gBAAgB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAC1C,GAAG,CAAC,gBAAgB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IAC5C,MAAM,QAAQ,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,OAAO,CAAC;IACjD,MAAM,QAAQ,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,OAAO,CAAC;IACjD,MAAM,gBAAgB,GAAG,GAAG,EAAE;QAC1B,IAAI,QAAQ,IAAI,QAAQ,EAAE;YACtB,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC;SACjB;aACI;YACD,QAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,WAAW,EAAE,EAAE;gBACnC,MAAM,IAAI,GAAG,CAAC,QAAQ,IAAI,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC;gBAC/D,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;gBACxC,MAAM,GAAG,GAAG,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;gBACtC,cAAc,GAAG,IAAI,CAAC;gBACtB,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC;YAClB,CAAC,EAAE,SAAS,EAAE,eAAe,IAAI,SAAS,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,EAAE;gBACrE,cAAc,CAAC,SAAS,CAAC,CAAC;YAC9B,CAAC,CAAC,CAAC;SACN;IACL,CAAC,CAAC;IACF,MAAM,sBAAsB,GAAG,GAAG,EAAE;QAChC,IAAI,eAAe,EAAE;YACjB,eAAe,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;SACvC;IACL,CAAC,CAAC;IACF,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,IAAI,eAAe,IAAI,eAAe,CAAC,qBAAqB,EAAE;QACpF,eAAe,CAAC,IAAI,CAAC,sBAAsB,EAAE,gBAAgB,CAAC,CAAC;KAClE;SACI;QACD,IAAI,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE;YAC7B,MAAM,WAAW,GAAG,kBAAkB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;YACvE,IAAI,eAAe,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,OAAO,GAAG,KAAK,WAAW,EAAE;gBACxE,IAAI;oBACA,IAAI,OAAO,CAAC;oBACZ,IAAI;wBACA,OAAO,GAAG,GAAG,CAAC,eAAe,CAAC,eAAe,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC;qBAC3E;oBACD,OAAO,EAAE,EAAE;wBACP,+CAA+C;wBAC/C,OAAO,GAAG,GAAG,CAAC,eAAe,CAAC,eAAe,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC;qBAC3E;oBACD,GAAG,CAAC,GAAG,GAAG,OAAO,CAAC;oBAClB,cAAc,GAAG,IAAI,CAAC;iBACzB;gBACD,OAAO,CAAC,EAAE;oBACN,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC;iBAChB;gBACD,OAAO,GAAG,CAAC;aACd;SACJ;QACD,gBAAgB,EAAE,CAAC;KACtB;IACD,OAAO,GAAG,CAAC;AACf,CAAC,CAAC;AACF;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,IAAU,EAAE,SAA8B,EAAE,UAAuC,EAAE,cAAwB,EAAE,OAAwC,EAAgB,EAAE;IAC9L,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;IAChC,MAAM,WAAW,GAAiB;QAC9B,oBAAoB,EAAE,IAAI,UAAU,EAAgB;QACpD,KAAK,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE;KAC9B,CAAC;IACF,MAAM,CAAC,SAAS,GAAG,GAAG,EAAE,CAAC,WAAW,CAAC,oBAAoB,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;IACvF,IAAI,OAAO,EAAE;QACT,MAAM,CAAC,OAAO,GAAG,GAAG,EAAE;YAClB,OAAO,CAAC,IAAI,aAAa,CAAC,kBAAkB,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC;QACpE,CAAC,CAAC;KACL;IACD,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,EAAE;QAClB,wCAAwC;QACxC,SAAS,CAAO,CAAC,CAAC,MAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;IACzC,CAAC,CAAC;IACF,IAAI,UAAU,EAAE;QACZ,MAAM,CAAC,UAAU,GAAG,UAAU,CAAC;KAClC;IACD,IAAI,CAAC,cAAc,EAAE;QACjB,oBAAoB;QACpB,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;KAC3B;SACI;QACD,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;KAClC;IACD,OAAO,WAAW,CAAC;AACvB,CAAC,CAAC;AACF;;;;;;;;;;;GAWG;AACH,gEAAgE;AAChE,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,SAAwB,EAAE,SAAqG,EAAE,UAAwC,EAAE,eAAkC,EAAE,cAAwB,EAAE,OAAmE,EAAE,QAAwC,EAAgB,EAAE;IAC7X,IAAK,SAAkB,CAAC,IAAI,EAAE;QAC1B,OAAO,QAAQ,CAAC,SAAiB,EAAE,SAAS,EAAE,UAAU,EAAE,cAAc,EAAE,OAAO;YAC7E,CAAC,CAAC,CAAC,KAAoB,EAAE,EAAE;gBACvB,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAC9B,CAAC;YACD,CAAC,CAAC,SAAS,CAAC,CAAC;KACpB;IACD,MAAM,GAAG,GAAG,SAAmB,CAAC;IAChC,iCAAiC;IACjC,IAAI,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE;QAC7B,IAAI,QAAQ,GAAG,kBAAkB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;QAClE,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;YAC9B,QAAQ,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;SACpC;QACD,MAAM,IAAI,GAAG,eAAe,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QACnD,IAAI,IAAI,EAAE;YACN,OAAO,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,aAAa,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;SACnK;KACJ;IACD,wBAAwB;IACxB,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;IAC/C,IAAI,KAAK,EAAE;QACP,MAAM,WAAW,GAAiB;YAC9B,oBAAoB,EAAE,IAAI,UAAU,EAAgB;YACpD,KAAK,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;SACzB,CAAC;QACF,IAAI;YACA,MAAM,IAAI,GAAG,cAAc,CAAC,CAAC,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAC;YAC1F,SAAS,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;SACpC;QACD,OAAO,KAAK,EAAE;YACV,IAAI,OAAO,EAAE;gBACT,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;aAC7B;iBACI;gBACD,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,IAAI,8BAA8B,CAAC,CAAC;aACjE;SACJ;QACD,WAAW,CAAC,YAAY,CAAC,GAAG,EAAE;YAC1B,WAAW,CAAC,oBAAoB,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;QAClE,CAAC,CAAC,CAAC;QACH,OAAO,WAAW,CAAC;KACtB;IACD,OAAO,WAAW,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;QACtC,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,iBAAiB,CAAC,cAAc,CAAC,CAAC,CAAC;IACtF,CAAC,EAAE,UAAU,EAAE,eAAe,EAAE,cAAc,EAAE,OAAO;QACnD,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE;YACR,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,aAAa,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAC5E,CAAC;QACD,CAAC,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;AAC/B,CAAC,CAAC;AACF;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,GAAW,EAAE,SAAsE,EAAE,UAA2C,EAAE,eAAkC,EAAE,cAAwB,EAAE,OAA2C,EAAE,QAAwC,EAAgB,EAAE;IAC/T,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;IACrB,GAAG,GAAG,gBAAgB,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IAC1C,MAAM,OAAO,GAAG,gBAAgB,CAAC,OAAO,GAAG,GAAG,CAAC;IAC/C,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,MAAM,WAAW,GAAiB;QAC9B,oBAAoB,EAAE,IAAI,UAAU,EAAgB;QACpD,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC;KAChC,CAAC;IACF,MAAM,WAAW,GAAG,GAAG,EAAE;QACrB,IAAI,OAAO,GAAyB,IAAI,UAAU,EAAE,CAAC;QACrD,IAAI,WAAW,GAA4C,IAAI,CAAC;QAChE,IAAI,kBAAwC,CAAC;QAC7C,MAAM,YAAY,GAAG,GAAG,EAAE;YACtB,IAAI,CAAC,OAAO,EAAE;gBACV,OAAO;aACV;YACD,IAAI,UAAU,EAAE;gBACZ,OAAO,CAAC,mBAAmB,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;aACvD;YACD,IAAI,kBAAkB,EAAE;gBACpB,OAAO,CAAC,mBAAmB,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,CAAC;aACvE;YACD,OAAO,CAAC,mBAAmB,CAAC,SAAS,EAAE,SAAU,CAAC,CAAC;QACvD,CAAC,CAAC;QACF,IAAI,SAAS,GAAyB,GAAG,EAAE;YACvC,YAAY,EAAE,CAAC;YACf,WAAW,CAAC,oBAAoB,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;YAC9D,WAAW,CAAC,oBAAoB,CAAC,KAAK,EAAE,CAAC;YACzC,UAAU,GAAG,SAAS,CAAC;YACvB,kBAAkB,GAAG,IAAI,CAAC;YAC1B,SAAS,GAAG,IAAI,CAAC;YACjB,OAAO,GAAG,SAAS,CAAC;YACpB,QAAQ,GAAG,SAAS,CAAC;YACrB,SAAS,GAAG,SAAS,CAAC;QAC1B,CAAC,CAAC;QACF,WAAW,CAAC,KAAK,GAAG,GAAG,EAAE;YACrB,OAAO,GAAG,IAAI,CAAC;YACf,IAAI,SAAS,EAAE;gBACX,SAAS,EAAE,CAAC;aACf;YACD,IAAI,OAAO,IAAI,OAAO,CAAC,UAAU,KAAK,CAAC,cAAc,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE;gBAC9D,OAAO,CAAC,KAAK,EAAE,CAAC;aACnB;YACD,IAAI,WAAW,KAAK,IAAI,EAAE;gBACtB,YAAY,CAAC,WAAW,CAAC,CAAC;gBAC1B,WAAW,GAAG,IAAI,CAAC;aACtB;YACD,OAAO,GAAG,IAAI,CAAC;QACnB,CAAC,CAAC;QACF,MAAM,WAAW,GAAG,CAAC,KAAU,EAAE,EAAE;YAC/B,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,eAAe,CAAC;YACjD,IAAI,OAAO,IAAI,OAAO,EAAE;gBACpB,OAAO,CAAC,IAAI,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;aACnD;iBACI;gBACD,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;aACzB;QACL,CAAC,CAAC;QACF,MAAM,SAAS,GAAG,CAAC,UAAkB,EAAE,EAAE;YACrC,IAAI,CAAC,OAAO,EAAE;gBACV,OAAO;aACV;YACD,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YAC7B,IAAI,QAAQ,EAAE;gBACV,IAAI;oBACA,QAAQ,CAAC,OAAO,CAAC,CAAC;iBACrB;gBACD,OAAO,CAAC,EAAE;oBACN,WAAW,CAAC,CAAC,CAAC,CAAC;oBACf,OAAO;iBACV;aACJ;YACD,IAAI,cAAc,EAAE;gBAChB,OAAO,CAAC,YAAY,GAAG,aAAa,CAAC;aACxC;YACD,IAAI,UAAU,EAAE;gBACZ,OAAO,CAAC,gBAAgB,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;aACpD;YACD,IAAI,SAAS,EAAE;gBACX,OAAO,CAAC,gBAAgB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;aAClD;YACD,kBAAkB,GAAG,GAAG,EAAE;gBACtB,IAAI,OAAO,IAAI,CAAC,OAAO,EAAE;oBACrB,OAAO;iBACV;gBACD,+CAA+C;gBAC/C,IAAI,OAAO,CAAC,UAAU,KAAK,CAAC,cAAc,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE;oBACnD,uGAAuG;oBACvG,IAAI,kBAAkB,EAAE;wBACpB,OAAO,CAAC,mBAAmB,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,CAAC;qBACvE;oBACD,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,GAAG,IAAI,OAAO,CAAC,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,mBAAmB,EAAE,IAAI,SAAS,EAAE,CAAC,CAAC,EAAE;wBACtH,IAAI;4BACA,IAAI,SAAS,EAAE;gCACX,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;6BAChF;yBACJ;wBACD,OAAO,CAAC,EAAE;4BACN,WAAW,CAAC,CAAC,CAAC,CAAC;yBAClB;wBACD,OAAO;qBACV;oBACD,MAAM,aAAa,GAAG,gBAAgB,CAAC,oBAAoB,CAAC;oBAC5D,IAAI,aAAa,EAAE;wBACf,MAAM,QAAQ,GAAG,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;wBAC7D,IAAI,QAAQ,KAAK,CAAC,CAAC,EAAE;4BACjB,iDAAiD;4BACjD,YAAY,EAAE,CAAC;4BACf,OAAO,GAAG,IAAI,UAAU,EAAE,CAAC;4BAC3B,WAAW,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,UAAU,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;4BACpE,OAAO;yBACV;qBACJ;oBACD,MAAM,KAAK,GAAG,IAAI,gBAAgB,CAAC,gBAAgB,GAAG,OAAO,CAAC,MAAM,GAAG,GAAG,GAAG,OAAO,CAAC,UAAU,GAAG,oBAAoB,GAAG,OAAO,EAAE,OAAO,CAAC,CAAC;oBAC3I,IAAI,OAAO,EAAE;wBACT,OAAO,CAAC,KAAK,CAAC,CAAC;qBAClB;iBACJ;YACL,CAAC,CAAC;YACF,OAAO,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,CAAC;YACjE,OAAO,CAAC,IAAI,EAAE,CAAC;QACnB,CAAC,CAAC;QACF,SAAS,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC,CAAC;IACF,oBAAoB;IACpB,IAAI,eAAe,IAAI,eAAe,CAAC,kBAAkB,EAAE;QACvD,MAAM,gBAAgB,GAAG,CAAC,OAAa,EAAE,EAAE;YACvC,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,GAAG,EAAE;gBACjC,IAAI,OAAO,EAAE;oBACT,OAAO,CAAC,OAAO,CAAC,CAAC;iBACpB;aACJ;iBACI;gBACD,WAAW,EAAE,CAAC;aACjB;QACL,CAAC,CAAC;QACF,MAAM,sBAAsB,GAAG,GAAG,EAAE;YAChC,4EAA4E;YAC5E,IAAI,eAAe,EAAE;gBACjB,eAAe,CAAC,QAAQ,CAAC,gBAAgB,CAAC,OAAO,GAAG,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE;oBAC9D,IAAI,CAAC,OAAO,IAAI,SAAS,EAAE;wBACvB,SAAS,CAAC,IAAI,CAAC,CAAC;qBACnB;oBACD,WAAW,CAAC,oBAAoB,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;gBAClE,CAAC,EAAE,UAAU;oBACT,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE;wBACR,IAAI,CAAC,OAAO,IAAI,UAAU,EAAE;4BACxB,UAAU,CAAC,KAAK,CAAC,CAAC;yBACrB;oBACL,CAAC;oBACD,CAAC,CAAC,SAAS,EAAE,gBAAgB,EAAE,cAAc,CAAC,CAAC;aACtD;QACL,CAAC,CAAC;QACF,eAAe,CAAC,IAAI,CAAC,sBAAsB,EAAE,gBAAgB,CAAC,CAAC;KAClE;SACI;QACD,WAAW,EAAE,CAAC;KACjB;IACD,OAAO,WAAW,CAAC;AACvB,CAAC,CAAC;AACF;;;;GAIG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,GAAY,EAAE;IACnC,OAAO,OAAO,QAAQ,KAAK,WAAW,IAAI,QAAQ,CAAC,QAAQ,KAAK,OAAO,CAAC;AAC5E,CAAC,CAAC;AACF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,GAAW,EAAW,EAAE;IACpD,OAAO,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACxC,CAAC,CAAC;AACF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,GAAW,EAG3C,EAAE;IACA,MAAM,OAAO,GAAG,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC7C,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;QAC1C,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;KACrC;SACI;QACD,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QACpE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;KAChC;AACL,CAAC,CAAC;AACF;;;;;GAKG;AACH,MAAM,UAAU,uBAAuB,CAAC,GAAW;IAC/C,OAAO,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnD,CAAC;AACD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,GAAW,EAAU,EAAE;IAC3D,OAAO,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnD,CAAC,CAAC;AACF;;;;;GAKG;AACH,MAAM,eAAe,GAAG,GAAG,EAAE;IACzB,UAAU,CAAC,mBAAmB,GAAG,SAAS,CAAC;IAC3C,UAAU,CAAC,kBAAkB,GAAG,QAAQ,CAAC;IACzC,eAAe,CAAC,kBAAkB,GAAG,QAAQ,CAAC;AAClD,CAAC,CAAC;AACF,eAAe,EAAE,CAAC;AAEd;;;;;EAKD;AACH,MAAM,CAAC,IAAI,SAgBV,CAAC;AACF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,uBAAqD,EAAE,uBAAgD,EAAE,gBAK5I,EAAE,eAAyC,EAAE,SAAwB,EAAE,QAAqc,EAAE,SAA6U,EAAE,QAAwO,EAAE,WAA8Y,EAAE,eAE98C,EAAE,EAAE;IACV;;;;OAIG;IACH,SAAS,GAAG;QACR,uBAAuB;QACvB,uBAAuB;QACvB,oBAAoB,EAAE,gBAAgB,CAAC,oBAAoB;QAC3D,OAAO,EAAE,gBAAgB,CAAC,OAAO;QACjC,YAAY,EAAE,gBAAgB,CAAC,YAAY;QAC3C,aAAa,EAAE,gBAAgB,CAAC,aAAa;QAC7C,eAAe;QACf,SAAS;QACT,QAAQ;QACR,SAAS;QACT,QAAQ;QACR,WAAW;QACX,eAAe;KAClB,CAAC;IACF,MAAM,CAAC,cAAc,CAAC,SAAS,EAAE,sBAAsB,EAAE;QACrD,GAAG,EAAE;YACD,OAAO,gBAAgB,CAAC,oBAAoB,CAAC;QACjD,CAAC;QACD,GAAG,EAAE,UAAsB,KAAuE;YAC9F,gBAAgB,CAAC,oBAAoB,GAAG,KAAK,CAAC;QAClD,CAAC;KACJ,CAAC,CAAC;IACH,MAAM,CAAC,cAAc,CAAC,SAAS,EAAE,SAAS,EAAE;QACxC,GAAG,EAAE;YACD,OAAO,gBAAgB,CAAC,OAAO,CAAC;QACpC,CAAC;QACD,GAAG,EAAE,UAAsB,KAAa;YACpC,gBAAgB,CAAC,OAAO,GAAG,KAAK,CAAC;QACrC,CAAC;KACJ,CAAC,CAAC;IACH,MAAM,CAAC,cAAc,CAAC,SAAS,EAAE,eAAe,EAAE;QAC9C,GAAG,EAAE;YACD,OAAO,gBAAgB,CAAC,aAAa,CAAC;QAC1C,CAAC;QACD,GAAG,EAAE,UAAsB,KAA8B;YACrD,gBAAgB,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3C,CAAC;KACJ,CAAC,CAAC;IACH,MAAM,CAAC,cAAc,CAAC,SAAS,EAAE,cAAc,EAAE;QAC7C,GAAG,EAAE;YACD,OAAO,gBAAgB,CAAC,YAAY,CAAC;QACzC,CAAC;QACD,GAAG,EAAE,UAAsB,KAAoD;YAC3E,gBAAgB,CAAC,YAAY,GAAG,KAAK,CAAC;QAC1C,CAAC;KACJ,CAAC,CAAC;AACP,CAAC,CAAC;AACF,mBAAmB,CAAC,uBAAuB,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,eAAe,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,eAAe,CAAC,CAAC","sourcesContent":["/* eslint-disable @typescript-eslint/naming-convention */\nimport { WebRequest } from \"./webRequest\";\nimport { IsWindowObjectExist } from \"./domManagement\";\nimport type { Nullable } from \"../types\";\nimport type { IOfflineProvider } from \"../Offline/IOfflineProvider\";\nimport type { IFileRequest } from \"./fileRequest\";\nimport { Observable } from \"./observable\";\nimport { FilesInputStore } from \"./filesInputStore\";\nimport { RetryStrategy } from \"./retryStrategy\";\nimport { BaseError, ErrorCodes, RuntimeError } from \"./error\";\nimport { DecodeBase64ToBinary, DecodeBase64ToString, EncodeArrayBufferToBase64 } from \"./stringTools\";\nimport { ShaderProcessor } from \"../Engines/Processors/shaderProcessor\";\nimport { ThinEngine } from \"../Engines/thinEngine\";\nimport { EngineStore } from \"../Engines/engineStore\";\nimport { Logger } from \"./logger\";\nimport { TimingTools } from \"./timingTools\";\nconst Base64DataUrlRegEx = new RegExp(/^data:([^,]+\\/[^,]+)?;base64,/i);\n/** @ignore */\nexport class LoadFileError extends RuntimeError {\n public request?: WebRequest;\n public file?: File;\n /**\n * Creates a new LoadFileError\n * @param message defines the message of the error\n * @param object defines the optional web request\n */\n constructor(message: string, object?: WebRequest | File) {\n super(message, ErrorCodes.LoadFileError);\n this.name = \"LoadFileError\";\n BaseError._setPrototypeOf(this, LoadFileError.prototype);\n if (object instanceof WebRequest) {\n this.request = object;\n }\n else {\n this.file = object;\n }\n }\n}\n/** @ignore */\nexport class RequestFileError extends RuntimeError {\n /**\n * Creates a new LoadFileError\n * @param message defines the message of the error\n * @param request defines the optional web request\n */\n constructor(message: string, public request: WebRequest) {\n super(message, ErrorCodes.RequestFileError);\n this.name = \"RequestFileError\";\n BaseError._setPrototypeOf(this, RequestFileError.prototype);\n }\n}\n/** @ignore */\nexport class ReadFileError extends RuntimeError {\n /**\n * Creates a new ReadFileError\n * @param message defines the message of the error\n * @param file defines the optional file\n */\n constructor(message: string, public file: File) {\n super(message, ErrorCodes.ReadFileError);\n this.name = \"ReadFileError\";\n BaseError._setPrototypeOf(this, ReadFileError.prototype);\n }\n}\n/**\n * @internal\n */\nexport const FileToolsOptions: {\n DefaultRetryStrategy: (url: string, request: WebRequest, retryIndex: number) => number;\n BaseUrl: string;\n CorsBehavior: string | ((url: string | string[]) => string);\n PreprocessUrl: (url: string) => string;\n} = {\n /**\n * Gets or sets the retry strategy to apply when an error happens while loading an asset.\n * When defining this function, return the wait time before trying again or return -1 to\n * stop retrying and error out.\n */\n DefaultRetryStrategy: RetryStrategy.ExponentialBackoff(),\n /**\n * Gets or sets the base URL to use to load assets\n */\n BaseUrl: \"\",\n /**\n * Default behaviour for cors in the application.\n * It can be a string if the expected behavior is identical in the entire app.\n * Or a callback to be able to set it per url or on a group of them (in case of Video source for instance)\n */\n CorsBehavior: \"anonymous\",\n /**\n * Gets or sets a function used to pre-process url before using them to load assets\n * @param url\n */\n PreprocessUrl: (url: string) => {\n return url;\n }\n};\n/**\n * Removes unwanted characters from an url\n * @param url defines the url to clean\n * @returns the cleaned url\n */\nconst _CleanUrl = (url: string): string => {\n url = url.replace(/#/gm, \"%23\");\n return url;\n};\n/**\n * Sets the cors behavior on a dom element. This will add the required Tools.CorsBehavior to the element.\n * @param url define the url we are trying\n * @param element define the dom element where to configure the cors policy\n * @internal\n */\nexport const SetCorsBehavior = (url: string | string[], element: {\n crossOrigin: string | null;\n}): void => {\n if (url && url.indexOf(\"data:\") === 0) {\n return;\n }\n if (FileToolsOptions.CorsBehavior) {\n if (typeof FileToolsOptions.CorsBehavior === \"string\" || FileToolsOptions.CorsBehavior instanceof String) {\n element.crossOrigin = <string>FileToolsOptions.CorsBehavior;\n }\n else {\n const result = FileToolsOptions.CorsBehavior(url);\n if (result) {\n element.crossOrigin = result;\n }\n }\n }\n};\n/**\n * Loads an image as an HTMLImageElement.\n * @param input url string, ArrayBuffer, or Blob to load\n * @param onLoad callback called when the image successfully loads\n * @param onError callback called when the image fails to load\n * @param offlineProvider offline provider for caching\n * @param mimeType optional mime type\n * @param imageBitmapOptions\n * @returns the HTMLImageElement of the loaded image\n * @internal\n */\nexport const LoadImage = (input: string | ArrayBuffer | ArrayBufferView | Blob, onLoad: (img: HTMLImageElement | ImageBitmap) => void, onError: (message?: string, exception?: any) => void, offlineProvider: Nullable<IOfflineProvider>, mimeType: string = \"\", imageBitmapOptions?: ImageBitmapOptions): Nullable<HTMLImageElement> => {\n let url: string;\n let usingObjectURL = false;\n if (input instanceof ArrayBuffer || ArrayBuffer.isView(input)) {\n if (typeof Blob !== \"undefined\" && typeof URL !== \"undefined\") {\n url = URL.createObjectURL(new Blob([input], { type: mimeType }));\n usingObjectURL = true;\n }\n else {\n url = `data:${mimeType};base64,` + EncodeArrayBufferToBase64(input);\n }\n }\n else if (input instanceof Blob) {\n url = URL.createObjectURL(input);\n usingObjectURL = true;\n }\n else {\n url = _CleanUrl(input);\n url = FileToolsOptions.PreprocessUrl(input);\n }\n const engine = EngineStore.LastCreatedEngine;\n const onErrorHandler = (exception: any) => {\n if (onError) {\n const inputText = url || input.toString();\n onError(`Error while trying to load image: ${inputText.indexOf(\"http\") === 0 || inputText.length <= 128 ? inputText : inputText.slice(0, 128) + \"...\"}`, exception);\n }\n };\n if (typeof Image === \"undefined\" || (engine?._features.forceBitmapOverHTMLImageElement ?? false)) {\n LoadFile(url, (data) => {\n engine!\n .createImageBitmap(new Blob([data], { type: mimeType }), { premultiplyAlpha: \"none\", ...imageBitmapOptions })\n .then((imgBmp) => {\n onLoad(imgBmp);\n if (usingObjectURL) {\n URL.revokeObjectURL(url);\n }\n })\n .catch((reason) => {\n if (onError) {\n onError(\"Error while trying to load image: \" + input, reason);\n }\n });\n }, undefined, offlineProvider || undefined, true, (request, exception) => {\n onErrorHandler(exception);\n });\n return null;\n }\n const img = new Image();\n SetCorsBehavior(url, img);\n const loadHandler = () => {\n img.removeEventListener(\"load\", loadHandler);\n img.removeEventListener(\"error\", errorHandler);\n onLoad(img);\n // Must revoke the URL after calling onLoad to avoid security exceptions in\n // certain scenarios (e.g. when hosted in vscode).\n if (usingObjectURL && img.src) {\n URL.revokeObjectURL(img.src);\n }\n };\n const errorHandler = (err: any) => {\n img.removeEventListener(\"load\", loadHandler);\n img.removeEventListener(\"error\", errorHandler);\n onErrorHandler(err);\n if (usingObjectURL && img.src) {\n URL.revokeObjectURL(img.src);\n }\n };\n img.addEventListener(\"load\", loadHandler);\n img.addEventListener(\"error\", errorHandler);\n const fromBlob = url.substring(0, 5) === \"blob:\";\n const fromData = url.substring(0, 5) === \"data:\";\n const noOfflineSupport = () => {\n if (fromBlob || fromData) {\n img.src = url;\n }\n else {\n LoadFile(url, (data, _, contentType) => {\n const type = !mimeType && contentType ? contentType : mimeType;\n const blob = new Blob([data], { type });\n const url = URL.createObjectURL(blob);\n usingObjectURL = true;\n img.src = url;\n }, undefined, offlineProvider || undefined, true, (request, exception) => {\n onErrorHandler(exception);\n });\n }\n };\n const loadFromOfflineSupport = () => {\n if (offlineProvider) {\n offlineProvider.loadImage(url, img);\n }\n };\n if (!fromBlob && !fromData && offlineProvider && offlineProvider.enableTexturesOffline) {\n offlineProvider.open(loadFromOfflineSupport, noOfflineSupport);\n }\n else {\n if (url.indexOf(\"file:\") !== -1) {\n const textureName = decodeURIComponent(url.substring(5).toLowerCase());\n if (FilesInputStore.FilesToLoad[textureName] && typeof URL !== \"undefined\") {\n try {\n let blobURL;\n try {\n blobURL = URL.createObjectURL(FilesInputStore.FilesToLoad[textureName]);\n }\n catch (ex) {\n // Chrome doesn't support oneTimeOnly parameter\n blobURL = URL.createObjectURL(FilesInputStore.FilesToLoad[textureName]);\n }\n img.src = blobURL;\n usingObjectURL = true;\n }\n catch (e) {\n img.src = \"\";\n }\n return img;\n }\n }\n noOfflineSupport();\n }\n return img;\n};\n/**\n * Reads a file from a File object\n * @param file defines the file to load\n * @param onSuccess defines the callback to call when data is loaded\n * @param onProgress defines the callback to call during loading process\n * @param useArrayBuffer defines a boolean indicating that data must be returned as an ArrayBuffer\n * @param onError defines the callback to call when an error occurs\n * @returns a file request object\n * @internal\n */\nexport const ReadFile = (file: File, onSuccess: (data: any) => void, onProgress?: (ev: ProgressEvent) => any, useArrayBuffer?: boolean, onError?: (error: ReadFileError) => void): IFileRequest => {\n const reader = new FileReader();\n const fileRequest: IFileRequest = {\n onCompleteObservable: new Observable<IFileRequest>(),\n abort: () => reader.abort()\n };\n reader.onloadend = () => fileRequest.onCompleteObservable.notifyObservers(fileRequest);\n if (onError) {\n reader.onerror = () => {\n onError(new ReadFileError(`Unable to read ${file.name}`, file));\n };\n }\n reader.onload = (e) => {\n //target doesn't have result from ts 1.3\n onSuccess((<any>e.target)[\"result\"]);\n };\n if (onProgress) {\n reader.onprogress = onProgress;\n }\n if (!useArrayBuffer) {\n // Asynchronous read\n reader.readAsText(file);\n }\n else {\n reader.readAsArrayBuffer(file);\n }\n return fileRequest;\n};\n/**\n * Loads a file from a url, a data url, or a file url\n * @param fileOrUrl file, url, data url, or file url to load\n * @param onSuccess callback called when the file successfully loads\n * @param onProgress callback called while file is loading (if the server supports this mode)\n * @param offlineProvider defines the offline provider for caching\n * @param useArrayBuffer defines a boolean indicating that date must be returned as ArrayBuffer\n * @param onError callback called when the file fails to load\n * @param onOpened\n * @returns a file request object\n * @internal\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport const LoadFile = (fileOrUrl: File | string, onSuccess: (data: string | ArrayBuffer, responseURL?: string, contentType?: Nullable<string>) => void, onProgress?: (ev: ProgressEvent) => void, offlineProvider?: IOfflineProvider, useArrayBuffer?: boolean, onError?: (request?: WebRequest, exception?: LoadFileError) => void, onOpened?: (request: WebRequest) => void): IFileRequest => {\n if ((fileOrUrl as File).name) {\n return ReadFile(fileOrUrl as File, onSuccess, onProgress, useArrayBuffer, onError\n ? (error: ReadFileError) => {\n onError(undefined, error);\n }\n : undefined);\n }\n const url = fileOrUrl as string;\n // If file and file input are set\n if (url.indexOf(\"file:\") !== -1) {\n let fileName = decodeURIComponent(url.substring(5).toLowerCase());\n if (fileName.indexOf(\"./\") === 0) {\n fileName = fileName.substring(2);\n }\n const file = FilesInputStore.FilesToLoad[fileName];\n if (file) {\n return ReadFile(file, onSuccess, onProgress, useArrayBuffer, onError ? (error) => onError(undefined, new LoadFileError(error.message, error.file)) : undefined);\n }\n }\n // For a Base64 Data URL\n const { match, type } = TestBase64DataUrl(url);\n if (match) {\n const fileRequest: IFileRequest = {\n onCompleteObservable: new Observable<IFileRequest>(),\n abort: () => () => { }\n };\n try {\n const data = useArrayBuffer ? DecodeBase64UrlToBinary(url) : DecodeBase64UrlToString(url);\n onSuccess(data, undefined, type);\n }\n catch (error) {\n if (onError) {\n onError(undefined, error);\n }\n else {\n Logger.Error(error.message || \"Failed to parse the Data URL\");\n }\n }\n TimingTools.SetImmediate(() => {\n fileRequest.onCompleteObservable.notifyObservers(fileRequest);\n });\n return fileRequest;\n }\n return RequestFile(url, (data, request) => {\n onSuccess(data, request?.responseURL, request?.getResponseHeader(\"content-type\"));\n }, onProgress, offlineProvider, useArrayBuffer, onError\n ? (error) => {\n onError(error.request, new LoadFileError(error.message, error.request));\n }\n : undefined, onOpened);\n};\n/**\n * Loads a file from a url\n * @param url url to load\n * @param onSuccess callback called when the file successfully loads\n * @param onProgress callback called while file is loading (if the server supports this mode)\n * @param offlineProvider defines the offline provider for caching\n * @param useArrayBuffer defines a boolean indicating that date must be returned as ArrayBuffer\n * @param onError callback called when the file fails to load\n * @param onOpened callback called when the web request is opened\n * @returns a file request object\n * @internal\n */\nexport const RequestFile = (url: string, onSuccess?: (data: string | ArrayBuffer, request?: WebRequest) => void, onProgress?: (event: ProgressEvent) => void, offlineProvider?: IOfflineProvider, useArrayBuffer?: boolean, onError?: (error: RequestFileError) => void, onOpened?: (request: WebRequest) => void): IFileRequest => {\n url = _CleanUrl(url);\n url = FileToolsOptions.PreprocessUrl(url);\n const loadUrl = FileToolsOptions.BaseUrl + url;\n let aborted = false;\n const fileRequest: IFileRequest = {\n onCompleteObservable: new Observable<IFileRequest>(),\n abort: () => (aborted = true)\n };\n const requestFile = () => {\n let request: Nullable<WebRequest> = new WebRequest();\n let retryHandle: Nullable<ReturnType<typeof setTimeout>> = null;\n let onReadyStateChange: Nullable<() => void>;\n const unbindEvents = () => {\n if (!request) {\n return;\n }\n if (onProgress) {\n request.removeEventListener(\"progress\", onProgress);\n }\n if (onReadyStateChange) {\n request.removeEventListener(\"readystatechange\", onReadyStateChange);\n }\n request.removeEventListener(\"loadend\", onLoadEnd!);\n };\n let onLoadEnd: Nullable<() => void> = () => {\n unbindEvents();\n fileRequest.onCompleteObservable.notifyObservers(fileRequest);\n fileRequest.onCompleteObservable.clear();\n onProgress = undefined;\n onReadyStateChange = null;\n onLoadEnd = null;\n onError = undefined;\n onOpened = undefined;\n onSuccess = undefined;\n };\n fileRequest.abort = () => {\n aborted = true;\n if (onLoadEnd) {\n onLoadEnd();\n }\n if (request && request.readyState !== (XMLHttpRequest.DONE || 4)) {\n request.abort();\n }\n if (retryHandle !== null) {\n clearTimeout(retryHandle);\n retryHandle = null;\n }\n request = null;\n };\n const handleError = (error: any) => {\n const message = error.message || \"Unknown error\";\n if (onError && request) {\n onError(new RequestFileError(message, request));\n }\n else {\n Logger.Error(message);\n }\n };\n const retryLoop = (retryIndex: number) => {\n if (!request) {\n return;\n }\n request.open(\"GET\", loadUrl);\n if (onOpened) {\n try {\n onOpened(request);\n }\n catch (e) {\n handleError(e);\n return;\n }\n }\n if (useArrayBuffer) {\n request.responseType = \"arraybuffer\";\n }\n if (onProgress) {\n request.addEventListener(\"progress\", onProgress);\n }\n if (onLoadEnd) {\n request.addEventListener(\"loadend\", onLoadEnd);\n }\n onReadyStateChange = () => {\n if (aborted || !request) {\n return;\n }\n // In case of undefined state in some browsers.\n if (request.readyState === (XMLHttpRequest.DONE || 4)) {\n // Some browsers have issues where onreadystatechange can be called multiple times with the same value.\n if (onReadyStateChange) {\n request.removeEventListener(\"readystatechange\", onReadyStateChange);\n }\n if ((request.status >= 200 && request.status < 300) || (request.status === 0 && (!IsWindowObjectExist() || IsFileURL()))) {\n try {\n if (onSuccess) {\n onSuccess(useArrayBuffer ? request.response : request.responseText, request);\n }\n }\n catch (e) {\n handleError(e);\n }\n return;\n }\n const retryStrategy = FileToolsOptions.DefaultRetryStrategy;\n if (retryStrategy) {\n const waitTime = retryStrategy(loadUrl, request, retryIndex);\n if (waitTime !== -1) {\n // Prevent the request from completing for retry.\n unbindEvents();\n request = new WebRequest();\n retryHandle = setTimeout(() => retryLoop(retryIndex + 1), waitTime);\n return;\n }\n }\n const error = new RequestFileError(\"Error status: \" + request.status + \" \" + request.statusText + \" - Unable to load \" + loadUrl, request);\n if (onError) {\n onError(error);\n }\n }\n };\n request.addEventListener(\"readystatechange\", onReadyStateChange);\n request.send();\n };\n retryLoop(0);\n };\n // Caching all files\n if (offlineProvider && offlineProvider.enableSceneOffline) {\n const noOfflineSupport = (request?: any) => {\n if (request && request.status > 400) {\n if (onError) {\n onError(request);\n }\n }\n else {\n requestFile();\n }\n };\n const loadFromOfflineSupport = () => {\n // TODO: database needs to support aborting and should return a IFileRequest\n if (offlineProvider) {\n offlineProvider.loadFile(FileToolsOptions.BaseUrl + url, (data) => {\n if (!aborted && onSuccess) {\n onSuccess(data);\n }\n fileRequest.onCompleteObservable.notifyObservers(fileRequest);\n }, onProgress\n ? (event) => {\n if (!aborted && onProgress) {\n onProgress(event);\n }\n }\n : undefined, noOfflineSupport, useArrayBuffer);\n }\n };\n offlineProvider.open(loadFromOfflineSupport, noOfflineSupport);\n }\n else {\n requestFile();\n }\n return fileRequest;\n};\n/**\n * Checks if the loaded document was accessed via `file:`-Protocol.\n * @returns boolean\n * @internal\n */\nexport const IsFileURL = (): boolean => {\n return typeof location !== \"undefined\" && location.protocol === \"file:\";\n};\n/**\n * Test if the given uri is a valid base64 data url\n * @param uri The uri to test\n * @returns True if the uri is a base64 data url or false otherwise\n * @internal\n */\nexport const IsBase64DataUrl = (uri: string): boolean => {\n return Base64DataUrlRegEx.test(uri);\n};\nexport const TestBase64DataUrl = (uri: string): {\n match: boolean;\n type: string;\n} => {\n const results = Base64DataUrlRegEx.exec(uri);\n if (results === null || results.length === 0) {\n return { match: false, type: \"\" };\n }\n else {\n const type = results[0].replace(\"data:\", \"\").replace(\"base64,\", \"\");\n return { match: true, type };\n }\n};\n/**\n * Decode the given base64 uri.\n * @param uri The uri to decode\n * @returns The decoded base64 data.\n * @internal\n */\nexport function DecodeBase64UrlToBinary(uri: string): ArrayBuffer {\n return DecodeBase64ToBinary(uri.split(\",\")[1]);\n}\n/**\n * Decode the given base64 uri into a UTF-8 encoded string.\n * @param uri The uri to decode\n * @returns The decoded base64 data.\n * @internal\n */\nexport const DecodeBase64UrlToString = (uri: string): string => {\n return DecodeBase64ToString(uri.split(\",\")[1]);\n};\n/**\n * This will be executed automatically for UMD and es5.\n * If esm dev wants the side effects to execute they will have to run it manually\n * Once we build native modules those need to be exported.\n * @internal\n */\nconst initSideEffects = () => {\n ThinEngine._FileToolsLoadImage = LoadImage;\n ThinEngine._FileToolsLoadFile = LoadFile;\n ShaderProcessor._FileToolsLoadFile = LoadFile;\n};\ninitSideEffects();\n\n /**\n * FileTools defined as any.\n * This should not be imported or used in future releases or in any module in the framework\n * @internal\n * @deprecated import the needed function from fileTools.ts\n */\nexport let FileTools: {\n DecodeBase64UrlToBinary: (uri: string) => ArrayBuffer;\n DecodeBase64UrlToString: (uri: string) => string;\n DefaultRetryStrategy: any;\n BaseUrl: any;\n CorsBehavior: any;\n PreprocessUrl: any;\n IsBase64DataUrl: (uri: string) => boolean;\n IsFileURL: () => boolean;\n LoadFile: (fileOrUrl: string | File, onSuccess: (data: string | ArrayBuffer, responseURL?: string | undefined) => void, onProgress?: ((ev: ProgressEvent<EventTarget>) => void) | undefined, offlineProvider?: IOfflineProvider | undefined, useArrayBuffer?: boolean | undefined, onError?: ((request?: WebRequest | undefined, exception?: LoadFileError | undefined) => void) | undefined, onOpened?: ((request: WebRequest) => void) | undefined) => IFileRequest;\n LoadImage: (input: string | ArrayBuffer | Blob | ArrayBufferView, onLoad: (img: HTMLImageElement | ImageBitmap) => void, onError: (message?: string | undefined, exception?: any) => void, offlineProvider: Nullable<IOfflineProvider>, mimeType?: string | undefined, imageBitmapOptions?: ImageBitmapOptions | undefined) => Nullable<HTMLImageElement>;\n ReadFile: (file: File, onSuccess: (data: any) => void, onProgress?: ((ev: ProgressEvent<EventTarget>) => any) | undefined, useArrayBuffer?: boolean | undefined, onError?: ((error: ReadFileError) => void) | undefined) => IFileRequest;\n RequestFile: (url: string, onSuccess: (data: string | ArrayBuffer, request?: WebRequest | undefined) => void, onProgress?: ((event: ProgressEvent<EventTarget>) => void) | undefined, offlineProvider?: IOfflineProvider | undefined, useArrayBuffer?: boolean | undefined, onError?: ((error: RequestFileError) => void) | undefined, onOpened?: ((request: WebRequest) => void) | undefined) => IFileRequest;\n SetCorsBehavior: (url: string | string[], element: {\n crossOrigin: string | null;\n }) => void;\n};\n/**\n * @param DecodeBase64UrlToBinary\n * @param DecodeBase64UrlToString\n * @param FileToolsOptions\n * @internal\n */\nexport const _injectLTSFileTools = (DecodeBase64UrlToBinary: (uri: string) => ArrayBuffer, DecodeBase64UrlToString: (uri: string) => string, FileToolsOptions: {\n DefaultRetryStrategy: any;\n BaseUrl: any;\n CorsBehavior: any;\n PreprocessUrl: any;\n}, IsBase64DataUrl: (uri: string) => boolean, IsFileURL: () => boolean, LoadFile: (fileOrUrl: string | File, onSuccess: (data: string | ArrayBuffer, responseURL?: string | undefined) => void, onProgress?: ((ev: ProgressEvent<EventTarget>) => void) | undefined, offlineProvider?: IOfflineProvider | undefined, useArrayBuffer?: boolean | undefined, onError?: ((request?: WebRequest | undefined, exception?: LoadFileError | undefined) => void) | undefined, onOpened?: ((request: WebRequest) => void) | undefined) => IFileRequest, LoadImage: (input: string | ArrayBuffer | ArrayBufferView | Blob, onLoad: (img: HTMLImageElement | ImageBitmap) => void, onError: (message?: string | undefined, exception?: any) => void, offlineProvider: Nullable<IOfflineProvider>, mimeType?: string, imageBitmapOptions?: ImageBitmapOptions | undefined) => Nullable<HTMLImageElement>, ReadFile: (file: File, onSuccess: (data: any) => void, onProgress?: ((ev: ProgressEvent<EventTarget>) => any) | undefined, useArrayBuffer?: boolean | undefined, onError?: ((error: ReadFileError) => void) | undefined) => IFileRequest, RequestFile: (url: string, onSuccess: (data: string | ArrayBuffer, request?: WebRequest | undefined) => void, onProgress?: ((event: ProgressEvent<EventTarget>) => void) | undefined, offlineProvider?: IOfflineProvider | undefined, useArrayBuffer?: boolean | undefined, onError?: ((error: RequestFileError) => void) | undefined, onOpened?: ((request: WebRequest) => void) | undefined) => IFileRequest, SetCorsBehavior: (url: string | string[], element: {\n crossOrigin: string | null;\n}) => void) => {\n /**\n * Backwards compatibility.\n * @internal\n * @deprecated\n */\n FileTools = {\n DecodeBase64UrlToBinary,\n DecodeBase64UrlToString,\n DefaultRetryStrategy: FileToolsOptions.DefaultRetryStrategy,\n BaseUrl: FileToolsOptions.BaseUrl,\n CorsBehavior: FileToolsOptions.CorsBehavior,\n PreprocessUrl: FileToolsOptions.PreprocessUrl,\n IsBase64DataUrl,\n IsFileURL,\n LoadFile,\n LoadImage,\n ReadFile,\n RequestFile,\n SetCorsBehavior\n };\n Object.defineProperty(FileTools, \"DefaultRetryStrategy\", {\n get: function (this: null) {\n return FileToolsOptions.DefaultRetryStrategy;\n },\n set: function (this: null, value: (url: string, request: WebRequest, retryIndex: number) => number) {\n FileToolsOptions.DefaultRetryStrategy = value;\n }\n });\n Object.defineProperty(FileTools, \"BaseUrl\", {\n get: function (this: null) {\n return FileToolsOptions.BaseUrl;\n },\n set: function (this: null, value: string) {\n FileToolsOptions.BaseUrl = value;\n }\n });\n Object.defineProperty(FileTools, \"PreprocessUrl\", {\n get: function (this: null) {\n return FileToolsOptions.PreprocessUrl;\n },\n set: function (this: null, value: (url: string) => string) {\n FileToolsOptions.PreprocessUrl = value;\n }\n });\n Object.defineProperty(FileTools, \"CorsBehavior\", {\n get: function (this: null) {\n return FileToolsOptions.CorsBehavior;\n },\n set: function (this: null, value: string | ((url: string | string[]) => string)) {\n FileToolsOptions.CorsBehavior = value;\n }\n });\n};\n_injectLTSFileTools(DecodeBase64UrlToBinary, DecodeBase64UrlToString, FileToolsOptions, IsBase64DataUrl, IsFileURL, LoadFile, LoadImage, ReadFile, RequestFile, SetCorsBehavior);\n"]}
@@ -78,9 +78,7 @@ export declare class KhronosTextureContainer {
78
78
  /**
79
79
  * Uploads KTX content to a Babylon Texture.
80
80
  * It is assumed that the texture has already been created & is currently bound
81
- * @param texture
82
- * @param loadMipmaps
83
- * @hidden
81
+ * @internal
84
82
  */
85
83
  uploadLevels(texture: InternalTexture, loadMipmaps: boolean): void;
86
84
  private _upload2DCompressedLevels;
@@ -68,9 +68,7 @@ export class KhronosTextureContainer {
68
68
  /**
69
69
  * Uploads KTX content to a Babylon Texture.
70
70
  * It is assumed that the texture has already been created & is currently bound
71
- * @param texture
72
- * @param loadMipmaps
73
- * @hidden
71
+ * @internal
74
72
  */
75
73
  uploadLevels(texture, loadMipmaps) {
76
74
  switch (this.loadType) {
@@ -1 +1 @@
1
- {"version":3,"file":"khronosTextureContainer.js","sourceRoot":"","sources":["../../../../../lts/core/generated/Misc/khronosTextureContainer.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable @typescript-eslint/naming-convention */\r\nimport { Logger } from \"../Misc/logger\";\r\nimport type { InternalTexture } from \"../Materials/Textures/internalTexture\";\r\n\r\n/**\r\n * for description see https://www.khronos.org/opengles/sdk/tools/KTX/\r\n * for file layout see https://www.khronos.org/opengles/sdk/tools/KTX/file_format_spec/\r\n */\r\nexport class KhronosTextureContainer {\r\n private static HEADER_LEN = 12 + 13 * 4; // identifier + header elements (not including key value meta-data pairs)\r\n\r\n // load types\r\n private static COMPRESSED_2D = 0; // uses a gl.compressedTexImage2D()\r\n private static COMPRESSED_3D = 1; // uses a gl.compressedTexImage3D()\r\n private static TEX_2D = 2; // uses a gl.texImage2D()\r\n private static TEX_3D = 3; // uses a gl.texImage3D()\r\n\r\n // elements of the header\r\n /**\r\n * Gets the openGL type\r\n */\r\n public glType: number;\r\n /**\r\n * Gets the openGL type size\r\n */\r\n public glTypeSize: number;\r\n /**\r\n * Gets the openGL format\r\n */\r\n public glFormat: number;\r\n /**\r\n * Gets the openGL internal format\r\n */\r\n public glInternalFormat: number;\r\n /**\r\n * Gets the base internal format\r\n */\r\n public glBaseInternalFormat: number;\r\n /**\r\n * Gets image width in pixel\r\n */\r\n public pixelWidth: number;\r\n /**\r\n * Gets image height in pixel\r\n */\r\n public pixelHeight: number;\r\n /**\r\n * Gets image depth in pixels\r\n */\r\n public pixelDepth: number;\r\n /**\r\n * Gets the number of array elements\r\n */\r\n public numberOfArrayElements: number;\r\n /**\r\n * Gets the number of faces\r\n */\r\n public numberOfFaces: number;\r\n /**\r\n * Gets the number of mipmap levels\r\n */\r\n public numberOfMipmapLevels: number;\r\n /**\r\n * Gets the bytes of key value data\r\n */\r\n public bytesOfKeyValueData: number;\r\n /**\r\n * Gets the load type\r\n */\r\n public loadType: number;\r\n /**\r\n * If the container has been made invalid (eg. constructor failed to correctly load array buffer)\r\n */\r\n public isInvalid = false;\r\n\r\n /**\r\n * Creates a new KhronosTextureContainer\r\n * @param data contents of the KTX container file\r\n * @param facesExpected should be either 1 or 6, based whether a cube texture or or\r\n */\r\n public constructor(\r\n /** contents of the KTX container file */\r\n public data: ArrayBufferView,\r\n facesExpected: number\r\n ) {\r\n if (!KhronosTextureContainer.IsValid(data)) {\r\n this.isInvalid = true;\r\n Logger.Error(\"texture missing KTX identifier\");\r\n return;\r\n }\r\n\r\n // load the reset of the header in native 32 bit uint\r\n const dataSize = Uint32Array.BYTES_PER_ELEMENT;\r\n const headerDataView = new DataView(this.data.buffer, this.data.byteOffset + 12, 13 * dataSize);\r\n const endianness = headerDataView.getUint32(0, true);\r\n const littleEndian = endianness === 0x04030201;\r\n\r\n this.glType = headerDataView.getUint32(1 * dataSize, littleEndian); // must be 0 for compressed textures\r\n this.glTypeSize = headerDataView.getUint32(2 * dataSize, littleEndian); // must be 1 for compressed textures\r\n this.glFormat = headerDataView.getUint32(3 * dataSize, littleEndian); // must be 0 for compressed textures\r\n this.glInternalFormat = headerDataView.getUint32(4 * dataSize, littleEndian); // the value of arg passed to gl.compressedTexImage2D(,,x,,,,)\r\n this.glBaseInternalFormat = headerDataView.getUint32(5 * dataSize, littleEndian); // specify GL_RGB, GL_RGBA, GL_ALPHA, etc (un-compressed only)\r\n this.pixelWidth = headerDataView.getUint32(6 * dataSize, littleEndian); // level 0 value of arg passed to gl.compressedTexImage2D(,,,x,,,)\r\n this.pixelHeight = headerDataView.getUint32(7 * dataSize, littleEndian); // level 0 value of arg passed to gl.compressedTexImage2D(,,,,x,,)\r\n this.pixelDepth = headerDataView.getUint32(8 * dataSize, littleEndian); // level 0 value of arg passed to gl.compressedTexImage3D(,,,,,x,,)\r\n this.numberOfArrayElements = headerDataView.getUint32(9 * dataSize, littleEndian); // used for texture arrays\r\n this.numberOfFaces = headerDataView.getUint32(10 * dataSize, littleEndian); // used for cubemap textures, should either be 1 or 6\r\n this.numberOfMipmapLevels = headerDataView.getUint32(11 * dataSize, littleEndian); // number of levels; disregard possibility of 0 for compressed textures\r\n this.bytesOfKeyValueData = headerDataView.getUint32(12 * dataSize, littleEndian); // the amount of space after the header for meta-data\r\n\r\n // Make sure we have a compressed type. Not only reduces work, but probably better to let dev know they are not compressing.\r\n if (this.glType !== 0) {\r\n Logger.Error(\"only compressed formats currently supported\");\r\n return;\r\n } else {\r\n // value of zero is an indication to generate mipmaps @ runtime. Not usually allowed for compressed, so disregard.\r\n this.numberOfMipmapLevels = Math.max(1, this.numberOfMipmapLevels);\r\n }\r\n\r\n if (this.pixelHeight === 0 || this.pixelDepth !== 0) {\r\n Logger.Error(\"only 2D textures currently supported\");\r\n return;\r\n }\r\n\r\n if (this.numberOfArrayElements !== 0) {\r\n Logger.Error(\"texture arrays not currently supported\");\r\n return;\r\n }\r\n\r\n if (this.numberOfFaces !== facesExpected) {\r\n Logger.Error(\"number of faces expected\" + facesExpected + \", but found \" + this.numberOfFaces);\r\n return;\r\n }\r\n\r\n // we now have a completely validated file, so could use existence of loadType as success\r\n // would need to make this more elaborate & adjust checks above to support more than one load type\r\n this.loadType = KhronosTextureContainer.COMPRESSED_2D;\r\n }\r\n\r\n /**\r\n * Uploads KTX content to a Babylon Texture.\r\n * It is assumed that the texture has already been created & is currently bound\r\n * @param texture\r\n * @param loadMipmaps\r\n * @hidden\r\n */\r\n public uploadLevels(texture: InternalTexture, loadMipmaps: boolean): void {\r\n switch (this.loadType) {\r\n case KhronosTextureContainer.COMPRESSED_2D:\r\n this._upload2DCompressedLevels(texture, loadMipmaps);\r\n break;\r\n\r\n case KhronosTextureContainer.TEX_2D:\r\n case KhronosTextureContainer.COMPRESSED_3D:\r\n case KhronosTextureContainer.TEX_3D:\r\n }\r\n }\r\n\r\n private _upload2DCompressedLevels(texture: InternalTexture, loadMipmaps: boolean): void {\r\n // initialize width & height for level 1\r\n let dataOffset = KhronosTextureContainer.HEADER_LEN + this.bytesOfKeyValueData;\r\n let width = this.pixelWidth;\r\n let height = this.pixelHeight;\r\n\r\n const mipmapCount = loadMipmaps ? this.numberOfMipmapLevels : 1;\r\n for (let level = 0; level < mipmapCount; level++) {\r\n const imageSize = new Int32Array(this.data.buffer, this.data.byteOffset + dataOffset, 1)[0]; // size per face, since not supporting array cubemaps\r\n dataOffset += 4; //image data starts from next multiple of 4 offset. Each face refers to same imagesize field above.\r\n for (let face = 0; face < this.numberOfFaces; face++) {\r\n const byteArray = new Uint8Array(this.data.buffer, this.data.byteOffset + dataOffset, imageSize);\r\n\r\n const engine = texture.getEngine();\r\n engine._uploadCompressedDataToTextureDirectly(texture, texture.format, width, height, byteArray, face, level);\r\n\r\n dataOffset += imageSize; // add size of the image for the next face/mipmap\r\n dataOffset += 3 - ((imageSize + 3) % 4); // add padding for odd sized image\r\n }\r\n width = Math.max(1.0, width * 0.5);\r\n height = Math.max(1.0, height * 0.5);\r\n }\r\n }\r\n\r\n /**\r\n * Checks if the given data starts with a KTX file identifier.\r\n * @param data the data to check\r\n * @returns true if the data is a KTX file or false otherwise\r\n */\r\n public static IsValid(data: ArrayBufferView): boolean {\r\n if (data.byteLength >= 12) {\r\n // '«', 'K', 'T', 'X', ' ', '1', '1', '»', '\\r', '\\n', '\\x1A', '\\n'\r\n const identifier = new Uint8Array(data.buffer, data.byteOffset, 12);\r\n if (\r\n identifier[0] === 0xab &&\r\n identifier[1] === 0x4b &&\r\n identifier[2] === 0x54 &&\r\n identifier[3] === 0x58 &&\r\n identifier[4] === 0x20 &&\r\n identifier[5] === 0x31 &&\r\n identifier[6] === 0x31 &&\r\n identifier[7] === 0xbb &&\r\n identifier[8] === 0x0d &&\r\n identifier[9] === 0x0a &&\r\n identifier[10] === 0x1a &&\r\n identifier[11] === 0x0a\r\n ) {\r\n return true;\r\n }\r\n }\r\n\r\n return false;\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"khronosTextureContainer.js","sourceRoot":"","sources":["../../../../../lts/core/generated/Misc/khronosTextureContainer.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable @typescript-eslint/naming-convention */\r\nimport { Logger } from \"../Misc/logger\";\r\nimport type { InternalTexture } from \"../Materials/Textures/internalTexture\";\r\n\r\n/**\r\n * for description see https://www.khronos.org/opengles/sdk/tools/KTX/\r\n * for file layout see https://www.khronos.org/opengles/sdk/tools/KTX/file_format_spec/\r\n */\r\nexport class KhronosTextureContainer {\r\n private static HEADER_LEN = 12 + 13 * 4; // identifier + header elements (not including key value meta-data pairs)\r\n\r\n // load types\r\n private static COMPRESSED_2D = 0; // uses a gl.compressedTexImage2D()\r\n private static COMPRESSED_3D = 1; // uses a gl.compressedTexImage3D()\r\n private static TEX_2D = 2; // uses a gl.texImage2D()\r\n private static TEX_3D = 3; // uses a gl.texImage3D()\r\n\r\n // elements of the header\r\n /**\r\n * Gets the openGL type\r\n */\r\n public glType: number;\r\n /**\r\n * Gets the openGL type size\r\n */\r\n public glTypeSize: number;\r\n /**\r\n * Gets the openGL format\r\n */\r\n public glFormat: number;\r\n /**\r\n * Gets the openGL internal format\r\n */\r\n public glInternalFormat: number;\r\n /**\r\n * Gets the base internal format\r\n */\r\n public glBaseInternalFormat: number;\r\n /**\r\n * Gets image width in pixel\r\n */\r\n public pixelWidth: number;\r\n /**\r\n * Gets image height in pixel\r\n */\r\n public pixelHeight: number;\r\n /**\r\n * Gets image depth in pixels\r\n */\r\n public pixelDepth: number;\r\n /**\r\n * Gets the number of array elements\r\n */\r\n public numberOfArrayElements: number;\r\n /**\r\n * Gets the number of faces\r\n */\r\n public numberOfFaces: number;\r\n /**\r\n * Gets the number of mipmap levels\r\n */\r\n public numberOfMipmapLevels: number;\r\n /**\r\n * Gets the bytes of key value data\r\n */\r\n public bytesOfKeyValueData: number;\r\n /**\r\n * Gets the load type\r\n */\r\n public loadType: number;\r\n /**\r\n * If the container has been made invalid (eg. constructor failed to correctly load array buffer)\r\n */\r\n public isInvalid = false;\r\n\r\n /**\r\n * Creates a new KhronosTextureContainer\r\n * @param data contents of the KTX container file\r\n * @param facesExpected should be either 1 or 6, based whether a cube texture or or\r\n */\r\n public constructor(\r\n /** contents of the KTX container file */\r\n public data: ArrayBufferView,\r\n facesExpected: number\r\n ) {\r\n if (!KhronosTextureContainer.IsValid(data)) {\r\n this.isInvalid = true;\r\n Logger.Error(\"texture missing KTX identifier\");\r\n return;\r\n }\r\n\r\n // load the reset of the header in native 32 bit uint\r\n const dataSize = Uint32Array.BYTES_PER_ELEMENT;\r\n const headerDataView = new DataView(this.data.buffer, this.data.byteOffset + 12, 13 * dataSize);\r\n const endianness = headerDataView.getUint32(0, true);\r\n const littleEndian = endianness === 0x04030201;\r\n\r\n this.glType = headerDataView.getUint32(1 * dataSize, littleEndian); // must be 0 for compressed textures\r\n this.glTypeSize = headerDataView.getUint32(2 * dataSize, littleEndian); // must be 1 for compressed textures\r\n this.glFormat = headerDataView.getUint32(3 * dataSize, littleEndian); // must be 0 for compressed textures\r\n this.glInternalFormat = headerDataView.getUint32(4 * dataSize, littleEndian); // the value of arg passed to gl.compressedTexImage2D(,,x,,,,)\r\n this.glBaseInternalFormat = headerDataView.getUint32(5 * dataSize, littleEndian); // specify GL_RGB, GL_RGBA, GL_ALPHA, etc (un-compressed only)\r\n this.pixelWidth = headerDataView.getUint32(6 * dataSize, littleEndian); // level 0 value of arg passed to gl.compressedTexImage2D(,,,x,,,)\r\n this.pixelHeight = headerDataView.getUint32(7 * dataSize, littleEndian); // level 0 value of arg passed to gl.compressedTexImage2D(,,,,x,,)\r\n this.pixelDepth = headerDataView.getUint32(8 * dataSize, littleEndian); // level 0 value of arg passed to gl.compressedTexImage3D(,,,,,x,,)\r\n this.numberOfArrayElements = headerDataView.getUint32(9 * dataSize, littleEndian); // used for texture arrays\r\n this.numberOfFaces = headerDataView.getUint32(10 * dataSize, littleEndian); // used for cubemap textures, should either be 1 or 6\r\n this.numberOfMipmapLevels = headerDataView.getUint32(11 * dataSize, littleEndian); // number of levels; disregard possibility of 0 for compressed textures\r\n this.bytesOfKeyValueData = headerDataView.getUint32(12 * dataSize, littleEndian); // the amount of space after the header for meta-data\r\n\r\n // Make sure we have a compressed type. Not only reduces work, but probably better to let dev know they are not compressing.\r\n if (this.glType !== 0) {\r\n Logger.Error(\"only compressed formats currently supported\");\r\n return;\r\n } else {\r\n // value of zero is an indication to generate mipmaps @ runtime. Not usually allowed for compressed, so disregard.\r\n this.numberOfMipmapLevels = Math.max(1, this.numberOfMipmapLevels);\r\n }\r\n\r\n if (this.pixelHeight === 0 || this.pixelDepth !== 0) {\r\n Logger.Error(\"only 2D textures currently supported\");\r\n return;\r\n }\r\n\r\n if (this.numberOfArrayElements !== 0) {\r\n Logger.Error(\"texture arrays not currently supported\");\r\n return;\r\n }\r\n\r\n if (this.numberOfFaces !== facesExpected) {\r\n Logger.Error(\"number of faces expected\" + facesExpected + \", but found \" + this.numberOfFaces);\r\n return;\r\n }\r\n\r\n // we now have a completely validated file, so could use existence of loadType as success\r\n // would need to make this more elaborate & adjust checks above to support more than one load type\r\n this.loadType = KhronosTextureContainer.COMPRESSED_2D;\r\n }\r\n\r\n /**\r\n * Uploads KTX content to a Babylon Texture.\r\n * It is assumed that the texture has already been created & is currently bound\r\n * @internal\r\n */\r\n public uploadLevels(texture: InternalTexture, loadMipmaps: boolean): void {\r\n switch (this.loadType) {\r\n case KhronosTextureContainer.COMPRESSED_2D:\r\n this._upload2DCompressedLevels(texture, loadMipmaps);\r\n break;\r\n\r\n case KhronosTextureContainer.TEX_2D:\r\n case KhronosTextureContainer.COMPRESSED_3D:\r\n case KhronosTextureContainer.TEX_3D:\r\n }\r\n }\r\n\r\n private _upload2DCompressedLevels(texture: InternalTexture, loadMipmaps: boolean): void {\r\n // initialize width & height for level 1\r\n let dataOffset = KhronosTextureContainer.HEADER_LEN + this.bytesOfKeyValueData;\r\n let width = this.pixelWidth;\r\n let height = this.pixelHeight;\r\n\r\n const mipmapCount = loadMipmaps ? this.numberOfMipmapLevels : 1;\r\n for (let level = 0; level < mipmapCount; level++) {\r\n const imageSize = new Int32Array(this.data.buffer, this.data.byteOffset + dataOffset, 1)[0]; // size per face, since not supporting array cubemaps\r\n dataOffset += 4; //image data starts from next multiple of 4 offset. Each face refers to same imagesize field above.\r\n for (let face = 0; face < this.numberOfFaces; face++) {\r\n const byteArray = new Uint8Array(this.data.buffer, this.data.byteOffset + dataOffset, imageSize);\r\n\r\n const engine = texture.getEngine();\r\n engine._uploadCompressedDataToTextureDirectly(texture, texture.format, width, height, byteArray, face, level);\r\n\r\n dataOffset += imageSize; // add size of the image for the next face/mipmap\r\n dataOffset += 3 - ((imageSize + 3) % 4); // add padding for odd sized image\r\n }\r\n width = Math.max(1.0, width * 0.5);\r\n height = Math.max(1.0, height * 0.5);\r\n }\r\n }\r\n\r\n /**\r\n * Checks if the given data starts with a KTX file identifier.\r\n * @param data the data to check\r\n * @returns true if the data is a KTX file or false otherwise\r\n */\r\n public static IsValid(data: ArrayBufferView): boolean {\r\n if (data.byteLength >= 12) {\r\n // '«', 'K', 'T', 'X', ' ', '1', '1', '»', '\\r', '\\n', '\\x1A', '\\n'\r\n const identifier = new Uint8Array(data.buffer, data.byteOffset, 12);\r\n if (\r\n identifier[0] === 0xab &&\r\n identifier[1] === 0x4b &&\r\n identifier[2] === 0x54 &&\r\n identifier[3] === 0x58 &&\r\n identifier[4] === 0x20 &&\r\n identifier[5] === 0x31 &&\r\n identifier[6] === 0x31 &&\r\n identifier[7] === 0xbb &&\r\n identifier[8] === 0x0d &&\r\n identifier[9] === 0x0a &&\r\n identifier[10] === 0x1a &&\r\n identifier[11] === 0x0a\r\n ) {\r\n return true;\r\n }\r\n }\r\n\r\n return false;\r\n }\r\n}\r\n"]}
@@ -46,10 +46,7 @@ export declare class KhronosTextureContainer2 {
46
46
  */
47
47
  constructor(engine: ThinEngine, numWorkers?: number);
48
48
  /**
49
- * @param data
50
- * @param internalTexture
51
- * @param options
52
- * @hidden
49
+ * @internal
53
50
  */
54
51
  uploadAsync(data: ArrayBufferView, internalTexture: InternalTexture, options?: any): Promise<void>;
55
52
  protected _createTexture(data: any, internalTexture: InternalTexture, options?: any): void;
@@ -88,10 +88,7 @@ export class KhronosTextureContainer2 {
88
88
  }
89
89
  }
90
90
  /**
91
- * @param data
92
- * @param internalTexture
93
- * @param options
94
- * @hidden
91
+ * @internal
95
92
  */
96
93
  uploadAsync(data, internalTexture, options) {
97
94
  const caps = this._engine.getCaps();