@spiffcommerce/preview 3.6.2-rc.3 → 3.6.2-rc.5

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 (489) hide show
  1. package/dist/lib/assetCache.esm.js +21 -0
  2. package/dist/lib/configuration.esm.js +98 -0
  3. package/dist/lib/core.esm.js +417 -0
  4. package/dist/lib/dynamicTexture.esm.js +51 -0
  5. package/dist/lib/glbLoaderExtensions.esm.js +137 -0
  6. package/dist/lib/glowLayerManager.esm.js +19 -0
  7. package/dist/lib/guid.esm.js +7 -0
  8. package/dist/lib/material.esm.js +50 -0
  9. package/dist/lib/modelContainer.esm.js +351 -0
  10. package/dist/lib/productAnimations.esm.js +123 -0
  11. package/dist/lib/productCamera.esm.js +113 -0
  12. package/dist/lib/renderConstants.esm.js +103 -0
  13. package/dist/lib/renderingPipeline.esm.js +99 -0
  14. package/dist/lib/types.esm.js +5 -0
  15. package/dist/lib/variants.esm.js +112 -0
  16. package/dist/node_modules/@babylonjs/core/Actions/abstractActionManager.esm.js +41 -0
  17. package/dist/node_modules/@babylonjs/core/Actions/action.esm.js +122 -0
  18. package/dist/node_modules/@babylonjs/core/Actions/actionEvent.esm.js +59 -0
  19. package/dist/node_modules/@babylonjs/core/Actions/actionManager.esm.js +335 -0
  20. package/dist/node_modules/@babylonjs/core/Actions/condition.esm.js +193 -0
  21. package/dist/node_modules/@babylonjs/core/Actions/directActions.esm.js +354 -0
  22. package/dist/node_modules/@babylonjs/core/Animations/animatable.esm.js +478 -0
  23. package/dist/node_modules/@babylonjs/core/Animations/animation.esm.js +866 -0
  24. package/dist/node_modules/@babylonjs/core/Animations/animationEvent.esm.js +18 -0
  25. package/dist/node_modules/@babylonjs/core/Animations/animationGroup.esm.js +470 -0
  26. package/dist/node_modules/@babylonjs/core/Animations/animationKey.esm.js +7 -0
  27. package/dist/node_modules/@babylonjs/core/Animations/animationRange.esm.js +21 -0
  28. package/dist/node_modules/@babylonjs/core/Animations/easing.esm.js +93 -0
  29. package/dist/node_modules/@babylonjs/core/Animations/runtimeAnimation.esm.js +281 -0
  30. package/dist/node_modules/@babylonjs/core/Audio/sound.esm.js +568 -0
  31. package/dist/node_modules/@babylonjs/core/Audio/weightedsound.esm.js +117 -0
  32. package/dist/node_modules/@babylonjs/core/Behaviors/Cameras/autoRotationBehavior.esm.js +145 -0
  33. package/dist/node_modules/@babylonjs/core/Behaviors/Cameras/bouncingBehavior.esm.js +93 -0
  34. package/dist/node_modules/@babylonjs/core/Behaviors/Cameras/framingBehavior.esm.js +295 -0
  35. package/dist/node_modules/@babylonjs/core/Bones/bone.esm.js +701 -0
  36. package/dist/node_modules/@babylonjs/core/Bones/skeleton.esm.js +478 -0
  37. package/dist/node_modules/@babylonjs/core/Buffers/buffer.esm.js +433 -0
  38. package/dist/node_modules/@babylonjs/core/Buffers/dataBuffer.esm.js +18 -0
  39. package/dist/node_modules/@babylonjs/core/Cameras/Inputs/BaseCameraMouseWheelInput.esm.js +67 -0
  40. package/dist/node_modules/@babylonjs/core/Cameras/Inputs/BaseCameraPointersInput.esm.js +191 -0
  41. package/dist/node_modules/@babylonjs/core/Cameras/Inputs/arcRotateCameraKeyboardMoveInput.esm.js +93 -0
  42. package/dist/node_modules/@babylonjs/core/Cameras/Inputs/arcRotateCameraMouseWheelInput.esm.js +119 -0
  43. package/dist/node_modules/@babylonjs/core/Cameras/Inputs/arcRotateCameraPointersInput.esm.js +119 -0
  44. package/dist/node_modules/@babylonjs/core/Cameras/Inputs/freeCameraKeyboardMoveInput.esm.js +108 -0
  45. package/dist/node_modules/@babylonjs/core/Cameras/Inputs/freeCameraMouseInput.esm.js +114 -0
  46. package/dist/node_modules/@babylonjs/core/Cameras/Inputs/freeCameraMouseWheelInput.esm.js +249 -0
  47. package/dist/node_modules/@babylonjs/core/Cameras/Inputs/freeCameraTouchInput.esm.js +103 -0
  48. package/dist/node_modules/@babylonjs/core/Cameras/arcRotateCamera.esm.js +589 -0
  49. package/dist/node_modules/@babylonjs/core/Cameras/arcRotateCameraInputsManager.esm.js +37 -0
  50. package/dist/node_modules/@babylonjs/core/Cameras/camera.esm.js +686 -0
  51. package/dist/node_modules/@babylonjs/core/Cameras/cameraInputsManager.esm.js +147 -0
  52. package/dist/node_modules/@babylonjs/core/Cameras/freeCamera.esm.js +236 -0
  53. package/dist/node_modules/@babylonjs/core/Cameras/freeCameraInputsManager.esm.js +66 -0
  54. package/dist/node_modules/@babylonjs/core/Cameras/targetCamera.esm.js +214 -0
  55. package/dist/node_modules/@babylonjs/core/Collisions/intersectionInfo.esm.js +8 -0
  56. package/dist/node_modules/@babylonjs/core/Collisions/meshCollisionData.esm.js +9 -0
  57. package/dist/node_modules/@babylonjs/core/Collisions/pickingInfo.esm.js +59 -0
  58. package/dist/node_modules/@babylonjs/core/Compat/compatibilityOptions.esm.js +6 -0
  59. package/dist/node_modules/@babylonjs/core/Culling/boundingBox.esm.js +174 -0
  60. package/dist/node_modules/@babylonjs/core/Culling/boundingInfo.esm.js +159 -0
  61. package/dist/node_modules/@babylonjs/core/Culling/boundingSphere.esm.js +114 -0
  62. package/dist/node_modules/@babylonjs/core/DeviceInput/InputDevices/deviceEnums.esm.js +37 -0
  63. package/dist/node_modules/@babylonjs/core/DeviceInput/InputDevices/deviceSource.esm.js +23 -0
  64. package/dist/node_modules/@babylonjs/core/DeviceInput/InputDevices/deviceSourceManager.esm.js +106 -0
  65. package/dist/node_modules/@babylonjs/core/DeviceInput/eventFactory.esm.js +118 -0
  66. package/dist/node_modules/@babylonjs/core/DeviceInput/internalDeviceSourceManager.esm.js +46 -0
  67. package/dist/node_modules/@babylonjs/core/DeviceInput/nativeDeviceInputSystem.esm.js +50 -0
  68. package/dist/node_modules/@babylonjs/core/DeviceInput/webDeviceInputSystem.esm.js +354 -0
  69. package/dist/node_modules/@babylonjs/core/Engines/Extensions/engine.alpha.esm.js +101 -0
  70. package/dist/node_modules/@babylonjs/core/Engines/Extensions/engine.cubeTexture.esm.js +103 -0
  71. package/dist/node_modules/@babylonjs/core/Engines/Extensions/engine.dynamicBuffer.esm.js +11 -0
  72. package/dist/node_modules/@babylonjs/core/Engines/Extensions/engine.dynamicTexture.esm.js +14 -0
  73. package/dist/node_modules/@babylonjs/core/Engines/Extensions/engine.multiRender.esm.js +111 -0
  74. package/dist/node_modules/@babylonjs/core/Engines/Extensions/engine.rawTexture.esm.js +109 -0
  75. package/dist/node_modules/@babylonjs/core/Engines/Extensions/engine.readTexture.esm.js +76 -0
  76. package/dist/node_modules/@babylonjs/core/Engines/Extensions/engine.renderTarget.esm.js +69 -0
  77. package/dist/node_modules/@babylonjs/core/Engines/Extensions/engine.renderTargetCube.esm.js +15 -0
  78. package/dist/node_modules/@babylonjs/core/Engines/Extensions/engine.uniformBuffer.esm.js +29 -0
  79. package/dist/node_modules/@babylonjs/core/Engines/Extensions/engine.views.esm.js +85 -0
  80. package/dist/node_modules/@babylonjs/core/Engines/Processors/Expressions/Operators/shaderDefineAndOperator.esm.js +9 -0
  81. package/dist/node_modules/@babylonjs/core/Engines/Processors/Expressions/Operators/shaderDefineArithmeticOperator.esm.js +36 -0
  82. package/dist/node_modules/@babylonjs/core/Engines/Processors/Expressions/Operators/shaderDefineIsDefinedOperator.esm.js +13 -0
  83. package/dist/node_modules/@babylonjs/core/Engines/Processors/Expressions/Operators/shaderDefineOrOperator.esm.js +9 -0
  84. package/dist/node_modules/@babylonjs/core/Engines/Processors/Expressions/shaderDefineExpression.esm.js +88 -0
  85. package/dist/node_modules/@babylonjs/core/Engines/Processors/shaderCodeConditionNode.esm.js +14 -0
  86. package/dist/node_modules/@babylonjs/core/Engines/Processors/shaderCodeCursor.esm.js +44 -0
  87. package/dist/node_modules/@babylonjs/core/Engines/Processors/shaderCodeNode.esm.js +31 -0
  88. package/dist/node_modules/@babylonjs/core/Engines/Processors/shaderCodeTestNode.esm.js +9 -0
  89. package/dist/node_modules/@babylonjs/core/Engines/Processors/shaderProcessor.esm.js +230 -0
  90. package/dist/node_modules/@babylonjs/core/Engines/WebGL/webGL2ShaderProcessors.esm.js +30 -0
  91. package/dist/node_modules/@babylonjs/core/Engines/WebGL/webGLHardwareTexture.esm.js +34 -0
  92. package/dist/node_modules/@babylonjs/core/Engines/WebGL/webGLPipelineContext.esm.js +388 -0
  93. package/dist/node_modules/@babylonjs/core/Engines/WebGL/webGLRenderTargetWrapper.esm.js +87 -0
  94. package/dist/node_modules/@babylonjs/core/Engines/WebGL/webGLShaderProcessors.esm.js +16 -0
  95. package/dist/node_modules/@babylonjs/core/Engines/constants.esm.js +254 -0
  96. package/dist/node_modules/@babylonjs/core/Engines/engine.esm.js +1120 -0
  97. package/dist/node_modules/@babylonjs/core/Engines/engineStore.esm.js +23 -0
  98. package/dist/node_modules/@babylonjs/core/Engines/nullEngine.esm.js +697 -0
  99. package/dist/node_modules/@babylonjs/core/Engines/performanceConfigurator.esm.js +22 -0
  100. package/dist/node_modules/@babylonjs/core/Engines/renderTargetWrapper.esm.js +273 -0
  101. package/dist/node_modules/@babylonjs/core/Engines/shaderStore.esm.js +36 -0
  102. package/dist/node_modules/@babylonjs/core/Engines/thinEngine.esm.js +2921 -0
  103. package/dist/node_modules/@babylonjs/core/Events/deviceInputEvents.esm.js +13 -0
  104. package/dist/node_modules/@babylonjs/core/Events/keyboardEvents.esm.js +41 -0
  105. package/dist/node_modules/@babylonjs/core/Events/pointerEvents.esm.js +63 -0
  106. package/dist/node_modules/@babylonjs/core/Inputs/pointerPickingConfiguration.esm.js +8 -0
  107. package/dist/node_modules/@babylonjs/core/Inputs/scene.inputManager.esm.js +418 -0
  108. package/dist/node_modules/@babylonjs/core/Layers/effectLayer.esm.js +437 -0
  109. package/dist/node_modules/@babylonjs/core/Layers/effectLayerSceneComponent.esm.js +141 -0
  110. package/dist/node_modules/@babylonjs/core/Layers/glowLayer.esm.js +343 -0
  111. package/dist/node_modules/@babylonjs/core/Layers/highlightLayer.esm.js +396 -0
  112. package/dist/node_modules/@babylonjs/core/Lights/directionalLight.esm.js +224 -0
  113. package/dist/node_modules/@babylonjs/core/Lights/hemisphericLight.esm.js +92 -0
  114. package/dist/node_modules/@babylonjs/core/Lights/light.esm.js +476 -0
  115. package/dist/node_modules/@babylonjs/core/Lights/lightConstants.esm.js +30 -0
  116. package/dist/node_modules/@babylonjs/core/Lights/pointLight.esm.js +153 -0
  117. package/dist/node_modules/@babylonjs/core/Lights/shadowLight.esm.js +196 -0
  118. package/dist/node_modules/@babylonjs/core/Lights/spotLight.esm.js +287 -0
  119. package/dist/node_modules/@babylonjs/core/Loading/sceneLoader.esm.js +551 -0
  120. package/dist/node_modules/@babylonjs/core/Loading/sceneLoaderFlags.esm.js +48 -0
  121. package/dist/node_modules/@babylonjs/core/Materials/PBR/pbrAnisotropicConfiguration.esm.js +112 -0
  122. package/dist/node_modules/@babylonjs/core/Materials/PBR/pbrBRDFConfiguration.esm.js +48 -0
  123. package/dist/node_modules/@babylonjs/core/Materials/PBR/pbrBaseMaterial.esm.js +568 -0
  124. package/dist/node_modules/@babylonjs/core/Materials/PBR/pbrClearCoatConfiguration.esm.js +139 -0
  125. package/dist/node_modules/@babylonjs/core/Materials/PBR/pbrIridescenceConfiguration.esm.js +97 -0
  126. package/dist/node_modules/@babylonjs/core/Materials/PBR/pbrMaterial.esm.js +496 -0
  127. package/dist/node_modules/@babylonjs/core/Materials/PBR/pbrSheenConfiguration.esm.js +106 -0
  128. package/dist/node_modules/@babylonjs/core/Materials/PBR/pbrSubSurfaceConfiguration.esm.js +270 -0
  129. package/dist/node_modules/@babylonjs/core/Materials/Textures/Filtering/hdrFiltering.esm.js +103 -0
  130. package/dist/node_modules/@babylonjs/core/Materials/Textures/Loaders/ddsTextureLoader.esm.js +53 -0
  131. package/dist/node_modules/@babylonjs/core/Materials/Textures/Loaders/envTextureLoader.esm.js +51 -0
  132. package/dist/node_modules/@babylonjs/core/Materials/Textures/Loaders/ktxTextureLoader.esm.js +81 -0
  133. package/dist/node_modules/@babylonjs/core/Materials/Textures/baseTexture.esm.js +542 -0
  134. package/dist/node_modules/@babylonjs/core/Materials/Textures/baseTexture.polynomial.esm.js +23 -0
  135. package/dist/node_modules/@babylonjs/core/Materials/Textures/cubeTexture.esm.js +244 -0
  136. package/dist/node_modules/@babylonjs/core/Materials/Textures/dynamicTexture.esm.js +134 -0
  137. package/dist/node_modules/@babylonjs/core/Materials/Textures/equiRectangularCubeTexture.esm.js +89 -0
  138. package/dist/node_modules/@babylonjs/core/Materials/Textures/hdrCubeTexture.esm.js +175 -0
  139. package/dist/node_modules/@babylonjs/core/Materials/Textures/internalTexture.esm.js +150 -0
  140. package/dist/node_modules/@babylonjs/core/Materials/Textures/ktx2decoderTypes.esm.js +17 -0
  141. package/dist/node_modules/@babylonjs/core/Materials/Textures/mirrorTexture.esm.js +138 -0
  142. package/dist/node_modules/@babylonjs/core/Materials/Textures/multiRenderTarget.esm.js +223 -0
  143. package/dist/node_modules/@babylonjs/core/Materials/Textures/rawCubeTexture.esm.js +58 -0
  144. package/dist/node_modules/@babylonjs/core/Materials/Textures/rawTexture.esm.js +156 -0
  145. package/dist/node_modules/@babylonjs/core/Materials/Textures/rawTexture2DArray.esm.js +53 -0
  146. package/dist/node_modules/@babylonjs/core/Materials/Textures/renderTargetTexture.esm.js +605 -0
  147. package/dist/node_modules/@babylonjs/core/Materials/Textures/texture.esm.js +421 -0
  148. package/dist/node_modules/@babylonjs/core/Materials/Textures/textureSampler.esm.js +101 -0
  149. package/dist/node_modules/@babylonjs/core/Materials/Textures/thinTexture.esm.js +170 -0
  150. package/dist/node_modules/@babylonjs/core/Materials/clipPlaneMaterialHelper.esm.js +28 -0
  151. package/dist/node_modules/@babylonjs/core/Materials/colorCurves.esm.js +397 -0
  152. package/dist/node_modules/@babylonjs/core/Materials/drawWrapper.esm.js +22 -0
  153. package/dist/node_modules/@babylonjs/core/Materials/effect.esm.js +890 -0
  154. package/dist/node_modules/@babylonjs/core/Materials/effectFallbacks.esm.js +73 -0
  155. package/dist/node_modules/@babylonjs/core/Materials/effectRenderer.esm.js +132 -0
  156. package/dist/node_modules/@babylonjs/core/Materials/imageProcessingConfiguration.esm.js +428 -0
  157. package/dist/node_modules/@babylonjs/core/Materials/material.detailMapConfiguration.esm.js +90 -0
  158. package/dist/node_modules/@babylonjs/core/Materials/material.esm.js +906 -0
  159. package/dist/node_modules/@babylonjs/core/Materials/materialDefines.esm.js +161 -0
  160. package/dist/node_modules/@babylonjs/core/Materials/materialFlags.esm.js +226 -0
  161. package/dist/node_modules/@babylonjs/core/Materials/materialHelper.esm.js +501 -0
  162. package/dist/node_modules/@babylonjs/core/Materials/materialPluginBase.esm.js +226 -0
  163. package/dist/node_modules/@babylonjs/core/Materials/materialPluginEvent.esm.js +7 -0
  164. package/dist/node_modules/@babylonjs/core/Materials/materialPluginManager.esm.js +212 -0
  165. package/dist/node_modules/@babylonjs/core/Materials/materialStencilState.esm.js +145 -0
  166. package/dist/node_modules/@babylonjs/core/Materials/multiMaterial.esm.js +164 -0
  167. package/dist/node_modules/@babylonjs/core/Materials/prePassConfiguration.esm.js +38 -0
  168. package/dist/node_modules/@babylonjs/core/Materials/pushMaterial.esm.js +48 -0
  169. package/dist/node_modules/@babylonjs/core/Materials/shaderLanguage.esm.js +7 -0
  170. package/dist/node_modules/@babylonjs/core/Materials/shaderMaterial.esm.js +838 -0
  171. package/dist/node_modules/@babylonjs/core/Materials/standardMaterial.esm.js +934 -0
  172. package/dist/node_modules/@babylonjs/core/Materials/uniformBuffer.esm.js +541 -0
  173. package/dist/node_modules/@babylonjs/core/Maths/math.axis.esm.js +19 -0
  174. package/dist/node_modules/@babylonjs/core/Maths/math.color.esm.js +903 -0
  175. package/dist/node_modules/@babylonjs/core/Maths/math.constants.esm.js +6 -0
  176. package/dist/node_modules/@babylonjs/core/Maths/math.frustum.esm.js +91 -0
  177. package/dist/node_modules/@babylonjs/core/Maths/math.functions.esm.js +43 -0
  178. package/dist/node_modules/@babylonjs/core/Maths/math.path.esm.js +9 -0
  179. package/dist/node_modules/@babylonjs/core/Maths/math.plane.esm.js +145 -0
  180. package/dist/node_modules/@babylonjs/core/Maths/math.scalar.esm.js +284 -0
  181. package/dist/node_modules/@babylonjs/core/Maths/math.size.esm.js +124 -0
  182. package/dist/node_modules/@babylonjs/core/Maths/math.vector.esm.js +4915 -0
  183. package/dist/node_modules/@babylonjs/core/Maths/math.viewport.esm.js +41 -0
  184. package/dist/node_modules/@babylonjs/core/Maths/sphericalPolynomial.esm.js +177 -0
  185. package/dist/node_modules/@babylonjs/core/Meshes/Builders/boxBuilder.esm.js +260 -0
  186. package/dist/node_modules/@babylonjs/core/Meshes/Compression/dracoCompression.esm.js +233 -0
  187. package/dist/node_modules/@babylonjs/core/Meshes/Compression/meshoptCompression.esm.js +47 -0
  188. package/dist/node_modules/@babylonjs/core/Meshes/WebGL/webGLDataBuffer.esm.js +12 -0
  189. package/dist/node_modules/@babylonjs/core/Meshes/abstractMesh.esm.js +1448 -0
  190. package/dist/node_modules/@babylonjs/core/Meshes/geometry.esm.js +729 -0
  191. package/dist/node_modules/@babylonjs/core/Meshes/instancedMesh.esm.js +455 -0
  192. package/dist/node_modules/@babylonjs/core/Meshes/mesh.esm.js +2526 -0
  193. package/dist/node_modules/@babylonjs/core/Meshes/mesh.vertexData.esm.js +865 -0
  194. package/dist/node_modules/@babylonjs/core/Meshes/meshLODLevel.esm.js +13 -0
  195. package/dist/node_modules/@babylonjs/core/Meshes/subMesh.esm.js +422 -0
  196. package/dist/node_modules/@babylonjs/core/Meshes/thinInstanceMesh.esm.js +129 -0
  197. package/dist/node_modules/@babylonjs/core/Meshes/transformNode.esm.js +796 -0
  198. package/dist/node_modules/@babylonjs/core/Misc/HighDynamicRange/cubemapToSphericalPolynomial.esm.js +111 -0
  199. package/dist/node_modules/@babylonjs/core/Misc/HighDynamicRange/hdr.esm.js +122 -0
  200. package/dist/node_modules/@babylonjs/core/Misc/HighDynamicRange/panoramaToCubemap.esm.js +78 -0
  201. package/dist/node_modules/@babylonjs/core/Misc/andOrNotEvaluator.esm.js +41 -0
  202. package/dist/node_modules/@babylonjs/core/Misc/arrayTools.esm.js +52 -0
  203. package/dist/node_modules/@babylonjs/core/Misc/assetsManager.esm.js +561 -0
  204. package/dist/node_modules/@babylonjs/core/Misc/brdfTextureTools.esm.js +31 -0
  205. package/dist/node_modules/@babylonjs/core/Misc/copyTools.esm.js +44 -0
  206. package/dist/node_modules/@babylonjs/core/Misc/coroutine.esm.js +53 -0
  207. package/dist/node_modules/@babylonjs/core/Misc/dataReader.esm.js +55 -0
  208. package/dist/node_modules/@babylonjs/core/Misc/dds.esm.js +329 -0
  209. package/dist/node_modules/@babylonjs/core/Misc/decorators.esm.js +332 -0
  210. package/dist/node_modules/@babylonjs/core/Misc/deepCopier.esm.js +52 -0
  211. package/dist/node_modules/@babylonjs/core/Misc/deferred.esm.js +25 -0
  212. package/dist/node_modules/@babylonjs/core/Misc/devTools.esm.js +6 -0
  213. package/dist/node_modules/@babylonjs/core/Misc/domManagement.esm.js +21 -0
  214. package/dist/node_modules/@babylonjs/core/Misc/dumpTools.esm.js +117 -0
  215. package/dist/node_modules/@babylonjs/core/Misc/environmentTextureTools.esm.js +187 -0
  216. package/dist/node_modules/@babylonjs/core/Misc/error.esm.js +40 -0
  217. package/dist/node_modules/@babylonjs/core/Misc/fileTools.esm.js +339 -0
  218. package/dist/node_modules/@babylonjs/core/Misc/filesInputStore.esm.js +6 -0
  219. package/dist/node_modules/@babylonjs/core/Misc/guid.esm.js +9 -0
  220. package/dist/node_modules/@babylonjs/core/Misc/instantiationTools.esm.js +26 -0
  221. package/dist/node_modules/@babylonjs/core/Misc/khronosTextureContainer.esm.js +79 -0
  222. package/dist/node_modules/@babylonjs/core/Misc/khronosTextureContainer2.esm.js +281 -0
  223. package/dist/node_modules/@babylonjs/core/Misc/logger.esm.js +77 -0
  224. package/dist/node_modules/@babylonjs/core/Misc/observable.esm.js +231 -0
  225. package/dist/node_modules/@babylonjs/core/Misc/perfCounter.esm.js +99 -0
  226. package/dist/node_modules/@babylonjs/core/Misc/performanceMonitor.esm.js +144 -0
  227. package/dist/node_modules/@babylonjs/core/Misc/precisionDate.esm.js +12 -0
  228. package/dist/node_modules/@babylonjs/core/Misc/retryStrategy.esm.js +14 -0
  229. package/dist/node_modules/@babylonjs/core/Misc/rgbdTextureTools.esm.js +51 -0
  230. package/dist/node_modules/@babylonjs/core/Misc/screenshotTools.esm.js +92 -0
  231. package/dist/node_modules/@babylonjs/core/Misc/smartArray.esm.js +118 -0
  232. package/dist/node_modules/@babylonjs/core/Misc/stringDictionary.esm.js +129 -0
  233. package/dist/node_modules/@babylonjs/core/Misc/stringTools.esm.js +26 -0
  234. package/dist/node_modules/@babylonjs/core/Misc/tags.esm.js +97 -0
  235. package/dist/node_modules/@babylonjs/core/Misc/textureTools.esm.js +41 -0
  236. package/dist/node_modules/@babylonjs/core/Misc/timingTools.esm.js +13 -0
  237. package/dist/node_modules/@babylonjs/core/Misc/tools.esm.js +929 -0
  238. package/dist/node_modules/@babylonjs/core/Misc/typeStore.esm.js +11 -0
  239. package/dist/node_modules/@babylonjs/core/Misc/uniqueIdGenerator.esm.js +13 -0
  240. package/dist/node_modules/@babylonjs/core/Misc/webRequest.esm.js +135 -0
  241. package/dist/node_modules/@babylonjs/core/Misc/workerPool.esm.js +80 -0
  242. package/dist/node_modules/@babylonjs/core/Morph/morphTarget.esm.js +187 -0
  243. package/dist/node_modules/@babylonjs/core/Morph/morphTargetManager.esm.js +249 -0
  244. package/dist/node_modules/@babylonjs/core/PostProcesses/RenderPipeline/Pipelines/defaultRenderingPipeline.esm.js +349 -0
  245. package/dist/node_modules/@babylonjs/core/PostProcesses/RenderPipeline/Pipelines/ssao2RenderingPipeline.esm.js +306 -0
  246. package/dist/node_modules/@babylonjs/core/PostProcesses/RenderPipeline/Pipelines/ssaoRenderingPipeline.esm.js +161 -0
  247. package/dist/node_modules/@babylonjs/core/PostProcesses/RenderPipeline/Pipelines/ssrRenderingPipeline.esm.js +589 -0
  248. package/dist/node_modules/@babylonjs/core/PostProcesses/RenderPipeline/Pipelines/standardRenderingPipeline.esm.js +512 -0
  249. package/dist/node_modules/@babylonjs/core/PostProcesses/RenderPipeline/postProcessRenderEffect.esm.js +114 -0
  250. package/dist/node_modules/@babylonjs/core/PostProcesses/RenderPipeline/postProcessRenderPipeline.esm.js +139 -0
  251. package/dist/node_modules/@babylonjs/core/PostProcesses/RenderPipeline/postProcessRenderPipelineManager.esm.js +99 -0
  252. package/dist/node_modules/@babylonjs/core/PostProcesses/RenderPipeline/postProcessRenderPipelineManagerSceneComponent.esm.js +48 -0
  253. package/dist/node_modules/@babylonjs/core/PostProcesses/bloomEffect.esm.js +76 -0
  254. package/dist/node_modules/@babylonjs/core/PostProcesses/bloomMergePostProcess.esm.js +40 -0
  255. package/dist/node_modules/@babylonjs/core/PostProcesses/blurPostProcess.esm.js +165 -0
  256. package/dist/node_modules/@babylonjs/core/PostProcesses/chromaticAberrationPostProcess.esm.js +61 -0
  257. package/dist/node_modules/@babylonjs/core/PostProcesses/circleOfConfusionPostProcess.esm.js +62 -0
  258. package/dist/node_modules/@babylonjs/core/PostProcesses/depthOfFieldBlurPostProcess.esm.js +58 -0
  259. package/dist/node_modules/@babylonjs/core/PostProcesses/depthOfFieldEffect.esm.js +131 -0
  260. package/dist/node_modules/@babylonjs/core/PostProcesses/depthOfFieldMergePostProcess.esm.js +48 -0
  261. package/dist/node_modules/@babylonjs/core/PostProcesses/extractHighlightsPostProcess.esm.js +27 -0
  262. package/dist/node_modules/@babylonjs/core/PostProcesses/fxaaPostProcess.esm.js +41 -0
  263. package/dist/node_modules/@babylonjs/core/PostProcesses/grainPostProcess.esm.js +46 -0
  264. package/dist/node_modules/@babylonjs/core/PostProcesses/imageProcessingPostProcess.esm.js +359 -0
  265. package/dist/node_modules/@babylonjs/core/PostProcesses/motionBlurPostProcess.esm.js +178 -0
  266. package/dist/node_modules/@babylonjs/core/PostProcesses/passPostProcess.esm.js +40 -0
  267. package/dist/node_modules/@babylonjs/core/PostProcesses/postProcess.esm.js +457 -0
  268. package/dist/node_modules/@babylonjs/core/PostProcesses/postProcessManager.esm.js +94 -0
  269. package/dist/node_modules/@babylonjs/core/PostProcesses/screenSpaceReflectionPostProcess.esm.js +147 -0
  270. package/dist/node_modules/@babylonjs/core/PostProcesses/sharpenPostProcess.esm.js +46 -0
  271. package/dist/node_modules/@babylonjs/core/Probes/reflectionProbe.esm.js +184 -0
  272. package/dist/node_modules/@babylonjs/core/Rendering/boundingBoxRenderer.esm.js +170 -0
  273. package/dist/node_modules/@babylonjs/core/Rendering/depthRenderer.esm.js +185 -0
  274. package/dist/node_modules/@babylonjs/core/Rendering/depthRendererSceneComponent.esm.js +65 -0
  275. package/dist/node_modules/@babylonjs/core/Rendering/geometryBufferRenderer.esm.js +353 -0
  276. package/dist/node_modules/@babylonjs/core/Rendering/geometryBufferRendererSceneComponent.esm.js +55 -0
  277. package/dist/node_modules/@babylonjs/core/Rendering/motionBlurConfiguration.esm.js +8 -0
  278. package/dist/node_modules/@babylonjs/core/Rendering/renderingGroup.esm.js +223 -0
  279. package/dist/node_modules/@babylonjs/core/Rendering/renderingManager.esm.js +185 -0
  280. package/dist/node_modules/@babylonjs/core/Rendering/screenSpaceReflections2Configuration.esm.js +8 -0
  281. package/dist/node_modules/@babylonjs/core/Rendering/screenSpaceReflectionsConfiguration.esm.js +8 -0
  282. package/dist/node_modules/@babylonjs/core/Rendering/ssao2Configuration.esm.js +8 -0
  283. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/bakedVertexAnimation.esm.js +48 -0
  284. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/bakedVertexAnimationDeclaration.esm.js +24 -0
  285. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/bonesDeclaration.esm.js +35 -0
  286. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/bonesVertex.esm.js +56 -0
  287. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/boundingBoxRendererFragmentDeclaration.esm.js +4 -0
  288. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/boundingBoxRendererUboDeclaration.esm.js +19 -0
  289. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/boundingBoxRendererVertexDeclaration.esm.js +8 -0
  290. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/bumpFragment.esm.js +67 -0
  291. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/bumpFragmentFunctions.esm.js +58 -0
  292. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/bumpFragmentMainFunctions.esm.js +93 -0
  293. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/bumpVertex.esm.js +11 -0
  294. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/bumpVertexDeclaration.esm.js +8 -0
  295. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/clipPlaneFragment.esm.js +42 -0
  296. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/clipPlaneFragmentDeclaration.esm.js +21 -0
  297. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/clipPlaneVertex.esm.js +21 -0
  298. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/clipPlaneVertexDeclaration.esm.js +27 -0
  299. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/decalFragment.esm.js +12 -0
  300. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/decalFragmentDeclaration.esm.js +6 -0
  301. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/decalVertexDeclaration.esm.js +7 -0
  302. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/defaultFragmentDeclaration.esm.js +86 -0
  303. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/defaultUboDeclaration.esm.js +50 -0
  304. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/defaultVertexDeclaration.esm.js +46 -0
  305. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/depthPrePass.esm.js +7 -0
  306. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/fogFragment.esm.js +10 -0
  307. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/fogFragmentDeclaration.esm.js +34 -0
  308. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/fogVertex.esm.js +6 -0
  309. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/fogVertexDeclaration.esm.js +6 -0
  310. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/fresnelFunction.esm.js +10 -0
  311. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/geometryUboDeclaration.esm.js +5 -0
  312. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/geometryVertexDeclaration.esm.js +4 -0
  313. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/harmonicsFunctions.esm.js +42 -0
  314. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/hdrFilteringFunctions.esm.js +139 -0
  315. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/helperFunctions.esm.js +166 -0
  316. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/imageProcessingDeclaration.esm.js +32 -0
  317. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/imageProcessingFunctions.esm.js +129 -0
  318. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/importanceSampling.esm.js +22 -0
  319. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/instancesDeclaration.esm.js +31 -0
  320. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/instancesVertex.esm.js +20 -0
  321. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/kernelBlurFragment.esm.js +15 -0
  322. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/kernelBlurFragment2.esm.js +15 -0
  323. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/kernelBlurVaryingDeclaration.esm.js +3 -0
  324. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/kernelBlurVertex.esm.js +3 -0
  325. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/lightFragment.esm.js +278 -0
  326. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/lightFragmentDeclaration.esm.js +82 -0
  327. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/lightUboDeclaration.esm.js +81 -0
  328. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/lightVxFragmentDeclaration.esm.js +35 -0
  329. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/lightVxUboDeclaration.esm.js +34 -0
  330. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/lightsFragmentFunctions.esm.js +93 -0
  331. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/logDepthDeclaration.esm.js +7 -0
  332. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/logDepthFragment.esm.js +6 -0
  333. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/logDepthVertex.esm.js +7 -0
  334. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/mainUVVaryingDeclaration.esm.js +6 -0
  335. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/meshUboDeclaration.esm.js +15 -0
  336. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/morphTargetsVertex.esm.js +32 -0
  337. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/morphTargetsVertexDeclaration.esm.js +17 -0
  338. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/morphTargetsVertexGlobal.esm.js +8 -0
  339. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/morphTargetsVertexGlobalDeclaration.esm.js +19 -0
  340. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/mrtFragmentDeclaration.esm.js +6 -0
  341. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/oitDeclaration.esm.js +13 -0
  342. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/oitFragment.esm.js +40 -0
  343. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/packingFunctions.esm.js +15 -0
  344. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/pbrBRDFFunctions.esm.js +268 -0
  345. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/pbrBlockAlbedoOpacity.esm.js +83 -0
  346. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/pbrBlockAlphaFresnel.esm.js +37 -0
  347. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/pbrBlockAmbientOcclusion.esm.js +32 -0
  348. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/pbrBlockAnisotropic.esm.js +50 -0
  349. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/pbrBlockClearcoat.esm.js +276 -0
  350. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/pbrBlockDirectLighting.esm.js +19 -0
  351. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/pbrBlockFinalColorComposition.esm.js +45 -0
  352. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/pbrBlockFinalLitComponents.esm.js +100 -0
  353. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/pbrBlockFinalUnlitComponents.esm.js +27 -0
  354. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/pbrBlockGeometryInfo.esm.js +30 -0
  355. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/pbrBlockImageProcessing.esm.js +14 -0
  356. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/pbrBlockIridescence.esm.js +63 -0
  357. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/pbrBlockLightmapInit.esm.js +13 -0
  358. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/pbrBlockNormalFinal.esm.js +13 -0
  359. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/pbrBlockNormalGeometric.esm.js +13 -0
  360. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/pbrBlockReflectance.esm.js +24 -0
  361. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/pbrBlockReflectance0.esm.js +14 -0
  362. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/pbrBlockReflection.esm.js +270 -0
  363. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/pbrBlockReflectivity.esm.js +131 -0
  364. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/pbrBlockSheen.esm.js +197 -0
  365. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/pbrBlockSubSurface.esm.js +337 -0
  366. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/pbrDebug.esm.js +176 -0
  367. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/pbrDirectLightingFalloffFunctions.esm.js +64 -0
  368. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/pbrDirectLightingFunctions.esm.js +130 -0
  369. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/pbrDirectLightingSetupFunctions.esm.js +53 -0
  370. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/pbrFragmentDeclaration.esm.js +179 -0
  371. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/pbrFragmentExtraDeclaration.esm.js +18 -0
  372. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/pbrFragmentSamplersDeclaration.esm.js +101 -0
  373. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/pbrHelperFunctions.esm.js +83 -0
  374. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/pbrIBLFunctions.esm.js +35 -0
  375. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/pbrUboDeclaration.esm.js +65 -0
  376. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/pbrVertexDeclaration.esm.js +151 -0
  377. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/pointCloudVertex.esm.js +6 -0
  378. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/prePassDeclaration.esm.js +13 -0
  379. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/prePassVertex.esm.js +37 -0
  380. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/prePassVertexDeclaration.esm.js +13 -0
  381. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/reflectionFunction.esm.js +116 -0
  382. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/samplerFragmentAlternateDeclaration.esm.js +20 -0
  383. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/samplerFragmentDeclaration.esm.js +21 -0
  384. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/samplerVertexDeclaration.esm.js +6 -0
  385. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/samplerVertexImplementation.esm.js +39 -0
  386. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/sceneUboDeclaration.esm.js +13 -0
  387. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/screenSpaceRayTrace.esm.js +208 -0
  388. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/shadowsFragmentFunctions.esm.js +614 -0
  389. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/shadowsVertex.esm.js +23 -0
  390. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/subSurfaceScatteringFunctions.esm.js +6 -0
  391. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/uvAttributeDeclaration.esm.js +6 -0
  392. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/uvVariableDeclaration.esm.js +9 -0
  393. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/vertexColorMixing.esm.js +16 -0
  394. package/dist/node_modules/@babylonjs/core/Shaders/bloomMerge.fragment.esm.js +14 -0
  395. package/dist/node_modules/@babylonjs/core/Shaders/boundingBoxRenderer.fragment.esm.js +11 -0
  396. package/dist/node_modules/@babylonjs/core/Shaders/boundingBoxRenderer.vertex.esm.js +22 -0
  397. package/dist/node_modules/@babylonjs/core/Shaders/chromaticAberration.fragment.esm.js +34 -0
  398. package/dist/node_modules/@babylonjs/core/Shaders/circleOfConfusion.fragment.esm.js +19 -0
  399. package/dist/node_modules/@babylonjs/core/Shaders/default.fragment.esm.js +387 -0
  400. package/dist/node_modules/@babylonjs/core/Shaders/default.vertex.esm.js +171 -0
  401. package/dist/node_modules/@babylonjs/core/Shaders/depth.fragment.esm.js +47 -0
  402. package/dist/node_modules/@babylonjs/core/Shaders/depth.vertex.esm.js +72 -0
  403. package/dist/node_modules/@babylonjs/core/Shaders/depthOfField.fragment.esm.js +137 -0
  404. package/dist/node_modules/@babylonjs/core/Shaders/depthOfFieldMerge.fragment.esm.js +54 -0
  405. package/dist/node_modules/@babylonjs/core/Shaders/extractHighlights.fragment.esm.js +15 -0
  406. package/dist/node_modules/@babylonjs/core/Shaders/fxaa.fragment.esm.js +211 -0
  407. package/dist/node_modules/@babylonjs/core/Shaders/fxaa.vertex.esm.js +29 -0
  408. package/dist/node_modules/@babylonjs/core/Shaders/geometry.fragment.esm.js +147 -0
  409. package/dist/node_modules/@babylonjs/core/Shaders/geometry.vertex.esm.js +164 -0
  410. package/dist/node_modules/@babylonjs/core/Shaders/glowBlurPostProcess.fragment.esm.js +39 -0
  411. package/dist/node_modules/@babylonjs/core/Shaders/glowMapGeneration.fragment.esm.js +73 -0
  412. package/dist/node_modules/@babylonjs/core/Shaders/glowMapGeneration.vertex.esm.js +94 -0
  413. package/dist/node_modules/@babylonjs/core/Shaders/glowMapMerge.fragment.esm.js +29 -0
  414. package/dist/node_modules/@babylonjs/core/Shaders/glowMapMerge.vertex.esm.js +12 -0
  415. package/dist/node_modules/@babylonjs/core/Shaders/grain.fragment.esm.js +19 -0
  416. package/dist/node_modules/@babylonjs/core/Shaders/hdrFiltering.fragment.esm.js +19 -0
  417. package/dist/node_modules/@babylonjs/core/Shaders/hdrFiltering.vertex.esm.js +15 -0
  418. package/dist/node_modules/@babylonjs/core/Shaders/imageProcessing.fragment.esm.js +26 -0
  419. package/dist/node_modules/@babylonjs/core/Shaders/kernelBlur.fragment.esm.js +49 -0
  420. package/dist/node_modules/@babylonjs/core/Shaders/kernelBlur.vertex.esm.js +17 -0
  421. package/dist/node_modules/@babylonjs/core/Shaders/lensHighlights.fragment.esm.js +115 -0
  422. package/dist/node_modules/@babylonjs/core/Shaders/motionBlur.fragment.esm.js +74 -0
  423. package/dist/node_modules/@babylonjs/core/Shaders/pass.fragment.esm.js +13 -0
  424. package/dist/node_modules/@babylonjs/core/Shaders/passCube.fragment.esm.js +27 -0
  425. package/dist/node_modules/@babylonjs/core/Shaders/pbr.fragment.esm.js +648 -0
  426. package/dist/node_modules/@babylonjs/core/Shaders/pbr.vertex.esm.js +236 -0
  427. package/dist/node_modules/@babylonjs/core/Shaders/postprocess.vertex.esm.js +13 -0
  428. package/dist/node_modules/@babylonjs/core/Shaders/rgbdDecode.fragment.esm.js +11 -0
  429. package/dist/node_modules/@babylonjs/core/Shaders/rgbdEncode.fragment.esm.js +11 -0
  430. package/dist/node_modules/@babylonjs/core/Shaders/screenSpaceReflection.fragment.esm.js +136 -0
  431. package/dist/node_modules/@babylonjs/core/Shaders/screenSpaceReflection2.fragment.esm.js +215 -0
  432. package/dist/node_modules/@babylonjs/core/Shaders/screenSpaceReflection2Blur.fragment.esm.js +52 -0
  433. package/dist/node_modules/@babylonjs/core/Shaders/screenSpaceReflection2BlurCombiner.fragment.esm.js +59 -0
  434. package/dist/node_modules/@babylonjs/core/Shaders/sharpen.fragment.esm.js +18 -0
  435. package/dist/node_modules/@babylonjs/core/Shaders/ssao.fragment.esm.js +55 -0
  436. package/dist/node_modules/@babylonjs/core/Shaders/ssao2.fragment.esm.js +165 -0
  437. package/dist/node_modules/@babylonjs/core/Shaders/ssaoCombine.fragment.esm.js +15 -0
  438. package/dist/node_modules/@babylonjs/core/Shaders/standard.fragment.esm.js +339 -0
  439. package/dist/node_modules/@babylonjs/core/States/alphaCullingState.esm.js +35 -0
  440. package/dist/node_modules/@babylonjs/core/States/depthCullingState.esm.js +69 -0
  441. package/dist/node_modules/@babylonjs/core/States/stencilState.esm.js +62 -0
  442. package/dist/node_modules/@babylonjs/core/States/stencilStateComposer.esm.js +70 -0
  443. package/dist/node_modules/@babylonjs/core/abstractScene.esm.js +71 -0
  444. package/dist/node_modules/@babylonjs/core/assetContainer.esm.js +425 -0
  445. package/dist/node_modules/@babylonjs/core/node.esm.js +536 -0
  446. package/dist/node_modules/@babylonjs/core/scene.esm.js +2809 -0
  447. package/dist/node_modules/@babylonjs/core/sceneComponent.esm.js +102 -0
  448. package/dist/node_modules/@babylonjs/core/tslib.es6.esm.js +12 -0
  449. package/dist/node_modules/@babylonjs/loaders/glTF/1.0/glTFBinaryExtension.esm.js +37 -0
  450. package/dist/node_modules/@babylonjs/loaders/glTF/1.0/glTFLoader.esm.js +902 -0
  451. package/dist/node_modules/@babylonjs/loaders/glTF/1.0/glTFLoaderInterfaces.esm.js +42 -0
  452. package/dist/node_modules/@babylonjs/loaders/glTF/1.0/glTFLoaderUtils.esm.js +195 -0
  453. package/dist/node_modules/@babylonjs/loaders/glTF/1.0/glTFMaterialsCommonExtension.esm.js +75 -0
  454. package/dist/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/EXT_lights_image_based.esm.js +77 -0
  455. package/dist/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/EXT_mesh_gpu_instancing.esm.js +53 -0
  456. package/dist/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/EXT_meshopt_compression.esm.js +31 -0
  457. package/dist/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/EXT_texture_webp.esm.js +29 -0
  458. package/dist/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/ExtrasAsMetadata.esm.js +47 -0
  459. package/dist/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_animation_pointer.data.esm.js +173 -0
  460. package/dist/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_animation_pointer.esm.js +82 -0
  461. package/dist/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_draco_mesh_compression.esm.js +68 -0
  462. package/dist/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_lights_punctual.esm.js +60 -0
  463. package/dist/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_anisotropy.esm.js +39 -0
  464. package/dist/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_clearcoat.esm.js +42 -0
  465. package/dist/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_emissive_strength.esm.js +32 -0
  466. package/dist/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_ior.esm.js +35 -0
  467. package/dist/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_iridescence.esm.js +41 -0
  468. package/dist/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_pbrSpecularGlossiness.esm.js +41 -0
  469. package/dist/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_sheen.esm.js +41 -0
  470. package/dist/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_specular.esm.js +41 -0
  471. package/dist/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_translucency.esm.js +41 -0
  472. package/dist/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_transmission.esm.js +136 -0
  473. package/dist/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_unlit.esm.js +37 -0
  474. package/dist/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_variants.esm.js +178 -0
  475. package/dist/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_volume.esm.js +40 -0
  476. package/dist/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_mesh_quantization.esm.js +17 -0
  477. package/dist/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_texture_basisu.esm.js +29 -0
  478. package/dist/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_texture_transform.esm.js +29 -0
  479. package/dist/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_xmp_json_ld.esm.js +31 -0
  480. package/dist/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/MSFT_audio_emitter.esm.js +149 -0
  481. package/dist/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/MSFT_lod.esm.js +170 -0
  482. package/dist/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/MSFT_minecraftMesh.esm.js +29 -0
  483. package/dist/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/MSFT_sRGBFactors.esm.js +29 -0
  484. package/dist/node_modules/@babylonjs/loaders/glTF/2.0/glTFLoader.esm.js +1562 -0
  485. package/dist/node_modules/@babylonjs/loaders/glTF/2.0/glTFLoaderAnimation.esm.js +66 -0
  486. package/dist/node_modules/@babylonjs/loaders/glTF/glTFFileLoader.esm.js +462 -0
  487. package/dist/node_modules/@babylonjs/loaders/glTF/glTFValidation.esm.js +81 -0
  488. package/package.json +6 -4
  489. /package/dist/{src/index.esm.js → index.esm.js} +0 -0
