@babylonjs/core 5.0.0-beta.1 → 5.0.0-beta.10

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 (796) hide show
  1. package/Actions/actionManager.d.ts +1 -1
  2. package/Actions/actionManager.js +5 -1
  3. package/Actions/actionManager.js.map +1 -1
  4. package/Animations/animation.d.ts +6 -6
  5. package/Animations/animation.js +9 -5
  6. package/Animations/animation.js.map +1 -1
  7. package/Audio/analyser.d.ts +2 -1
  8. package/Audio/analyser.js +5 -0
  9. package/Audio/analyser.js.map +1 -1
  10. package/Audio/audioSceneComponent.d.ts +1 -1
  11. package/Audio/audioSceneComponent.js +5 -0
  12. package/Audio/audioSceneComponent.js.map +1 -1
  13. package/Audio/sound.d.ts +1 -1
  14. package/Audio/sound.js +8 -1
  15. package/Audio/sound.js.map +1 -1
  16. package/Audio/soundTrack.d.ts +2 -1
  17. package/Audio/soundTrack.js +5 -0
  18. package/Audio/soundTrack.js.map +1 -1
  19. package/BakedVertexAnimation/bakedVertexAnimationManager.d.ts +1 -1
  20. package/BakedVertexAnimation/bakedVertexAnimationManager.js +5 -0
  21. package/BakedVertexAnimation/bakedVertexAnimationManager.js.map +1 -1
  22. package/Behaviors/Meshes/baseSixDofDragBehavior.js +29 -26
  23. package/Behaviors/Meshes/baseSixDofDragBehavior.js.map +1 -1
  24. package/Behaviors/Meshes/pointerDragBehavior.js +2 -0
  25. package/Behaviors/Meshes/pointerDragBehavior.js.map +1 -1
  26. package/Bones/bone.d.ts +2 -1
  27. package/Bones/bone.js +28 -18
  28. package/Bones/bone.js.map +1 -1
  29. package/Bones/skeleton.d.ts +0 -6
  30. package/Bones/skeleton.js +5 -17
  31. package/Bones/skeleton.js.map +1 -1
  32. package/Buffers/buffer.d.ts +4 -0
  33. package/Buffers/buffer.js +13 -3
  34. package/Buffers/buffer.js.map +1 -1
  35. package/Cameras/Inputs/freeCameraMouseInput.d.ts +1 -0
  36. package/Cameras/Inputs/freeCameraMouseInput.js +6 -3
  37. package/Cameras/Inputs/freeCameraMouseInput.js.map +1 -1
  38. package/Cameras/Inputs/freeCameraTouchInput.js +2 -4
  39. package/Cameras/Inputs/freeCameraTouchInput.js.map +1 -1
  40. package/Cameras/Stereoscopic/anaglyphArcRotateCamera.d.ts +1 -1
  41. package/Cameras/Stereoscopic/anaglyphArcRotateCamera.js.map +1 -1
  42. package/Cameras/Stereoscopic/anaglyphFreeCamera.d.ts +1 -1
  43. package/Cameras/Stereoscopic/anaglyphFreeCamera.js.map +1 -1
  44. package/Cameras/Stereoscopic/anaglyphGamepadCamera.d.ts +1 -1
  45. package/Cameras/Stereoscopic/anaglyphGamepadCamera.js.map +1 -1
  46. package/Cameras/Stereoscopic/anaglyphUniversalCamera.d.ts +1 -1
  47. package/Cameras/Stereoscopic/anaglyphUniversalCamera.js.map +1 -1
  48. package/Cameras/Stereoscopic/stereoscopicArcRotateCamera.d.ts +1 -1
  49. package/Cameras/Stereoscopic/stereoscopicArcRotateCamera.js.map +1 -1
  50. package/Cameras/Stereoscopic/stereoscopicFreeCamera.d.ts +1 -1
  51. package/Cameras/Stereoscopic/stereoscopicFreeCamera.js.map +1 -1
  52. package/Cameras/Stereoscopic/stereoscopicGamepadCamera.d.ts +1 -1
  53. package/Cameras/Stereoscopic/stereoscopicGamepadCamera.js.map +1 -1
  54. package/Cameras/Stereoscopic/stereoscopicScreenUniversalCamera.d.ts +1 -1
  55. package/Cameras/Stereoscopic/stereoscopicScreenUniversalCamera.js.map +1 -1
  56. package/Cameras/Stereoscopic/stereoscopicUniversalCamera.d.ts +1 -1
  57. package/Cameras/Stereoscopic/stereoscopicUniversalCamera.js.map +1 -1
  58. package/Cameras/VR/vrDeviceOrientationArcRotateCamera.d.ts +1 -1
  59. package/Cameras/VR/vrDeviceOrientationArcRotateCamera.js.map +1 -1
  60. package/Cameras/VR/vrDeviceOrientationFreeCamera.d.ts +1 -1
  61. package/Cameras/VR/vrDeviceOrientationFreeCamera.js.map +1 -1
  62. package/Cameras/VR/vrDeviceOrientationGamepadCamera.d.ts +1 -1
  63. package/Cameras/VR/vrDeviceOrientationGamepadCamera.js.map +1 -1
  64. package/Cameras/VR/vrExperienceHelper.d.ts +1 -0
  65. package/Cameras/VR/vrExperienceHelper.js +1 -0
  66. package/Cameras/VR/vrExperienceHelper.js.map +1 -1
  67. package/Cameras/VR/webVRCamera.d.ts +2 -1
  68. package/Cameras/VR/webVRCamera.js +3 -2
  69. package/Cameras/VR/webVRCamera.js.map +1 -1
  70. package/Cameras/arcRotateCamera.d.ts +1 -1
  71. package/Cameras/arcRotateCamera.js.map +1 -1
  72. package/Cameras/camera.d.ts +1 -1
  73. package/Cameras/camera.js +1 -1
  74. package/Cameras/camera.js.map +1 -1
  75. package/Cameras/deviceOrientationCamera.d.ts +1 -1
  76. package/Cameras/deviceOrientationCamera.js.map +1 -1
  77. package/Cameras/flyCamera.d.ts +1 -1
  78. package/Cameras/flyCamera.js.map +1 -1
  79. package/Cameras/followCamera.d.ts +1 -1
  80. package/Cameras/followCamera.js.map +1 -1
  81. package/Cameras/freeCamera.d.ts +1 -1
  82. package/Cameras/freeCamera.js.map +1 -1
  83. package/Cameras/gamepadCamera.d.ts +1 -1
  84. package/Cameras/gamepadCamera.js.map +1 -1
  85. package/Cameras/targetCamera.d.ts +1 -1
  86. package/Cameras/targetCamera.js.map +1 -1
  87. package/Cameras/touchCamera.d.ts +1 -1
  88. package/Cameras/touchCamera.js.map +1 -1
  89. package/Cameras/universalCamera.d.ts +1 -1
  90. package/Cameras/universalCamera.js.map +1 -1
  91. package/Cameras/virtualJoysticksCamera.d.ts +1 -1
  92. package/Cameras/virtualJoysticksCamera.js.map +1 -1
  93. package/Collisions/collider.d.ts +1 -1
  94. package/Collisions/collider.js +48 -2
  95. package/Collisions/collider.js.map +1 -1
  96. package/Compat/compatibilityOptions.d.ts +9 -0
  97. package/Compat/compatibilityOptions.js +14 -0
  98. package/Compat/compatibilityOptions.js.map +1 -0
  99. package/Compat/index.d.ts +1 -0
  100. package/Compat/index.js +2 -0
  101. package/Compat/index.js.map +1 -0
  102. package/Compute/computeEffect.js +2 -2
  103. package/Compute/computeEffect.js.map +1 -1
  104. package/Culling/Octrees/octreeSceneComponent.d.ts +1 -1
  105. package/Culling/Octrees/octreeSceneComponent.js +5 -0
  106. package/Culling/Octrees/octreeSceneComponent.js.map +1 -1
  107. package/Culling/ray.d.ts +6 -4
  108. package/Culling/ray.js +35 -13
  109. package/Culling/ray.js.map +1 -1
  110. package/Debug/axesViewer.d.ts +2 -1
  111. package/Debug/axesViewer.js +6 -0
  112. package/Debug/axesViewer.js.map +1 -1
  113. package/Debug/debugLayer.d.ts +1 -1
  114. package/Debug/debugLayer.js +6 -2
  115. package/Debug/debugLayer.js.map +1 -1
  116. package/Debug/physicsViewer.d.ts +1 -1
  117. package/Debug/physicsViewer.js +3 -0
  118. package/Debug/physicsViewer.js.map +1 -1
  119. package/Debug/skeletonViewer.js +3 -4
  120. package/Debug/skeletonViewer.js.map +1 -1
  121. package/DeviceInput/Helpers/eventFactory.d.ts +1 -1
  122. package/DeviceInput/Helpers/eventFactory.js +10 -6
  123. package/DeviceInput/Helpers/eventFactory.js.map +1 -1
  124. package/DeviceInput/InputDevices/deviceEnums.d.ts +55 -2
  125. package/DeviceInput/InputDevices/deviceEnums.js +54 -0
  126. package/DeviceInput/InputDevices/deviceEnums.js.map +1 -1
  127. package/DeviceInput/InputDevices/deviceSource.d.ts +35 -0
  128. package/DeviceInput/InputDevices/deviceSource.js +38 -0
  129. package/DeviceInput/InputDevices/deviceSource.js.map +1 -0
  130. package/DeviceInput/InputDevices/deviceSourceManager.d.ts +23 -66
  131. package/DeviceInput/InputDevices/deviceSourceManager.js +40 -149
  132. package/DeviceInput/InputDevices/deviceSourceManager.js.map +1 -1
  133. package/DeviceInput/InputDevices/deviceTypes.d.ts +2 -2
  134. package/DeviceInput/InputDevices/deviceTypes.js.map +1 -1
  135. package/DeviceInput/{Interfaces → InputDevices}/inputInterfaces.d.ts +1 -5
  136. package/DeviceInput/{Interfaces → InputDevices}/inputInterfaces.js +0 -0
  137. package/DeviceInput/InputDevices/inputInterfaces.js.map +1 -0
  138. package/DeviceInput/InputDevices/internalDeviceSourceManager.d.ts +51 -0
  139. package/DeviceInput/InputDevices/internalDeviceSourceManager.js +138 -0
  140. package/DeviceInput/InputDevices/internalDeviceSourceManager.js.map +1 -0
  141. package/DeviceInput/{Implementations → InputDevices}/nativeDeviceInputSystem.d.ts +3 -7
  142. package/DeviceInput/{Implementations → InputDevices}/nativeDeviceInputSystem.js +11 -16
  143. package/DeviceInput/InputDevices/nativeDeviceInputSystem.js.map +1 -0
  144. package/DeviceInput/{Implementations → InputDevices}/webDeviceInputSystem.d.ts +17 -19
  145. package/DeviceInput/{Implementations → InputDevices}/webDeviceInputSystem.js +212 -166
  146. package/DeviceInput/InputDevices/webDeviceInputSystem.js.map +1 -0
  147. package/DeviceInput/index.d.ts +1 -5
  148. package/DeviceInput/index.js +1 -5
  149. package/DeviceInput/index.js.map +1 -1
  150. package/Engines/Extensions/engine.cubeTexture.d.ts +1 -1
  151. package/Engines/Extensions/engine.cubeTexture.js +6 -2
  152. package/Engines/Extensions/engine.cubeTexture.js.map +1 -1
  153. package/Engines/Extensions/engine.multiview.d.ts +5 -0
  154. package/Engines/Extensions/engine.multiview.js +4 -2
  155. package/Engines/Extensions/engine.multiview.js.map +1 -1
  156. package/Engines/Extensions/engine.query.d.ts +7 -0
  157. package/Engines/Extensions/engine.query.js +12 -0
  158. package/Engines/Extensions/engine.query.js.map +1 -1
  159. package/Engines/Extensions/engine.views.d.ts +7 -0
  160. package/Engines/Extensions/engine.views.js +12 -0
  161. package/Engines/Extensions/engine.views.js.map +1 -1
  162. package/Engines/Native/nativeInterfaces.d.ts +3 -2
  163. package/Engines/Native/nativeInterfaces.js.map +1 -1
  164. package/Engines/Processors/Expressions/shaderDefineExpression.js +1 -1
  165. package/Engines/Processors/Expressions/shaderDefineExpression.js.map +1 -1
  166. package/Engines/Processors/shaderCodeInliner.js +13 -13
  167. package/Engines/Processors/shaderCodeInliner.js.map +1 -1
  168. package/Engines/WebGPU/Extensions/engine.computeShader.js +1 -1
  169. package/Engines/WebGPU/Extensions/engine.computeShader.js.map +1 -1
  170. package/Engines/WebGPU/Extensions/engine.cubeTexture.js +4 -1
  171. package/Engines/WebGPU/Extensions/engine.cubeTexture.js.map +1 -1
  172. package/Engines/WebGPU/webgpuCacheBindGroups.js +9 -9
  173. package/Engines/WebGPU/webgpuCacheBindGroups.js.map +1 -1
  174. package/Engines/WebGPU/webgpuCacheRenderPipeline.js +5 -7
  175. package/Engines/WebGPU/webgpuCacheRenderPipeline.js.map +1 -1
  176. package/Engines/WebGPU/webgpuCacheRenderPipelineTree.d.ts +1 -1
  177. package/Engines/WebGPU/webgpuCacheRenderPipelineTree.js.map +1 -1
  178. package/Engines/WebGPU/webgpuCacheSampler.d.ts +2 -0
  179. package/Engines/WebGPU/webgpuCacheSampler.js +23 -2
  180. package/Engines/WebGPU/webgpuCacheSampler.js.map +1 -1
  181. package/Engines/WebGPU/webgpuComputeContext.js +1 -1
  182. package/Engines/WebGPU/webgpuComputeContext.js.map +1 -1
  183. package/Engines/WebGPU/webgpuConstants.d.ts +2 -1
  184. package/Engines/WebGPU/webgpuConstants.js +1 -0
  185. package/Engines/WebGPU/webgpuConstants.js.map +1 -1
  186. package/Engines/WebGPU/webgpuDrawContext.d.ts +1 -1
  187. package/Engines/WebGPU/webgpuDrawContext.js +3 -3
  188. package/Engines/WebGPU/webgpuDrawContext.js.map +1 -1
  189. package/Engines/WebGPU/webgpuHardwareTexture.d.ts +0 -1
  190. package/Engines/WebGPU/webgpuHardwareTexture.js +0 -3
  191. package/Engines/WebGPU/webgpuHardwareTexture.js.map +1 -1
  192. package/Engines/WebGPU/webgpuPipelineContext.d.ts +0 -8
  193. package/Engines/WebGPU/webgpuPipelineContext.js.map +1 -1
  194. package/Engines/WebGPU/webgpuShaderProcessorsGLSL.js +13 -13
  195. package/Engines/WebGPU/webgpuShaderProcessorsGLSL.js.map +1 -1
  196. package/Engines/WebGPU/webgpuShaderProcessorsWGSL.js +30 -30
  197. package/Engines/WebGPU/webgpuShaderProcessorsWGSL.js.map +1 -1
  198. package/Engines/WebGPU/webgpuTextureHelper.d.ts +0 -1
  199. package/Engines/WebGPU/webgpuTextureHelper.js +22 -37
  200. package/Engines/WebGPU/webgpuTextureHelper.js.map +1 -1
  201. package/Engines/engine.d.ts +48 -33
  202. package/Engines/engine.js +2 -6
  203. package/Engines/engine.js.map +1 -1
  204. package/Engines/engineCapabilities.d.ts +4 -0
  205. package/Engines/engineCapabilities.js.map +1 -1
  206. package/Engines/index.d.ts +1 -0
  207. package/Engines/index.js +1 -0
  208. package/Engines/index.js.map +1 -1
  209. package/Engines/nativeEngine.d.ts +1 -0
  210. package/Engines/nativeEngine.js +40 -12
  211. package/Engines/nativeEngine.js.map +1 -1
  212. package/Engines/nullEngine.js +3 -1
  213. package/Engines/nullEngine.js.map +1 -1
  214. package/Engines/renderTargetWrapper.d.ts +8 -0
  215. package/Engines/renderTargetWrapper.js +20 -0
  216. package/Engines/renderTargetWrapper.js.map +1 -1
  217. package/Engines/thinEngine.d.ts +18 -2
  218. package/Engines/thinEngine.js +51 -21
  219. package/Engines/thinEngine.js.map +1 -1
  220. package/Engines/webgpuEngine.d.ts +3 -7
  221. package/Engines/webgpuEngine.js +43 -42
  222. package/Engines/webgpuEngine.js.map +1 -1
  223. package/Events/keyboardEvents.d.ts +7 -1
  224. package/Events/keyboardEvents.js +11 -1
  225. package/Events/keyboardEvents.js.map +1 -1
  226. package/Gamepads/Controllers/daydreamController.js +1 -1
  227. package/Gamepads/Controllers/daydreamController.js.map +1 -1
  228. package/Gamepads/Controllers/oculusTouchController.js +2 -2
  229. package/Gamepads/Controllers/oculusTouchController.js.map +1 -1
  230. package/Gamepads/Controllers/webVRController.d.ts +1 -0
  231. package/Gamepads/Controllers/webVRController.js +1 -0
  232. package/Gamepads/Controllers/webVRController.js.map +1 -1
  233. package/Gamepads/gamepadManager.js +1 -1
  234. package/Gamepads/gamepadManager.js.map +1 -1
  235. package/Gizmos/boundingBoxGizmo.js +0 -10
  236. package/Gizmos/boundingBoxGizmo.js.map +1 -1
  237. package/Gizmos/gizmo.js +1 -1
  238. package/Gizmos/gizmo.js.map +1 -1
  239. package/Gizmos/gizmoManager.d.ts +2 -0
  240. package/Gizmos/gizmoManager.js +28 -24
  241. package/Gizmos/gizmoManager.js.map +1 -1
  242. package/Helpers/sceneHelpers.d.ts +1 -0
  243. package/Helpers/sceneHelpers.js.map +1 -1
  244. package/Inputs/scene.inputManager.d.ts +2 -3
  245. package/Inputs/scene.inputManager.js +14 -16
  246. package/Inputs/scene.inputManager.js.map +1 -1
  247. package/Instrumentation/sceneInstrumentation.js +2 -2
  248. package/Instrumentation/sceneInstrumentation.js.map +1 -1
  249. package/Layers/effectLayer.d.ts +2 -1
  250. package/Layers/effectLayer.js +25 -1
  251. package/Layers/effectLayer.js.map +1 -1
  252. package/Layers/effectLayerSceneComponent.d.ts +1 -1
  253. package/Layers/effectLayerSceneComponent.js +7 -3
  254. package/Layers/effectLayerSceneComponent.js.map +1 -1
  255. package/Layers/glowLayer.d.ts +1 -1
  256. package/Layers/glowLayer.js.map +1 -1
  257. package/Layers/highlightLayer.d.ts +1 -1
  258. package/Layers/highlightLayer.js +2 -1
  259. package/Layers/highlightLayer.js.map +1 -1
  260. package/Layers/layer.d.ts +2 -2
  261. package/Layers/layer.js.map +1 -1
  262. package/Layers/layerSceneComponent.d.ts +1 -1
  263. package/Layers/layerSceneComponent.js +7 -3
  264. package/Layers/layerSceneComponent.js.map +1 -1
  265. package/Lights/Shadows/cascadedShadowGenerator.js +2 -2
  266. package/Lights/Shadows/cascadedShadowGenerator.js.map +1 -1
  267. package/Lights/Shadows/shadowGenerator.js +7 -7
  268. package/Lights/Shadows/shadowGenerator.js.map +1 -1
  269. package/Loading/Plugins/babylonFileLoader.js +115 -37
  270. package/Loading/Plugins/babylonFileLoader.js.map +1 -1
  271. package/Loading/loadingScreen.js +8 -8
  272. package/Loading/loadingScreen.js.map +1 -1
  273. package/Loading/sceneLoader.js +7 -6
  274. package/Loading/sceneLoader.js.map +1 -1
  275. package/Materials/Background/backgroundMaterial.d.ts +1 -1
  276. package/Materials/Background/backgroundMaterial.js.map +1 -1
  277. package/Materials/Node/Blocks/Dual/clipPlanesBlock.d.ts +37 -0
  278. package/Materials/Node/Blocks/Dual/clipPlanesBlock.js +117 -0
  279. package/Materials/Node/Blocks/Dual/clipPlanesBlock.js.map +1 -0
  280. package/Materials/Node/Blocks/Dual/currentScreenBlock.js +12 -12
  281. package/Materials/Node/Blocks/Dual/currentScreenBlock.js.map +1 -1
  282. package/Materials/Node/Blocks/Dual/fogBlock.js +5 -5
  283. package/Materials/Node/Blocks/Dual/fogBlock.js.map +1 -1
  284. package/Materials/Node/Blocks/Dual/imageSourceBlock.js +13 -13
  285. package/Materials/Node/Blocks/Dual/imageSourceBlock.js.map +1 -1
  286. package/Materials/Node/Blocks/Dual/index.d.ts +1 -0
  287. package/Materials/Node/Blocks/Dual/index.js +1 -0
  288. package/Materials/Node/Blocks/Dual/index.js.map +1 -1
  289. package/Materials/Node/Blocks/Dual/lightBlock.js +10 -10
  290. package/Materials/Node/Blocks/Dual/lightBlock.js.map +1 -1
  291. package/Materials/Node/Blocks/Dual/reflectionTextureBaseBlock.js +28 -28
  292. package/Materials/Node/Blocks/Dual/reflectionTextureBaseBlock.js.map +1 -1
  293. package/Materials/Node/Blocks/Dual/reflectionTextureBlock.js +1 -1
  294. package/Materials/Node/Blocks/Dual/reflectionTextureBlock.js.map +1 -1
  295. package/Materials/Node/Blocks/Dual/sceneDepthBlock.js +7 -7
  296. package/Materials/Node/Blocks/Dual/sceneDepthBlock.js.map +1 -1
  297. package/Materials/Node/Blocks/Dual/textureBlock.js +32 -32
  298. package/Materials/Node/Blocks/Dual/textureBlock.js.map +1 -1
  299. package/Materials/Node/Blocks/Fragment/derivativeBlock.js +2 -2
  300. package/Materials/Node/Blocks/Fragment/derivativeBlock.js.map +1 -1
  301. package/Materials/Node/Blocks/Fragment/discardBlock.js +1 -1
  302. package/Materials/Node/Blocks/Fragment/discardBlock.js.map +1 -1
  303. package/Materials/Node/Blocks/Fragment/fragCoordBlock.js +1 -1
  304. package/Materials/Node/Blocks/Fragment/fragCoordBlock.js.map +1 -1
  305. package/Materials/Node/Blocks/Fragment/fragmentOutputBlock.js +10 -10
  306. package/Materials/Node/Blocks/Fragment/fragmentOutputBlock.js.map +1 -1
  307. package/Materials/Node/Blocks/Fragment/imageProcessingBlock.js +7 -7
  308. package/Materials/Node/Blocks/Fragment/imageProcessingBlock.js.map +1 -1
  309. package/Materials/Node/Blocks/Fragment/perturbNormalBlock.js +12 -12
  310. package/Materials/Node/Blocks/Fragment/perturbNormalBlock.js.map +1 -1
  311. package/Materials/Node/Blocks/Fragment/screenSizeBlock.js +1 -1
  312. package/Materials/Node/Blocks/Fragment/screenSizeBlock.js.map +1 -1
  313. package/Materials/Node/Blocks/Fragment/screenSpaceBlock.js +7 -7
  314. package/Materials/Node/Blocks/Fragment/screenSpaceBlock.js.map +1 -1
  315. package/Materials/Node/Blocks/Fragment/twirlBlock.js +4 -4
  316. package/Materials/Node/Blocks/Fragment/twirlBlock.js.map +1 -1
  317. package/Materials/Node/Blocks/Input/inputBlock.d.ts +2 -1
  318. package/Materials/Node/Blocks/Input/inputBlock.js +29 -24
  319. package/Materials/Node/Blocks/Input/inputBlock.js.map +1 -1
  320. package/Materials/Node/Blocks/PBR/anisotropyBlock.js +5 -5
  321. package/Materials/Node/Blocks/PBR/anisotropyBlock.js.map +1 -1
  322. package/Materials/Node/Blocks/PBR/clearCoatBlock.js +5 -5
  323. package/Materials/Node/Blocks/PBR/clearCoatBlock.js.map +1 -1
  324. package/Materials/Node/Blocks/PBR/pbrMetallicRoughnessBlock.js +33 -33
  325. package/Materials/Node/Blocks/PBR/pbrMetallicRoughnessBlock.js.map +1 -1
  326. package/Materials/Node/Blocks/PBR/reflectionBlock.js +11 -11
  327. package/Materials/Node/Blocks/PBR/reflectionBlock.js.map +1 -1
  328. package/Materials/Node/Blocks/PBR/refractionBlock.js +11 -11
  329. package/Materials/Node/Blocks/PBR/refractionBlock.js.map +1 -1
  330. package/Materials/Node/Blocks/PBR/sheenBlock.js +3 -3
  331. package/Materials/Node/Blocks/PBR/sheenBlock.js.map +1 -1
  332. package/Materials/Node/Blocks/PBR/subSurfaceBlock.js +1 -1
  333. package/Materials/Node/Blocks/PBR/subSurfaceBlock.js.map +1 -1
  334. package/Materials/Node/Blocks/Particle/particleBlendMultiplyBlock.js +1 -1
  335. package/Materials/Node/Blocks/Particle/particleBlendMultiplyBlock.js.map +1 -1
  336. package/Materials/Node/Blocks/Particle/particleRampGradientBlock.js +1 -1
  337. package/Materials/Node/Blocks/Particle/particleRampGradientBlock.js.map +1 -1
  338. package/Materials/Node/Blocks/Particle/particleTextureBlock.js +7 -7
  339. package/Materials/Node/Blocks/Particle/particleTextureBlock.js.map +1 -1
  340. package/Materials/Node/Blocks/Vertex/bonesBlock.js +3 -3
  341. package/Materials/Node/Blocks/Vertex/bonesBlock.js.map +1 -1
  342. package/Materials/Node/Blocks/Vertex/instancesBlock.js +3 -3
  343. package/Materials/Node/Blocks/Vertex/instancesBlock.js.map +1 -1
  344. package/Materials/Node/Blocks/Vertex/lightInformationBlock.js +5 -5
  345. package/Materials/Node/Blocks/Vertex/lightInformationBlock.js.map +1 -1
  346. package/Materials/Node/Blocks/Vertex/morphTargetsBlock.js +16 -16
  347. package/Materials/Node/Blocks/Vertex/morphTargetsBlock.js.map +1 -1
  348. package/Materials/Node/Blocks/Vertex/vertexOutputBlock.js +1 -1
  349. package/Materials/Node/Blocks/Vertex/vertexOutputBlock.js.map +1 -1
  350. package/Materials/Node/Blocks/addBlock.js +1 -1
  351. package/Materials/Node/Blocks/addBlock.js.map +1 -1
  352. package/Materials/Node/Blocks/arcTan2Block.js +1 -1
  353. package/Materials/Node/Blocks/arcTan2Block.js.map +1 -1
  354. package/Materials/Node/Blocks/clampBlock.js +3 -3
  355. package/Materials/Node/Blocks/clampBlock.js.map +1 -1
  356. package/Materials/Node/Blocks/cloudBlock.js +7 -7
  357. package/Materials/Node/Blocks/cloudBlock.js.map +1 -1
  358. package/Materials/Node/Blocks/colorMergerBlock.js +8 -8
  359. package/Materials/Node/Blocks/colorMergerBlock.js.map +1 -1
  360. package/Materials/Node/Blocks/colorSplitterBlock.js +5 -5
  361. package/Materials/Node/Blocks/colorSplitterBlock.js.map +1 -1
  362. package/Materials/Node/Blocks/conditionalBlock.js +10 -10
  363. package/Materials/Node/Blocks/conditionalBlock.js.map +1 -1
  364. package/Materials/Node/Blocks/crossBlock.js +1 -1
  365. package/Materials/Node/Blocks/crossBlock.js.map +1 -1
  366. package/Materials/Node/Blocks/customBlock.js +1 -1
  367. package/Materials/Node/Blocks/customBlock.js.map +1 -1
  368. package/Materials/Node/Blocks/desaturateBlock.js +4 -4
  369. package/Materials/Node/Blocks/desaturateBlock.js.map +1 -1
  370. package/Materials/Node/Blocks/distanceBlock.js +1 -1
  371. package/Materials/Node/Blocks/distanceBlock.js.map +1 -1
  372. package/Materials/Node/Blocks/divideBlock.js +1 -1
  373. package/Materials/Node/Blocks/divideBlock.js.map +1 -1
  374. package/Materials/Node/Blocks/dotBlock.js +1 -1
  375. package/Materials/Node/Blocks/dotBlock.js.map +1 -1
  376. package/Materials/Node/Blocks/elbowBlock.d.ts +27 -0
  377. package/Materials/Node/Blocks/elbowBlock.js +60 -0
  378. package/Materials/Node/Blocks/elbowBlock.js.map +1 -0
  379. package/Materials/Node/Blocks/fresnelBlock.js +2 -2
  380. package/Materials/Node/Blocks/fresnelBlock.js.map +1 -1
  381. package/Materials/Node/Blocks/gradientBlock.js +8 -8
  382. package/Materials/Node/Blocks/gradientBlock.js.map +1 -1
  383. package/Materials/Node/Blocks/index.d.ts +1 -0
  384. package/Materials/Node/Blocks/index.js +1 -0
  385. package/Materials/Node/Blocks/index.js.map +1 -1
  386. package/Materials/Node/Blocks/lengthBlock.js +1 -1
  387. package/Materials/Node/Blocks/lengthBlock.js.map +1 -1
  388. package/Materials/Node/Blocks/lerpBlock.js +1 -1
  389. package/Materials/Node/Blocks/lerpBlock.js.map +1 -1
  390. package/Materials/Node/Blocks/matrixBuilderBlock.js +1 -1
  391. package/Materials/Node/Blocks/matrixBuilderBlock.js.map +1 -1
  392. package/Materials/Node/Blocks/maxBlock.js +1 -1
  393. package/Materials/Node/Blocks/maxBlock.js.map +1 -1
  394. package/Materials/Node/Blocks/minBlock.js +1 -1
  395. package/Materials/Node/Blocks/minBlock.js.map +1 -1
  396. package/Materials/Node/Blocks/modBlock.js +1 -1
  397. package/Materials/Node/Blocks/modBlock.js.map +1 -1
  398. package/Materials/Node/Blocks/multiplyBlock.js +1 -1
  399. package/Materials/Node/Blocks/multiplyBlock.js.map +1 -1
  400. package/Materials/Node/Blocks/nLerpBlock.js +1 -1
  401. package/Materials/Node/Blocks/nLerpBlock.js.map +1 -1
  402. package/Materials/Node/Blocks/negateBlock.js +1 -1
  403. package/Materials/Node/Blocks/negateBlock.js.map +1 -1
  404. package/Materials/Node/Blocks/normalBlendBlock.js +5 -5
  405. package/Materials/Node/Blocks/normalBlendBlock.js.map +1 -1
  406. package/Materials/Node/Blocks/normalizeBlock.js +1 -1
  407. package/Materials/Node/Blocks/normalizeBlock.js.map +1 -1
  408. package/Materials/Node/Blocks/oneMinusBlock.js +1 -1
  409. package/Materials/Node/Blocks/oneMinusBlock.js.map +1 -1
  410. package/Materials/Node/Blocks/posterizeBlock.js +1 -1
  411. package/Materials/Node/Blocks/posterizeBlock.js.map +1 -1
  412. package/Materials/Node/Blocks/powBlock.js +1 -1
  413. package/Materials/Node/Blocks/powBlock.js.map +1 -1
  414. package/Materials/Node/Blocks/randomNumberBlock.js +2 -2
  415. package/Materials/Node/Blocks/randomNumberBlock.js.map +1 -1
  416. package/Materials/Node/Blocks/reciprocalBlock.js +1 -1
  417. package/Materials/Node/Blocks/reciprocalBlock.js.map +1 -1
  418. package/Materials/Node/Blocks/reflectBlock.js +1 -1
  419. package/Materials/Node/Blocks/reflectBlock.js.map +1 -1
  420. package/Materials/Node/Blocks/refractBlock.js +1 -1
  421. package/Materials/Node/Blocks/refractBlock.js.map +1 -1
  422. package/Materials/Node/Blocks/remapBlock.js +3 -3
  423. package/Materials/Node/Blocks/remapBlock.js.map +1 -1
  424. package/Materials/Node/Blocks/replaceColorBlock.js +3 -3
  425. package/Materials/Node/Blocks/replaceColorBlock.js.map +1 -1
  426. package/Materials/Node/Blocks/rotate2dBlock.js +1 -1
  427. package/Materials/Node/Blocks/rotate2dBlock.js.map +1 -1
  428. package/Materials/Node/Blocks/scaleBlock.js +1 -1
  429. package/Materials/Node/Blocks/scaleBlock.js.map +1 -1
  430. package/Materials/Node/Blocks/simplexPerlin3DBlock.js +1 -1
  431. package/Materials/Node/Blocks/simplexPerlin3DBlock.js.map +1 -1
  432. package/Materials/Node/Blocks/smoothStepBlock.js +1 -1
  433. package/Materials/Node/Blocks/smoothStepBlock.js.map +1 -1
  434. package/Materials/Node/Blocks/stepBlock.js +1 -1
  435. package/Materials/Node/Blocks/stepBlock.js.map +1 -1
  436. package/Materials/Node/Blocks/subtractBlock.js +1 -1
  437. package/Materials/Node/Blocks/subtractBlock.js.map +1 -1
  438. package/Materials/Node/Blocks/transformBlock.js +13 -13
  439. package/Materials/Node/Blocks/transformBlock.js.map +1 -1
  440. package/Materials/Node/Blocks/trigonometryBlock.js +2 -2
  441. package/Materials/Node/Blocks/trigonometryBlock.js.map +1 -1
  442. package/Materials/Node/Blocks/vectorMergerBlock.js +22 -22
  443. package/Materials/Node/Blocks/vectorMergerBlock.js.map +1 -1
  444. package/Materials/Node/Blocks/vectorSplitterBlock.js +8 -8
  445. package/Materials/Node/Blocks/vectorSplitterBlock.js.map +1 -1
  446. package/Materials/Node/Blocks/viewDirectionBlock.js +1 -1
  447. package/Materials/Node/Blocks/viewDirectionBlock.js.map +1 -1
  448. package/Materials/Node/Blocks/voronoiNoiseBlock.js +5 -5
  449. package/Materials/Node/Blocks/voronoiNoiseBlock.js.map +1 -1
  450. package/Materials/Node/Blocks/waveBlock.js +3 -3
  451. package/Materials/Node/Blocks/waveBlock.js.map +1 -1
  452. package/Materials/Node/Blocks/worleyNoise3DBlock.js +5 -5
  453. package/Materials/Node/Blocks/worleyNoise3DBlock.js.map +1 -1
  454. package/Materials/Node/Enums/nodeMaterialSystemValues.d.ts +3 -1
  455. package/Materials/Node/Enums/nodeMaterialSystemValues.js +2 -0
  456. package/Materials/Node/Enums/nodeMaterialSystemValues.js.map +1 -1
  457. package/Materials/Node/nodeMaterial.d.ts +4 -0
  458. package/Materials/Node/nodeMaterial.js +22 -11
  459. package/Materials/Node/nodeMaterial.js.map +1 -1
  460. package/Materials/Node/nodeMaterialBlock.js +12 -12
  461. package/Materials/Node/nodeMaterialBlock.js.map +1 -1
  462. package/Materials/Node/nodeMaterialBuildState.js +24 -24
  463. package/Materials/Node/nodeMaterialBuildState.js.map +1 -1
  464. package/Materials/Node/nodeMaterialBuildStateSharedData.js +1 -1
  465. package/Materials/Node/nodeMaterialBuildStateSharedData.js.map +1 -1
  466. package/Materials/PBR/pbrBaseMaterial.d.ts +2 -1
  467. package/Materials/PBR/pbrBaseMaterial.js +4 -3
  468. package/Materials/PBR/pbrBaseMaterial.js.map +1 -1
  469. package/Materials/PBR/pbrBaseSimpleMaterial.d.ts +1 -1
  470. package/Materials/PBR/pbrBaseSimpleMaterial.js.map +1 -1
  471. package/Materials/PBR/pbrMaterial.d.ts +1 -1
  472. package/Materials/PBR/pbrMaterial.js +2 -3
  473. package/Materials/PBR/pbrMaterial.js.map +1 -1
  474. package/Materials/PBR/pbrMetallicRoughnessMaterial.d.ts +1 -1
  475. package/Materials/PBR/pbrMetallicRoughnessMaterial.js.map +1 -1
  476. package/Materials/PBR/pbrSpecularGlossinessMaterial.d.ts +1 -1
  477. package/Materials/PBR/pbrSpecularGlossinessMaterial.js.map +1 -1
  478. package/Materials/Textures/Loaders/ddsTextureLoader.js +8 -1
  479. package/Materials/Textures/Loaders/ddsTextureLoader.js.map +1 -1
  480. package/Materials/Textures/Loaders/ktxTextureLoader.js +2 -2
  481. package/Materials/Textures/Loaders/ktxTextureLoader.js.map +1 -1
  482. package/Materials/Textures/MultiviewRenderTarget.d.ts +2 -1
  483. package/Materials/Textures/MultiviewRenderTarget.js +10 -2
  484. package/Materials/Textures/MultiviewRenderTarget.js.map +1 -1
  485. package/Materials/Textures/Procedurals/proceduralTexture.js +1 -1
  486. package/Materials/Textures/Procedurals/proceduralTexture.js.map +1 -1
  487. package/Materials/Textures/baseTexture.d.ts +1 -1
  488. package/Materials/Textures/baseTexture.js.map +1 -1
  489. package/Materials/Textures/dynamicTexture.d.ts +1 -1
  490. package/Materials/Textures/dynamicTexture.js.map +1 -1
  491. package/Materials/Textures/equiRectangularCubeTexture.js +1 -1
  492. package/Materials/Textures/equiRectangularCubeTexture.js.map +1 -1
  493. package/Materials/Textures/internalTexture.d.ts +2 -0
  494. package/Materials/Textures/internalTexture.js +2 -0
  495. package/Materials/Textures/internalTexture.js.map +1 -1
  496. package/Materials/Textures/mirrorTexture.d.ts +2 -2
  497. package/Materials/Textures/mirrorTexture.js +7 -3
  498. package/Materials/Textures/mirrorTexture.js.map +1 -1
  499. package/Materials/Textures/multiRenderTarget.d.ts +1 -1
  500. package/Materials/Textures/multiRenderTarget.js.map +1 -1
  501. package/Materials/Textures/prePassRenderTarget.d.ts +1 -1
  502. package/Materials/Textures/prePassRenderTarget.js.map +1 -1
  503. package/Materials/Textures/refractionTexture.d.ts +1 -1
  504. package/Materials/Textures/refractionTexture.js +2 -2
  505. package/Materials/Textures/refractionTexture.js.map +1 -1
  506. package/Materials/Textures/renderTargetTexture.d.ts +1 -1
  507. package/Materials/Textures/renderTargetTexture.js +2 -2
  508. package/Materials/Textures/renderTargetTexture.js.map +1 -1
  509. package/Materials/Textures/texture.d.ts +1 -1
  510. package/Materials/Textures/texture.js +5 -5
  511. package/Materials/Textures/texture.js.map +1 -1
  512. package/Materials/Textures/videoTexture.js +1 -0
  513. package/Materials/Textures/videoTexture.js.map +1 -1
  514. package/Materials/effect.js +3 -3
  515. package/Materials/effect.js.map +1 -1
  516. package/Materials/material.d.ts +3 -1
  517. package/Materials/material.js +11 -3
  518. package/Materials/material.js.map +1 -1
  519. package/Materials/materialHelper.js +9 -1
  520. package/Materials/materialHelper.js.map +1 -1
  521. package/Materials/materialPluginManager.js +3 -3
  522. package/Materials/materialPluginManager.js.map +1 -1
  523. package/Materials/multiMaterial.d.ts +3 -1
  524. package/Materials/multiMaterial.js +13 -11
  525. package/Materials/multiMaterial.js.map +1 -1
  526. package/Materials/pushMaterial.d.ts +1 -1
  527. package/Materials/pushMaterial.js.map +1 -1
  528. package/Materials/shaderMaterial.js +8 -4
  529. package/Materials/shaderMaterial.js.map +1 -1
  530. package/Materials/shadowDepthWrapper.d.ts +1 -1
  531. package/Materials/shadowDepthWrapper.js +3 -3
  532. package/Materials/shadowDepthWrapper.js.map +1 -1
  533. package/Materials/standardMaterial.d.ts +2 -6
  534. package/Materials/standardMaterial.js +5 -10
  535. package/Materials/standardMaterial.js.map +1 -1
  536. package/Maths/math.path.d.ts +1 -0
  537. package/Maths/math.path.js +1 -0
  538. package/Maths/math.path.js.map +1 -1
  539. package/Maths/math.size.js +1 -1
  540. package/Maths/math.size.js.map +1 -1
  541. package/Maths/math.vector.d.ts +5 -2
  542. package/Maths/math.vector.js +66 -47
  543. package/Maths/math.vector.js.map +1 -1
  544. package/Meshes/Builders/boxBuilder.js +5 -4
  545. package/Meshes/Builders/boxBuilder.js.map +1 -1
  546. package/Meshes/Builders/capsuleBuilder.js +4 -3
  547. package/Meshes/Builders/capsuleBuilder.js.map +1 -1
  548. package/Meshes/Builders/cylinderBuilder.d.ts +1 -1
  549. package/Meshes/Builders/cylinderBuilder.js +11 -8
  550. package/Meshes/Builders/cylinderBuilder.js.map +1 -1
  551. package/Meshes/Builders/decalBuilder.js +5 -2
  552. package/Meshes/Builders/decalBuilder.js.map +1 -1
  553. package/Meshes/Builders/discBuilder.js +3 -2
  554. package/Meshes/Builders/discBuilder.js.map +1 -1
  555. package/Meshes/Builders/geodesicBuilder.d.ts +1 -0
  556. package/Meshes/Builders/geodesicBuilder.js +1 -0
  557. package/Meshes/Builders/geodesicBuilder.js.map +1 -1
  558. package/Meshes/Builders/goldbergBuilder.d.ts +1 -0
  559. package/Meshes/Builders/goldbergBuilder.js +11 -1
  560. package/Meshes/Builders/goldbergBuilder.js.map +1 -1
  561. package/Meshes/Builders/groundBuilder.js +2 -1
  562. package/Meshes/Builders/groundBuilder.js.map +1 -1
  563. package/Meshes/Builders/icoSphereBuilder.js +2 -1
  564. package/Meshes/Builders/icoSphereBuilder.js.map +1 -1
  565. package/Meshes/Builders/linesBuilder.js.map +1 -1
  566. package/Meshes/Builders/planeBuilder.js +5 -4
  567. package/Meshes/Builders/planeBuilder.js.map +1 -1
  568. package/Meshes/Builders/polygonBuilder.js +8 -3
  569. package/Meshes/Builders/polygonBuilder.js.map +1 -1
  570. package/Meshes/Builders/polyhedronBuilder.js +3 -2
  571. package/Meshes/Builders/polyhedronBuilder.js.map +1 -1
  572. package/Meshes/Builders/ribbonBuilder.js +4 -3
  573. package/Meshes/Builders/ribbonBuilder.js.map +1 -1
  574. package/Meshes/Builders/sphereBuilder.js +2 -1
  575. package/Meshes/Builders/sphereBuilder.js.map +1 -1
  576. package/Meshes/Builders/tiledBoxBuilder.d.ts +30 -11
  577. package/Meshes/Builders/tiledBoxBuilder.js +34 -11
  578. package/Meshes/Builders/tiledBoxBuilder.js.map +1 -1
  579. package/Meshes/Builders/tiledPlaneBuilder.d.ts +21 -16
  580. package/Meshes/Builders/tiledPlaneBuilder.js +21 -16
  581. package/Meshes/Builders/tiledPlaneBuilder.js.map +1 -1
  582. package/Meshes/Builders/torusBuilder.js +2 -1
  583. package/Meshes/Builders/torusBuilder.js.map +1 -1
  584. package/Meshes/Builders/torusKnotBuilder.js +2 -1
  585. package/Meshes/Builders/torusKnotBuilder.js.map +1 -1
  586. package/Meshes/Compression/dracoCompression.d.ts +3 -0
  587. package/Meshes/Compression/dracoCompression.js +23 -7
  588. package/Meshes/Compression/dracoCompression.js.map +1 -1
  589. package/Meshes/abstractMesh.d.ts +14 -2
  590. package/Meshes/abstractMesh.js +51 -33
  591. package/Meshes/abstractMesh.js.map +1 -1
  592. package/Meshes/geometry.d.ts +1 -1
  593. package/Meshes/geometry.js +38 -3
  594. package/Meshes/geometry.js.map +1 -1
  595. package/Meshes/groundMesh.d.ts +1 -1
  596. package/Meshes/groundMesh.js.map +1 -1
  597. package/Meshes/instancedMesh.js +5 -6
  598. package/Meshes/instancedMesh.js.map +1 -1
  599. package/Meshes/mesh.d.ts +1 -1
  600. package/Meshes/mesh.js +53 -36
  601. package/Meshes/mesh.js.map +1 -1
  602. package/Meshes/mesh.lts.d.ts +1 -1
  603. package/Meshes/mesh.lts.js.map +1 -1
  604. package/Meshes/mesh.vertexData.d.ts +2 -2
  605. package/Meshes/mesh.vertexData.js +4 -3
  606. package/Meshes/mesh.vertexData.js.map +1 -1
  607. package/Meshes/polygonMesh.js +2 -2
  608. package/Meshes/polygonMesh.js.map +1 -1
  609. package/Meshes/subMesh.js +1 -2
  610. package/Meshes/subMesh.js.map +1 -1
  611. package/Meshes/subMesh.project.js +1 -2
  612. package/Meshes/subMesh.project.js.map +1 -1
  613. package/Meshes/thinInstanceMesh.js +5 -0
  614. package/Meshes/thinInstanceMesh.js.map +1 -1
  615. package/Meshes/trailMesh.d.ts +1 -1
  616. package/Meshes/trailMesh.js.map +1 -1
  617. package/Meshes/transformNode.js +40 -13
  618. package/Meshes/transformNode.js.map +1 -1
  619. package/Misc/HighDynamicRange/cubemapToSphericalPolynomial.d.ts +5 -0
  620. package/Misc/HighDynamicRange/cubemapToSphericalPolynomial.js +13 -2
  621. package/Misc/HighDynamicRange/cubemapToSphericalPolynomial.js.map +1 -1
  622. package/Misc/PerformanceViewer/performanceViewerCollectionStrategies.js +6 -12
  623. package/Misc/PerformanceViewer/performanceViewerCollectionStrategies.js.map +1 -1
  624. package/Misc/PerformanceViewer/performanceViewerCollector.js +36 -19
  625. package/Misc/PerformanceViewer/performanceViewerCollector.js.map +1 -1
  626. package/Misc/assetsManager.d.ts +2 -1
  627. package/Misc/assetsManager.js +15 -1
  628. package/Misc/assetsManager.js.map +1 -1
  629. package/Misc/basis.js +1 -1
  630. package/Misc/basis.js.map +1 -1
  631. package/Misc/brdfTextureTools.js +4 -1
  632. package/Misc/brdfTextureTools.js.map +1 -1
  633. package/Misc/dds.js +7 -0
  634. package/Misc/dds.js.map +1 -1
  635. package/Misc/decorators.d.ts +1 -1
  636. package/Misc/decorators.js +8 -1
  637. package/Misc/decorators.js.map +1 -1
  638. package/Misc/deepCopier.js +3 -3
  639. package/Misc/deepCopier.js.map +1 -1
  640. package/Misc/devTools.js +1 -1
  641. package/Misc/devTools.js.map +1 -1
  642. package/Misc/environmentTextureTools.js +2 -2
  643. package/Misc/environmentTextureTools.js.map +1 -1
  644. package/Misc/error.d.ts +51 -0
  645. package/Misc/error.js +66 -0
  646. package/Misc/error.js.map +1 -0
  647. package/Misc/fileTools.d.ts +4 -4
  648. package/Misc/fileTools.js +14 -12
  649. package/Misc/fileTools.js.map +1 -1
  650. package/Misc/index.d.ts +2 -0
  651. package/Misc/index.js +2 -0
  652. package/Misc/index.js.map +1 -1
  653. package/Misc/khronosTextureContainer2.js +4 -3
  654. package/Misc/khronosTextureContainer2.js.map +1 -1
  655. package/Misc/reflector.js +6 -6
  656. package/Misc/reflector.js.map +1 -1
  657. package/Misc/tools.js +15 -13
  658. package/Misc/tools.js.map +1 -1
  659. package/Misc/uniqueIdGenerator.js +1 -1
  660. package/Misc/uniqueIdGenerator.js.map +1 -1
  661. package/Offline/database.js +1 -1
  662. package/Offline/database.js.map +1 -1
  663. package/Particles/baseParticleSystem.d.ts +4 -1
  664. package/Particles/baseParticleSystem.js +20 -5
  665. package/Particles/baseParticleSystem.js.map +1 -1
  666. package/Particles/gpuParticleSystem.js +2 -1
  667. package/Particles/gpuParticleSystem.js.map +1 -1
  668. package/Particles/particleHelper.js +2 -2
  669. package/Particles/particleHelper.js.map +1 -1
  670. package/Particles/particleSystem.js +7 -1
  671. package/Particles/particleSystem.js.map +1 -1
  672. package/Physics/Plugins/ammoJSPlugin.d.ts +5 -1
  673. package/Physics/Plugins/ammoJSPlugin.js +16 -11
  674. package/Physics/Plugins/ammoJSPlugin.js.map +1 -1
  675. package/Physics/physicsEngine.d.ts +1 -0
  676. package/Physics/physicsEngine.js +3 -1
  677. package/Physics/physicsEngine.js.map +1 -1
  678. package/Physics/physicsImpostor.d.ts +2 -2
  679. package/Physics/physicsImpostor.js.map +1 -1
  680. package/PostProcesses/blurPostProcess.js +5 -5
  681. package/PostProcesses/blurPostProcess.js.map +1 -1
  682. package/PostProcesses/imageProcessingPostProcess.js +1 -1
  683. package/PostProcesses/imageProcessingPostProcess.js.map +1 -1
  684. package/PostProcesses/postProcess.js +1 -1
  685. package/PostProcesses/postProcess.js.map +1 -1
  686. package/PostProcesses/postProcessManager.js +2 -2
  687. package/PostProcesses/postProcessManager.js.map +1 -1
  688. package/Probes/reflectionProbe.js +2 -2
  689. package/Probes/reflectionProbe.js.map +1 -1
  690. package/Rendering/depthPeelingRenderer.js +3 -3
  691. package/Rendering/depthPeelingRenderer.js.map +1 -1
  692. package/Rendering/geometryBufferRenderer.js +8 -8
  693. package/Rendering/geometryBufferRenderer.js.map +1 -1
  694. package/Rendering/outlineRenderer.js +1 -1
  695. package/Rendering/outlineRenderer.js.map +1 -1
  696. package/Rendering/subSurfaceConfiguration.js +1 -1
  697. package/Rendering/subSurfaceConfiguration.js.map +1 -1
  698. package/Rendering/utilityLayerRenderer.js +4 -0
  699. package/Rendering/utilityLayerRenderer.js.map +1 -1
  700. package/Shaders/ShadersInclude/instancesDeclaration.js +1 -1
  701. package/Shaders/ShadersInclude/instancesDeclaration.js.map +1 -1
  702. package/Shaders/ShadersInclude/pbrBlockAlbedoOpacity.js +1 -1
  703. package/Shaders/ShadersInclude/pbrBlockAlbedoOpacity.js.map +1 -1
  704. package/Shaders/ShadersInclude/pbrFragmentExtraDeclaration.js +1 -1
  705. package/Shaders/ShadersInclude/pbrFragmentExtraDeclaration.js.map +1 -1
  706. package/Shaders/ShadersInclude/pointCloudVertex.js +1 -1
  707. package/Shaders/ShadersInclude/pointCloudVertex.js.map +1 -1
  708. package/Shaders/ShadersInclude/prePassVertex.js +1 -1
  709. package/Shaders/ShadersInclude/prePassVertex.js.map +1 -1
  710. package/Shaders/background.vertex.js +1 -1
  711. package/Shaders/background.vertex.js.map +1 -1
  712. package/Shaders/color.fragment.js +1 -1
  713. package/Shaders/color.fragment.js.map +1 -1
  714. package/Shaders/color.vertex.js +1 -1
  715. package/Shaders/color.vertex.js.map +1 -1
  716. package/Shaders/default.fragment.js +1 -1
  717. package/Shaders/default.fragment.js.map +1 -1
  718. package/Shaders/default.vertex.js +1 -1
  719. package/Shaders/default.vertex.js.map +1 -1
  720. package/Shaders/geometry.vertex.js +1 -1
  721. package/Shaders/geometry.vertex.js.map +1 -1
  722. package/Shaders/pbr.fragment.js +1 -1
  723. package/Shaders/pbr.fragment.js.map +1 -1
  724. package/Shaders/pbr.vertex.js +1 -1
  725. package/Shaders/pbr.vertex.js.map +1 -1
  726. package/ShadersWGSL/ShadersInclude/instancesDeclaration.js +1 -1
  727. package/ShadersWGSL/ShadersInclude/instancesDeclaration.js.map +1 -1
  728. package/ShadersWGSL/gpuUpdateParticles.compute.js +1 -1
  729. package/ShadersWGSL/gpuUpdateParticles.compute.js.map +1 -1
  730. package/Sprites/spriteManager.js +9 -10
  731. package/Sprites/spriteManager.js.map +1 -1
  732. package/Sprites/spriteMap.js +2 -2
  733. package/Sprites/spriteMap.js.map +1 -1
  734. package/Sprites/spriteRenderer.js +1 -1
  735. package/Sprites/spriteRenderer.js.map +1 -1
  736. package/XR/features/WebXRControllerPointerSelection.js +15 -9
  737. package/XR/features/WebXRControllerPointerSelection.js.map +1 -1
  738. package/XR/features/WebXRDOMOverlay.js +1 -1
  739. package/XR/features/WebXRDOMOverlay.js.map +1 -1
  740. package/XR/features/WebXRHandTracking.js +30 -30
  741. package/XR/features/WebXRHandTracking.js.map +1 -1
  742. package/XR/features/WebXRImageTracking.js +2 -2
  743. package/XR/features/WebXRImageTracking.js.map +1 -1
  744. package/XR/features/WebXRLayers.d.ts +28 -5
  745. package/XR/features/WebXRLayers.js +54 -20
  746. package/XR/features/WebXRLayers.js.map +1 -1
  747. package/XR/features/WebXRNearInteraction.d.ts +35 -3
  748. package/XR/features/WebXRNearInteraction.js +201 -40
  749. package/XR/features/WebXRNearInteraction.js.map +1 -1
  750. package/XR/motionController/webXRAbstractMotionController.js +1 -1
  751. package/XR/motionController/webXRAbstractMotionController.js.map +1 -1
  752. package/XR/motionController/webXRMotionControllerManager.js +2 -2
  753. package/XR/motionController/webXRMotionControllerManager.js.map +1 -1
  754. package/XR/motionController/webXRProfiledMotionController.js +1 -1
  755. package/XR/motionController/webXRProfiledMotionController.js.map +1 -1
  756. package/XR/webXRCamera.js +17 -4
  757. package/XR/webXRCamera.js.map +1 -1
  758. package/XR/webXRDefaultExperience.js +3 -0
  759. package/XR/webXRDefaultExperience.js.map +1 -1
  760. package/XR/webXREnterExitUI.js +2 -2
  761. package/XR/webXREnterExitUI.js.map +1 -1
  762. package/XR/webXRExperienceHelper.js +3 -2
  763. package/XR/webXRExperienceHelper.js.map +1 -1
  764. package/XR/webXRFeaturesManager.js +6 -6
  765. package/XR/webXRFeaturesManager.js.map +1 -1
  766. package/XR/webXRInputSource.js +3 -3
  767. package/XR/webXRInputSource.js.map +1 -1
  768. package/XR/webXRRenderTargetTextureProvider.d.ts +3 -2
  769. package/XR/webXRRenderTargetTextureProvider.js +37 -18
  770. package/XR/webXRRenderTargetTextureProvider.js.map +1 -1
  771. package/XR/webXRSessionManager.d.ts +1 -0
  772. package/XR/webXRSessionManager.js +7 -2
  773. package/XR/webXRSessionManager.js.map +1 -1
  774. package/assetContainer.d.ts +1 -1
  775. package/assetContainer.js +5 -4
  776. package/assetContainer.js.map +1 -1
  777. package/index.d.ts +1 -0
  778. package/index.js +1 -0
  779. package/index.js.map +1 -1
  780. package/node.d.ts +1 -1
  781. package/node.js.map +1 -1
  782. package/package.json +31 -16
  783. package/scene.d.ts +5 -2
  784. package/scene.js +46 -19
  785. package/scene.js.map +1 -1
  786. package/types.d.ts +1 -1
  787. package/types.js.map +1 -1
  788. package/DeviceInput/Implementations/nativeDeviceInputSystem.js.map +0 -1
  789. package/DeviceInput/Implementations/webDeviceInputSystem.js.map +0 -1
  790. package/DeviceInput/Interfaces/inputInterfaces.js.map +0 -1
  791. package/DeviceInput/deviceInputSystem.d.ts +0 -60
  792. package/DeviceInput/deviceInputSystem.js +0 -84
  793. package/DeviceInput/deviceInputSystem.js.map +0 -1
  794. package/Misc/baseError.d.ts +0 -7
  795. package/Misc/baseError.js +0 -18
  796. package/Misc/baseError.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"stepBlock.js","sourceRoot":"","sources":["../../../../../sourceES6/core/Materials/Node/Blocks/stepBlock.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,qCAAqC,EAAE,MAAM,gDAAgD,CAAC;AAGvG,OAAO,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD;;GAEG;AACH;IAA+B,6BAAiB;IAC5C;;;OAGG;IACH,mBAAmB,IAAY;QAA/B,YACI,kBAAM,IAAI,EAAE,wBAAwB,CAAC,OAAO,CAAC,SAMhD;QAJG,KAAI,CAAC,aAAa,CAAC,OAAO,EAAE,qCAAqC,CAAC,KAAK,CAAC,CAAC;QACzE,KAAI,CAAC,aAAa,CAAC,MAAM,EAAE,qCAAqC,CAAC,KAAK,CAAC,CAAC;QACxE,KAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,qCAAqC,CAAC,KAAK,CAAC,CAAC;;IAE/E,CAAC;IAED;;;OAGG;IACI,gCAAY,GAAnB;QACI,OAAO,WAAW,CAAC;IACvB,CAAC;IAKD,sBAAW,4BAAK;QAHhB;;WAEG;aACH;YACI,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC3B,CAAC;;;OAAA;IAKD,sBAAW,2BAAI;QAHf;;WAEG;aACH;YACI,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC3B,CAAC;;;OAAA;IAKD,sBAAW,6BAAM;QAHjB;;WAEG;aACH;YACI,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC5B,CAAC;;;OAAA;IAES,+BAAW,GAArB,UAAsB,KAA6B;QAC/C,iBAAM,WAAW,YAAC,KAAK,CAAC,CAAC;QAEzB,IAAI,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAE9B,KAAK,CAAC,iBAAiB,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,KAAK,CAAC,IAAG,aAAW,IAAI,CAAC,IAAI,CAAC,sBAAsB,UAAK,IAAI,CAAC,KAAK,CAAC,sBAAsB,WAAQ,CAAA,CAAC;QAE1J,OAAO,IAAI,CAAC;IAChB,CAAC;IACL,gBAAC;AAAD,CAAC,AApDD,CAA+B,iBAAiB,GAoD/C;;AAED,aAAa,CAAC,mBAAmB,EAAE,SAAS,CAAC,CAAC","sourcesContent":["import { NodeMaterialBlock } from '../nodeMaterialBlock';\r\nimport { NodeMaterialBlockConnectionPointTypes } from '../Enums/nodeMaterialBlockConnectionPointTypes';\r\nimport { NodeMaterialBuildState } from '../nodeMaterialBuildState';\r\nimport { NodeMaterialConnectionPoint } from '../nodeMaterialBlockConnectionPoint';\r\nimport { NodeMaterialBlockTargets } from '../Enums/nodeMaterialBlockTargets';\r\nimport { RegisterClass } from '../../../Misc/typeStore';\r\n/**\r\n * Block used to step a value\r\n */\r\nexport class StepBlock extends NodeMaterialBlock {\r\n /**\r\n * Creates a new StepBlock\r\n * @param name defines the block name\r\n */\r\n public constructor(name: string) {\r\n super(name, NodeMaterialBlockTargets.Neutral);\r\n\r\n this.registerInput(\"value\", NodeMaterialBlockConnectionPointTypes.Float);\r\n this.registerInput(\"edge\", NodeMaterialBlockConnectionPointTypes.Float);\r\n this.registerOutput(\"output\", NodeMaterialBlockConnectionPointTypes.Float);\r\n\r\n }\r\n\r\n /**\r\n * Gets the current class name\r\n * @returns the class name\r\n */\r\n public getClassName() {\r\n return \"StepBlock\";\r\n }\r\n\r\n /**\r\n * Gets the value operand input component\r\n */\r\n public get value(): NodeMaterialConnectionPoint {\r\n return this._inputs[0];\r\n }\r\n\r\n /**\r\n * Gets the edge operand input component\r\n */\r\n public get edge(): NodeMaterialConnectionPoint {\r\n return this._inputs[1];\r\n }\r\n\r\n /**\r\n * Gets the output component\r\n */\r\n public get output(): NodeMaterialConnectionPoint {\r\n return this._outputs[0];\r\n }\r\n\r\n protected _buildBlock(state: NodeMaterialBuildState) {\r\n super._buildBlock(state);\r\n\r\n let output = this._outputs[0];\r\n\r\n state.compilationString += this._declareOutput(output, state) + ` = step(${this.edge.associatedVariableName}, ${this.value.associatedVariableName});\\r\\n`;\r\n\r\n return this;\r\n }\r\n}\r\n\r\nRegisterClass(\"BABYLON.StepBlock\", StepBlock);"]}
1
+ {"version":3,"file":"stepBlock.js","sourceRoot":"","sources":["../../../../../sourceES6/core/Materials/Node/Blocks/stepBlock.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,qCAAqC,EAAE,MAAM,gDAAgD,CAAC;AAGvG,OAAO,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD;;GAEG;AACH;IAA+B,6BAAiB;IAC5C;;;OAGG;IACH,mBAAmB,IAAY;QAA/B,YACI,kBAAM,IAAI,EAAE,wBAAwB,CAAC,OAAO,CAAC,SAMhD;QAJG,KAAI,CAAC,aAAa,CAAC,OAAO,EAAE,qCAAqC,CAAC,KAAK,CAAC,CAAC;QACzE,KAAI,CAAC,aAAa,CAAC,MAAM,EAAE,qCAAqC,CAAC,KAAK,CAAC,CAAC;QACxE,KAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,qCAAqC,CAAC,KAAK,CAAC,CAAC;;IAE/E,CAAC;IAED;;;OAGG;IACI,gCAAY,GAAnB;QACI,OAAO,WAAW,CAAC;IACvB,CAAC;IAKD,sBAAW,4BAAK;QAHhB;;WAEG;aACH;YACI,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC3B,CAAC;;;OAAA;IAKD,sBAAW,2BAAI;QAHf;;WAEG;aACH;YACI,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC3B,CAAC;;;OAAA;IAKD,sBAAW,6BAAM;QAHjB;;WAEG;aACH;YACI,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC5B,CAAC;;;OAAA;IAES,+BAAW,GAArB,UAAsB,KAA6B;QAC/C,iBAAM,WAAW,YAAC,KAAK,CAAC,CAAC;QAEzB,IAAI,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAE9B,KAAK,CAAC,iBAAiB,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,kBAAW,IAAI,CAAC,IAAI,CAAC,sBAAsB,eAAK,IAAI,CAAC,KAAK,CAAC,sBAAsB,WAAQ,CAAC;QAE1J,OAAO,IAAI,CAAC;IAChB,CAAC;IACL,gBAAC;AAAD,CAAC,AApDD,CAA+B,iBAAiB,GAoD/C;;AAED,aAAa,CAAC,mBAAmB,EAAE,SAAS,CAAC,CAAC","sourcesContent":["import { NodeMaterialBlock } from '../nodeMaterialBlock';\r\nimport { NodeMaterialBlockConnectionPointTypes } from '../Enums/nodeMaterialBlockConnectionPointTypes';\r\nimport { NodeMaterialBuildState } from '../nodeMaterialBuildState';\r\nimport { NodeMaterialConnectionPoint } from '../nodeMaterialBlockConnectionPoint';\r\nimport { NodeMaterialBlockTargets } from '../Enums/nodeMaterialBlockTargets';\r\nimport { RegisterClass } from '../../../Misc/typeStore';\r\n/**\r\n * Block used to step a value\r\n */\r\nexport class StepBlock extends NodeMaterialBlock {\r\n /**\r\n * Creates a new StepBlock\r\n * @param name defines the block name\r\n */\r\n public constructor(name: string) {\r\n super(name, NodeMaterialBlockTargets.Neutral);\r\n\r\n this.registerInput(\"value\", NodeMaterialBlockConnectionPointTypes.Float);\r\n this.registerInput(\"edge\", NodeMaterialBlockConnectionPointTypes.Float);\r\n this.registerOutput(\"output\", NodeMaterialBlockConnectionPointTypes.Float);\r\n\r\n }\r\n\r\n /**\r\n * Gets the current class name\r\n * @returns the class name\r\n */\r\n public getClassName() {\r\n return \"StepBlock\";\r\n }\r\n\r\n /**\r\n * Gets the value operand input component\r\n */\r\n public get value(): NodeMaterialConnectionPoint {\r\n return this._inputs[0];\r\n }\r\n\r\n /**\r\n * Gets the edge operand input component\r\n */\r\n public get edge(): NodeMaterialConnectionPoint {\r\n return this._inputs[1];\r\n }\r\n\r\n /**\r\n * Gets the output component\r\n */\r\n public get output(): NodeMaterialConnectionPoint {\r\n return this._outputs[0];\r\n }\r\n\r\n protected _buildBlock(state: NodeMaterialBuildState) {\r\n super._buildBlock(state);\r\n\r\n let output = this._outputs[0];\r\n\r\n state.compilationString += this._declareOutput(output, state) + ` = step(${this.edge.associatedVariableName}, ${this.value.associatedVariableName});\\r\\n`;\r\n\r\n return this;\r\n }\r\n}\r\n\r\nRegisterClass(\"BABYLON.StepBlock\", StepBlock);"]}
@@ -61,7 +61,7 @@ var SubtractBlock = /** @class */ (function (_super) {
61
61
  SubtractBlock.prototype._buildBlock = function (state) {
62
62
  _super.prototype._buildBlock.call(this, state);
63
63
  var output = this._outputs[0];
64
- state.compilationString += this._declareOutput(output, state) + (" = " + this.left.associatedVariableName + " - " + this.right.associatedVariableName + ";\r\n");
64
+ state.compilationString += this._declareOutput(output, state) + " = ".concat(this.left.associatedVariableName, " - ").concat(this.right.associatedVariableName, ";\r\n");
65
65
  return this;
66
66
  };
67
67
  return SubtractBlock;
@@ -1 +1 @@
1
- {"version":3,"file":"subtractBlock.js","sourceRoot":"","sources":["../../../../../sourceES6/core/Materials/Node/Blocks/subtractBlock.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,qCAAqC,EAAE,MAAM,gDAAgD,CAAC;AAGvG,OAAO,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD;;GAEG;AACH;IAAmC,iCAAiB;IAChD;;;OAGG;IACH,uBAAmB,IAAY;QAA/B,YACI,kBAAM,IAAI,EAAE,wBAAwB,CAAC,OAAO,CAAC,SAQhD;QANG,KAAI,CAAC,aAAa,CAAC,MAAM,EAAE,qCAAqC,CAAC,UAAU,CAAC,CAAC;QAC7E,KAAI,CAAC,aAAa,CAAC,OAAO,EAAE,qCAAqC,CAAC,UAAU,CAAC,CAAC;QAC9E,KAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,qCAAqC,CAAC,YAAY,CAAC,CAAC;QAElF,KAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,qBAAqB,GAAG,KAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACzD,KAAI,CAAC,oBAAoB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;;IACpC,CAAC;IAED;;;OAGG;IACI,oCAAY,GAAnB;QACI,OAAO,eAAe,CAAC;IAC3B,CAAC;IAKD,sBAAW,+BAAI;QAHf;;WAEG;aACH;YACI,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC3B,CAAC;;;OAAA;IAKD,sBAAW,gCAAK;QAHhB;;WAEG;aACH;YACI,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC3B,CAAC;;;OAAA;IAKD,sBAAW,iCAAM;QAHjB;;WAEG;aACH;YACI,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC5B,CAAC;;;OAAA;IAES,mCAAW,GAArB,UAAsB,KAA6B;QAC/C,iBAAM,WAAW,YAAC,KAAK,CAAC,CAAC;QAEzB,IAAI,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAE9B,KAAK,CAAC,iBAAiB,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,KAAK,CAAC,IAAG,QAAM,IAAI,CAAC,IAAI,CAAC,sBAAsB,WAAM,IAAI,CAAC,KAAK,CAAC,sBAAsB,UAAO,CAAA,CAAC;QAErJ,OAAO,IAAI,CAAC;IAChB,CAAC;IACL,oBAAC;AAAD,CAAC,AAtDD,CAAmC,iBAAiB,GAsDnD;;AAED,aAAa,CAAC,uBAAuB,EAAE,aAAa,CAAC,CAAC","sourcesContent":["import { NodeMaterialBlock } from '../nodeMaterialBlock';\r\nimport { NodeMaterialBlockConnectionPointTypes } from '../Enums/nodeMaterialBlockConnectionPointTypes';\r\nimport { NodeMaterialBuildState } from '../nodeMaterialBuildState';\r\nimport { NodeMaterialConnectionPoint } from '../nodeMaterialBlockConnectionPoint';\r\nimport { NodeMaterialBlockTargets } from '../Enums/nodeMaterialBlockTargets';\r\nimport { RegisterClass } from '../../../Misc/typeStore';\r\n/**\r\n * Block used to subtract 2 vectors\r\n */\r\nexport class SubtractBlock extends NodeMaterialBlock {\r\n /**\r\n * Creates a new SubtractBlock\r\n * @param name defines the block name\r\n */\r\n public constructor(name: string) {\r\n super(name, NodeMaterialBlockTargets.Neutral);\r\n\r\n this.registerInput(\"left\", NodeMaterialBlockConnectionPointTypes.AutoDetect);\r\n this.registerInput(\"right\", NodeMaterialBlockConnectionPointTypes.AutoDetect);\r\n this.registerOutput(\"output\", NodeMaterialBlockConnectionPointTypes.BasedOnInput);\r\n\r\n this._outputs[0]._typeConnectionSource = this._inputs[0];\r\n this._linkConnectionTypes(0, 1);\r\n }\r\n\r\n /**\r\n * Gets the current class name\r\n * @returns the class name\r\n */\r\n public getClassName() {\r\n return \"SubtractBlock\";\r\n }\r\n\r\n /**\r\n * Gets the left operand input component\r\n */\r\n public get left(): NodeMaterialConnectionPoint {\r\n return this._inputs[0];\r\n }\r\n\r\n /**\r\n * Gets the right operand input component\r\n */\r\n public get right(): NodeMaterialConnectionPoint {\r\n return this._inputs[1];\r\n }\r\n\r\n /**\r\n * Gets the output component\r\n */\r\n public get output(): NodeMaterialConnectionPoint {\r\n return this._outputs[0];\r\n }\r\n\r\n protected _buildBlock(state: NodeMaterialBuildState) {\r\n super._buildBlock(state);\r\n\r\n let output = this._outputs[0];\r\n\r\n state.compilationString += this._declareOutput(output, state) + ` = ${this.left.associatedVariableName} - ${this.right.associatedVariableName};\\r\\n`;\r\n\r\n return this;\r\n }\r\n}\r\n\r\nRegisterClass(\"BABYLON.SubtractBlock\", SubtractBlock);"]}
1
+ {"version":3,"file":"subtractBlock.js","sourceRoot":"","sources":["../../../../../sourceES6/core/Materials/Node/Blocks/subtractBlock.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,qCAAqC,EAAE,MAAM,gDAAgD,CAAC;AAGvG,OAAO,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD;;GAEG;AACH;IAAmC,iCAAiB;IAChD;;;OAGG;IACH,uBAAmB,IAAY;QAA/B,YACI,kBAAM,IAAI,EAAE,wBAAwB,CAAC,OAAO,CAAC,SAQhD;QANG,KAAI,CAAC,aAAa,CAAC,MAAM,EAAE,qCAAqC,CAAC,UAAU,CAAC,CAAC;QAC7E,KAAI,CAAC,aAAa,CAAC,OAAO,EAAE,qCAAqC,CAAC,UAAU,CAAC,CAAC;QAC9E,KAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,qCAAqC,CAAC,YAAY,CAAC,CAAC;QAElF,KAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,qBAAqB,GAAG,KAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACzD,KAAI,CAAC,oBAAoB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;;IACpC,CAAC;IAED;;;OAGG;IACI,oCAAY,GAAnB;QACI,OAAO,eAAe,CAAC;IAC3B,CAAC;IAKD,sBAAW,+BAAI;QAHf;;WAEG;aACH;YACI,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC3B,CAAC;;;OAAA;IAKD,sBAAW,gCAAK;QAHhB;;WAEG;aACH;YACI,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC3B,CAAC;;;OAAA;IAKD,sBAAW,iCAAM;QAHjB;;WAEG;aACH;YACI,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC5B,CAAC;;;OAAA;IAES,mCAAW,GAArB,UAAsB,KAA6B;QAC/C,iBAAM,WAAW,YAAC,KAAK,CAAC,CAAC;QAEzB,IAAI,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAE9B,KAAK,CAAC,iBAAiB,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,aAAM,IAAI,CAAC,IAAI,CAAC,sBAAsB,gBAAM,IAAI,CAAC,KAAK,CAAC,sBAAsB,UAAO,CAAC;QAErJ,OAAO,IAAI,CAAC;IAChB,CAAC;IACL,oBAAC;AAAD,CAAC,AAtDD,CAAmC,iBAAiB,GAsDnD;;AAED,aAAa,CAAC,uBAAuB,EAAE,aAAa,CAAC,CAAC","sourcesContent":["import { NodeMaterialBlock } from '../nodeMaterialBlock';\r\nimport { NodeMaterialBlockConnectionPointTypes } from '../Enums/nodeMaterialBlockConnectionPointTypes';\r\nimport { NodeMaterialBuildState } from '../nodeMaterialBuildState';\r\nimport { NodeMaterialConnectionPoint } from '../nodeMaterialBlockConnectionPoint';\r\nimport { NodeMaterialBlockTargets } from '../Enums/nodeMaterialBlockTargets';\r\nimport { RegisterClass } from '../../../Misc/typeStore';\r\n/**\r\n * Block used to subtract 2 vectors\r\n */\r\nexport class SubtractBlock extends NodeMaterialBlock {\r\n /**\r\n * Creates a new SubtractBlock\r\n * @param name defines the block name\r\n */\r\n public constructor(name: string) {\r\n super(name, NodeMaterialBlockTargets.Neutral);\r\n\r\n this.registerInput(\"left\", NodeMaterialBlockConnectionPointTypes.AutoDetect);\r\n this.registerInput(\"right\", NodeMaterialBlockConnectionPointTypes.AutoDetect);\r\n this.registerOutput(\"output\", NodeMaterialBlockConnectionPointTypes.BasedOnInput);\r\n\r\n this._outputs[0]._typeConnectionSource = this._inputs[0];\r\n this._linkConnectionTypes(0, 1);\r\n }\r\n\r\n /**\r\n * Gets the current class name\r\n * @returns the class name\r\n */\r\n public getClassName() {\r\n return \"SubtractBlock\";\r\n }\r\n\r\n /**\r\n * Gets the left operand input component\r\n */\r\n public get left(): NodeMaterialConnectionPoint {\r\n return this._inputs[0];\r\n }\r\n\r\n /**\r\n * Gets the right operand input component\r\n */\r\n public get right(): NodeMaterialConnectionPoint {\r\n return this._inputs[1];\r\n }\r\n\r\n /**\r\n * Gets the output component\r\n */\r\n public get output(): NodeMaterialConnectionPoint {\r\n return this._outputs[0];\r\n }\r\n\r\n protected _buildBlock(state: NodeMaterialBuildState) {\r\n super._buildBlock(state);\r\n\r\n let output = this._outputs[0];\r\n\r\n state.compilationString += this._declareOutput(output, state) + ` = ${this.left.associatedVariableName} - ${this.right.associatedVariableName};\\r\\n`;\r\n\r\n return this;\r\n }\r\n}\r\n\r\nRegisterClass(\"BABYLON.SubtractBlock\", SubtractBlock);"]}
@@ -91,24 +91,24 @@ var TransformBlock = /** @class */ (function (_super) {
91
91
  if (vector.connectedPoint) {
92
92
  // None uniform scaling case.
93
93
  if (this.complementW === 0) {
94
- var comments = "//" + this.name;
94
+ var comments = "//".concat(this.name);
95
95
  state._emitFunctionFromInclude("helperFunctions", comments);
96
96
  state.sharedData.blocksWithDefines.push(this);
97
- var transformName = state._getFreeVariableName(transform.associatedVariableName + "_NUS");
98
- state.compilationString += "mat3 " + transformName + " = mat3(" + transform.associatedVariableName + ");\r\n";
97
+ var transformName = state._getFreeVariableName("".concat(transform.associatedVariableName, "_NUS"));
98
+ state.compilationString += "mat3 ".concat(transformName, " = mat3(").concat(transform.associatedVariableName, ");\r\n");
99
99
  state.compilationString += "#ifdef NONUNIFORMSCALING\r\n";
100
- state.compilationString += transformName + " = transposeMat3(inverseMat3(" + transformName + "));\r\n";
100
+ state.compilationString += "".concat(transformName, " = transposeMat3(inverseMat3(").concat(transformName, "));\r\n");
101
101
  state.compilationString += "#endif\r\n";
102
102
  switch (vector.connectedPoint.type) {
103
103
  case NodeMaterialBlockConnectionPointTypes.Vector2:
104
- state.compilationString += this._declareOutput(this.output, state) + (" = vec4(" + transformName + " * vec3(" + vector.associatedVariableName + ", " + this._writeFloat(this.complementZ) + "), " + this._writeFloat(this.complementW) + ");\r\n");
104
+ state.compilationString += this._declareOutput(this.output, state) + " = vec4(".concat(transformName, " * vec3(").concat(vector.associatedVariableName, ", ").concat(this._writeFloat(this.complementZ), "), ").concat(this._writeFloat(this.complementW), ");\r\n");
105
105
  break;
106
106
  case NodeMaterialBlockConnectionPointTypes.Vector3:
107
107
  case NodeMaterialBlockConnectionPointTypes.Color3:
108
- state.compilationString += this._declareOutput(this.output, state) + (" = vec4(" + transformName + " * " + vector.associatedVariableName + ", " + this._writeFloat(this.complementW) + ");\r\n");
108
+ state.compilationString += this._declareOutput(this.output, state) + " = vec4(".concat(transformName, " * ").concat(vector.associatedVariableName, ", ").concat(this._writeFloat(this.complementW), ");\r\n");
109
109
  break;
110
110
  default:
111
- state.compilationString += this._declareOutput(this.output, state) + (" = vec4(" + transformName + " * " + vector.associatedVariableName + ".xyz, " + this._writeFloat(this.complementW) + ");\r\n");
111
+ state.compilationString += this._declareOutput(this.output, state) + " = vec4(".concat(transformName, " * ").concat(vector.associatedVariableName, ".xyz, ").concat(this._writeFloat(this.complementW), ");\r\n");
112
112
  break;
113
113
  }
114
114
  }
@@ -116,19 +116,19 @@ var TransformBlock = /** @class */ (function (_super) {
116
116
  var transformName = transform.associatedVariableName;
117
117
  switch (vector.connectedPoint.type) {
118
118
  case NodeMaterialBlockConnectionPointTypes.Vector2:
119
- state.compilationString += this._declareOutput(this.output, state) + (" = " + transformName + " * vec4(" + vector.associatedVariableName + ", " + this._writeFloat(this.complementZ) + ", " + this._writeFloat(this.complementW) + ");\r\n");
119
+ state.compilationString += this._declareOutput(this.output, state) + " = ".concat(transformName, " * vec4(").concat(vector.associatedVariableName, ", ").concat(this._writeFloat(this.complementZ), ", ").concat(this._writeFloat(this.complementW), ");\r\n");
120
120
  break;
121
121
  case NodeMaterialBlockConnectionPointTypes.Vector3:
122
122
  case NodeMaterialBlockConnectionPointTypes.Color3:
123
- state.compilationString += this._declareOutput(this.output, state) + (" = " + transformName + " * vec4(" + vector.associatedVariableName + ", " + this._writeFloat(this.complementW) + ");\r\n");
123
+ state.compilationString += this._declareOutput(this.output, state) + " = ".concat(transformName, " * vec4(").concat(vector.associatedVariableName, ", ").concat(this._writeFloat(this.complementW), ");\r\n");
124
124
  break;
125
125
  default:
126
- state.compilationString += this._declareOutput(this.output, state) + (" = " + transformName + " * " + vector.associatedVariableName + ";\r\n");
126
+ state.compilationString += this._declareOutput(this.output, state) + " = ".concat(transformName, " * ").concat(vector.associatedVariableName, ";\r\n");
127
127
  break;
128
128
  }
129
129
  }
130
130
  if (this.xyz.hasEndpoints) {
131
- state.compilationString += this._declareOutput(this.xyz, state) + (" = " + this.output.associatedVariableName + ".xyz;\r\n");
131
+ state.compilationString += this._declareOutput(this.xyz, state) + " = ".concat(this.output.associatedVariableName, ".xyz;\r\n");
132
132
  }
133
133
  }
134
134
  return this;
@@ -160,8 +160,8 @@ var TransformBlock = /** @class */ (function (_super) {
160
160
  this.complementW = serializationObject.complementW !== undefined ? serializationObject.complementW : 1.0;
161
161
  };
162
162
  TransformBlock.prototype._dumpPropertiesCode = function () {
163
- var codeString = _super.prototype._dumpPropertiesCode.call(this) + (this._codeVariableName + ".complementZ = " + this.complementZ + ";\r\n");
164
- codeString += this._codeVariableName + ".complementW = " + this.complementW + ";\r\n";
163
+ var codeString = _super.prototype._dumpPropertiesCode.call(this) + "".concat(this._codeVariableName, ".complementZ = ").concat(this.complementZ, ";\r\n");
164
+ codeString += "".concat(this._codeVariableName, ".complementW = ").concat(this.complementW, ";\r\n");
165
165
  return codeString;
166
166
  };
167
167
  return TransformBlock;
@@ -1 +1 @@
1
- {"version":3,"file":"transformBlock.js","sourceRoot":"","sources":["../../../../../sourceES6/core/Materials/Node/Blocks/transformBlock.ts"],"names":[],"mappings":"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","sourcesContent":["import { NodeMaterialBlock } from '../nodeMaterialBlock';\r\nimport { NodeMaterialBlockConnectionPointTypes } from '../Enums/nodeMaterialBlockConnectionPointTypes';\r\nimport { NodeMaterialBuildState } from '../nodeMaterialBuildState';\r\nimport { NodeMaterialBlockTargets } from '../Enums/nodeMaterialBlockTargets';\r\nimport { NodeMaterialConnectionPoint } from '../nodeMaterialBlockConnectionPoint';\r\nimport { RegisterClass } from '../../../Misc/typeStore';\r\nimport { Scene } from '../../../scene';\r\nimport { InputBlock } from './Input/inputBlock';\r\nimport { AbstractMesh } from '../../../Meshes/abstractMesh';\r\nimport { NodeMaterial, NodeMaterialDefines } from '../nodeMaterial';\r\nimport { SubMesh } from '../../../Meshes/subMesh';\r\n\r\n/**\r\n * Block used to transform a vector (2, 3 or 4) with a matrix. It will generate a Vector4\r\n */\r\nexport class TransformBlock extends NodeMaterialBlock {\r\n /**\r\n * Defines the value to use to complement W value to transform it to a Vector4\r\n */\r\n public complementW = 1;\r\n\r\n /**\r\n * Defines the value to use to complement z value to transform it to a Vector4\r\n */\r\n public complementZ = 0;\r\n\r\n /**\r\n * Creates a new TransformBlock\r\n * @param name defines the block name\r\n */\r\n public constructor(name: string) {\r\n super(name, NodeMaterialBlockTargets.Neutral);\r\n\r\n this.target = NodeMaterialBlockTargets.Vertex;\r\n\r\n this.registerInput(\"vector\", NodeMaterialBlockConnectionPointTypes.AutoDetect);\r\n this.registerInput(\"transform\", NodeMaterialBlockConnectionPointTypes.Matrix);\r\n this.registerOutput(\"output\", NodeMaterialBlockConnectionPointTypes.Vector4);\r\n this.registerOutput(\"xyz\", NodeMaterialBlockConnectionPointTypes.Vector3);\r\n\r\n this._inputs[0].onConnectionObservable.add((other) => {\r\n if (other.ownerBlock.isInput) {\r\n let otherAsInput = other.ownerBlock as InputBlock;\r\n\r\n if (otherAsInput.name === \"normal\" || otherAsInput.name === \"tangent\") {\r\n this.complementW = 0;\r\n }\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * Gets the current class name\r\n * @returns the class name\r\n */\r\n public getClassName() {\r\n return \"TransformBlock\";\r\n }\r\n\r\n /**\r\n * Gets the vector input\r\n */\r\n public get vector(): NodeMaterialConnectionPoint {\r\n return this._inputs[0];\r\n }\r\n\r\n /**\r\n * Gets the output component\r\n */\r\n public get output(): NodeMaterialConnectionPoint {\r\n return this._outputs[0];\r\n }\r\n\r\n /**\r\n * Gets the xyz output component\r\n */\r\n public get xyz(): NodeMaterialConnectionPoint {\r\n return this._outputs[1];\r\n }\r\n\r\n /**\r\n * Gets the matrix transform input\r\n */\r\n public get transform(): NodeMaterialConnectionPoint {\r\n return this._inputs[1];\r\n }\r\n\r\n protected _buildBlock(state: NodeMaterialBuildState) {\r\n super._buildBlock(state);\r\n\r\n let vector = this.vector;\r\n let transform = this.transform;\r\n\r\n if (vector.connectedPoint) {\r\n\r\n // None uniform scaling case.\r\n if (this.complementW === 0) {\r\n let comments = `//${this.name}`;\r\n state._emitFunctionFromInclude(\"helperFunctions\", comments);\r\n state.sharedData.blocksWithDefines.push(this);\r\n\r\n const transformName = state._getFreeVariableName(`${transform.associatedVariableName}_NUS`);\r\n state.compilationString += `mat3 ${transformName} = mat3(${transform.associatedVariableName});\\r\\n`;\r\n state.compilationString += `#ifdef NONUNIFORMSCALING\\r\\n`;\r\n state.compilationString += `${transformName} = transposeMat3(inverseMat3(${transformName}));\\r\\n`;\r\n state.compilationString += `#endif\\r\\n`;\r\n switch (vector.connectedPoint.type) {\r\n case NodeMaterialBlockConnectionPointTypes.Vector2:\r\n state.compilationString += this._declareOutput(this.output, state) + ` = vec4(${transformName} * vec3(${vector.associatedVariableName}, ${this._writeFloat(this.complementZ)}), ${this._writeFloat(this.complementW)});\\r\\n`;\r\n break;\r\n case NodeMaterialBlockConnectionPointTypes.Vector3:\r\n case NodeMaterialBlockConnectionPointTypes.Color3:\r\n state.compilationString += this._declareOutput(this.output, state) + ` = vec4(${transformName} * ${vector.associatedVariableName}, ${this._writeFloat(this.complementW)});\\r\\n`;\r\n break;\r\n default:\r\n state.compilationString += this._declareOutput(this.output, state) + ` = vec4(${transformName} * ${vector.associatedVariableName}.xyz, ${this._writeFloat(this.complementW)});\\r\\n`;\r\n break;\r\n }\r\n }\r\n else {\r\n const transformName = transform.associatedVariableName;\r\n switch (vector.connectedPoint.type) {\r\n case NodeMaterialBlockConnectionPointTypes.Vector2:\r\n state.compilationString += this._declareOutput(this.output, state) + ` = ${transformName} * vec4(${vector.associatedVariableName}, ${this._writeFloat(this.complementZ)}, ${this._writeFloat(this.complementW)});\\r\\n`;\r\n break;\r\n case NodeMaterialBlockConnectionPointTypes.Vector3:\r\n case NodeMaterialBlockConnectionPointTypes.Color3:\r\n state.compilationString += this._declareOutput(this.output, state) + ` = ${transformName} * vec4(${vector.associatedVariableName}, ${this._writeFloat(this.complementW)});\\r\\n`;\r\n break;\r\n default:\r\n state.compilationString += this._declareOutput(this.output, state) + ` = ${transformName} * ${vector.associatedVariableName};\\r\\n`;\r\n break;\r\n }\r\n }\r\n\r\n if (this.xyz.hasEndpoints) {\r\n state.compilationString += this._declareOutput(this.xyz, state) + ` = ${this.output.associatedVariableName}.xyz;\\r\\n`;\r\n }\r\n }\r\n\r\n return this;\r\n }\r\n\r\n /**\r\n * Update defines for shader compilation\r\n * @param mesh defines the mesh to be rendered\r\n * @param nodeMaterial defines the node material requesting the update\r\n * @param defines defines the material defines to update\r\n * @param useInstances specifies that instances should be used\r\n * @param subMesh defines which submesh to render\r\n */\r\n public prepareDefines(mesh: AbstractMesh, nodeMaterial: NodeMaterial, defines: NodeMaterialDefines, useInstances: boolean = false, subMesh?: SubMesh) {\r\n // Do nothing\r\n if (mesh.nonUniformScaling) {\r\n defines.setValue(\"NONUNIFORMSCALING\", true);\r\n }\r\n }\r\n\r\n public serialize(): any {\r\n let serializationObject = super.serialize();\r\n\r\n serializationObject.complementZ = this.complementZ;\r\n serializationObject.complementW = this.complementW;\r\n\r\n return serializationObject;\r\n }\r\n\r\n public _deserialize(serializationObject: any, scene: Scene, rootUrl: string) {\r\n super._deserialize(serializationObject, scene, rootUrl);\r\n\r\n this.complementZ = serializationObject.complementZ !== undefined ? serializationObject.complementZ : 0.0;\r\n this.complementW = serializationObject.complementW !== undefined ? serializationObject.complementW : 1.0;\r\n }\r\n\r\n protected _dumpPropertiesCode() {\r\n var codeString = super._dumpPropertiesCode() + `${this._codeVariableName}.complementZ = ${this.complementZ};\\r\\n`;\r\n\r\n codeString += `${this._codeVariableName}.complementW = ${this.complementW};\\r\\n`;\r\n\r\n return codeString;\r\n }\r\n}\r\n\r\nRegisterClass(\"BABYLON.TransformBlock\", TransformBlock);"]}
1
+ {"version":3,"file":"transformBlock.js","sourceRoot":"","sources":["../../../../../sourceES6/core/Materials/Node/Blocks/transformBlock.ts"],"names":[],"mappings":"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","sourcesContent":["import { NodeMaterialBlock } from '../nodeMaterialBlock';\r\nimport { NodeMaterialBlockConnectionPointTypes } from '../Enums/nodeMaterialBlockConnectionPointTypes';\r\nimport { NodeMaterialBuildState } from '../nodeMaterialBuildState';\r\nimport { NodeMaterialBlockTargets } from '../Enums/nodeMaterialBlockTargets';\r\nimport { NodeMaterialConnectionPoint } from '../nodeMaterialBlockConnectionPoint';\r\nimport { RegisterClass } from '../../../Misc/typeStore';\r\nimport { Scene } from '../../../scene';\r\nimport { InputBlock } from './Input/inputBlock';\r\nimport { AbstractMesh } from '../../../Meshes/abstractMesh';\r\nimport { NodeMaterial, NodeMaterialDefines } from '../nodeMaterial';\r\nimport { SubMesh } from '../../../Meshes/subMesh';\r\n\r\n/**\r\n * Block used to transform a vector (2, 3 or 4) with a matrix. It will generate a Vector4\r\n */\r\nexport class TransformBlock extends NodeMaterialBlock {\r\n /**\r\n * Defines the value to use to complement W value to transform it to a Vector4\r\n */\r\n public complementW = 1;\r\n\r\n /**\r\n * Defines the value to use to complement z value to transform it to a Vector4\r\n */\r\n public complementZ = 0;\r\n\r\n /**\r\n * Creates a new TransformBlock\r\n * @param name defines the block name\r\n */\r\n public constructor(name: string) {\r\n super(name, NodeMaterialBlockTargets.Neutral);\r\n\r\n this.target = NodeMaterialBlockTargets.Vertex;\r\n\r\n this.registerInput(\"vector\", NodeMaterialBlockConnectionPointTypes.AutoDetect);\r\n this.registerInput(\"transform\", NodeMaterialBlockConnectionPointTypes.Matrix);\r\n this.registerOutput(\"output\", NodeMaterialBlockConnectionPointTypes.Vector4);\r\n this.registerOutput(\"xyz\", NodeMaterialBlockConnectionPointTypes.Vector3);\r\n\r\n this._inputs[0].onConnectionObservable.add((other) => {\r\n if (other.ownerBlock.isInput) {\r\n let otherAsInput = other.ownerBlock as InputBlock;\r\n\r\n if (otherAsInput.name === \"normal\" || otherAsInput.name === \"tangent\") {\r\n this.complementW = 0;\r\n }\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * Gets the current class name\r\n * @returns the class name\r\n */\r\n public getClassName() {\r\n return \"TransformBlock\";\r\n }\r\n\r\n /**\r\n * Gets the vector input\r\n */\r\n public get vector(): NodeMaterialConnectionPoint {\r\n return this._inputs[0];\r\n }\r\n\r\n /**\r\n * Gets the output component\r\n */\r\n public get output(): NodeMaterialConnectionPoint {\r\n return this._outputs[0];\r\n }\r\n\r\n /**\r\n * Gets the xyz output component\r\n */\r\n public get xyz(): NodeMaterialConnectionPoint {\r\n return this._outputs[1];\r\n }\r\n\r\n /**\r\n * Gets the matrix transform input\r\n */\r\n public get transform(): NodeMaterialConnectionPoint {\r\n return this._inputs[1];\r\n }\r\n\r\n protected _buildBlock(state: NodeMaterialBuildState) {\r\n super._buildBlock(state);\r\n\r\n let vector = this.vector;\r\n let transform = this.transform;\r\n\r\n if (vector.connectedPoint) {\r\n\r\n // None uniform scaling case.\r\n if (this.complementW === 0) {\r\n let comments = `//${this.name}`;\r\n state._emitFunctionFromInclude(\"helperFunctions\", comments);\r\n state.sharedData.blocksWithDefines.push(this);\r\n\r\n const transformName = state._getFreeVariableName(`${transform.associatedVariableName}_NUS`);\r\n state.compilationString += `mat3 ${transformName} = mat3(${transform.associatedVariableName});\\r\\n`;\r\n state.compilationString += `#ifdef NONUNIFORMSCALING\\r\\n`;\r\n state.compilationString += `${transformName} = transposeMat3(inverseMat3(${transformName}));\\r\\n`;\r\n state.compilationString += `#endif\\r\\n`;\r\n switch (vector.connectedPoint.type) {\r\n case NodeMaterialBlockConnectionPointTypes.Vector2:\r\n state.compilationString += this._declareOutput(this.output, state) + ` = vec4(${transformName} * vec3(${vector.associatedVariableName}, ${this._writeFloat(this.complementZ)}), ${this._writeFloat(this.complementW)});\\r\\n`;\r\n break;\r\n case NodeMaterialBlockConnectionPointTypes.Vector3:\r\n case NodeMaterialBlockConnectionPointTypes.Color3:\r\n state.compilationString += this._declareOutput(this.output, state) + ` = vec4(${transformName} * ${vector.associatedVariableName}, ${this._writeFloat(this.complementW)});\\r\\n`;\r\n break;\r\n default:\r\n state.compilationString += this._declareOutput(this.output, state) + ` = vec4(${transformName} * ${vector.associatedVariableName}.xyz, ${this._writeFloat(this.complementW)});\\r\\n`;\r\n break;\r\n }\r\n }\r\n else {\r\n const transformName = transform.associatedVariableName;\r\n switch (vector.connectedPoint.type) {\r\n case NodeMaterialBlockConnectionPointTypes.Vector2:\r\n state.compilationString += this._declareOutput(this.output, state) + ` = ${transformName} * vec4(${vector.associatedVariableName}, ${this._writeFloat(this.complementZ)}, ${this._writeFloat(this.complementW)});\\r\\n`;\r\n break;\r\n case NodeMaterialBlockConnectionPointTypes.Vector3:\r\n case NodeMaterialBlockConnectionPointTypes.Color3:\r\n state.compilationString += this._declareOutput(this.output, state) + ` = ${transformName} * vec4(${vector.associatedVariableName}, ${this._writeFloat(this.complementW)});\\r\\n`;\r\n break;\r\n default:\r\n state.compilationString += this._declareOutput(this.output, state) + ` = ${transformName} * ${vector.associatedVariableName};\\r\\n`;\r\n break;\r\n }\r\n }\r\n\r\n if (this.xyz.hasEndpoints) {\r\n state.compilationString += this._declareOutput(this.xyz, state) + ` = ${this.output.associatedVariableName}.xyz;\\r\\n`;\r\n }\r\n }\r\n\r\n return this;\r\n }\r\n\r\n /**\r\n * Update defines for shader compilation\r\n * @param mesh defines the mesh to be rendered\r\n * @param nodeMaterial defines the node material requesting the update\r\n * @param defines defines the material defines to update\r\n * @param useInstances specifies that instances should be used\r\n * @param subMesh defines which submesh to render\r\n */\r\n public prepareDefines(mesh: AbstractMesh, nodeMaterial: NodeMaterial, defines: NodeMaterialDefines, useInstances: boolean = false, subMesh?: SubMesh) {\r\n // Do nothing\r\n if (mesh.nonUniformScaling) {\r\n defines.setValue(\"NONUNIFORMSCALING\", true);\r\n }\r\n }\r\n\r\n public serialize(): any {\r\n let serializationObject = super.serialize();\r\n\r\n serializationObject.complementZ = this.complementZ;\r\n serializationObject.complementW = this.complementW;\r\n\r\n return serializationObject;\r\n }\r\n\r\n public _deserialize(serializationObject: any, scene: Scene, rootUrl: string) {\r\n super._deserialize(serializationObject, scene, rootUrl);\r\n\r\n this.complementZ = serializationObject.complementZ !== undefined ? serializationObject.complementZ : 0.0;\r\n this.complementW = serializationObject.complementW !== undefined ? serializationObject.complementW : 1.0;\r\n }\r\n\r\n protected _dumpPropertiesCode() {\r\n var codeString = super._dumpPropertiesCode() + `${this._codeVariableName}.complementZ = ${this.complementZ};\\r\\n`;\r\n\r\n codeString += `${this._codeVariableName}.complementW = ${this.complementW};\\r\\n`;\r\n\r\n return codeString;\r\n }\r\n}\r\n\r\nRegisterClass(\"BABYLON.TransformBlock\", TransformBlock);"]}
@@ -170,7 +170,7 @@ var TrigonometryBlock = /** @class */ (function (_super) {
170
170
  break;
171
171
  }
172
172
  }
173
- state.compilationString += this._declareOutput(output, state) + (" = " + operation + "(" + this.input.associatedVariableName + ");\r\n");
173
+ state.compilationString += this._declareOutput(output, state) + " = ".concat(operation, "(").concat(this.input.associatedVariableName, ");\r\n");
174
174
  return this;
175
175
  };
176
176
  TrigonometryBlock.prototype.serialize = function () {
@@ -183,7 +183,7 @@ var TrigonometryBlock = /** @class */ (function (_super) {
183
183
  this.operation = serializationObject.operation;
184
184
  };
185
185
  TrigonometryBlock.prototype._dumpPropertiesCode = function () {
186
- var codeString = _super.prototype._dumpPropertiesCode.call(this) + (this._codeVariableName + ".operation = BABYLON.TrigonometryBlockOperations." + TrigonometryBlockOperations[this.operation] + ";\r\n");
186
+ var codeString = _super.prototype._dumpPropertiesCode.call(this) + "".concat(this._codeVariableName, ".operation = BABYLON.TrigonometryBlockOperations.").concat(TrigonometryBlockOperations[this.operation], ";\r\n");
187
187
  return codeString;
188
188
  };
189
189
  return TrigonometryBlock;
@@ -1 +1 @@
1
- {"version":3,"file":"trigonometryBlock.js","sourceRoot":"","sources":["../../../../../sourceES6/core/Materials/Node/Blocks/trigonometryBlock.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,qCAAqC,EAAE,MAAM,gDAAgD,CAAC;AAGvG,OAAO,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAGxD;;GAEG;AACH,MAAM,CAAN,IAAY,2BAqCX;AArCD,WAAY,2BAA2B;IACnC,UAAU;IACV,2EAAG,CAAA;IACH,UAAU;IACV,2EAAG,CAAA;IACH,UAAU;IACV,2EAAG,CAAA;IACH,UAAU;IACV,2EAAG,CAAA;IACH,WAAW;IACX,6EAAI,CAAA;IACJ,YAAY;IACZ,+EAAK,CAAA;IACL,YAAY;IACZ,+EAAK,CAAA;IACL,cAAc;IACd,mFAAO,CAAA;IACP,kBAAkB;IAClB,6EAAI,CAAA;IACJ,UAAU;IACV,2EAAG,CAAA;IACH,cAAc;IACd,4EAAG,CAAA;IACH,kBAAkB;IAClB,kFAAM,CAAA;IACN,kBAAkB;IAClB,kFAAM,CAAA;IACN,gBAAgB;IAChB,kFAAM,CAAA;IACN,eAAe;IACf,gFAAK,CAAA;IACL,WAAW;IACX,8EAAI,CAAA;IACJ,gCAAgC;IAChC,oFAAO,CAAA;IACP,gCAAgC;IAChC,oFAAO,CAAA;AACX,CAAC,EArCW,2BAA2B,KAA3B,2BAA2B,QAqCtC;AAED;;GAEG;AACH;IAAuC,qCAAiB;IAOpD;;;OAGG;IACH,2BAAmB,IAAY;QAA/B,YACI,kBAAM,IAAI,EAAE,wBAAwB,CAAC,OAAO,CAAC,SAMhD;QAhBD;;WAEG;QACI,eAAS,GAAG,2BAA2B,CAAC,GAAG,CAAC;QAS/C,KAAI,CAAC,aAAa,CAAC,OAAO,EAAE,qCAAqC,CAAC,UAAU,CAAC,CAAC;QAC9E,KAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,qCAAqC,CAAC,YAAY,CAAC,CAAC;QAElF,KAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,qBAAqB,GAAG,KAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;;IAC7D,CAAC;IAED;;;OAGG;IACI,wCAAY,GAAnB;QACI,OAAO,mBAAmB,CAAC;IAC/B,CAAC;IAKD,sBAAW,oCAAK;QAHhB;;WAEG;aACH;YACI,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC3B,CAAC;;;OAAA;IAKD,sBAAW,qCAAM;QAHjB;;WAEG;aACH;YACI,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC5B,CAAC;;;OAAA;IAES,uCAAW,GAArB,UAAsB,KAA6B;QAC/C,iBAAM,WAAW,YAAC,KAAK,CAAC,CAAC;QAEzB,IAAI,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC9B,IAAI,SAAS,GAAG,EAAE,CAAC;QAEnB,QAAQ,IAAI,CAAC,SAAS,EAAE;YACpB,KAAK,2BAA2B,CAAC,GAAG,CAAC,CAAC;gBAClC,SAAS,GAAG,KAAK,CAAC;gBAClB,MAAM;aACT;YACD,KAAK,2BAA2B,CAAC,GAAG,CAAC,CAAC;gBAClC,SAAS,GAAG,KAAK,CAAC;gBAClB,MAAM;aACT;YACD,KAAK,2BAA2B,CAAC,GAAG,CAAC,CAAC;gBAClC,SAAS,GAAG,KAAK,CAAC;gBAClB,MAAM;aACT;YACD,KAAK,2BAA2B,CAAC,GAAG,CAAC,CAAC;gBAClC,SAAS,GAAG,KAAK,CAAC;gBAClB,MAAM;aACT;YACD,KAAK,2BAA2B,CAAC,IAAI,CAAC,CAAC;gBACnC,SAAS,GAAG,MAAM,CAAC;gBACnB,MAAM;aACT;YACD,KAAK,2BAA2B,CAAC,KAAK,CAAC,CAAC;gBACpC,SAAS,GAAG,OAAO,CAAC;gBACpB,MAAM;aACT;YACD,KAAK,2BAA2B,CAAC,KAAK,CAAC,CAAC;gBACpC,SAAS,GAAG,OAAO,CAAC;gBACpB,MAAM;aACT;YACD,KAAK,2BAA2B,CAAC,OAAO,CAAC,CAAC;gBACtC,SAAS,GAAG,MAAM,CAAC;gBACnB,MAAM;aACT;YACD,KAAK,2BAA2B,CAAC,IAAI,CAAC,CAAC;gBACnC,SAAS,GAAG,MAAM,CAAC;gBACnB,MAAM;aACT;YACD,KAAK,2BAA2B,CAAC,GAAG,CAAC,CAAC;gBAClC,SAAS,GAAG,KAAK,CAAC;gBAClB,MAAM;aACT;YACD,KAAK,2BAA2B,CAAC,GAAG,CAAC,CAAC;gBAClC,SAAS,GAAG,KAAK,CAAC;gBAClB,MAAM;aACT;YACD,KAAK,2BAA2B,CAAC,MAAM,CAAC,CAAC;gBACrC,SAAS,GAAG,MAAM,CAAC;gBACnB,MAAM;aACT;YACD,KAAK,2BAA2B,CAAC,MAAM,CAAC,CAAC;gBACrC,SAAS,GAAG,MAAM,CAAC;gBACnB,MAAM;aACT;YACD,KAAK,2BAA2B,CAAC,MAAM,CAAC,CAAC;gBACrC,SAAS,GAAG,MAAM,CAAC;gBACnB,MAAM;aACT;YACD,KAAK,2BAA2B,CAAC,KAAK,CAAC,CAAC;gBACpC,SAAS,GAAG,OAAO,CAAC;gBACpB,MAAM;aACT;YACD,KAAK,2BAA2B,CAAC,IAAI,CAAC,CAAC;gBACnC,SAAS,GAAG,MAAM,CAAC;gBACnB,MAAM;aACT;YACD,KAAK,2BAA2B,CAAC,OAAO,CAAC,CAAC;gBACtC,SAAS,GAAG,SAAS,CAAC;gBACtB,MAAM;aACT;YACD,KAAK,2BAA2B,CAAC,OAAO,CAAC,CAAC;gBACtC,SAAS,GAAG,SAAS,CAAC;gBACtB,MAAM;aACT;SACJ;QAED,KAAK,CAAC,iBAAiB,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,KAAK,CAAC,IAAG,QAAM,SAAS,SAAI,IAAI,CAAC,KAAK,CAAC,sBAAsB,WAAQ,CAAA,CAAC;QAE7H,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,qCAAS,GAAhB;QACI,IAAI,mBAAmB,GAAG,iBAAM,SAAS,WAAE,CAAC;QAE5C,mBAAmB,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAE/C,OAAO,mBAAmB,CAAC;IAC/B,CAAC;IAEM,wCAAY,GAAnB,UAAoB,mBAAwB,EAAE,KAAY,EAAE,OAAe;QACvE,iBAAM,YAAY,YAAC,mBAAmB,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;QAExD,IAAI,CAAC,SAAS,GAAG,mBAAmB,CAAC,SAAS,CAAC;IACnD,CAAC;IAES,+CAAmB,GAA7B;QACI,IAAI,UAAU,GAAG,iBAAM,mBAAmB,WAAE,IAAM,IAAI,CAAC,iBAAiB,yDAAoD,2BAA2B,CAAC,IAAI,CAAC,SAAS,CAAC,UAAO,CAAA,CAAC;QAC/K,OAAO,UAAU,CAAC;IACtB,CAAC;IACL,wBAAC;AAAD,CAAC,AAlJD,CAAuC,iBAAiB,GAkJvD;;AAED,aAAa,CAAC,2BAA2B,EAAE,iBAAiB,CAAC,CAAC","sourcesContent":["import { NodeMaterialBlock } from '../nodeMaterialBlock';\r\nimport { NodeMaterialBlockConnectionPointTypes } from '../Enums/nodeMaterialBlockConnectionPointTypes';\r\nimport { NodeMaterialBuildState } from '../nodeMaterialBuildState';\r\nimport { NodeMaterialConnectionPoint } from '../nodeMaterialBlockConnectionPoint';\r\nimport { NodeMaterialBlockTargets } from '../Enums/nodeMaterialBlockTargets';\r\nimport { RegisterClass } from '../../../Misc/typeStore';\r\nimport { Scene } from '../../../scene';\r\n\r\n/**\r\n * Operations supported by the Trigonometry block\r\n */\r\nexport enum TrigonometryBlockOperations {\r\n /** Cos */\r\n Cos,\r\n /** Sin */\r\n Sin,\r\n /** Abs */\r\n Abs,\r\n /** Exp */\r\n Exp,\r\n /** Exp2 */\r\n Exp2,\r\n /** Round */\r\n Round,\r\n /** Floor */\r\n Floor,\r\n /** Ceiling */\r\n Ceiling,\r\n /** Square root */\r\n Sqrt,\r\n /** Log */\r\n Log,\r\n /** Tangent */\r\n Tan,\r\n /** Arc tangent */\r\n ArcTan,\r\n /** Arc cosinus */\r\n ArcCos,\r\n /** Arc sinus */\r\n ArcSin,\r\n /** Fraction */\r\n Fract,\r\n /** Sign */\r\n Sign,\r\n /** To radians (from degrees) */\r\n Radians,\r\n /** To degrees (from radians) */\r\n Degrees\r\n}\r\n\r\n/**\r\n * Block used to apply trigonometry operation to floats\r\n */\r\nexport class TrigonometryBlock extends NodeMaterialBlock {\r\n\r\n /**\r\n * Gets or sets the operation applied by the block\r\n */\r\n public operation = TrigonometryBlockOperations.Cos;\r\n\r\n /**\r\n * Creates a new TrigonometryBlock\r\n * @param name defines the block name\r\n */\r\n public constructor(name: string) {\r\n super(name, NodeMaterialBlockTargets.Neutral);\r\n\r\n this.registerInput(\"input\", NodeMaterialBlockConnectionPointTypes.AutoDetect);\r\n this.registerOutput(\"output\", NodeMaterialBlockConnectionPointTypes.BasedOnInput);\r\n\r\n this._outputs[0]._typeConnectionSource = this._inputs[0];\r\n }\r\n\r\n /**\r\n * Gets the current class name\r\n * @returns the class name\r\n */\r\n public getClassName() {\r\n return \"TrigonometryBlock\";\r\n }\r\n\r\n /**\r\n * Gets the input component\r\n */\r\n public get input(): NodeMaterialConnectionPoint {\r\n return this._inputs[0];\r\n }\r\n\r\n /**\r\n * Gets the output component\r\n */\r\n public get output(): NodeMaterialConnectionPoint {\r\n return this._outputs[0];\r\n }\r\n\r\n protected _buildBlock(state: NodeMaterialBuildState) {\r\n super._buildBlock(state);\r\n\r\n let output = this._outputs[0];\r\n let operation = \"\";\r\n\r\n switch (this.operation) {\r\n case TrigonometryBlockOperations.Cos: {\r\n operation = \"cos\";\r\n break;\r\n }\r\n case TrigonometryBlockOperations.Sin: {\r\n operation = \"sin\";\r\n break;\r\n }\r\n case TrigonometryBlockOperations.Abs: {\r\n operation = \"abs\";\r\n break;\r\n }\r\n case TrigonometryBlockOperations.Exp: {\r\n operation = \"exp\";\r\n break;\r\n }\r\n case TrigonometryBlockOperations.Exp2: {\r\n operation = \"exp2\";\r\n break;\r\n }\r\n case TrigonometryBlockOperations.Round: {\r\n operation = \"round\";\r\n break;\r\n }\r\n case TrigonometryBlockOperations.Floor: {\r\n operation = \"floor\";\r\n break;\r\n }\r\n case TrigonometryBlockOperations.Ceiling: {\r\n operation = \"ceil\";\r\n break;\r\n }\r\n case TrigonometryBlockOperations.Sqrt: {\r\n operation = \"sqrt\";\r\n break;\r\n }\r\n case TrigonometryBlockOperations.Log: {\r\n operation = \"log\";\r\n break;\r\n }\r\n case TrigonometryBlockOperations.Tan: {\r\n operation = \"tan\";\r\n break;\r\n }\r\n case TrigonometryBlockOperations.ArcTan: {\r\n operation = \"atan\";\r\n break;\r\n }\r\n case TrigonometryBlockOperations.ArcCos: {\r\n operation = \"acos\";\r\n break;\r\n }\r\n case TrigonometryBlockOperations.ArcSin: {\r\n operation = \"asin\";\r\n break;\r\n }\r\n case TrigonometryBlockOperations.Fract: {\r\n operation = \"fract\";\r\n break;\r\n }\r\n case TrigonometryBlockOperations.Sign: {\r\n operation = \"sign\";\r\n break;\r\n }\r\n case TrigonometryBlockOperations.Radians: {\r\n operation = \"radians\";\r\n break;\r\n }\r\n case TrigonometryBlockOperations.Degrees: {\r\n operation = \"degrees\";\r\n break;\r\n }\r\n }\r\n\r\n state.compilationString += this._declareOutput(output, state) + ` = ${operation}(${this.input.associatedVariableName});\\r\\n`;\r\n\r\n return this;\r\n }\r\n\r\n public serialize(): any {\r\n let serializationObject = super.serialize();\r\n\r\n serializationObject.operation = this.operation;\r\n\r\n return serializationObject;\r\n }\r\n\r\n public _deserialize(serializationObject: any, scene: Scene, rootUrl: string) {\r\n super._deserialize(serializationObject, scene, rootUrl);\r\n\r\n this.operation = serializationObject.operation;\r\n }\r\n\r\n protected _dumpPropertiesCode() {\r\n var codeString = super._dumpPropertiesCode() + `${this._codeVariableName}.operation = BABYLON.TrigonometryBlockOperations.${TrigonometryBlockOperations[this.operation]};\\r\\n`;\r\n return codeString;\r\n }\r\n}\r\n\r\nRegisterClass(\"BABYLON.TrigonometryBlock\", TrigonometryBlock);"]}
1
+ {"version":3,"file":"trigonometryBlock.js","sourceRoot":"","sources":["../../../../../sourceES6/core/Materials/Node/Blocks/trigonometryBlock.ts"],"names":[],"mappings":"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","sourcesContent":["import { NodeMaterialBlock } from '../nodeMaterialBlock';\r\nimport { NodeMaterialBlockConnectionPointTypes } from '../Enums/nodeMaterialBlockConnectionPointTypes';\r\nimport { NodeMaterialBuildState } from '../nodeMaterialBuildState';\r\nimport { NodeMaterialConnectionPoint } from '../nodeMaterialBlockConnectionPoint';\r\nimport { NodeMaterialBlockTargets } from '../Enums/nodeMaterialBlockTargets';\r\nimport { RegisterClass } from '../../../Misc/typeStore';\r\nimport { Scene } from '../../../scene';\r\n\r\n/**\r\n * Operations supported by the Trigonometry block\r\n */\r\nexport enum TrigonometryBlockOperations {\r\n /** Cos */\r\n Cos,\r\n /** Sin */\r\n Sin,\r\n /** Abs */\r\n Abs,\r\n /** Exp */\r\n Exp,\r\n /** Exp2 */\r\n Exp2,\r\n /** Round */\r\n Round,\r\n /** Floor */\r\n Floor,\r\n /** Ceiling */\r\n Ceiling,\r\n /** Square root */\r\n Sqrt,\r\n /** Log */\r\n Log,\r\n /** Tangent */\r\n Tan,\r\n /** Arc tangent */\r\n ArcTan,\r\n /** Arc cosinus */\r\n ArcCos,\r\n /** Arc sinus */\r\n ArcSin,\r\n /** Fraction */\r\n Fract,\r\n /** Sign */\r\n Sign,\r\n /** To radians (from degrees) */\r\n Radians,\r\n /** To degrees (from radians) */\r\n Degrees\r\n}\r\n\r\n/**\r\n * Block used to apply trigonometry operation to floats\r\n */\r\nexport class TrigonometryBlock extends NodeMaterialBlock {\r\n\r\n /**\r\n * Gets or sets the operation applied by the block\r\n */\r\n public operation = TrigonometryBlockOperations.Cos;\r\n\r\n /**\r\n * Creates a new TrigonometryBlock\r\n * @param name defines the block name\r\n */\r\n public constructor(name: string) {\r\n super(name, NodeMaterialBlockTargets.Neutral);\r\n\r\n this.registerInput(\"input\", NodeMaterialBlockConnectionPointTypes.AutoDetect);\r\n this.registerOutput(\"output\", NodeMaterialBlockConnectionPointTypes.BasedOnInput);\r\n\r\n this._outputs[0]._typeConnectionSource = this._inputs[0];\r\n }\r\n\r\n /**\r\n * Gets the current class name\r\n * @returns the class name\r\n */\r\n public getClassName() {\r\n return \"TrigonometryBlock\";\r\n }\r\n\r\n /**\r\n * Gets the input component\r\n */\r\n public get input(): NodeMaterialConnectionPoint {\r\n return this._inputs[0];\r\n }\r\n\r\n /**\r\n * Gets the output component\r\n */\r\n public get output(): NodeMaterialConnectionPoint {\r\n return this._outputs[0];\r\n }\r\n\r\n protected _buildBlock(state: NodeMaterialBuildState) {\r\n super._buildBlock(state);\r\n\r\n let output = this._outputs[0];\r\n let operation = \"\";\r\n\r\n switch (this.operation) {\r\n case TrigonometryBlockOperations.Cos: {\r\n operation = \"cos\";\r\n break;\r\n }\r\n case TrigonometryBlockOperations.Sin: {\r\n operation = \"sin\";\r\n break;\r\n }\r\n case TrigonometryBlockOperations.Abs: {\r\n operation = \"abs\";\r\n break;\r\n }\r\n case TrigonometryBlockOperations.Exp: {\r\n operation = \"exp\";\r\n break;\r\n }\r\n case TrigonometryBlockOperations.Exp2: {\r\n operation = \"exp2\";\r\n break;\r\n }\r\n case TrigonometryBlockOperations.Round: {\r\n operation = \"round\";\r\n break;\r\n }\r\n case TrigonometryBlockOperations.Floor: {\r\n operation = \"floor\";\r\n break;\r\n }\r\n case TrigonometryBlockOperations.Ceiling: {\r\n operation = \"ceil\";\r\n break;\r\n }\r\n case TrigonometryBlockOperations.Sqrt: {\r\n operation = \"sqrt\";\r\n break;\r\n }\r\n case TrigonometryBlockOperations.Log: {\r\n operation = \"log\";\r\n break;\r\n }\r\n case TrigonometryBlockOperations.Tan: {\r\n operation = \"tan\";\r\n break;\r\n }\r\n case TrigonometryBlockOperations.ArcTan: {\r\n operation = \"atan\";\r\n break;\r\n }\r\n case TrigonometryBlockOperations.ArcCos: {\r\n operation = \"acos\";\r\n break;\r\n }\r\n case TrigonometryBlockOperations.ArcSin: {\r\n operation = \"asin\";\r\n break;\r\n }\r\n case TrigonometryBlockOperations.Fract: {\r\n operation = \"fract\";\r\n break;\r\n }\r\n case TrigonometryBlockOperations.Sign: {\r\n operation = \"sign\";\r\n break;\r\n }\r\n case TrigonometryBlockOperations.Radians: {\r\n operation = \"radians\";\r\n break;\r\n }\r\n case TrigonometryBlockOperations.Degrees: {\r\n operation = \"degrees\";\r\n break;\r\n }\r\n }\r\n\r\n state.compilationString += this._declareOutput(output, state) + ` = ${operation}(${this.input.associatedVariableName});\\r\\n`;\r\n\r\n return this;\r\n }\r\n\r\n public serialize(): any {\r\n let serializationObject = super.serialize();\r\n\r\n serializationObject.operation = this.operation;\r\n\r\n return serializationObject;\r\n }\r\n\r\n public _deserialize(serializationObject: any, scene: Scene, rootUrl: string) {\r\n super._deserialize(serializationObject, scene, rootUrl);\r\n\r\n this.operation = serializationObject.operation;\r\n }\r\n\r\n protected _dumpPropertiesCode() {\r\n var codeString = super._dumpPropertiesCode() + `${this._codeVariableName}.operation = BABYLON.TrigonometryBlockOperations.${TrigonometryBlockOperations[this.operation]};\\r\\n`;\r\n return codeString;\r\n }\r\n}\r\n\r\nRegisterClass(\"BABYLON.TrigonometryBlock\", TrigonometryBlock);"]}
@@ -228,71 +228,71 @@ var VectorMergerBlock = /** @class */ (function (_super) {
228
228
  var v2CompOutput = this._outputs[3];
229
229
  if (xyzwInput.isConnected) {
230
230
  if (v4Output.hasEndpoints) {
231
- state.compilationString += this._declareOutput(v4Output, state) + (" = " + xyzwInput.associatedVariableName + this._buildSwizzle(4) + ";\r\n");
231
+ state.compilationString += this._declareOutput(v4Output, state) + " = ".concat(xyzwInput.associatedVariableName).concat(this._buildSwizzle(4), ";\r\n");
232
232
  }
233
233
  if (v3Output.hasEndpoints) {
234
- state.compilationString += this._declareOutput(v3Output, state) + (" = " + xyzwInput.associatedVariableName + this._buildSwizzle(3) + ";\r\n");
234
+ state.compilationString += this._declareOutput(v3Output, state) + " = ".concat(xyzwInput.associatedVariableName).concat(this._buildSwizzle(3), ";\r\n");
235
235
  }
236
236
  if (v2Output.hasEndpoints) {
237
- state.compilationString += this._declareOutput(v2Output, state) + (" = " + xyzwInput.associatedVariableName + this._buildSwizzle(2) + ";\r\n");
237
+ state.compilationString += this._declareOutput(v2Output, state) + " = ".concat(xyzwInput.associatedVariableName).concat(this._buildSwizzle(2), ";\r\n");
238
238
  }
239
239
  }
240
240
  else if (xyzInput.isConnected) {
241
241
  if (v4Output.hasEndpoints) {
242
- state.compilationString += this._declareOutput(v4Output, state) + (" = vec4(" + xyzInput.associatedVariableName + ", " + (wInput.isConnected ? this._writeVariable(wInput) : "0.0") + ")" + this._buildSwizzle(4) + ";\r\n");
242
+ state.compilationString += this._declareOutput(v4Output, state) + " = vec4(".concat(xyzInput.associatedVariableName, ", ").concat(wInput.isConnected ? this._writeVariable(wInput) : "0.0", ")").concat(this._buildSwizzle(4), ";\r\n");
243
243
  }
244
244
  if (v3Output.hasEndpoints) {
245
- state.compilationString += this._declareOutput(v3Output, state) + (" = " + xyzInput.associatedVariableName + this._buildSwizzle(3) + ";\r\n");
245
+ state.compilationString += this._declareOutput(v3Output, state) + " = ".concat(xyzInput.associatedVariableName).concat(this._buildSwizzle(3), ";\r\n");
246
246
  }
247
247
  if (v2Output.hasEndpoints) {
248
- state.compilationString += this._declareOutput(v2Output, state) + (" = " + xyzInput.associatedVariableName + this._buildSwizzle(2) + ";\r\n");
248
+ state.compilationString += this._declareOutput(v2Output, state) + " = ".concat(xyzInput.associatedVariableName).concat(this._buildSwizzle(2), ";\r\n");
249
249
  }
250
250
  }
251
251
  else if (xyInput.isConnected) {
252
252
  if (v4Output.hasEndpoints) {
253
253
  if (zwInput.isConnected) {
254
- state.compilationString += this._declareOutput(v4Output, state) + (" = vec4(" + xyInput.associatedVariableName + ", " + zwInput.associatedVariableName + ")" + this._buildSwizzle(4) + ";\r\n");
254
+ state.compilationString += this._declareOutput(v4Output, state) + " = vec4(".concat(xyInput.associatedVariableName, ", ").concat(zwInput.associatedVariableName, ")").concat(this._buildSwizzle(4), ";\r\n");
255
255
  }
256
256
  else {
257
- state.compilationString += this._declareOutput(v4Output, state) + (" = vec4(" + xyInput.associatedVariableName + ", " + (zInput.isConnected ? this._writeVariable(zInput) : "0.0") + ", " + (wInput.isConnected ? this._writeVariable(wInput) : "0.0") + ")" + this._buildSwizzle(4) + ";\r\n");
257
+ state.compilationString += this._declareOutput(v4Output, state) + " = vec4(".concat(xyInput.associatedVariableName, ", ").concat(zInput.isConnected ? this._writeVariable(zInput) : "0.0", ", ").concat(wInput.isConnected ? this._writeVariable(wInput) : "0.0", ")").concat(this._buildSwizzle(4), ";\r\n");
258
258
  }
259
259
  }
260
260
  if (v3Output.hasEndpoints) {
261
- state.compilationString += this._declareOutput(v3Output, state) + (" = vec3(" + xyInput.associatedVariableName + ", " + (zInput.isConnected ? this._writeVariable(zInput) : "0.0") + ")" + this._buildSwizzle(3) + ";\r\n");
261
+ state.compilationString += this._declareOutput(v3Output, state) + " = vec3(".concat(xyInput.associatedVariableName, ", ").concat(zInput.isConnected ? this._writeVariable(zInput) : "0.0", ")").concat(this._buildSwizzle(3), ";\r\n");
262
262
  }
263
263
  if (v2Output.hasEndpoints) {
264
- state.compilationString += this._declareOutput(v2Output, state) + (" = " + xyInput.associatedVariableName + this._buildSwizzle(2) + ";\r\n");
264
+ state.compilationString += this._declareOutput(v2Output, state) + " = ".concat(xyInput.associatedVariableName).concat(this._buildSwizzle(2), ";\r\n");
265
265
  }
266
266
  if (v2CompOutput.hasEndpoints) {
267
267
  if (zwInput.isConnected) {
268
- state.compilationString += this._declareOutput(v2CompOutput, state) + (" = " + zwInput.associatedVariableName + this._buildSwizzle(2) + ";\r\n");
268
+ state.compilationString += this._declareOutput(v2CompOutput, state) + " = ".concat(zwInput.associatedVariableName).concat(this._buildSwizzle(2), ";\r\n");
269
269
  }
270
270
  else {
271
- state.compilationString += this._declareOutput(v2CompOutput, state) + (" = vec2(" + (zInput.isConnected ? this._writeVariable(zInput) : "0.0") + ", " + (wInput.isConnected ? this._writeVariable(wInput) : "0.0") + ")" + this._buildSwizzle(2) + ";\r\n");
271
+ state.compilationString += this._declareOutput(v2CompOutput, state) + " = vec2(".concat(zInput.isConnected ? this._writeVariable(zInput) : "0.0", ", ").concat(wInput.isConnected ? this._writeVariable(wInput) : "0.0", ")").concat(this._buildSwizzle(2), ";\r\n");
272
272
  }
273
273
  }
274
274
  }
275
275
  else {
276
276
  if (v4Output.hasEndpoints) {
277
277
  if (zwInput.isConnected) {
278
- state.compilationString += this._declareOutput(v4Output, state) + (" = vec4(" + (xInput.isConnected ? this._writeVariable(xInput) : "0.0") + ", " + (yInput.isConnected ? this._writeVariable(yInput) : "0.0") + ", " + zwInput.associatedVariableName + ")" + this._buildSwizzle(4) + ";\r\n");
278
+ state.compilationString += this._declareOutput(v4Output, state) + " = vec4(".concat(xInput.isConnected ? this._writeVariable(xInput) : "0.0", ", ").concat(yInput.isConnected ? this._writeVariable(yInput) : "0.0", ", ").concat(zwInput.associatedVariableName, ")").concat(this._buildSwizzle(4), ";\r\n");
279
279
  }
280
280
  else {
281
- state.compilationString += this._declareOutput(v4Output, state) + (" = vec4(" + (xInput.isConnected ? this._writeVariable(xInput) : "0.0") + ", " + (yInput.isConnected ? this._writeVariable(yInput) : "0.0") + ", " + (zInput.isConnected ? this._writeVariable(zInput) : "0.0") + ", " + (wInput.isConnected ? this._writeVariable(wInput) : "0.0") + ")" + this._buildSwizzle(4) + ";\r\n");
281
+ state.compilationString += this._declareOutput(v4Output, state) + " = vec4(".concat(xInput.isConnected ? this._writeVariable(xInput) : "0.0", ", ").concat(yInput.isConnected ? this._writeVariable(yInput) : "0.0", ", ").concat(zInput.isConnected ? this._writeVariable(zInput) : "0.0", ", ").concat(wInput.isConnected ? this._writeVariable(wInput) : "0.0", ")").concat(this._buildSwizzle(4), ";\r\n");
282
282
  }
283
283
  }
284
284
  if (v3Output.hasEndpoints) {
285
- state.compilationString += this._declareOutput(v3Output, state) + (" = vec3(" + (xInput.isConnected ? this._writeVariable(xInput) : "0.0") + ", " + (yInput.isConnected ? this._writeVariable(yInput) : "0.0") + ", " + (zInput.isConnected ? this._writeVariable(zInput) : "0.0") + ")" + this._buildSwizzle(3) + ";\r\n");
285
+ state.compilationString += this._declareOutput(v3Output, state) + " = vec3(".concat(xInput.isConnected ? this._writeVariable(xInput) : "0.0", ", ").concat(yInput.isConnected ? this._writeVariable(yInput) : "0.0", ", ").concat(zInput.isConnected ? this._writeVariable(zInput) : "0.0", ")").concat(this._buildSwizzle(3), ";\r\n");
286
286
  }
287
287
  if (v2Output.hasEndpoints) {
288
- state.compilationString += this._declareOutput(v2Output, state) + (" = vec2(" + (xInput.isConnected ? this._writeVariable(xInput) : "0.0") + ", " + (yInput.isConnected ? this._writeVariable(yInput) : "0.0") + ")" + this._buildSwizzle(2) + ";\r\n");
288
+ state.compilationString += this._declareOutput(v2Output, state) + " = vec2(".concat(xInput.isConnected ? this._writeVariable(xInput) : "0.0", ", ").concat(yInput.isConnected ? this._writeVariable(yInput) : "0.0", ")").concat(this._buildSwizzle(2), ";\r\n");
289
289
  }
290
290
  if (v2CompOutput.hasEndpoints) {
291
291
  if (zwInput.isConnected) {
292
- state.compilationString += this._declareOutput(v2CompOutput, state) + (" = " + zwInput.associatedVariableName + this._buildSwizzle(2) + ";\r\n");
292
+ state.compilationString += this._declareOutput(v2CompOutput, state) + " = ".concat(zwInput.associatedVariableName).concat(this._buildSwizzle(2), ";\r\n");
293
293
  }
294
294
  else {
295
- state.compilationString += this._declareOutput(v2CompOutput, state) + (" = vec2(" + (zInput.isConnected ? this._writeVariable(zInput) : "0.0") + ", " + (wInput.isConnected ? this._writeVariable(wInput) : "0.0") + ")" + this._buildSwizzle(2) + ";\r\n");
295
+ state.compilationString += this._declareOutput(v2CompOutput, state) + " = vec2(".concat(zInput.isConnected ? this._writeVariable(zInput) : "0.0", ", ").concat(wInput.isConnected ? this._writeVariable(wInput) : "0.0", ")").concat(this._buildSwizzle(2), ";\r\n");
296
296
  }
297
297
  }
298
298
  }
@@ -316,10 +316,10 @@ var VectorMergerBlock = /** @class */ (function (_super) {
316
316
  };
317
317
  VectorMergerBlock.prototype._dumpPropertiesCode = function () {
318
318
  var codeString = _super.prototype._dumpPropertiesCode.call(this);
319
- codeString += this._codeVariableName + ".xSwizzle = \"" + this.xSwizzle + "\";\r\n";
320
- codeString += this._codeVariableName + ".ySwizzle = \"" + this.ySwizzle + "\";\r\n";
321
- codeString += this._codeVariableName + ".zSwizzle = \"" + this.zSwizzle + "\";\r\n";
322
- codeString += this._codeVariableName + ".wSwizzle = \"" + this.wSwizzle + "\";\r\n";
319
+ codeString += "".concat(this._codeVariableName, ".xSwizzle = \"").concat(this.xSwizzle, "\";\r\n");
320
+ codeString += "".concat(this._codeVariableName, ".ySwizzle = \"").concat(this.ySwizzle, "\";\r\n");
321
+ codeString += "".concat(this._codeVariableName, ".zSwizzle = \"").concat(this.zSwizzle, "\";\r\n");
322
+ codeString += "".concat(this._codeVariableName, ".wSwizzle = \"").concat(this.wSwizzle, "\";\r\n");
323
323
  return codeString;
324
324
  };
325
325
  return VectorMergerBlock;
@@ -1 +1 @@
1
- {"version":3,"file":"vectorMergerBlock.js","sourceRoot":"","sources":["../../../../../sourceES6/core/Materials/Node/Blocks/vectorMergerBlock.ts"],"names":[],"mappings":"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","sourcesContent":["import { NodeMaterialBlock } from '../nodeMaterialBlock';\r\nimport { NodeMaterialBlockConnectionPointTypes } from '../Enums/nodeMaterialBlockConnectionPointTypes';\r\nimport { NodeMaterialBuildState } from '../nodeMaterialBuildState';\r\nimport { NodeMaterialBlockTargets } from '../Enums/nodeMaterialBlockTargets';\r\nimport { NodeMaterialConnectionPoint } from '../nodeMaterialBlockConnectionPoint';\r\nimport { RegisterClass } from '../../../Misc/typeStore';\r\nimport { Scene } from '../../../scene';\r\n\r\n/**\r\n * Block used to create a Vector2/3/4 out of individual inputs (one for each component)\r\n */\r\nexport class VectorMergerBlock extends NodeMaterialBlock {\r\n /**\r\n * Gets or sets the swizzle for x (meaning which compoent to affect to the output.x)\r\n */\r\n public xSwizzle: \"x\" | \"y\" | \"z\" | \"w\" = \"x\";\r\n /**\r\n * Gets or sets the swizzle for y (meaning which compoent to affect to the output.y)\r\n */\r\n public ySwizzle: \"x\" | \"y\" | \"z\" | \"w\" = \"y\";\r\n /**\r\n * Gets or sets the swizzle for z (meaning which compoent to affect to the output.z)\r\n */\r\n public zSwizzle: \"x\" | \"y\" | \"z\" | \"w\" = \"z\";\r\n /**\r\n * Gets or sets the swizzle for w (meaning which compoent to affect to the output.w)\r\n */\r\n public wSwizzle: \"x\" | \"y\" | \"z\" | \"w\" = \"w\";\r\n\r\n /**\r\n * Create a new VectorMergerBlock\r\n * @param name defines the block name\r\n */\r\n public constructor(name: string) {\r\n super(name, NodeMaterialBlockTargets.Neutral);\r\n\r\n this.registerInput(\"xyzw \", NodeMaterialBlockConnectionPointTypes.Vector4, true);\r\n this.registerInput(\"xyz \", NodeMaterialBlockConnectionPointTypes.Vector3, true);\r\n this.registerInput(\"xy \", NodeMaterialBlockConnectionPointTypes.Vector2, true);\r\n this.registerInput(\"zw \", NodeMaterialBlockConnectionPointTypes.Vector2, true);\r\n this.registerInput(\"x\", NodeMaterialBlockConnectionPointTypes.Float, true);\r\n this.registerInput(\"y\", NodeMaterialBlockConnectionPointTypes.Float, true);\r\n this.registerInput(\"z\", NodeMaterialBlockConnectionPointTypes.Float, true);\r\n this.registerInput(\"w\", NodeMaterialBlockConnectionPointTypes.Float, true);\r\n\r\n this.registerOutput(\"xyzw\", NodeMaterialBlockConnectionPointTypes.Vector4);\r\n this.registerOutput(\"xyz\", NodeMaterialBlockConnectionPointTypes.Vector3);\r\n this.registerOutput(\"xy\", NodeMaterialBlockConnectionPointTypes.Vector2);\r\n this.registerOutput(\"zw\", NodeMaterialBlockConnectionPointTypes.Vector2);\r\n }\r\n\r\n /**\r\n * Gets the current class name\r\n * @returns the class name\r\n */\r\n public getClassName() {\r\n return \"VectorMergerBlock\";\r\n }\r\n\r\n /**\r\n * Gets the xyzw component (input)\r\n */\r\n public get xyzwIn(): NodeMaterialConnectionPoint {\r\n return this._inputs[0];\r\n }\r\n\r\n /**\r\n * Gets the xyz component (input)\r\n */\r\n public get xyzIn(): NodeMaterialConnectionPoint {\r\n return this._inputs[1];\r\n }\r\n\r\n /**\r\n * Gets the xy component (input)\r\n */\r\n public get xyIn(): NodeMaterialConnectionPoint {\r\n return this._inputs[2];\r\n }\r\n\r\n /**\r\n * Gets the zw component (input)\r\n */\r\n public get zwIn(): NodeMaterialConnectionPoint {\r\n return this._inputs[3];\r\n }\r\n\r\n /**\r\n * Gets the x component (input)\r\n */\r\n public get x(): NodeMaterialConnectionPoint {\r\n return this._inputs[4];\r\n }\r\n\r\n /**\r\n * Gets the y component (input)\r\n */\r\n public get y(): NodeMaterialConnectionPoint {\r\n return this._inputs[5];\r\n }\r\n\r\n /**\r\n * Gets the z component (input)\r\n */\r\n public get z(): NodeMaterialConnectionPoint {\r\n return this._inputs[6];\r\n }\r\n\r\n /**\r\n * Gets the w component (input)\r\n */\r\n public get w(): NodeMaterialConnectionPoint {\r\n return this._inputs[7];\r\n }\r\n\r\n /**\r\n * Gets the xyzw component (output)\r\n */\r\n public get xyzw(): NodeMaterialConnectionPoint {\r\n return this._outputs[0];\r\n }\r\n\r\n /**\r\n * Gets the xyz component (output)\r\n */\r\n public get xyzOut(): NodeMaterialConnectionPoint {\r\n return this._outputs[1];\r\n }\r\n\r\n /**\r\n * Gets the xy component (output)\r\n */\r\n public get xyOut(): NodeMaterialConnectionPoint {\r\n return this._outputs[2];\r\n }\r\n\r\n /**\r\n * Gets the zw component (output)\r\n */\r\n public get zwOut(): NodeMaterialConnectionPoint {\r\n return this._outputs[3];\r\n }\r\n\r\n /**\r\n * Gets the xy component (output)\r\n * @deprecated Please use xyOut instead.\r\n */\r\n public get xy(): NodeMaterialConnectionPoint {\r\n return this.xyOut;\r\n }\r\n\r\n /**\r\n * Gets the xyz component (output)\r\n * @deprecated Please use xyzOut instead.\r\n */\r\n public get xyz(): NodeMaterialConnectionPoint {\r\n return this.xyzOut;\r\n }\r\n\r\n protected _inputRename(name: string) {\r\n if (name === \"xyzw \") {\r\n return \"xyzwIn\";\r\n }\r\n if (name === \"xyz \") {\r\n return \"xyzIn\";\r\n }\r\n if (name === \"xy \") {\r\n return \"xyIn\";\r\n }\r\n if (name === \"zw \") {\r\n return \"zwIn\";\r\n }\r\n return name;\r\n }\r\n\r\n private _buildSwizzle(len: number) {\r\n let swizzle = this.xSwizzle + this.ySwizzle + this.zSwizzle + this.wSwizzle;\r\n\r\n return \".\" + swizzle.substr(0, len);\r\n }\r\n\r\n protected _buildBlock(state: NodeMaterialBuildState) {\r\n super._buildBlock(state);\r\n\r\n let xInput = this.x;\r\n let yInput = this.y;\r\n let zInput = this.z;\r\n let wInput = this.w;\r\n let xyInput = this.xyIn;\r\n let zwInput = this.zwIn;\r\n let xyzInput = this.xyzIn;\r\n let xyzwInput = this.xyzwIn;\r\n\r\n let v4Output = this._outputs[0];\r\n let v3Output = this._outputs[1];\r\n let v2Output = this._outputs[2];\r\n let v2CompOutput = this._outputs[3];\r\n\r\n if (xyzwInput.isConnected) {\r\n if (v4Output.hasEndpoints) {\r\n state.compilationString += this._declareOutput(v4Output, state) + ` = ${xyzwInput.associatedVariableName}${this._buildSwizzle(4)};\\r\\n`;\r\n }\r\n\r\n if (v3Output.hasEndpoints) {\r\n state.compilationString += this._declareOutput(v3Output, state) + ` = ${xyzwInput.associatedVariableName}${this._buildSwizzle(3)};\\r\\n`;\r\n }\r\n\r\n if (v2Output.hasEndpoints) {\r\n state.compilationString += this._declareOutput(v2Output, state) + ` = ${xyzwInput.associatedVariableName}${this._buildSwizzle(2)};\\r\\n`;\r\n }\r\n } else if (xyzInput.isConnected) {\r\n if (v4Output.hasEndpoints) {\r\n state.compilationString += this._declareOutput(v4Output, state) + ` = vec4(${xyzInput.associatedVariableName}, ${wInput.isConnected ? this._writeVariable(wInput) : \"0.0\"})${this._buildSwizzle(4)};\\r\\n`;\r\n }\r\n\r\n if (v3Output.hasEndpoints) {\r\n state.compilationString += this._declareOutput(v3Output, state) + ` = ${xyzInput.associatedVariableName}${this._buildSwizzle(3)};\\r\\n`;\r\n }\r\n\r\n if (v2Output.hasEndpoints) {\r\n state.compilationString += this._declareOutput(v2Output, state) + ` = ${xyzInput.associatedVariableName}${this._buildSwizzle(2)};\\r\\n`;\r\n }\r\n } else if (xyInput.isConnected) {\r\n if (v4Output.hasEndpoints) {\r\n if (zwInput.isConnected) {\r\n state.compilationString += this._declareOutput(v4Output, state) + ` = vec4(${xyInput.associatedVariableName}, ${zwInput.associatedVariableName})${this._buildSwizzle(4)};\\r\\n`;\r\n } else {\r\n state.compilationString += this._declareOutput(v4Output, state) + ` = vec4(${xyInput.associatedVariableName}, ${zInput.isConnected ? this._writeVariable(zInput) : \"0.0\"}, ${wInput.isConnected ? this._writeVariable(wInput) : \"0.0\"})${this._buildSwizzle(4)};\\r\\n`;\r\n }\r\n }\r\n\r\n if (v3Output.hasEndpoints) {\r\n state.compilationString += this._declareOutput(v3Output, state) + ` = vec3(${xyInput.associatedVariableName}, ${zInput.isConnected ? this._writeVariable(zInput) : \"0.0\"})${this._buildSwizzle(3)};\\r\\n`;\r\n }\r\n\r\n if (v2Output.hasEndpoints) {\r\n state.compilationString += this._declareOutput(v2Output, state) + ` = ${xyInput.associatedVariableName}${this._buildSwizzle(2)};\\r\\n`;\r\n }\r\n\r\n if (v2CompOutput.hasEndpoints) {\r\n if (zwInput.isConnected) {\r\n state.compilationString += this._declareOutput(v2CompOutput, state) + ` = ${zwInput.associatedVariableName}${this._buildSwizzle(2)};\\r\\n`;\r\n } else {\r\n state.compilationString += this._declareOutput(v2CompOutput, state) + ` = vec2(${zInput.isConnected ? this._writeVariable(zInput) : \"0.0\"}, ${wInput.isConnected ? this._writeVariable(wInput) : \"0.0\"})${this._buildSwizzle(2)};\\r\\n`;\r\n }\r\n }\r\n } else {\r\n if (v4Output.hasEndpoints) {\r\n if (zwInput.isConnected) {\r\n state.compilationString += this._declareOutput(v4Output, state) + ` = vec4(${xInput.isConnected ? this._writeVariable(xInput) : \"0.0\"}, ${yInput.isConnected ? this._writeVariable(yInput) : \"0.0\"}, ${zwInput.associatedVariableName})${this._buildSwizzle(4)};\\r\\n`;\r\n } else {\r\n state.compilationString += this._declareOutput(v4Output, state) + ` = vec4(${xInput.isConnected ? this._writeVariable(xInput) : \"0.0\"}, ${yInput.isConnected ? this._writeVariable(yInput) : \"0.0\"}, ${zInput.isConnected ? this._writeVariable(zInput) : \"0.0\"}, ${wInput.isConnected ? this._writeVariable(wInput) : \"0.0\"})${this._buildSwizzle(4)};\\r\\n`;\r\n }\r\n }\r\n\r\n if (v3Output.hasEndpoints) {\r\n state.compilationString += this._declareOutput(v3Output, state) + ` = vec3(${xInput.isConnected ? this._writeVariable(xInput) : \"0.0\"}, ${yInput.isConnected ? this._writeVariable(yInput) : \"0.0\"}, ${zInput.isConnected ? this._writeVariable(zInput) : \"0.0\"})${this._buildSwizzle(3)};\\r\\n`;\r\n }\r\n\r\n if (v2Output.hasEndpoints) {\r\n state.compilationString += this._declareOutput(v2Output, state) + ` = vec2(${xInput.isConnected ? this._writeVariable(xInput) : \"0.0\"}, ${yInput.isConnected ? this._writeVariable(yInput) : \"0.0\"})${this._buildSwizzle(2)};\\r\\n`;\r\n }\r\n\r\n if (v2CompOutput.hasEndpoints) {\r\n if (zwInput.isConnected) {\r\n state.compilationString += this._declareOutput(v2CompOutput, state) + ` = ${zwInput.associatedVariableName}${this._buildSwizzle(2)};\\r\\n`;\r\n } else {\r\n state.compilationString += this._declareOutput(v2CompOutput, state) + ` = vec2(${zInput.isConnected ? this._writeVariable(zInput) : \"0.0\"}, ${wInput.isConnected ? this._writeVariable(wInput) : \"0.0\"})${this._buildSwizzle(2)};\\r\\n`;\r\n }\r\n }\r\n }\r\n\r\n return this;\r\n }\r\n\r\n public serialize(): any {\r\n let serializationObject = super.serialize();\r\n\r\n serializationObject.xSwizzle = this.xSwizzle;\r\n serializationObject.ySwizzle = this.ySwizzle;\r\n serializationObject.zSwizzle = this.zSwizzle;\r\n serializationObject.wSwizzle = this.wSwizzle;\r\n\r\n return serializationObject;\r\n }\r\n\r\n public _deserialize(serializationObject: any, scene: Scene, rootUrl: string) {\r\n super._deserialize(serializationObject, scene, rootUrl);\r\n\r\n this.xSwizzle = serializationObject.xSwizzle ?? \"x\";\r\n this.ySwizzle = serializationObject.ySwizzle ?? \"y\";\r\n this.zSwizzle = serializationObject.zSwizzle ?? \"z\";\r\n this.wSwizzle = serializationObject.wSwizzle ?? \"w\";\r\n }\r\n\r\n protected _dumpPropertiesCode() {\r\n var codeString = super._dumpPropertiesCode();\r\n codeString += `${this._codeVariableName}.xSwizzle = \"${this.xSwizzle}\";\\r\\n`;\r\n codeString += `${this._codeVariableName}.ySwizzle = \"${this.ySwizzle}\";\\r\\n`;\r\n codeString += `${this._codeVariableName}.zSwizzle = \"${this.zSwizzle}\";\\r\\n`;\r\n codeString += `${this._codeVariableName}.wSwizzle = \"${this.wSwizzle}\";\\r\\n`;\r\n\r\n return codeString;\r\n }\r\n}\r\n\r\nRegisterClass(\"BABYLON.VectorMergerBlock\", VectorMergerBlock);\r\n"]}
1
+ {"version":3,"file":"vectorMergerBlock.js","sourceRoot":"","sources":["../../../../../sourceES6/core/Materials/Node/Blocks/vectorMergerBlock.ts"],"names":[],"mappings":"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","sourcesContent":["import { NodeMaterialBlock } from '../nodeMaterialBlock';\r\nimport { NodeMaterialBlockConnectionPointTypes } from '../Enums/nodeMaterialBlockConnectionPointTypes';\r\nimport { NodeMaterialBuildState } from '../nodeMaterialBuildState';\r\nimport { NodeMaterialBlockTargets } from '../Enums/nodeMaterialBlockTargets';\r\nimport { NodeMaterialConnectionPoint } from '../nodeMaterialBlockConnectionPoint';\r\nimport { RegisterClass } from '../../../Misc/typeStore';\r\nimport { Scene } from '../../../scene';\r\n\r\n/**\r\n * Block used to create a Vector2/3/4 out of individual inputs (one for each component)\r\n */\r\nexport class VectorMergerBlock extends NodeMaterialBlock {\r\n /**\r\n * Gets or sets the swizzle for x (meaning which compoent to affect to the output.x)\r\n */\r\n public xSwizzle: \"x\" | \"y\" | \"z\" | \"w\" = \"x\";\r\n /**\r\n * Gets or sets the swizzle for y (meaning which compoent to affect to the output.y)\r\n */\r\n public ySwizzle: \"x\" | \"y\" | \"z\" | \"w\" = \"y\";\r\n /**\r\n * Gets or sets the swizzle for z (meaning which compoent to affect to the output.z)\r\n */\r\n public zSwizzle: \"x\" | \"y\" | \"z\" | \"w\" = \"z\";\r\n /**\r\n * Gets or sets the swizzle for w (meaning which compoent to affect to the output.w)\r\n */\r\n public wSwizzle: \"x\" | \"y\" | \"z\" | \"w\" = \"w\";\r\n\r\n /**\r\n * Create a new VectorMergerBlock\r\n * @param name defines the block name\r\n */\r\n public constructor(name: string) {\r\n super(name, NodeMaterialBlockTargets.Neutral);\r\n\r\n this.registerInput(\"xyzw \", NodeMaterialBlockConnectionPointTypes.Vector4, true);\r\n this.registerInput(\"xyz \", NodeMaterialBlockConnectionPointTypes.Vector3, true);\r\n this.registerInput(\"xy \", NodeMaterialBlockConnectionPointTypes.Vector2, true);\r\n this.registerInput(\"zw \", NodeMaterialBlockConnectionPointTypes.Vector2, true);\r\n this.registerInput(\"x\", NodeMaterialBlockConnectionPointTypes.Float, true);\r\n this.registerInput(\"y\", NodeMaterialBlockConnectionPointTypes.Float, true);\r\n this.registerInput(\"z\", NodeMaterialBlockConnectionPointTypes.Float, true);\r\n this.registerInput(\"w\", NodeMaterialBlockConnectionPointTypes.Float, true);\r\n\r\n this.registerOutput(\"xyzw\", NodeMaterialBlockConnectionPointTypes.Vector4);\r\n this.registerOutput(\"xyz\", NodeMaterialBlockConnectionPointTypes.Vector3);\r\n this.registerOutput(\"xy\", NodeMaterialBlockConnectionPointTypes.Vector2);\r\n this.registerOutput(\"zw\", NodeMaterialBlockConnectionPointTypes.Vector2);\r\n }\r\n\r\n /**\r\n * Gets the current class name\r\n * @returns the class name\r\n */\r\n public getClassName() {\r\n return \"VectorMergerBlock\";\r\n }\r\n\r\n /**\r\n * Gets the xyzw component (input)\r\n */\r\n public get xyzwIn(): NodeMaterialConnectionPoint {\r\n return this._inputs[0];\r\n }\r\n\r\n /**\r\n * Gets the xyz component (input)\r\n */\r\n public get xyzIn(): NodeMaterialConnectionPoint {\r\n return this._inputs[1];\r\n }\r\n\r\n /**\r\n * Gets the xy component (input)\r\n */\r\n public get xyIn(): NodeMaterialConnectionPoint {\r\n return this._inputs[2];\r\n }\r\n\r\n /**\r\n * Gets the zw component (input)\r\n */\r\n public get zwIn(): NodeMaterialConnectionPoint {\r\n return this._inputs[3];\r\n }\r\n\r\n /**\r\n * Gets the x component (input)\r\n */\r\n public get x(): NodeMaterialConnectionPoint {\r\n return this._inputs[4];\r\n }\r\n\r\n /**\r\n * Gets the y component (input)\r\n */\r\n public get y(): NodeMaterialConnectionPoint {\r\n return this._inputs[5];\r\n }\r\n\r\n /**\r\n * Gets the z component (input)\r\n */\r\n public get z(): NodeMaterialConnectionPoint {\r\n return this._inputs[6];\r\n }\r\n\r\n /**\r\n * Gets the w component (input)\r\n */\r\n public get w(): NodeMaterialConnectionPoint {\r\n return this._inputs[7];\r\n }\r\n\r\n /**\r\n * Gets the xyzw component (output)\r\n */\r\n public get xyzw(): NodeMaterialConnectionPoint {\r\n return this._outputs[0];\r\n }\r\n\r\n /**\r\n * Gets the xyz component (output)\r\n */\r\n public get xyzOut(): NodeMaterialConnectionPoint {\r\n return this._outputs[1];\r\n }\r\n\r\n /**\r\n * Gets the xy component (output)\r\n */\r\n public get xyOut(): NodeMaterialConnectionPoint {\r\n return this._outputs[2];\r\n }\r\n\r\n /**\r\n * Gets the zw component (output)\r\n */\r\n public get zwOut(): NodeMaterialConnectionPoint {\r\n return this._outputs[3];\r\n }\r\n\r\n /**\r\n * Gets the xy component (output)\r\n * @deprecated Please use xyOut instead.\r\n */\r\n public get xy(): NodeMaterialConnectionPoint {\r\n return this.xyOut;\r\n }\r\n\r\n /**\r\n * Gets the xyz component (output)\r\n * @deprecated Please use xyzOut instead.\r\n */\r\n public get xyz(): NodeMaterialConnectionPoint {\r\n return this.xyzOut;\r\n }\r\n\r\n protected _inputRename(name: string) {\r\n if (name === \"xyzw \") {\r\n return \"xyzwIn\";\r\n }\r\n if (name === \"xyz \") {\r\n return \"xyzIn\";\r\n }\r\n if (name === \"xy \") {\r\n return \"xyIn\";\r\n }\r\n if (name === \"zw \") {\r\n return \"zwIn\";\r\n }\r\n return name;\r\n }\r\n\r\n private _buildSwizzle(len: number) {\r\n let swizzle = this.xSwizzle + this.ySwizzle + this.zSwizzle + this.wSwizzle;\r\n\r\n return \".\" + swizzle.substr(0, len);\r\n }\r\n\r\n protected _buildBlock(state: NodeMaterialBuildState) {\r\n super._buildBlock(state);\r\n\r\n let xInput = this.x;\r\n let yInput = this.y;\r\n let zInput = this.z;\r\n let wInput = this.w;\r\n let xyInput = this.xyIn;\r\n let zwInput = this.zwIn;\r\n let xyzInput = this.xyzIn;\r\n let xyzwInput = this.xyzwIn;\r\n\r\n let v4Output = this._outputs[0];\r\n let v3Output = this._outputs[1];\r\n let v2Output = this._outputs[2];\r\n let v2CompOutput = this._outputs[3];\r\n\r\n if (xyzwInput.isConnected) {\r\n if (v4Output.hasEndpoints) {\r\n state.compilationString += this._declareOutput(v4Output, state) + ` = ${xyzwInput.associatedVariableName}${this._buildSwizzle(4)};\\r\\n`;\r\n }\r\n\r\n if (v3Output.hasEndpoints) {\r\n state.compilationString += this._declareOutput(v3Output, state) + ` = ${xyzwInput.associatedVariableName}${this._buildSwizzle(3)};\\r\\n`;\r\n }\r\n\r\n if (v2Output.hasEndpoints) {\r\n state.compilationString += this._declareOutput(v2Output, state) + ` = ${xyzwInput.associatedVariableName}${this._buildSwizzle(2)};\\r\\n`;\r\n }\r\n } else if (xyzInput.isConnected) {\r\n if (v4Output.hasEndpoints) {\r\n state.compilationString += this._declareOutput(v4Output, state) + ` = vec4(${xyzInput.associatedVariableName}, ${wInput.isConnected ? this._writeVariable(wInput) : \"0.0\"})${this._buildSwizzle(4)};\\r\\n`;\r\n }\r\n\r\n if (v3Output.hasEndpoints) {\r\n state.compilationString += this._declareOutput(v3Output, state) + ` = ${xyzInput.associatedVariableName}${this._buildSwizzle(3)};\\r\\n`;\r\n }\r\n\r\n if (v2Output.hasEndpoints) {\r\n state.compilationString += this._declareOutput(v2Output, state) + ` = ${xyzInput.associatedVariableName}${this._buildSwizzle(2)};\\r\\n`;\r\n }\r\n } else if (xyInput.isConnected) {\r\n if (v4Output.hasEndpoints) {\r\n if (zwInput.isConnected) {\r\n state.compilationString += this._declareOutput(v4Output, state) + ` = vec4(${xyInput.associatedVariableName}, ${zwInput.associatedVariableName})${this._buildSwizzle(4)};\\r\\n`;\r\n } else {\r\n state.compilationString += this._declareOutput(v4Output, state) + ` = vec4(${xyInput.associatedVariableName}, ${zInput.isConnected ? this._writeVariable(zInput) : \"0.0\"}, ${wInput.isConnected ? this._writeVariable(wInput) : \"0.0\"})${this._buildSwizzle(4)};\\r\\n`;\r\n }\r\n }\r\n\r\n if (v3Output.hasEndpoints) {\r\n state.compilationString += this._declareOutput(v3Output, state) + ` = vec3(${xyInput.associatedVariableName}, ${zInput.isConnected ? this._writeVariable(zInput) : \"0.0\"})${this._buildSwizzle(3)};\\r\\n`;\r\n }\r\n\r\n if (v2Output.hasEndpoints) {\r\n state.compilationString += this._declareOutput(v2Output, state) + ` = ${xyInput.associatedVariableName}${this._buildSwizzle(2)};\\r\\n`;\r\n }\r\n\r\n if (v2CompOutput.hasEndpoints) {\r\n if (zwInput.isConnected) {\r\n state.compilationString += this._declareOutput(v2CompOutput, state) + ` = ${zwInput.associatedVariableName}${this._buildSwizzle(2)};\\r\\n`;\r\n } else {\r\n state.compilationString += this._declareOutput(v2CompOutput, state) + ` = vec2(${zInput.isConnected ? this._writeVariable(zInput) : \"0.0\"}, ${wInput.isConnected ? this._writeVariable(wInput) : \"0.0\"})${this._buildSwizzle(2)};\\r\\n`;\r\n }\r\n }\r\n } else {\r\n if (v4Output.hasEndpoints) {\r\n if (zwInput.isConnected) {\r\n state.compilationString += this._declareOutput(v4Output, state) + ` = vec4(${xInput.isConnected ? this._writeVariable(xInput) : \"0.0\"}, ${yInput.isConnected ? this._writeVariable(yInput) : \"0.0\"}, ${zwInput.associatedVariableName})${this._buildSwizzle(4)};\\r\\n`;\r\n } else {\r\n state.compilationString += this._declareOutput(v4Output, state) + ` = vec4(${xInput.isConnected ? this._writeVariable(xInput) : \"0.0\"}, ${yInput.isConnected ? this._writeVariable(yInput) : \"0.0\"}, ${zInput.isConnected ? this._writeVariable(zInput) : \"0.0\"}, ${wInput.isConnected ? this._writeVariable(wInput) : \"0.0\"})${this._buildSwizzle(4)};\\r\\n`;\r\n }\r\n }\r\n\r\n if (v3Output.hasEndpoints) {\r\n state.compilationString += this._declareOutput(v3Output, state) + ` = vec3(${xInput.isConnected ? this._writeVariable(xInput) : \"0.0\"}, ${yInput.isConnected ? this._writeVariable(yInput) : \"0.0\"}, ${zInput.isConnected ? this._writeVariable(zInput) : \"0.0\"})${this._buildSwizzle(3)};\\r\\n`;\r\n }\r\n\r\n if (v2Output.hasEndpoints) {\r\n state.compilationString += this._declareOutput(v2Output, state) + ` = vec2(${xInput.isConnected ? this._writeVariable(xInput) : \"0.0\"}, ${yInput.isConnected ? this._writeVariable(yInput) : \"0.0\"})${this._buildSwizzle(2)};\\r\\n`;\r\n }\r\n\r\n if (v2CompOutput.hasEndpoints) {\r\n if (zwInput.isConnected) {\r\n state.compilationString += this._declareOutput(v2CompOutput, state) + ` = ${zwInput.associatedVariableName}${this._buildSwizzle(2)};\\r\\n`;\r\n } else {\r\n state.compilationString += this._declareOutput(v2CompOutput, state) + ` = vec2(${zInput.isConnected ? this._writeVariable(zInput) : \"0.0\"}, ${wInput.isConnected ? this._writeVariable(wInput) : \"0.0\"})${this._buildSwizzle(2)};\\r\\n`;\r\n }\r\n }\r\n }\r\n\r\n return this;\r\n }\r\n\r\n public serialize(): any {\r\n let serializationObject = super.serialize();\r\n\r\n serializationObject.xSwizzle = this.xSwizzle;\r\n serializationObject.ySwizzle = this.ySwizzle;\r\n serializationObject.zSwizzle = this.zSwizzle;\r\n serializationObject.wSwizzle = this.wSwizzle;\r\n\r\n return serializationObject;\r\n }\r\n\r\n public _deserialize(serializationObject: any, scene: Scene, rootUrl: string) {\r\n super._deserialize(serializationObject, scene, rootUrl);\r\n\r\n this.xSwizzle = serializationObject.xSwizzle ?? \"x\";\r\n this.ySwizzle = serializationObject.ySwizzle ?? \"y\";\r\n this.zSwizzle = serializationObject.zSwizzle ?? \"z\";\r\n this.wSwizzle = serializationObject.wSwizzle ?? \"w\";\r\n }\r\n\r\n protected _dumpPropertiesCode() {\r\n var codeString = super._dumpPropertiesCode();\r\n codeString += `${this._codeVariableName}.xSwizzle = \"${this.xSwizzle}\";\\r\\n`;\r\n codeString += `${this._codeVariableName}.ySwizzle = \"${this.ySwizzle}\";\\r\\n`;\r\n codeString += `${this._codeVariableName}.zSwizzle = \"${this.zSwizzle}\";\\r\\n`;\r\n codeString += `${this._codeVariableName}.wSwizzle = \"${this.wSwizzle}\";\\r\\n`;\r\n\r\n return codeString;\r\n }\r\n}\r\n\r\nRegisterClass(\"BABYLON.VectorMergerBlock\", VectorMergerBlock);\r\n"]}
@@ -166,29 +166,29 @@ var VectorSplitterBlock = /** @class */ (function (_super) {
166
166
  var wOutput = this._outputs[6];
167
167
  if (xyzOutput.hasEndpoints) {
168
168
  if (input === this.xyIn) {
169
- state.compilationString += this._declareOutput(xyzOutput, state) + (" = vec3(" + input.associatedVariableName + ", 0.0);\r\n");
169
+ state.compilationString += this._declareOutput(xyzOutput, state) + " = vec3(".concat(input.associatedVariableName, ", 0.0);\r\n");
170
170
  }
171
171
  else {
172
- state.compilationString += this._declareOutput(xyzOutput, state) + (" = " + input.associatedVariableName + ".xyz;\r\n");
172
+ state.compilationString += this._declareOutput(xyzOutput, state) + " = ".concat(input.associatedVariableName, ".xyz;\r\n");
173
173
  }
174
174
  }
175
175
  if (zwOutput.hasEndpoints && this.xyzw.isConnected) {
176
- state.compilationString += this._declareOutput(zwOutput, state) + (" = " + this.xyzw.associatedVariableName + ".zw;\r\n");
176
+ state.compilationString += this._declareOutput(zwOutput, state) + " = ".concat(this.xyzw.associatedVariableName, ".zw;\r\n");
177
177
  }
178
178
  if (xyOutput.hasEndpoints) {
179
- state.compilationString += this._declareOutput(xyOutput, state) + (" = " + input.associatedVariableName + ".xy;\r\n");
179
+ state.compilationString += this._declareOutput(xyOutput, state) + " = ".concat(input.associatedVariableName, ".xy;\r\n");
180
180
  }
181
181
  if (xOutput.hasEndpoints) {
182
- state.compilationString += this._declareOutput(xOutput, state) + (" = " + input.associatedVariableName + ".x;\r\n");
182
+ state.compilationString += this._declareOutput(xOutput, state) + " = ".concat(input.associatedVariableName, ".x;\r\n");
183
183
  }
184
184
  if (yOutput.hasEndpoints) {
185
- state.compilationString += this._declareOutput(yOutput, state) + (" = " + input.associatedVariableName + ".y;\r\n");
185
+ state.compilationString += this._declareOutput(yOutput, state) + " = ".concat(input.associatedVariableName, ".y;\r\n");
186
186
  }
187
187
  if (zOutput.hasEndpoints) {
188
- state.compilationString += this._declareOutput(zOutput, state) + (" = " + input.associatedVariableName + ".z;\r\n");
188
+ state.compilationString += this._declareOutput(zOutput, state) + " = ".concat(input.associatedVariableName, ".z;\r\n");
189
189
  }
190
190
  if (wOutput.hasEndpoints) {
191
- state.compilationString += this._declareOutput(wOutput, state) + (" = " + input.associatedVariableName + ".w;\r\n");
191
+ state.compilationString += this._declareOutput(wOutput, state) + " = ".concat(input.associatedVariableName, ".w;\r\n");
192
192
  }
193
193
  return this;
194
194
  };