@@ -0,0 +1,796 @@
1
+ import { __decorate as x } from "../tslib.es6.esm.js";
2
+ import { SerializationHelper as m, serializeAsVector3 as y, serializeAsQuaternion as T, serialize as g } from "../Misc/decorators.esm.js";
3
+ import { Observable as A } from "../Misc/observable.esm.js";
4
+ import { Matrix as M, Vector3 as l, Quaternion as _, TmpVectors as e } from "../Maths/math.vector.esm.js";
5
+ import { Node as v } from "../node.esm.js";
6
+ import { Space as R } from "../Maths/math.axis.esm.js";
7
+ const B = M.Compose(l.One(), _.FromEulerAngles(0, Math.PI, 0), l.Zero());
8
+ class r extends v {
9
+ /**
10
+ * Gets or sets the billboard mode. Default is 0.
11
+ *
12
+ * | Value | Type | Description |
13
+ * | --- | --- | --- |
14
+ * | 0 | BILLBOARDMODE_NONE | |
15
+ * | 1 | BILLBOARDMODE_X | |
16
+ * | 2 | BILLBOARDMODE_Y | |
17
+ * | 4 | BILLBOARDMODE_Z | |
18
+ * | 7 | BILLBOARDMODE_ALL | |
19
+ *
20
+ */
21
+ get billboardMode() {
22
+ return this._billboardMode;
23
+ }
24
+ set billboardMode(t) {
25
+ this._billboardMode !== t && (this._billboardMode = t, this._cache.useBillboardPosition = (this._billboardMode & r.BILLBOARDMODE_USE_POSITION) !== 0, this._computeUseBillboardPath());
26
+ }
27
+ /**
28
+ * Gets or sets a boolean indicating that parent rotation should be preserved when using billboards.
29
+ * This could be useful for glTF objects where parent rotation helps converting from right handed to left handed
30
+ */
31
+ get preserveParentRotationForBillboard() {
32
+ return this._preserveParentRotationForBillboard;
33
+ }
34
+ set preserveParentRotationForBillboard(t) {
35
+ t !== this._preserveParentRotationForBillboard && (this._preserveParentRotationForBillboard = t, this._computeUseBillboardPath());
36
+ }
37
+ _computeUseBillboardPath() {
38
+ this._cache.useBillboardPath = this._billboardMode !== r.BILLBOARDMODE_NONE && !this.preserveParentRotationForBillboard;
39
+ }
40
+ /**
41
+ * Gets or sets the distance of the object to max, often used by skybox
42
+ */
43
+ get infiniteDistance() {
44
+ return this._infiniteDistance;
45
+ }
46
+ set infiniteDistance(t) {
47
+ this._infiniteDistance !== t && (this._infiniteDistance = t);
48
+ }
49
+ constructor(t, o = null, n = !0) {
50
+ super(t, o), this._forward = new l(0, 0, 1), this._up = new l(0, 1, 0), this._right = new l(1, 0, 0), this._position = l.Zero(), this._rotation = l.Zero(), this._rotationQuaternion = null, this._scaling = l.One(), this._transformToBoneReferal = null, this._isAbsoluteSynced = !1, this._billboardMode = r.BILLBOARDMODE_NONE, this._preserveParentRotationForBillboard = !1, this.scalingDeterminant = 1, this._infiniteDistance = !1, this.ignoreNonUniformScaling = !1, this.reIntegrateRotationIntoRotationQuaternion = !1, this._poseMatrix = null, this._localMatrix = M.Zero(), this._usePivotMatrix = !1, this._absolutePosition = l.Zero(), this._absoluteScaling = l.Zero(), this._absoluteRotationQuaternion = _.Identity(), this._pivotMatrix = M.Identity(), this._postMultiplyPivotMatrix = !1, this._isWorldMatrixFrozen = !1, this._indexInSceneTransformNodesArray = -1, this.onAfterWorldMatrixUpdateObservable = new A(), this._nonUniformScaling = !1, n && this.getScene().addTransformNode(this);
51
+ }
52
+ /**
53
+ * Gets a string identifying the name of the class
54
+ * @returns "TransformNode" string
55
+ */
56
+ getClassName() {
57
+ return "TransformNode";
58
+ }
59
+ /**
60
+ * Gets or set the node position (default is (0.0, 0.0, 0.0))
61
+ */
62
+ get position() {
63
+ return this._position;
64
+ }
65
+ set position(t) {
66
+ this._position = t, this._isDirty = !0;
67
+ }
68
+ /**
69
+ * return true if a pivot has been set
70
+ * @returns true if a pivot matrix is used
71
+ */
72
+ isUsingPivotMatrix() {
73
+ return this._usePivotMatrix;
74
+ }
75
+ /**
76
+ * Gets or sets the rotation property : a Vector3 defining the rotation value in radians around each local axis X, Y, Z (default is (0.0, 0.0, 0.0)).
77
+ * If rotation quaternion is set, this Vector3 will be ignored and copy from the quaternion
78
+ */
79
+ get rotation() {
80
+ return this._rotation;
81
+ }
82
+ set rotation(t) {
83
+ this._rotation = t, this._rotationQuaternion = null, this._isDirty = !0;
84
+ }
85
+ /**
86
+ * Gets or sets the scaling property : a Vector3 defining the node scaling along each local axis X, Y, Z (default is (1.0, 1.0, 1.0)).
87
+ */
88
+ get scaling() {
89
+ return this._scaling;
90
+ }
91
+ set scaling(t) {
92
+ this._scaling = t, this._isDirty = !0;
93
+ }
94
+ /**
95
+ * Gets or sets the rotation Quaternion property : this a Quaternion object defining the node rotation by using a unit quaternion (undefined by default, but can be null).
96
+ * If set, only the rotationQuaternion is then used to compute the node rotation (ie. node.rotation will be ignored)
97
+ */
98
+ get rotationQuaternion() {
99
+ return this._rotationQuaternion;
100
+ }
101
+ set rotationQuaternion(t) {
102
+ this._rotationQuaternion = t, t && this._rotation.setAll(0), this._isDirty = !0;
103
+ }
104
+ /**
105
+ * The forward direction of that transform in world space.
106
+ */
107
+ get forward() {
108
+ return l.TransformNormalFromFloatsToRef(0, 0, this.getScene().useRightHandedSystem ? -1 : 1, this.getWorldMatrix(), this._forward), this._forward.normalize();
109
+ }
110
+ /**
111
+ * The up direction of that transform in world space.
112
+ */
113
+ get up() {
114
+ return l.TransformNormalFromFloatsToRef(0, 1, 0, this.getWorldMatrix(), this._up), this._up.normalize();
115
+ }
116
+ /**
117
+ * The right direction of that transform in world space.
118
+ */
119
+ get right() {
120
+ return l.TransformNormalFromFloatsToRef(this.getScene().useRightHandedSystem ? -1 : 1, 0, 0, this.getWorldMatrix(), this._right), this._right.normalize();
121
+ }
122
+ /**
123
+ * Copies the parameter passed Matrix into the mesh Pose matrix.
124
+ * @param matrix the matrix to copy the pose from
125
+ * @returns this TransformNode.
126
+ */
127
+ updatePoseMatrix(t) {
128
+ return this._poseMatrix ? (this._poseMatrix.copyFrom(t), this) : (this._poseMatrix = t.clone(), this);
129
+ }
130
+ /**
131
+ * Returns the mesh Pose matrix.
132
+ * @returns the pose matrix
133
+ */
134
+ getPoseMatrix() {
135
+ return this._poseMatrix || (this._poseMatrix = M.Identity()), this._poseMatrix;
136
+ }
137
+ /** @internal */
138
+ _isSynchronized() {
139
+ const t = this._cache;
140
+ return !(this._billboardMode !== t.billboardMode || this._billboardMode !== r.BILLBOARDMODE_NONE || t.pivotMatrixUpdated || this._infiniteDistance || this._position._isDirty || this._scaling._isDirty || this._rotationQuaternion && this._rotationQuaternion._isDirty || this._rotation._isDirty);
141
+ }
142
+ /** @internal */
143
+ _initCache() {
144
+ super._initCache();
145
+ const t = this._cache;
146
+ t.localMatrixUpdated = !1, t.billboardMode = -1, t.infiniteDistance = !1, t.useBillboardPosition = !1, t.useBillboardPath = !1;
147
+ }
148
+ /**
149
+ * Returns the current mesh absolute position.
150
+ * Returns a Vector3.
151
+ */
152
+ get absolutePosition() {
153
+ return this.getAbsolutePosition();
154
+ }
155
+ /**
156
+ * Returns the current mesh absolute scaling.
157
+ * Returns a Vector3.
158
+ */
159
+ get absoluteScaling() {
160
+ return this._syncAbsoluteScalingAndRotation(), this._absoluteScaling;
161
+ }
162
+ /**
163
+ * Returns the current mesh absolute rotation.
164
+ * Returns a Quaternion.
165
+ */
166
+ get absoluteRotationQuaternion() {
167
+ return this._syncAbsoluteScalingAndRotation(), this._absoluteRotationQuaternion;
168
+ }
169
+ /**
170
+ * Sets a new matrix to apply before all other transformation
171
+ * @param matrix defines the transform matrix
172
+ * @returns the current TransformNode
173
+ */
174
+ setPreTransformMatrix(t) {
175
+ return this.setPivotMatrix(t, !1);
176
+ }
177
+ /**
178
+ * Sets a new pivot matrix to the current node
179
+ * @param matrix defines the new pivot matrix to use
180
+ * @param postMultiplyPivotMatrix defines if the pivot matrix must be cancelled in the world matrix. When this parameter is set to true (default), the inverse of the pivot matrix is also applied at the end to cancel the transformation effect
181
+ * @returns the current TransformNode
182
+ */
183
+ setPivotMatrix(t, o = !0) {
184
+ return this._pivotMatrix.copyFrom(t), this._usePivotMatrix = !this._pivotMatrix.isIdentity(), this._cache.pivotMatrixUpdated = !0, this._postMultiplyPivotMatrix = o, this._postMultiplyPivotMatrix && (this._pivotMatrixInverse ? this._pivotMatrix.invertToRef(this._pivotMatrixInverse) : this._pivotMatrixInverse = M.Invert(this._pivotMatrix)), this;
185
+ }
186
+ /**
187
+ * Returns the mesh pivot matrix.
188
+ * Default : Identity.
189
+ * @returns the matrix
190
+ */
191
+ getPivotMatrix() {
192
+ return this._pivotMatrix;
193
+ }
194
+ /**
195
+ * Instantiate (when possible) or clone that node with its hierarchy
196
+ * @param newParent defines the new parent to use for the instance (or clone)
197
+ * @param options defines options to configure how copy is done
198
+ * @param options.doNotInstantiate defines if the model must be instantiated or just cloned
199
+ * @param onNewNodeCreated defines an option callback to call when a clone or an instance is created
200
+ * @returns an instance (or a clone) of the current node with its hierarchy
201
+ */
202
+ instantiateHierarchy(t = null, o, n) {
203
+ const i = this.clone("Clone of " + (this.name || this.id), t || this.parent, !0);
204
+ i && n && n(this, i);
205
+ for (const a of this.getChildTransformNodes(!0))
206
+ a.instantiateHierarchy(i, o, n);
207
+ return i;
208
+ }
209
+ /**
210
+ * Prevents the World matrix to be computed any longer
211
+ * @param newWorldMatrix defines an optional matrix to use as world matrix
212
+ * @param decompose defines whether to decompose the given newWorldMatrix or directly assign
213
+ * @returns the TransformNode.
214
+ */
215
+ freezeWorldMatrix(t = null, o = !1) {
216
+ return t ? o ? (this._rotation.setAll(0), this._rotationQuaternion = this._rotationQuaternion || _.Identity(), t.decompose(this._scaling, this._rotationQuaternion, this._position), this.computeWorldMatrix(!0)) : (this._worldMatrix = t, this._absolutePosition.copyFromFloats(this._worldMatrix.m[12], this._worldMatrix.m[13], this._worldMatrix.m[14]), this._afterComputeWorldMatrix()) : (this._isWorldMatrixFrozen = !1, this.computeWorldMatrix(!0)), this._isDirty = !1, this._isWorldMatrixFrozen = !0, this;
217
+ }
218
+ /**
219
+ * Allows back the World matrix computation.
220
+ * @returns the TransformNode.
221
+ */
222
+ unfreezeWorldMatrix() {
223
+ return this._isWorldMatrixFrozen = !1, this.computeWorldMatrix(!0), this;
224
+ }
225
+ /**
226
+ * True if the World matrix has been frozen.
227
+ */
228
+ get isWorldMatrixFrozen() {
229
+ return this._isWorldMatrixFrozen;
230
+ }
231
+ /**
232
+ * Returns the mesh absolute position in the World.
233
+ * @returns a Vector3.
234
+ */
235
+ getAbsolutePosition() {
236
+ return this.computeWorldMatrix(), this._absolutePosition;
237
+ }
238
+ /**
239
+ * Sets the mesh absolute position in the World from a Vector3 or an Array(3).
240
+ * @param absolutePosition the absolute position to set
241
+ * @returns the TransformNode.
242
+ */
243
+ setAbsolutePosition(t) {
244
+ if (!t)
245
+ return this;
246
+ let o, n, i;
247
+ if (t.x === void 0) {
248
+ if (arguments.length < 3)
249
+ return this;
250
+ o = arguments[0], n = arguments[1], i = arguments[2];
251
+ } else
252
+ o = t.x, n = t.y, i = t.z;
253
+ if (this.parent) {
254
+ const a = e.Matrix[0];
255
+ this.parent.getWorldMatrix().invertToRef(a), l.TransformCoordinatesFromFloatsToRef(o, n, i, a, this.position);
256
+ } else
257
+ this.position.x = o, this.position.y = n, this.position.z = i;
258
+ return this._absolutePosition.copyFrom(t), this;
259
+ }
260
+ /**
261
+ * Sets the mesh position in its local space.
262
+ * @param vector3 the position to set in localspace
263
+ * @returns the TransformNode.
264
+ */
265
+ setPositionWithLocalVector(t) {
266
+ return this.computeWorldMatrix(), this.position = l.TransformNormal(t, this._localMatrix), this;
267
+ }
268
+ /**
269
+ * Returns the mesh position in the local space from the current World matrix values.
270
+ * @returns a new Vector3.
271
+ */
272
+ getPositionExpressedInLocalSpace() {
273
+ this.computeWorldMatrix();
274
+ const t = e.Matrix[0];
275
+ return this._localMatrix.invertToRef(t), l.TransformNormal(this.position, t);
276
+ }
277
+ /**
278
+ * Translates the mesh along the passed Vector3 in its local space.
279
+ * @param vector3 the distance to translate in localspace
280
+ * @returns the TransformNode.
281
+ */
282
+ locallyTranslate(t) {
283
+ return this.computeWorldMatrix(!0), this.position = l.TransformCoordinates(t, this._localMatrix), this;
284
+ }
285
+ /**
286
+ * Orients a mesh towards a target point. Mesh must be drawn facing user.
287
+ * @param targetPoint the position (must be in same space as current mesh) to look at
288
+ * @param yawCor optional yaw (y-axis) correction in radians
289
+ * @param pitchCor optional pitch (x-axis) correction in radians
290
+ * @param rollCor optional roll (z-axis) correction in radians
291
+ * @param space the chosen space of the target
292
+ * @returns the TransformNode.
293
+ */
294
+ lookAt(t, o = 0, n = 0, i = 0, a = R.LOCAL) {
295
+ const u = r._LookAtVectorCache, f = a === R.LOCAL ? this.position : this.getAbsolutePosition();
296
+ if (t.subtractToRef(f, u), this.setDirection(u, o, n, i), a === R.WORLD && this.parent)
297
+ if (this.rotationQuaternion) {
298
+ const h = e.Matrix[0];
299
+ this.rotationQuaternion.toRotationMatrix(h);
300
+ const s = e.Matrix[1];
301
+ this.parent.getWorldMatrix().getRotationMatrixToRef(s), s.invert(), h.multiplyToRef(s, h), this.rotationQuaternion.fromRotationMatrix(h);
302
+ } else {
303
+ const h = e.Quaternion[0];
304
+ _.FromEulerVectorToRef(this.rotation, h);
305
+ const s = e.Matrix[0];
306
+ h.toRotationMatrix(s);
307
+ const c = e.Matrix[1];
308
+ this.parent.getWorldMatrix().getRotationMatrixToRef(c), c.invert(), s.multiplyToRef(c, s), h.fromRotationMatrix(s), h.toEulerAnglesToRef(this.rotation);
309
+ }
310
+ return this;
311
+ }
312
+ /**
313
+ * Returns a new Vector3 that is the localAxis, expressed in the mesh local space, rotated like the mesh.
314
+ * This Vector3 is expressed in the World space.
315
+ * @param localAxis axis to rotate
316
+ * @returns a new Vector3 that is the localAxis, expressed in the mesh local space, rotated like the mesh.
317
+ */
318
+ getDirection(t) {
319
+ const o = l.Zero();
320
+ return this.getDirectionToRef(t, o), o;
321
+ }
322
+ /**
323
+ * Sets the Vector3 "result" as the rotated Vector3 "localAxis" in the same rotation than the mesh.
324
+ * localAxis is expressed in the mesh local space.
325
+ * result is computed in the World space from the mesh World matrix.
326
+ * @param localAxis axis to rotate
327
+ * @param result the resulting transformnode
328
+ * @returns this TransformNode.
329
+ */
330
+ getDirectionToRef(t, o) {
331
+ return l.TransformNormalToRef(t, this.getWorldMatrix(), o), this;
332
+ }
333
+ /**
334
+ * Sets this transform node rotation to the given local axis.
335
+ * @param localAxis the axis in local space
336
+ * @param yawCor optional yaw (y-axis) correction in radians
337
+ * @param pitchCor optional pitch (x-axis) correction in radians
338
+ * @param rollCor optional roll (z-axis) correction in radians
339
+ * @returns this TransformNode
340
+ */
341
+ setDirection(t, o = 0, n = 0, i = 0) {
342
+ const a = -Math.atan2(t.z, t.x) + Math.PI / 2, u = Math.sqrt(t.x * t.x + t.z * t.z), f = -Math.atan2(t.y, u);
343
+ return this.rotationQuaternion ? _.RotationYawPitchRollToRef(a + o, f + n, i, this.rotationQuaternion) : (this.rotation.x = f + n, this.rotation.y = a + o, this.rotation.z = i), this;
344
+ }
345
+ /**
346
+ * Sets a new pivot point to the current node
347
+ * @param point defines the new pivot point to use
348
+ * @param space defines if the point is in world or local space (local by default)
349
+ * @returns the current TransformNode
350
+ */
351
+ setPivotPoint(t, o = R.LOCAL) {
352
+ this.getScene().getRenderId() == 0 && this.computeWorldMatrix(!0);
353
+ const n = this.getWorldMatrix();
354
+ if (o == R.WORLD) {
355
+ const i = e.Matrix[0];
356
+ n.invertToRef(i), t = l.TransformCoordinates(t, i);
357
+ }
358
+ return this.setPivotMatrix(M.Translation(-t.x, -t.y, -t.z), !0);
359
+ }
360
+ /**
361
+ * Returns a new Vector3 set with the mesh pivot point coordinates in the local space.
362
+ * @returns the pivot point
363
+ */
364
+ getPivotPoint() {
365
+ const t = l.Zero();
366
+ return this.getPivotPointToRef(t), t;
367
+ }
368
+ /**
369
+ * Sets the passed Vector3 "result" with the coordinates of the mesh pivot point in the local space.
370
+ * @param result the vector3 to store the result
371
+ * @returns this TransformNode.
372
+ */
373
+ getPivotPointToRef(t) {
374
+ return t.x = -this._pivotMatrix.m[12], t.y = -this._pivotMatrix.m[13], t.z = -this._pivotMatrix.m[14], this;
375
+ }
376
+ /**
377
+ * Returns a new Vector3 set with the mesh pivot point World coordinates.
378
+ * @returns a new Vector3 set with the mesh pivot point World coordinates.
379
+ */
380
+ getAbsolutePivotPoint() {
381
+ const t = l.Zero();
382
+ return this.getAbsolutePivotPointToRef(t), t;
383
+ }
384
+ /**
385
+ * Sets the Vector3 "result" coordinates with the mesh pivot point World coordinates.
386
+ * @param result vector3 to store the result
387
+ * @returns this TransformNode.
388
+ */
389
+ getAbsolutePivotPointToRef(t) {
390
+ return this.getPivotPointToRef(t), l.TransformCoordinatesToRef(t, this.getWorldMatrix(), t), this;
391
+ }
392
+ /**
393
+ * Flag the transform node as dirty (Forcing it to update everything)
394
+ * @param property if set to "rotation" the objects rotationQuaternion will be set to null
395
+ * @returns this node
396
+ */
397
+ markAsDirty(t) {
398
+ if (this._isDirty)
399
+ return this;
400
+ if (this._children)
401
+ for (const o of this._children)
402
+ o.markAsDirty(t);
403
+ return super.markAsDirty(t);
404
+ }
405
+ /**
406
+ * Defines the passed node as the parent of the current node.
407
+ * The node will remain exactly where it is and its position / rotation will be updated accordingly.
408
+ * Note that if the mesh has a pivot matrix / point defined it will be applied after the parent was updated.
409
+ * In that case the node will not remain in the same space as it is, as the pivot will be applied.
410
+ * To avoid this, you can set updatePivot to true and the pivot will be updated to identity
411
+ * @see https://doc.babylonjs.com/features/featuresDeepDive/mesh/transforms/parent_pivot/parent
412
+ * @param node the node ot set as the parent
413
+ * @param preserveScalingSign if true, keep scaling sign of child. Otherwise, scaling sign might change.
414
+ * @param updatePivot if true, update the pivot matrix to keep the node in the same space as before
415
+ * @returns this TransformNode.
416
+ */
417
+ setParent(t, o = !1, n = !1) {
418
+ if (!t && !this.parent)
419
+ return this;
420
+ const i = e.Quaternion[0], a = e.Vector3[0], u = e.Vector3[1], f = e.Matrix[1];
421
+ M.IdentityToRef(f);
422
+ const h = e.Matrix[0];
423
+ this.computeWorldMatrix(!0);
424
+ let s = this.rotationQuaternion;
425
+ return s || (s = r._TmpRotation, _.RotationYawPitchRollToRef(this._rotation.y, this._rotation.x, this._rotation.z, s)), M.ComposeToRef(this.scaling, s, this.position, h), this.parent && h.multiplyToRef(this.parent.computeWorldMatrix(!0), h), t && (t.computeWorldMatrix(!0).invertToRef(f), h.multiplyToRef(f, h)), h.decompose(u, i, a, o ? this : void 0), this.rotationQuaternion ? this.rotationQuaternion.copyFrom(i) : i.toEulerAnglesToRef(this.rotation), this.scaling.copyFrom(u), this.position.copyFrom(a), this.parent = t, n && this.setPivotMatrix(M.Identity()), this;
426
+ }
427
+ /**
428
+ * True if the scaling property of this object is non uniform eg. (1,2,1)
429
+ */
430
+ get nonUniformScaling() {
431
+ return this._nonUniformScaling;
432
+ }
433
+ /**
434
+ * @internal
435
+ */
436
+ _updateNonUniformScalingState(t) {
437
+ return this._nonUniformScaling === t ? !1 : (this._nonUniformScaling = t, !0);
438
+ }
439
+ /**
440
+ * Attach the current TransformNode to another TransformNode associated with a bone
441
+ * @param bone Bone affecting the TransformNode
442
+ * @param affectedTransformNode TransformNode associated with the bone
443
+ * @returns this object
444
+ */
445
+ attachToBone(t, o) {
446
+ return this._currentParentWhenAttachingToBone = this.parent, this._transformToBoneReferal = o, this.parent = t, t.getSkeleton().prepare(), t.getFinalMatrix().determinant() < 0 && (this.scalingDeterminant *= -1), this;
447
+ }
448
+ /**
449
+ * Detach the transform node if its associated with a bone
450
+ * @param resetToPreviousParent Indicates if the parent that was in effect when attachToBone was called should be set back or if we should set parent to null instead (defaults to the latter)
451
+ * @returns this object
452
+ */
453
+ detachFromBone(t = !1) {
454
+ return this.parent ? (this.parent.getWorldMatrix().determinant() < 0 && (this.scalingDeterminant *= -1), this._transformToBoneReferal = null, t ? this.parent = this._currentParentWhenAttachingToBone : this.parent = null, this) : (t && (this.parent = this._currentParentWhenAttachingToBone), this);
455
+ }
456
+ /**
457
+ * Rotates the mesh around the axis vector for the passed angle (amount) expressed in radians, in the given space.
458
+ * space (default LOCAL) can be either Space.LOCAL, either Space.WORLD.
459
+ * Note that the property `rotationQuaternion` is then automatically updated and the property `rotation` is set to (0,0,0) and no longer used.
460
+ * The passed axis is also normalized.
461
+ * @param axis the axis to rotate around
462
+ * @param amount the amount to rotate in radians
463
+ * @param space Space to rotate in (Default: local)
464
+ * @returns the TransformNode.
465
+ */
466
+ rotate(t, o, n) {
467
+ t.normalize(), this.rotationQuaternion || (this.rotationQuaternion = this.rotation.toQuaternion(), this.rotation.setAll(0));
468
+ let i;
469
+ if (!n || n === R.LOCAL)
470
+ i = _.RotationAxisToRef(t, o, r._RotationAxisCache), this.rotationQuaternion.multiplyToRef(i, this.rotationQuaternion);
471
+ else {
472
+ if (this.parent) {
473
+ const a = e.Matrix[0];
474
+ this.parent.getWorldMatrix().invertToRef(a), t = l.TransformNormal(t, a);
475
+ }
476
+ i = _.RotationAxisToRef(t, o, r._RotationAxisCache), i.multiplyToRef(this.rotationQuaternion, this.rotationQuaternion);
477
+ }
478
+ return this;
479
+ }
480
+ /**
481
+ * Rotates the mesh around the axis vector for the passed angle (amount) expressed in radians, in world space.
482
+ * Note that the property `rotationQuaternion` is then automatically updated and the property `rotation` is set to (0,0,0) and no longer used.
483
+ * The passed axis is also normalized. .
484
+ * Method is based on http://www.euclideanspace.com/maths/geometry/affine/aroundPoint/index.htm
485
+ * @param point the point to rotate around
486
+ * @param axis the axis to rotate around
487
+ * @param amount the amount to rotate in radians
488
+ * @returns the TransformNode
489
+ */
490
+ rotateAround(t, o, n) {
491
+ o.normalize(), this.rotationQuaternion || (this.rotationQuaternion = _.RotationYawPitchRoll(this.rotation.y, this.rotation.x, this.rotation.z), this.rotation.setAll(0));
492
+ const i = e.Vector3[0], a = e.Vector3[1], u = e.Vector3[2], f = e.Quaternion[0], h = e.Matrix[0], s = e.Matrix[1], c = e.Matrix[2], d = e.Matrix[3];
493
+ return t.subtractToRef(this.position, i), M.TranslationToRef(i.x, i.y, i.z, h), M.TranslationToRef(-i.x, -i.y, -i.z, s), M.RotationAxisToRef(o, n, c), s.multiplyToRef(c, d), d.multiplyToRef(h, d), d.decompose(a, f, u), this.position.addInPlace(u), f.multiplyToRef(this.rotationQuaternion, this.rotationQuaternion), this;
494
+ }
495
+ /**
496
+ * Translates the mesh along the axis vector for the passed distance in the given space.
497
+ * space (default LOCAL) can be either Space.LOCAL, either Space.WORLD.
498
+ * @param axis the axis to translate in
499
+ * @param distance the distance to translate
500
+ * @param space Space to rotate in (Default: local)
501
+ * @returns the TransformNode.
502
+ */
503
+ translate(t, o, n) {
504
+ const i = t.scale(o);
505
+ if (!n || n === R.LOCAL) {
506
+ const a = this.getPositionExpressedInLocalSpace().add(i);
507
+ this.setPositionWithLocalVector(a);
508
+ } else
509
+ this.setAbsolutePosition(this.getAbsolutePosition().add(i));
510
+ return this;
511
+ }
512
+ /**
513
+ * Adds a rotation step to the mesh current rotation.
514
+ * x, y, z are Euler angles expressed in radians.
515
+ * This methods updates the current mesh rotation, either mesh.rotation, either mesh.rotationQuaternion if it's set.
516
+ * This means this rotation is made in the mesh local space only.
517
+ * It's useful to set a custom rotation order different from the BJS standard one YXZ.
518
+ * Example : this rotates the mesh first around its local X axis, then around its local Z axis, finally around its local Y axis.
519
+ * ```javascript
520
+ * mesh.addRotation(x1, 0, 0).addRotation(0, 0, z2).addRotation(0, 0, y3);
521
+ * ```
522
+ * Note that `addRotation()` accumulates the passed rotation values to the current ones and computes the .rotation or .rotationQuaternion updated values.
523
+ * Under the hood, only quaternions are used. So it's a little faster is you use .rotationQuaternion because it doesn't need to translate them back to Euler angles.
524
+ * @param x Rotation to add
525
+ * @param y Rotation to add
526
+ * @param z Rotation to add
527
+ * @returns the TransformNode.
528
+ */
529
+ addRotation(t, o, n) {
530
+ let i;
531
+ this.rotationQuaternion ? i = this.rotationQuaternion : (i = e.Quaternion[1], _.RotationYawPitchRollToRef(this.rotation.y, this.rotation.x, this.rotation.z, i));
532
+ const a = e.Quaternion[0];
533
+ return _.RotationYawPitchRollToRef(o, t, n, a), i.multiplyInPlace(a), this.rotationQuaternion || i.toEulerAnglesToRef(this.rotation), this;
534
+ }
535
+ /**
536
+ * @internal
537
+ */
538
+ _getEffectiveParent() {
539
+ return this.parent;
540
+ }
541
+ /**
542
+ * Returns whether the transform node world matrix computation needs the camera information to be computed.
543
+ * This is the case when the node is a billboard or has an infinite distance for instance.
544
+ * @returns true if the world matrix computation needs the camera information to be computed
545
+ */
546
+ isWorldMatrixCameraDependent() {
547
+ return this._infiniteDistance && !this.parent || this._billboardMode !== r.BILLBOARDMODE_NONE && !this.preserveParentRotationForBillboard;
548
+ }
549
+ /**
550
+ * Computes the world matrix of the node
551
+ * @param force defines if the cache version should be invalidated forcing the world matrix to be created from scratch
552
+ * @param camera defines the camera used if different from the scene active camera (This is used with modes like Billboard or infinite distance)
553
+ * @returns the world matrix
554
+ */
555
+ computeWorldMatrix(t = !1, o = null) {
556
+ if (this._isWorldMatrixFrozen && !this._isDirty)
557
+ return this._worldMatrix;
558
+ const n = this.getScene().getRenderId();
559
+ if (!this._isDirty && !t && (this._currentRenderId === n || this.isSynchronized()))
560
+ return this._currentRenderId = n, this._worldMatrix;
561
+ o = o || this.getScene().activeCamera, this._updateCache();
562
+ const i = this._cache;
563
+ i.pivotMatrixUpdated = !1, i.billboardMode = this.billboardMode, i.infiniteDistance = this.infiniteDistance, i.parent = this._parentNode, this._currentRenderId = n, this._childUpdateId += 1, this._isDirty = !1, this._position._isDirty = !1, this._rotation._isDirty = !1, this._scaling._isDirty = !1;
564
+ const a = this._getEffectiveParent(), u = r._TmpScaling;
565
+ let f = this._position;
566
+ if (this._infiniteDistance && !this.parent && o) {
567
+ const s = o.getWorldMatrix(), c = new l(s.m[12], s.m[13], s.m[14]);
568
+ f = r._TmpTranslation, f.copyFromFloats(this._position.x + c.x, this._position.y + c.y, this._position.z + c.z);
569
+ }
570
+ u.copyFromFloats(this._scaling.x * this.scalingDeterminant, this._scaling.y * this.scalingDeterminant, this._scaling.z * this.scalingDeterminant);
571
+ let h;
572
+ if (this._rotationQuaternion ? (this._rotationQuaternion._isDirty = !1, h = this._rotationQuaternion, this.reIntegrateRotationIntoRotationQuaternion && this.rotation.lengthSquared() && (this._rotationQuaternion.multiplyInPlace(_.RotationYawPitchRoll(this._rotation.y, this._rotation.x, this._rotation.z)), this._rotation.copyFromFloats(0, 0, 0))) : (h = r._TmpRotation, _.RotationYawPitchRollToRef(this._rotation.y, this._rotation.x, this._rotation.z, h)), this._usePivotMatrix) {
573
+ const s = e.Matrix[1];
574
+ M.ScalingToRef(u.x, u.y, u.z, s);
575
+ const c = e.Matrix[0];
576
+ h.toRotationMatrix(c), this._pivotMatrix.multiplyToRef(s, e.Matrix[4]), e.Matrix[4].multiplyToRef(c, this._localMatrix), this._postMultiplyPivotMatrix && this._localMatrix.multiplyToRef(this._pivotMatrixInverse, this._localMatrix), this._localMatrix.addTranslationFromFloats(f.x, f.y, f.z);
577
+ } else
578
+ M.ComposeToRef(u, h, f, this._localMatrix);
579
+ if (a && a.getWorldMatrix) {
580
+ if (t && a.computeWorldMatrix(t), i.useBillboardPath) {
581
+ this._transformToBoneReferal ? a.getWorldMatrix().multiplyToRef(this._transformToBoneReferal.getWorldMatrix(), e.Matrix[7]) : e.Matrix[7].copyFrom(a.getWorldMatrix());
582
+ const s = e.Vector3[5], c = e.Vector3[6], d = e.Quaternion[0];
583
+ e.Matrix[7].decompose(c, d, s), M.ScalingToRef(c.x, c.y, c.z, e.Matrix[7]), e.Matrix[7].setTranslation(s), r.BillboardUseParentOrientation && (this._position.applyRotationQuaternionToRef(d, s), this._localMatrix.setTranslation(s)), this._localMatrix.multiplyToRef(e.Matrix[7], this._worldMatrix);
584
+ } else
585
+ this._transformToBoneReferal ? (this._localMatrix.multiplyToRef(a.getWorldMatrix(), e.Matrix[6]), e.Matrix[6].multiplyToRef(this._transformToBoneReferal.getWorldMatrix(), this._worldMatrix)) : this._localMatrix.multiplyToRef(a.getWorldMatrix(), this._worldMatrix);
586
+ this._markSyncedWithParent();
587
+ } else
588
+ this._worldMatrix.copyFrom(this._localMatrix);
589
+ if (i.useBillboardPath && o && this.billboardMode && !i.useBillboardPosition) {
590
+ const s = e.Vector3[0];
591
+ if (this._worldMatrix.getTranslationToRef(s), e.Matrix[1].copyFrom(o.getViewMatrix()), this._scene.useRightHandedSystem && e.Matrix[1].multiplyToRef(B, e.Matrix[1]), e.Matrix[1].setTranslationFromFloats(0, 0, 0), e.Matrix[1].invertToRef(e.Matrix[0]), (this.billboardMode & r.BILLBOARDMODE_ALL) !== r.BILLBOARDMODE_ALL) {
592
+ e.Matrix[0].decompose(void 0, e.Quaternion[0], void 0);
593
+ const c = e.Vector3[1];
594
+ e.Quaternion[0].toEulerAnglesToRef(c), (this.billboardMode & r.BILLBOARDMODE_X) !== r.BILLBOARDMODE_X && (c.x = 0), (this.billboardMode & r.BILLBOARDMODE_Y) !== r.BILLBOARDMODE_Y && (c.y = 0), (this.billboardMode & r.BILLBOARDMODE_Z) !== r.BILLBOARDMODE_Z && (c.z = 0), M.RotationYawPitchRollToRef(c.y, c.x, c.z, e.Matrix[0]);
595
+ }
596
+ this._worldMatrix.setTranslationFromFloats(0, 0, 0), this._worldMatrix.multiplyToRef(e.Matrix[0], this._worldMatrix), this._worldMatrix.setTranslation(e.Vector3[0]);
597
+ } else if (i.useBillboardPath && o && i.useBillboardPosition) {
598
+ const s = e.Vector3[0];
599
+ this._worldMatrix.getTranslationToRef(s);
600
+ const c = o.globalPosition;
601
+ this._worldMatrix.invertToRef(e.Matrix[1]);
602
+ const d = e.Vector3[1];
603
+ l.TransformCoordinatesToRef(c, e.Matrix[1], d), d.normalize();
604
+ const b = -Math.atan2(d.z, d.x) + Math.PI / 2, P = Math.sqrt(d.x * d.x + d.z * d.z), D = -Math.atan2(d.y, P);
605
+ if (_.RotationYawPitchRollToRef(b, D, 0, e.Quaternion[0]), (this.billboardMode & r.BILLBOARDMODE_ALL) !== r.BILLBOARDMODE_ALL) {
606
+ const p = e.Vector3[1];
607
+ e.Quaternion[0].toEulerAnglesToRef(p), (this.billboardMode & r.BILLBOARDMODE_X) !== r.BILLBOARDMODE_X && (p.x = 0), (this.billboardMode & r.BILLBOARDMODE_Y) !== r.BILLBOARDMODE_Y && (p.y = 0), (this.billboardMode & r.BILLBOARDMODE_Z) !== r.BILLBOARDMODE_Z && (p.z = 0), M.RotationYawPitchRollToRef(p.y, p.x, p.z, e.Matrix[0]);
608
+ } else
609
+ M.FromQuaternionToRef(e.Quaternion[0], e.Matrix[0]);
610
+ this._worldMatrix.setTranslationFromFloats(0, 0, 0), this._worldMatrix.multiplyToRef(e.Matrix[0], this._worldMatrix), this._worldMatrix.setTranslation(e.Vector3[0]);
611
+ }
612
+ return this.ignoreNonUniformScaling ? this._updateNonUniformScalingState(!1) : this._scaling.isNonUniformWithinEpsilon(1e-6) ? this._updateNonUniformScalingState(!0) : a && a._nonUniformScaling ? this._updateNonUniformScalingState(a._nonUniformScaling) : this._updateNonUniformScalingState(!1), this._afterComputeWorldMatrix(), this._absolutePosition.copyFromFloats(this._worldMatrix.m[12], this._worldMatrix.m[13], this._worldMatrix.m[14]), this._isAbsoluteSynced = !1, this.onAfterWorldMatrixUpdateObservable.notifyObservers(this), this._poseMatrix || (this._poseMatrix = M.Invert(this._worldMatrix)), this._worldMatrixDeterminantIsDirty = !0, this._worldMatrix;
613
+ }
614
+ /**
615
+ * Resets this nodeTransform's local matrix to Matrix.Identity().
616
+ * @param independentOfChildren indicates if all child nodeTransform's world-space transform should be preserved.
617
+ */
618
+ resetLocalMatrix(t = !0) {
619
+ if (this.computeWorldMatrix(), t) {
620
+ const o = this.getChildren();
621
+ for (let n = 0; n < o.length; ++n) {
622
+ const i = o[n];
623
+ if (i) {
624
+ i.computeWorldMatrix();
625
+ const a = e.Matrix[0];
626
+ i._localMatrix.multiplyToRef(this._localMatrix, a);
627
+ const u = e.Quaternion[0];
628
+ a.decompose(i.scaling, u, i.position), i.rotationQuaternion ? i.rotationQuaternion.copyFrom(u) : u.toEulerAnglesToRef(i.rotation);
629
+ }
630
+ }
631
+ }
632
+ this.scaling.copyFromFloats(1, 1, 1), this.position.copyFromFloats(0, 0, 0), this.rotation.copyFromFloats(0, 0, 0), this.rotationQuaternion && (this.rotationQuaternion = _.Identity()), this._worldMatrix = M.Identity();
633
+ }
634
+ _afterComputeWorldMatrix() {
635
+ }
636
+ /**
637
+ * If you'd like to be called back after the mesh position, rotation or scaling has been updated.
638
+ * @param func callback function to add
639
+ *
640
+ * @returns the TransformNode.
641
+ */
642
+ registerAfterWorldMatrixUpdate(t) {
643
+ return this.onAfterWorldMatrixUpdateObservable.add(t), this;
644
+ }
645
+ /**
646
+ * Removes a registered callback function.
647
+ * @param func callback function to remove
648
+ * @returns the TransformNode.
649
+ */
650
+ unregisterAfterWorldMatrixUpdate(t) {
651
+ return this.onAfterWorldMatrixUpdateObservable.removeCallback(t), this;
652
+ }
653
+ /**
654
+ * Gets the position of the current mesh in camera space
655
+ * @param camera defines the camera to use
656
+ * @returns a position
657
+ */
658
+ getPositionInCameraSpace(t = null) {
659
+ return t || (t = this.getScene().activeCamera), l.TransformCoordinates(this.getAbsolutePosition(), t.getViewMatrix());
660
+ }
661
+ /**
662
+ * Returns the distance from the mesh to the active camera
663
+ * @param camera defines the camera to use
664
+ * @returns the distance
665
+ */
666
+ getDistanceToCamera(t = null) {
667
+ return t || (t = this.getScene().activeCamera), this.getAbsolutePosition().subtract(t.globalPosition).length();
668
+ }
669
+ /**
670
+ * Clone the current transform node
671
+ * @param name Name of the new clone
672
+ * @param newParent New parent for the clone
673
+ * @param doNotCloneChildren Do not clone children hierarchy
674
+ * @returns the new transform node
675
+ */
676
+ clone(t, o, n) {
677
+ const i = m.Clone(() => new r(t, this.getScene()), this);
678
+ if (i.name = t, i.id = t, o && (i.parent = o), !n) {
679
+ const a = this.getDescendants(!0);
680
+ for (let u = 0; u < a.length; u++) {
681
+ const f = a[u];
682
+ f.clone && f.clone(t + "." + f.name, i);
683
+ }
684
+ }
685
+ return i;
686
+ }
687
+ /**
688
+ * Serializes the objects information.
689
+ * @param currentSerializationObject defines the object to serialize in
690
+ * @returns the serialized object
691
+ */
692
+ serialize(t) {
693
+ const o = m.Serialize(this, t);
694
+ return o.type = this.getClassName(), o.uniqueId = this.uniqueId, this.parent && this.parent._serializeAsParent(o), o.localMatrix = this.getPivotMatrix().asArray(), o.isEnabled = this.isEnabled(), o;
695
+ }
696
+ // Statics
697
+ /**
698
+ * Returns a new TransformNode object parsed from the source provided.
699
+ * @param parsedTransformNode is the source.
700
+ * @param scene the scene the object belongs to
701
+ * @param rootUrl is a string, it's the root URL to prefix the `delayLoadingFile` property with
702
+ * @returns a new TransformNode object parsed from the source provided.
703
+ */
704
+ static Parse(t, o, n) {
705
+ const i = m.Parse(() => new r(t.name, o), t, o, n);
706
+ return t.localMatrix ? i.setPreTransformMatrix(M.FromArray(t.localMatrix)) : t.pivotMatrix && i.setPivotMatrix(M.FromArray(t.pivotMatrix)), i.setEnabled(t.isEnabled), i._waitingParsedUniqueId = t.uniqueId, t.parentId !== void 0 && (i._waitingParentId = t.parentId), t.parentInstanceIndex !== void 0 && (i._waitingParentInstanceIndex = t.parentInstanceIndex), i;
707
+ }
708
+ /**
709
+ * Get all child-transformNodes of this node
710
+ * @param directDescendantsOnly defines if true only direct descendants of 'this' will be considered, if false direct and also indirect (children of children, an so on in a recursive manner) descendants of 'this' will be considered
711
+ * @param predicate defines an optional predicate that will be called on every evaluated child, the predicate must return true for a given child to be part of the result, otherwise it will be ignored
712
+ * @returns an array of TransformNode
713
+ */
714
+ getChildTransformNodes(t, o) {
715
+ const n = [];
716
+ return this._getDescendants(n, t, (i) => (!o || o(i)) && i instanceof r), n;
717
+ }
718
+ /**
719
+ * Releases resources associated with this transform node.
720
+ * @param doNotRecurse Set to true to not recurse into each children (recurse into each children by default)
721
+ * @param disposeMaterialAndTextures Set to true to also dispose referenced materials and textures (false by default)
722
+ */
723
+ dispose(t, o = !1) {
724
+ if (this.getScene().stopAnimation(this), this.getScene().removeTransformNode(this), this._parentContainer) {
725
+ const n = this._parentContainer.transformNodes.indexOf(this);
726
+ n > -1 && this._parentContainer.transformNodes.splice(n, 1), this._parentContainer = null;
727
+ }
728
+ if (this.onAfterWorldMatrixUpdateObservable.clear(), t) {
729
+ const n = this.getChildTransformNodes(!0);
730
+ for (const i of n)
731
+ i.parent = null, i.computeWorldMatrix(!0);
732
+ }
733
+ super.dispose(t, o);
734
+ }
735
+ /**
736
+ * Uniformly scales the mesh to fit inside of a unit cube (1 X 1 X 1 units)
737
+ * @param includeDescendants Use the hierarchy's bounding box instead of the mesh's bounding box. Default is false
738
+ * @param ignoreRotation ignore rotation when computing the scale (ie. object will be axis aligned). Default is false
739
+ * @param predicate predicate that is passed in to getHierarchyBoundingVectors when selecting which object should be included when scaling
740
+ * @returns the current mesh
741
+ */
742
+ normalizeToUnitCube(t = !0, o = !1, n) {
743
+ let i = null, a = null;
744
+ o && (this.rotationQuaternion ? (a = this.rotationQuaternion.clone(), this.rotationQuaternion.copyFromFloats(0, 0, 0, 1)) : this.rotation && (i = this.rotation.clone(), this.rotation.copyFromFloats(0, 0, 0)));
745
+ const u = this.getHierarchyBoundingVectors(t, n), f = u.max.subtract(u.min), h = Math.max(f.x, f.y, f.z);
746
+ if (h === 0)
747
+ return this;
748
+ const s = 1 / h;
749
+ return this.scaling.scaleInPlace(s), o && (this.rotationQuaternion && a ? this.rotationQuaternion.copyFrom(a) : this.rotation && i && this.rotation.copyFrom(i)), this;
750
+ }
751
+ _syncAbsoluteScalingAndRotation() {
752
+ this._isAbsoluteSynced || (this._worldMatrix.decompose(this._absoluteScaling, this._absoluteRotationQuaternion), this._isAbsoluteSynced = !0);
753
+ }
754
+ }
755
+ r.BILLBOARDMODE_NONE = 0;
756
+ r.BILLBOARDMODE_X = 1;
757
+ r.BILLBOARDMODE_Y = 2;
758
+ r.BILLBOARDMODE_Z = 4;
759
+ r.BILLBOARDMODE_ALL = 7;
760
+ r.BILLBOARDMODE_USE_POSITION = 128;
761
+ r.BillboardUseParentOrientation = !1;
762
+ r._TmpRotation = _.Zero();
763
+ r._TmpScaling = l.Zero();
764
+ r._TmpTranslation = l.Zero();
765
+ r._LookAtVectorCache = new l(0, 0, 0);
766
+ r._RotationAxisCache = new _();
767
+ x([
768
+ y("position")
769
+ ], r.prototype, "_position", void 0);
770
+ x([
771
+ y("rotation")
772
+ ], r.prototype, "_rotation", void 0);
773
+ x([
774
+ T("rotationQuaternion")
775
+ ], r.prototype, "_rotationQuaternion", void 0);
776
+ x([
777
+ y("scaling")
778
+ ], r.prototype, "_scaling", void 0);
779
+ x([
780
+ g("billboardMode")
781
+ ], r.prototype, "_billboardMode", void 0);
782
+ x([
783
+ g()
784
+ ], r.prototype, "scalingDeterminant", void 0);
785
+ x([
786
+ g("infiniteDistance")
787
+ ], r.prototype, "_infiniteDistance", void 0);
788
+ x([
789
+ g()
790
+ ], r.prototype, "ignoreNonUniformScaling", void 0);
791
+ x([
792
+ g()
793
+ ], r.prototype, "reIntegrateRotationIntoRotationQuaternion", void 0);
794
+ export {
795
+ r as TransformNode
796
+ };