@onerjs/core 8.53.4 → 8.53.6

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 (841) hide show
  1. package/Animations/animationGroup.d.ts +0 -1
  2. package/Animations/animationGroup.js +0 -1
  3. package/Animations/animationGroup.js.map +1 -1
  4. package/Animations/animationGroup.pure.js +2 -0
  5. package/Animations/animationGroup.pure.js.map +1 -1
  6. package/Animations/runtimeAnimation.js +11 -0
  7. package/Animations/runtimeAnimation.js.map +1 -1
  8. package/Audio/audioSceneComponent.pure.js +1 -1
  9. package/AudioV2/abstractAudio/abstractSound.d.ts +2 -1
  10. package/AudioV2/abstractAudio/abstractSound.js +7 -2
  11. package/AudioV2/abstractAudio/abstractSound.js.map +1 -1
  12. package/AudioV2/abstractAudio/abstractSoundInstance.d.ts +3 -1
  13. package/AudioV2/abstractAudio/abstractSoundInstance.js.map +1 -1
  14. package/AudioV2/abstractAudio/staticSound.d.ts +6 -0
  15. package/AudioV2/abstractAudio/staticSound.js +17 -1
  16. package/AudioV2/abstractAudio/staticSound.js.map +1 -1
  17. package/AudioV2/abstractAudio/staticSoundInstance.d.ts +4 -2
  18. package/AudioV2/abstractAudio/staticSoundInstance.js.map +1 -1
  19. package/AudioV2/abstractAudio/streamingSound.d.ts +6 -0
  20. package/AudioV2/abstractAudio/streamingSound.js +9 -1
  21. package/AudioV2/abstractAudio/streamingSound.js.map +1 -1
  22. package/AudioV2/webAudio/webAudioStaticSound.d.ts +7 -1
  23. package/AudioV2/webAudio/webAudioStaticSound.js +56 -8
  24. package/AudioV2/webAudio/webAudioStaticSound.js.map +1 -1
  25. package/AudioV2/webAudio/webAudioStreamingSound.d.ts +3 -1
  26. package/AudioV2/webAudio/webAudioStreamingSound.js +16 -4
  27. package/AudioV2/webAudio/webAudioStreamingSound.js.map +1 -1
  28. package/BakedVertexAnimation/bakedVertexAnimationManager.d.ts +2 -2
  29. package/BakedVertexAnimation/bakedVertexAnimationManager.js +151 -121
  30. package/BakedVertexAnimation/bakedVertexAnimationManager.js.map +1 -1
  31. package/Behaviors/Cameras/interpolatingBehavior.d.ts +17 -2
  32. package/Behaviors/Cameras/interpolatingBehavior.js +53 -23
  33. package/Behaviors/Cameras/interpolatingBehavior.js.map +1 -1
  34. package/Bones/bone.pure.js +3 -3
  35. package/Buffers/buffer.pure.js +0 -12
  36. package/Buffers/buffer.pure.js.map +1 -1
  37. package/Cameras/Inputs/BaseCameraMouseWheelInput.js +141 -126
  38. package/Cameras/Inputs/BaseCameraMouseWheelInput.js.map +1 -1
  39. package/Cameras/Inputs/BaseCameraPointersInput.d.ts +2 -1
  40. package/Cameras/Inputs/BaseCameraPointersInput.js +290 -277
  41. package/Cameras/Inputs/BaseCameraPointersInput.js.map +1 -1
  42. package/Cameras/Inputs/arcRotateCameraGamepadInput.js +115 -102
  43. package/Cameras/Inputs/arcRotateCameraGamepadInput.js.map +1 -1
  44. package/Cameras/Inputs/arcRotateCameraKeyboardMoveInput.d.ts +3 -0
  45. package/Cameras/Inputs/arcRotateCameraKeyboardMoveInput.js +334 -273
  46. package/Cameras/Inputs/arcRotateCameraKeyboardMoveInput.js.map +1 -1
  47. package/Cameras/Inputs/arcRotateCameraMouseWheelInput.js +273 -258
  48. package/Cameras/Inputs/arcRotateCameraMouseWheelInput.js.map +1 -1
  49. package/Cameras/Inputs/arcRotateCameraPointersInput.js +237 -213
  50. package/Cameras/Inputs/arcRotateCameraPointersInput.js.map +1 -1
  51. package/Cameras/Inputs/flyCameraKeyboardInput.js +199 -168
  52. package/Cameras/Inputs/flyCameraKeyboardInput.js.map +1 -1
  53. package/Cameras/Inputs/flyCameraMouseInput.js +243 -229
  54. package/Cameras/Inputs/flyCameraMouseInput.js.map +1 -1
  55. package/Cameras/Inputs/followCameraKeyboardMoveInput.js +311 -266
  56. package/Cameras/Inputs/followCameraKeyboardMoveInput.js.map +1 -1
  57. package/Cameras/Inputs/followCameraMouseWheelInput.js +139 -119
  58. package/Cameras/Inputs/followCameraMouseWheelInput.js.map +1 -1
  59. package/Cameras/Inputs/followCameraPointersInput.js +239 -203
  60. package/Cameras/Inputs/followCameraPointersInput.js.map +1 -1
  61. package/Cameras/Inputs/freeCameraGamepadInput.js +127 -114
  62. package/Cameras/Inputs/freeCameraGamepadInput.js.map +1 -1
  63. package/Cameras/Inputs/freeCameraKeyboardMoveInput.js +278 -244
  64. package/Cameras/Inputs/freeCameraKeyboardMoveInput.js.map +1 -1
  65. package/Cameras/Inputs/freeCameraMouseInput.js +216 -202
  66. package/Cameras/Inputs/freeCameraMouseInput.js.map +1 -1
  67. package/Cameras/Inputs/freeCameraMouseWheelInput.js +368 -353
  68. package/Cameras/Inputs/freeCameraMouseWheelInput.js.map +1 -1
  69. package/Cameras/Inputs/freeCameraTouchInput.js +185 -172
  70. package/Cameras/Inputs/freeCameraTouchInput.js.map +1 -1
  71. package/Cameras/Inputs/geospatialCameraKeyboardInput.d.ts +2 -0
  72. package/Cameras/Inputs/geospatialCameraKeyboardInput.js +291 -246
  73. package/Cameras/Inputs/geospatialCameraKeyboardInput.js.map +1 -1
  74. package/Cameras/Inputs/geospatialCameraPointersInput.d.ts +11 -1
  75. package/Cameras/Inputs/geospatialCameraPointersInput.js +18 -2
  76. package/Cameras/Inputs/geospatialCameraPointersInput.js.map +1 -1
  77. package/Cameras/Inputs/orbitCameraPointersInput.js +112 -96
  78. package/Cameras/Inputs/orbitCameraPointersInput.js.map +1 -1
  79. package/Cameras/VR/vrExperienceHelper.d.ts +0 -2
  80. package/Cameras/VR/vrExperienceHelper.js +0 -2
  81. package/Cameras/VR/vrExperienceHelper.js.map +1 -1
  82. package/Cameras/VR/vrExperienceHelper.pure.js +5 -0
  83. package/Cameras/VR/vrExperienceHelper.pure.js.map +1 -1
  84. package/Cameras/arcRotateCamera.pure.js +1559 -1479
  85. package/Cameras/arcRotateCamera.pure.js.map +1 -1
  86. package/Cameras/camera.pure.js +1225 -1178
  87. package/Cameras/camera.pure.js.map +1 -1
  88. package/Cameras/flyCamera.pure.js +369 -351
  89. package/Cameras/flyCamera.pure.js.map +1 -1
  90. package/Cameras/followCamera.pure.js +229 -192
  91. package/Cameras/followCamera.pure.js.map +1 -1
  92. package/Cameras/freeCamera.pure.js +373 -351
  93. package/Cameras/freeCamera.pure.js.map +1 -1
  94. package/Cameras/geospatialCamera.pure.d.ts +30 -7
  95. package/Cameras/geospatialCamera.pure.js +502 -457
  96. package/Cameras/geospatialCamera.pure.js.map +1 -1
  97. package/Cameras/geospatialCameraMovement.js +2 -2
  98. package/Cameras/geospatialCameraMovement.js.map +1 -1
  99. package/Cameras/targetCamera.pure.d.ts +7 -0
  100. package/Cameras/targetCamera.pure.js +550 -509
  101. package/Cameras/targetCamera.pure.js.map +1 -1
  102. package/Cameras/universalCamera.pure.js +98 -85
  103. package/Cameras/universalCamera.pure.js.map +1 -1
  104. package/Collisions/gpuPicker.d.ts +111 -4
  105. package/Collisions/gpuPicker.js +696 -119
  106. package/Collisions/gpuPicker.js.map +1 -1
  107. package/Compute/computeShader.pure.js +372 -355
  108. package/Compute/computeShader.pure.js.map +1 -1
  109. package/Culling/Helper/transformFeedbackBoundingHelper.pure.js +2 -2
  110. package/Decorators/nodeDecorator.d.ts +11 -1
  111. package/Decorators/nodeDecorator.js +43 -6
  112. package/Decorators/nodeDecorator.js.map +1 -1
  113. package/Engines/AbstractEngine/abstractEngine.loadFile.pure.js +8 -0
  114. package/Engines/AbstractEngine/abstractEngine.loadFile.pure.js.map +1 -1
  115. package/Engines/Native/nativeHelpers.js +15 -0
  116. package/Engines/Native/nativeHelpers.js.map +1 -1
  117. package/Engines/Native/nativeInterfaces.d.ts +7 -2
  118. package/Engines/Native/nativeInterfaces.js.map +1 -1
  119. package/Engines/Native/nativeRenderTargetWrapper.d.ts +5 -0
  120. package/Engines/Native/nativeRenderTargetWrapper.js +35 -1
  121. package/Engines/Native/nativeRenderTargetWrapper.js.map +1 -1
  122. package/Engines/Processors/shaderProcessor.js +5 -3
  123. package/Engines/Processors/shaderProcessor.js.map +1 -1
  124. package/Engines/WebGPU/Extensions/engine.videoTexture.pure.js +16 -3
  125. package/Engines/WebGPU/Extensions/engine.videoTexture.pure.js.map +1 -1
  126. package/Engines/WebGPU/webgpuClearQuad.pure.js +7 -1
  127. package/Engines/WebGPU/webgpuClearQuad.pure.js.map +1 -1
  128. package/Engines/abstractEngine.functions.d.ts +8 -2
  129. package/Engines/abstractEngine.functions.js +12 -4
  130. package/Engines/abstractEngine.functions.js.map +1 -1
  131. package/Engines/abstractEngine.pure.d.ts +20 -1
  132. package/Engines/abstractEngine.pure.js +21 -134
  133. package/Engines/abstractEngine.pure.js.map +1 -1
  134. package/Engines/engine.d.ts +208 -0
  135. package/Engines/engine.pure.js +0 -15
  136. package/Engines/engine.pure.js.map +1 -1
  137. package/Engines/nullEngine.pure.d.ts +66 -0
  138. package/Engines/nullEngine.pure.js +97 -0
  139. package/Engines/nullEngine.pure.js.map +1 -1
  140. package/Engines/thinEngine.pure.d.ts +0 -13
  141. package/Engines/thinEngine.pure.js +4 -23
  142. package/Engines/thinEngine.pure.js.map +1 -1
  143. package/Engines/thinNativeEngine.d.ts +0 -1
  144. package/Engines/thinNativeEngine.js +0 -1
  145. package/Engines/thinNativeEngine.js.map +1 -1
  146. package/Engines/thinNativeEngine.pure.d.ts +27 -0
  147. package/Engines/thinNativeEngine.pure.js +383 -17
  148. package/Engines/thinNativeEngine.pure.js.map +1 -1
  149. package/Engines/webgpuEngine.d.ts +1 -0
  150. package/Engines/webgpuEngine.js +1 -0
  151. package/Engines/webgpuEngine.js.map +1 -1
  152. package/Engines/webgpuEngine.pure.d.ts +9 -0
  153. package/Engines/webgpuEngine.pure.js +7 -0
  154. package/Engines/webgpuEngine.pure.js.map +1 -1
  155. package/FlowGraph/flowGraph.js +9 -0
  156. package/FlowGraph/flowGraph.js.map +1 -1
  157. package/FlowGraph/flowGraphContext.js +597 -584
  158. package/FlowGraph/flowGraphContext.js.map +1 -1
  159. package/FlowGraph/flowGraphDataConnection.pure.d.ts +14 -0
  160. package/FlowGraph/flowGraphDataConnection.pure.js +38 -1
  161. package/FlowGraph/flowGraphDataConnection.pure.js.map +1 -1
  162. package/FlowGraph/serialization.d.ts +11 -0
  163. package/FlowGraph/serialization.js +11 -1
  164. package/FlowGraph/serialization.js.map +1 -1
  165. package/FrameGraph/Node/Blocks/Layers/glowLayerBlock.pure.js +182 -170
  166. package/FrameGraph/Node/Blocks/Layers/glowLayerBlock.pure.js.map +1 -1
  167. package/FrameGraph/Node/Blocks/Layers/highlightLayerBlock.pure.js +196 -184
  168. package/FrameGraph/Node/Blocks/Layers/highlightLayerBlock.pure.js.map +1 -1
  169. package/FrameGraph/Node/Blocks/Layers/selectionOutlineLayerBlock.pure.js +222 -210
  170. package/FrameGraph/Node/Blocks/Layers/selectionOutlineLayerBlock.pure.js.map +1 -1
  171. package/FrameGraph/Node/Blocks/PostProcesses/basePostProcessBlock.js +123 -111
  172. package/FrameGraph/Node/Blocks/PostProcesses/basePostProcessBlock.js.map +1 -1
  173. package/FrameGraph/Node/Blocks/PostProcesses/baseWithPropertiesPostProcessBlock.js +158 -146
  174. package/FrameGraph/Node/Blocks/PostProcesses/baseWithPropertiesPostProcessBlock.js.map +1 -1
  175. package/FrameGraph/Node/Blocks/PostProcesses/blackAndWhitePostProcessBlock.pure.js +63 -51
  176. package/FrameGraph/Node/Blocks/PostProcesses/blackAndWhitePostProcessBlock.pure.js.map +1 -1
  177. package/FrameGraph/Node/Blocks/PostProcesses/bloomPostProcessBlock.pure.js +122 -110
  178. package/FrameGraph/Node/Blocks/PostProcesses/bloomPostProcessBlock.pure.js.map +1 -1
  179. package/FrameGraph/Node/Blocks/PostProcesses/blurPostProcessBlock.pure.js +76 -64
  180. package/FrameGraph/Node/Blocks/PostProcesses/blurPostProcessBlock.pure.js.map +1 -1
  181. package/FrameGraph/Node/Blocks/PostProcesses/chromaticAberrationPostProcessBlock.pure.js +89 -77
  182. package/FrameGraph/Node/Blocks/PostProcesses/chromaticAberrationPostProcessBlock.pure.js.map +1 -1
  183. package/FrameGraph/Node/Blocks/PostProcesses/circleOfConfusionPostProcessBlock.pure.js +134 -122
  184. package/FrameGraph/Node/Blocks/PostProcesses/circleOfConfusionPostProcessBlock.pure.js.map +1 -1
  185. package/FrameGraph/Node/Blocks/PostProcesses/colorCorrectionPostProcessBlock.pure.js +58 -46
  186. package/FrameGraph/Node/Blocks/PostProcesses/colorCorrectionPostProcessBlock.pure.js.map +1 -1
  187. package/FrameGraph/Node/Blocks/PostProcesses/convolutionPostProcessBlock.pure.js +107 -95
  188. package/FrameGraph/Node/Blocks/PostProcesses/convolutionPostProcessBlock.pure.js.map +1 -1
  189. package/FrameGraph/Node/Blocks/PostProcesses/depthOfFieldPostProcessBlock.pure.js +181 -169
  190. package/FrameGraph/Node/Blocks/PostProcesses/depthOfFieldPostProcessBlock.pure.js.map +1 -1
  191. package/FrameGraph/Node/Blocks/PostProcesses/extractHighlightsPostProcessBlock.pure.js +63 -51
  192. package/FrameGraph/Node/Blocks/PostProcesses/extractHighlightsPostProcessBlock.pure.js.map +1 -1
  193. package/FrameGraph/Node/Blocks/PostProcesses/filterPostProcessBlock.pure.js +63 -51
  194. package/FrameGraph/Node/Blocks/PostProcesses/filterPostProcessBlock.pure.js.map +1 -1
  195. package/FrameGraph/Node/Blocks/PostProcesses/grainPostProcessBlock.pure.js +76 -64
  196. package/FrameGraph/Node/Blocks/PostProcesses/grainPostProcessBlock.pure.js.map +1 -1
  197. package/FrameGraph/Node/Blocks/PostProcesses/imageProcessingPostProcessBlock.pure.js +246 -234
  198. package/FrameGraph/Node/Blocks/PostProcesses/imageProcessingPostProcessBlock.pure.js.map +1 -1
  199. package/FrameGraph/Node/Blocks/PostProcesses/motionBlurPostProcessBlock.pure.js +108 -96
  200. package/FrameGraph/Node/Blocks/PostProcesses/motionBlurPostProcessBlock.pure.js.map +1 -1
  201. package/FrameGraph/Node/Blocks/PostProcesses/screenSpaceCurvaturePostProcessBlock.pure.js +87 -75
  202. package/FrameGraph/Node/Blocks/PostProcesses/screenSpaceCurvaturePostProcessBlock.pure.js.map +1 -1
  203. package/FrameGraph/Node/Blocks/PostProcesses/sharpenPostProcessBlock.pure.js +76 -64
  204. package/FrameGraph/Node/Blocks/PostProcesses/sharpenPostProcessBlock.pure.js.map +1 -1
  205. package/FrameGraph/Node/Blocks/PostProcesses/ssao2PostProcessBlock.pure.js +313 -301
  206. package/FrameGraph/Node/Blocks/PostProcesses/ssao2PostProcessBlock.pure.js.map +1 -1
  207. package/FrameGraph/Node/Blocks/PostProcesses/ssrPostProcessBlock.pure.js +502 -490
  208. package/FrameGraph/Node/Blocks/PostProcesses/ssrPostProcessBlock.pure.js.map +1 -1
  209. package/FrameGraph/Node/Blocks/PostProcesses/taaPostProcessBlock.pure.js +147 -135
  210. package/FrameGraph/Node/Blocks/PostProcesses/taaPostProcessBlock.pure.js.map +1 -1
  211. package/FrameGraph/Node/Blocks/PostProcesses/tonemapPostProcessBlock.pure.js +90 -78
  212. package/FrameGraph/Node/Blocks/PostProcesses/tonemapPostProcessBlock.pure.js.map +1 -1
  213. package/FrameGraph/Node/Blocks/PostProcesses/volumetricLightingBlock.pure.js +179 -167
  214. package/FrameGraph/Node/Blocks/PostProcesses/volumetricLightingBlock.pure.js.map +1 -1
  215. package/FrameGraph/Node/Blocks/Rendering/baseObjectRendererBlock.js +462 -451
  216. package/FrameGraph/Node/Blocks/Rendering/baseObjectRendererBlock.js.map +1 -1
  217. package/FrameGraph/Node/Blocks/Rendering/baseShadowGeneratorBlock.js +265 -253
  218. package/FrameGraph/Node/Blocks/Rendering/baseShadowGeneratorBlock.js.map +1 -1
  219. package/FrameGraph/Node/Blocks/Rendering/csmShadowGeneratorBlock.pure.js +204 -192
  220. package/FrameGraph/Node/Blocks/Rendering/csmShadowGeneratorBlock.pure.js.map +1 -1
  221. package/FrameGraph/Node/Blocks/Rendering/geometryRendererBlock.pure.js +611 -550
  222. package/FrameGraph/Node/Blocks/Rendering/geometryRendererBlock.pure.js.map +1 -1
  223. package/FrameGraph/Node/Blocks/Rendering/iblShadowsRendererBlock.pure.js +320 -308
  224. package/FrameGraph/Node/Blocks/Rendering/iblShadowsRendererBlock.pure.js.map +1 -1
  225. package/FrameGraph/Node/Blocks/Rendering/utilityLayerRendererBlock.pure.js +87 -75
  226. package/FrameGraph/Node/Blocks/Rendering/utilityLayerRendererBlock.pure.js.map +1 -1
  227. package/FrameGraph/Node/Blocks/Textures/clearBlock.pure.js +154 -142
  228. package/FrameGraph/Node/Blocks/Textures/clearBlock.pure.js.map +1 -1
  229. package/FrameGraph/Node/Blocks/Textures/copyTextureBlock.pure.js +150 -138
  230. package/FrameGraph/Node/Blocks/Textures/copyTextureBlock.pure.js.map +1 -1
  231. package/FrameGraph/Node/Blocks/inputBlock.pure.js +270 -256
  232. package/FrameGraph/Node/Blocks/inputBlock.pure.js.map +1 -1
  233. package/FrameGraph/Node/Blocks/lightingVolumeBlock.pure.js +95 -83
  234. package/FrameGraph/Node/Blocks/lightingVolumeBlock.pure.js.map +1 -1
  235. package/FrameGraph/Node/nodeRenderGraph.js +715 -693
  236. package/FrameGraph/Node/nodeRenderGraph.js.map +1 -1
  237. package/FrameGraph/Node/nodeRenderGraphBlock.js +548 -533
  238. package/FrameGraph/Node/nodeRenderGraphBlock.js.map +1 -1
  239. package/FrameGraph/Tasks/Rendering/iblShadows/iblShadowsAccumulationTask.d.ts +2 -2
  240. package/FrameGraph/Tasks/Rendering/iblShadows/iblShadowsAccumulationTask.js +43 -51
  241. package/FrameGraph/Tasks/Rendering/iblShadows/iblShadowsAccumulationTask.js.map +1 -1
  242. package/FrameGraph/Tasks/Rendering/iblShadowsRendererTask.d.ts +0 -1
  243. package/FrameGraph/Tasks/Rendering/iblShadowsRendererTask.js +0 -1
  244. package/FrameGraph/Tasks/Rendering/iblShadowsRendererTask.js.map +1 -1
  245. package/FrameGraph/Tasks/Rendering/iblShadowsRendererTask.pure.d.ts +0 -1
  246. package/FrameGraph/Tasks/Rendering/iblShadowsRendererTask.pure.js +66 -35
  247. package/FrameGraph/Tasks/Rendering/iblShadowsRendererTask.pure.js.map +1 -1
  248. package/Helpers/environmentHelper.js +2 -2
  249. package/Helpers/environmentHelper.js.map +1 -1
  250. package/Layers/effectLayer.js +529 -519
  251. package/Layers/effectLayer.js.map +1 -1
  252. package/Layers/glowLayer.pure.js +428 -413
  253. package/Layers/glowLayer.pure.js.map +1 -1
  254. package/Layers/highlightLayer.pure.js +473 -458
  255. package/Layers/highlightLayer.pure.js.map +1 -1
  256. package/Layers/selectionOutlineLayer.pure.js +360 -345
  257. package/Layers/selectionOutlineLayer.pure.js.map +1 -1
  258. package/Lights/Clustered/clusteredLightContainer.pure.d.ts +1 -1
  259. package/Lights/Clustered/clusteredLightContainer.pure.js +583 -558
  260. package/Lights/Clustered/clusteredLightContainer.pure.js.map +1 -1
  261. package/Lights/Shadows/shadowGenerator.js +6 -1
  262. package/Lights/Shadows/shadowGenerator.js.map +1 -1
  263. package/Lights/areaLight.pure.js +61 -39
  264. package/Lights/areaLight.pure.js.map +1 -1
  265. package/Lights/directionalLight.pure.js +308 -284
  266. package/Lights/directionalLight.pure.js.map +1 -1
  267. package/Lights/hemisphericLight.pure.js +123 -104
  268. package/Lights/hemisphericLight.pure.js.map +1 -1
  269. package/Lights/light.d.ts +5 -3
  270. package/Lights/light.js +869 -827
  271. package/Lights/light.js.map +1 -1
  272. package/Lights/pointLight.pure.js +185 -174
  273. package/Lights/pointLight.pure.js.map +1 -1
  274. package/Lights/rectAreaLight.pure.d.ts +17 -0
  275. package/Lights/rectAreaLight.pure.js +238 -159
  276. package/Lights/rectAreaLight.pure.js.map +1 -1
  277. package/Lights/shadowLight.js +280 -268
  278. package/Lights/shadowLight.js.map +1 -1
  279. package/Lights/spotLight.pure.js +460 -427
  280. package/Lights/spotLight.pure.js.map +1 -1
  281. package/Loading/Plugins/babylonFileLoader.pure.js +17 -5
  282. package/Loading/Plugins/babylonFileLoader.pure.js.map +1 -1
  283. package/Loading/sceneLoader.d.ts +5 -1
  284. package/Loading/sceneLoader.js +299 -402
  285. package/Loading/sceneLoader.js.map +1 -1
  286. package/Materials/Background/backgroundMaterial.pure.d.ts +18 -18
  287. package/Materials/Background/backgroundMaterial.pure.js +949 -794
  288. package/Materials/Background/backgroundMaterial.pure.js.map +1 -1
  289. package/Materials/GaussianSplatting/gaussianSplattingGpuPickingMaterialPlugin.pure.d.ts +15 -0
  290. package/Materials/GaussianSplatting/gaussianSplattingGpuPickingMaterialPlugin.pure.js +34 -1
  291. package/Materials/GaussianSplatting/gaussianSplattingGpuPickingMaterialPlugin.pure.js.map +1 -1
  292. package/Materials/GaussianSplatting/gaussianSplattingMaterial.pure.d.ts +9 -0
  293. package/Materials/GaussianSplatting/gaussianSplattingMaterial.pure.js +26 -2
  294. package/Materials/GaussianSplatting/gaussianSplattingMaterial.pure.js.map +1 -1
  295. package/Materials/GaussianSplatting/gaussianSplattingSolidColorMaterialPlugin.pure.d.ts +2 -1
  296. package/Materials/GaussianSplatting/gaussianSplattingSolidColorMaterialPlugin.pure.js +169 -149
  297. package/Materials/GaussianSplatting/gaussianSplattingSolidColorMaterialPlugin.pure.js.map +1 -1
  298. package/Materials/Node/Blocks/Dual/imageSourceBlock.pure.js +1 -1
  299. package/Materials/Node/Blocks/Dual/lightBlock.pure.js +442 -429
  300. package/Materials/Node/Blocks/Dual/lightBlock.pure.js.map +1 -1
  301. package/Materials/Node/Blocks/Dual/reflectionTextureBaseBlock.pure.js +396 -383
  302. package/Materials/Node/Blocks/Dual/reflectionTextureBaseBlock.pure.js.map +1 -1
  303. package/Materials/Node/Blocks/Dual/sceneDepthBlock.pure.js +237 -220
  304. package/Materials/Node/Blocks/Dual/sceneDepthBlock.pure.js.map +1 -1
  305. package/Materials/Node/Blocks/Dual/textureBlock.pure.js +1 -1
  306. package/Materials/Node/Blocks/Fragment/ambientOcclusionBlock.pure.js +150 -133
  307. package/Materials/Node/Blocks/Fragment/ambientOcclusionBlock.pure.js.map +1 -1
  308. package/Materials/Node/Blocks/Fragment/fragmentOutputBlock.pure.js +265 -250
  309. package/Materials/Node/Blocks/Fragment/fragmentOutputBlock.pure.js.map +1 -1
  310. package/Materials/Node/Blocks/Fragment/heightToNormalBlock.pure.js +159 -142
  311. package/Materials/Node/Blocks/Fragment/heightToNormalBlock.pure.js.map +1 -1
  312. package/Materials/Node/Blocks/Fragment/imageProcessingBlock.pure.js +214 -201
  313. package/Materials/Node/Blocks/Fragment/imageProcessingBlock.pure.js.map +1 -1
  314. package/Materials/Node/Blocks/Fragment/perturbNormalBlock.pure.js +419 -400
  315. package/Materials/Node/Blocks/Fragment/perturbNormalBlock.pure.js.map +1 -1
  316. package/Materials/Node/Blocks/GaussianSplatting/gaussianSplattingBlock.pure.js +3 -1
  317. package/Materials/Node/Blocks/GaussianSplatting/gaussianSplattingBlock.pure.js.map +1 -1
  318. package/Materials/Node/Blocks/PBR/clearCoatBlock.pure.js +302 -289
  319. package/Materials/Node/Blocks/PBR/clearCoatBlock.pure.js.map +1 -1
  320. package/Materials/Node/Blocks/PBR/pbrMetallicRoughnessBlock.pure.js +1327 -1272
  321. package/Materials/Node/Blocks/PBR/pbrMetallicRoughnessBlock.pure.js.map +1 -1
  322. package/Materials/Node/Blocks/PBR/reflectionBlock.pure.js +352 -337
  323. package/Materials/Node/Blocks/PBR/reflectionBlock.pure.js.map +1 -1
  324. package/Materials/Node/Blocks/PBR/refractionBlock.pure.js +297 -277
  325. package/Materials/Node/Blocks/PBR/refractionBlock.pure.js.map +1 -1
  326. package/Materials/Node/Blocks/PBR/sheenBlock.pure.js +146 -131
  327. package/Materials/Node/Blocks/PBR/sheenBlock.pure.js.map +1 -1
  328. package/Materials/Node/Blocks/PBR/subSurfaceBlock.pure.js +158 -145
  329. package/Materials/Node/Blocks/PBR/subSurfaceBlock.pure.js.map +1 -1
  330. package/Materials/Node/Blocks/clampBlock.pure.js +92 -77
  331. package/Materials/Node/Blocks/clampBlock.pure.js.map +1 -1
  332. package/Materials/Node/Blocks/cloudBlock.pure.js +145 -132
  333. package/Materials/Node/Blocks/cloudBlock.pure.js.map +1 -1
  334. package/Materials/Node/Blocks/conditionalBlock.pure.js +182 -169
  335. package/Materials/Node/Blocks/conditionalBlock.pure.js.map +1 -1
  336. package/Materials/Node/Blocks/curveBlock.pure.js +259 -246
  337. package/Materials/Node/Blocks/curveBlock.pure.js.map +1 -1
  338. package/Materials/Node/Blocks/debugBlock.pure.js +119 -106
  339. package/Materials/Node/Blocks/debugBlock.pure.js.map +1 -1
  340. package/Materials/Node/Blocks/loopBlock.pure.js +123 -110
  341. package/Materials/Node/Blocks/loopBlock.pure.js.map +1 -1
  342. package/Materials/Node/Blocks/meshAttributeExistsBlock.pure.js +185 -172
  343. package/Materials/Node/Blocks/meshAttributeExistsBlock.pure.js.map +1 -1
  344. package/Materials/Node/Blocks/remapBlock.pure.js +127 -112
  345. package/Materials/Node/Blocks/remapBlock.pure.js.map +1 -1
  346. package/Materials/Node/Blocks/transformBlock.pure.js +196 -185
  347. package/Materials/Node/Blocks/transformBlock.pure.js.map +1 -1
  348. package/Materials/Node/Blocks/triPlanarBlock.pure.js +451 -438
  349. package/Materials/Node/Blocks/triPlanarBlock.pure.js.map +1 -1
  350. package/Materials/Node/Blocks/trigonometryBlock.pure.js +184 -171
  351. package/Materials/Node/Blocks/trigonometryBlock.pure.js.map +1 -1
  352. package/Materials/Node/Blocks/waveBlock.pure.js +97 -84
  353. package/Materials/Node/Blocks/waveBlock.pure.js.map +1 -1
  354. package/Materials/Node/Blocks/worleyNoise3DBlock.pure.js +276 -263
  355. package/Materials/Node/Blocks/worleyNoise3DBlock.pure.js.map +1 -1
  356. package/Materials/Node/nodeMaterial.pure.js +1765 -1737
  357. package/Materials/Node/nodeMaterial.pure.js.map +1 -1
  358. package/Materials/Node/nodeMaterialBuildState.d.ts +3 -3
  359. package/Materials/PBR/openpbrMaterial.pure.d.ts +102 -102
  360. package/Materials/PBR/openpbrMaterial.pure.js +3115 -2243
  361. package/Materials/PBR/openpbrMaterial.pure.js.map +1 -1
  362. package/Materials/PBR/pbrAnisotropicConfiguration.d.ts +3 -3
  363. package/Materials/PBR/pbrAnisotropicConfiguration.js +255 -227
  364. package/Materials/PBR/pbrAnisotropicConfiguration.js.map +1 -1
  365. package/Materials/PBR/pbrBRDFConfiguration.d.ts +9 -9
  366. package/Materials/PBR/pbrBRDFConfiguration.js +203 -155
  367. package/Materials/PBR/pbrBRDFConfiguration.js.map +1 -1
  368. package/Materials/PBR/pbrBaseMaterial.pure.d.ts +1 -1
  369. package/Materials/PBR/pbrBaseMaterial.pure.js +1751 -1736
  370. package/Materials/PBR/pbrBaseMaterial.pure.js.map +1 -1
  371. package/Materials/PBR/pbrBaseSimpleMaterial.d.ts +13 -13
  372. package/Materials/PBR/pbrBaseSimpleMaterial.js +205 -117
  373. package/Materials/PBR/pbrBaseSimpleMaterial.js.map +1 -1
  374. package/Materials/PBR/pbrClearCoatConfiguration.d.ts +9 -9
  375. package/Materials/PBR/pbrClearCoatConfiguration.js +464 -406
  376. package/Materials/PBR/pbrClearCoatConfiguration.js.map +1 -1
  377. package/Materials/PBR/pbrIridescenceConfiguration.d.ts +3 -3
  378. package/Materials/PBR/pbrIridescenceConfiguration.js +271 -239
  379. package/Materials/PBR/pbrIridescenceConfiguration.js.map +1 -1
  380. package/Materials/PBR/pbrMaterial.pure.d.ts +66 -66
  381. package/Materials/PBR/pbrMaterial.pure.js +1041 -685
  382. package/Materials/PBR/pbrMaterial.pure.js.map +1 -1
  383. package/Materials/PBR/pbrMetallicRoughnessMaterial.pure.d.ts +5 -5
  384. package/Materials/PBR/pbrMetallicRoughnessMaterial.pure.js +176 -115
  385. package/Materials/PBR/pbrMetallicRoughnessMaterial.pure.js.map +1 -1
  386. package/Materials/PBR/pbrSheenConfiguration.d.ts +7 -7
  387. package/Materials/PBR/pbrSheenConfiguration.js +314 -270
  388. package/Materials/PBR/pbrSheenConfiguration.js.map +1 -1
  389. package/Materials/PBR/pbrSpecularGlossinessMaterial.pure.d.ts +5 -5
  390. package/Materials/PBR/pbrSpecularGlossinessMaterial.pure.js +172 -117
  391. package/Materials/PBR/pbrSpecularGlossinessMaterial.pure.js.map +1 -1
  392. package/Materials/PBR/pbrSubSurfaceConfiguration.d.ts +16 -16
  393. package/Materials/PBR/pbrSubSurfaceConfiguration.js +864 -764
  394. package/Materials/PBR/pbrSubSurfaceConfiguration.js.map +1 -1
  395. package/Materials/Textures/HTML/htmlInCanvasPolyfill.d.ts +43 -0
  396. package/Materials/Textures/HTML/htmlInCanvasPolyfill.js +64 -0
  397. package/Materials/Textures/HTML/htmlInCanvasPolyfill.js.map +1 -0
  398. package/Materials/Textures/HTML/htmlInteractionManager.d.ts +69 -0
  399. package/Materials/Textures/HTML/htmlInteractionManager.js +130 -0
  400. package/Materials/Textures/HTML/htmlInteractionManager.js.map +1 -0
  401. package/Materials/Textures/HTML/htmlRaycastInteractionManager.d.ts +84 -0
  402. package/Materials/Textures/HTML/htmlRaycastInteractionManager.js +246 -0
  403. package/Materials/Textures/HTML/htmlRaycastInteractionManager.js.map +1 -0
  404. package/Materials/Textures/HTML/htmlTexture.d.ts +148 -0
  405. package/Materials/Textures/HTML/htmlTexture.js +455 -0
  406. package/Materials/Textures/HTML/htmlTexture.js.map +1 -0
  407. package/Materials/Textures/HTML/index.d.ts +4 -0
  408. package/Materials/Textures/HTML/index.js +5 -0
  409. package/Materials/Textures/HTML/index.js.map +1 -0
  410. package/Materials/Textures/HTML/pure.d.ts +5 -0
  411. package/Materials/Textures/HTML/pure.js +6 -0
  412. package/Materials/Textures/HTML/pure.js.map +1 -0
  413. package/Materials/Textures/Procedurals/proceduralTexture.pure.js +671 -643
  414. package/Materials/Textures/Procedurals/proceduralTexture.pure.js.map +1 -1
  415. package/Materials/Textures/baseTexture.pure.js +880 -825
  416. package/Materials/Textures/baseTexture.pure.js.map +1 -1
  417. package/Materials/Textures/cubeTexture.d.ts +0 -1
  418. package/Materials/Textures/cubeTexture.js +0 -1
  419. package/Materials/Textures/cubeTexture.js.map +1 -1
  420. package/Materials/Textures/cubeTexture.pure.js +368 -333
  421. package/Materials/Textures/cubeTexture.pure.js.map +1 -1
  422. package/Materials/Textures/dynamicTexture.d.ts +0 -1
  423. package/Materials/Textures/dynamicTexture.js +0 -1
  424. package/Materials/Textures/dynamicTexture.js.map +1 -1
  425. package/Materials/Textures/dynamicTexture.pure.js +2 -0
  426. package/Materials/Textures/dynamicTexture.pure.js.map +1 -1
  427. package/Materials/Textures/htmlElementTexture.d.ts +0 -2
  428. package/Materials/Textures/htmlElementTexture.js +0 -2
  429. package/Materials/Textures/htmlElementTexture.js.map +1 -1
  430. package/Materials/Textures/htmlElementTexture.pure.js +4 -0
  431. package/Materials/Textures/htmlElementTexture.pure.js.map +1 -1
  432. package/Materials/Textures/index.d.ts +1 -0
  433. package/Materials/Textures/index.js +1 -1
  434. package/Materials/Textures/index.js.map +1 -1
  435. package/Materials/Textures/multiRenderTarget.d.ts +0 -1
  436. package/Materials/Textures/multiRenderTarget.js +0 -1
  437. package/Materials/Textures/multiRenderTarget.js.map +1 -1
  438. package/Materials/Textures/multiRenderTarget.pure.js +2 -0
  439. package/Materials/Textures/multiRenderTarget.pure.js.map +1 -1
  440. package/Materials/Textures/pure.d.ts +1 -0
  441. package/Materials/Textures/pure.js +1 -0
  442. package/Materials/Textures/pure.js.map +1 -1
  443. package/Materials/Textures/texture.pure.js +961 -923
  444. package/Materials/Textures/texture.pure.js.map +1 -1
  445. package/Materials/Textures/videoTexture.pure.d.ts +3 -0
  446. package/Materials/Textures/videoTexture.pure.js +450 -401
  447. package/Materials/Textures/videoTexture.pure.js.map +1 -1
  448. package/Materials/colorCurves.pure.js +510 -477
  449. package/Materials/colorCurves.pure.js.map +1 -1
  450. package/Materials/effect.pure.js +0 -7
  451. package/Materials/effect.pure.js.map +1 -1
  452. package/Materials/imageProcessing.js +12 -4
  453. package/Materials/imageProcessing.js.map +1 -1
  454. package/Materials/imageProcessingConfiguration.pure.js +647 -587
  455. package/Materials/imageProcessingConfiguration.pure.js.map +1 -1
  456. package/Materials/material.decalMapConfiguration.pure.d.ts +2 -2
  457. package/Materials/material.decalMapConfiguration.pure.js +149 -130
  458. package/Materials/material.decalMapConfiguration.pure.js.map +1 -1
  459. package/Materials/material.detailMapConfiguration.d.ts +3 -3
  460. package/Materials/material.detailMapConfiguration.js +213 -175
  461. package/Materials/material.detailMapConfiguration.js.map +1 -1
  462. package/Materials/material.pure.js +1815 -1721
  463. package/Materials/material.pure.js.map +1 -1
  464. package/Materials/materialPluginBase.pure.js +270 -249
  465. package/Materials/materialPluginBase.pure.js.map +1 -1
  466. package/Materials/materialPluginManager.pure.js +18 -8
  467. package/Materials/materialPluginManager.pure.js.map +1 -1
  468. package/Materials/materialStencilState.js +211 -200
  469. package/Materials/materialStencilState.js.map +1 -1
  470. package/Materials/meshDebugPluginMaterial.pure.d.ts +2 -2
  471. package/Materials/meshDebugPluginMaterial.pure.js +397 -275
  472. package/Materials/meshDebugPluginMaterial.pure.js.map +1 -1
  473. package/Materials/standardMaterial.pure.d.ts +32 -32
  474. package/Materials/standardMaterial.pure.js +1804 -1394
  475. package/Materials/standardMaterial.pure.js.map +1 -1
  476. package/Maths/math.color.pure.js +5 -5
  477. package/Maths/math.functions.js +38 -30
  478. package/Maths/math.functions.js.map +1 -1
  479. package/Maths/math.vector.pure.js +25 -25
  480. package/Meshes/GaussianSplatting/gaussianSplattingMesh.pure.js +18 -8
  481. package/Meshes/GaussianSplatting/gaussianSplattingMesh.pure.js.map +1 -1
  482. package/Meshes/GaussianSplatting/gaussianSplattingMeshBase.pure.d.ts +86 -1
  483. package/Meshes/GaussianSplatting/gaussianSplattingMeshBase.pure.js +255 -104
  484. package/Meshes/GaussianSplatting/gaussianSplattingMeshBase.pure.js.map +1 -1
  485. package/Meshes/GaussianSplatting/gaussianSplattingSortWorker.d.ts +39 -0
  486. package/Meshes/GaussianSplatting/gaussianSplattingSortWorker.js +322 -0
  487. package/Meshes/GaussianSplatting/gaussianSplattingSortWorker.js.map +1 -0
  488. package/Meshes/GreasedLine/greasedLineMesh.pure.js +4 -4
  489. package/Meshes/GreasedLine/greasedLineRibbonMesh.pure.js +3 -3
  490. package/Meshes/Node/Blocks/Instances/instantiateBaseBlock.js +107 -94
  491. package/Meshes/Node/Blocks/Instances/instantiateBaseBlock.js.map +1 -1
  492. package/Meshes/Node/Blocks/Instances/instantiateOnFacesBlock.pure.js +276 -263
  493. package/Meshes/Node/Blocks/Instances/instantiateOnFacesBlock.pure.js.map +1 -1
  494. package/Meshes/Node/Blocks/Instances/instantiateOnVerticesBlock.pure.js +247 -232
  495. package/Meshes/Node/Blocks/Instances/instantiateOnVerticesBlock.pure.js.map +1 -1
  496. package/Meshes/Node/Blocks/Instances/instantiateOnVolumeBlock.pure.js +299 -284
  497. package/Meshes/Node/Blocks/Instances/instantiateOnVolumeBlock.pure.js.map +1 -1
  498. package/Meshes/Node/Blocks/Set/aggregatorBlock.pure.js +196 -181
  499. package/Meshes/Node/Blocks/Set/aggregatorBlock.pure.js.map +1 -1
  500. package/Meshes/Node/Blocks/Set/latticeBlock.pure.js +198 -179
  501. package/Meshes/Node/Blocks/Set/latticeBlock.pure.js.map +1 -1
  502. package/Meshes/Node/Blocks/Set/setColorsBlock.pure.js +151 -138
  503. package/Meshes/Node/Blocks/Set/setColorsBlock.pure.js.map +1 -1
  504. package/Meshes/Node/Blocks/Set/setMaterialIDBlock.pure.js +107 -94
  505. package/Meshes/Node/Blocks/Set/setMaterialIDBlock.pure.js.map +1 -1
  506. package/Meshes/Node/Blocks/Set/setNormalsBlock.pure.js +138 -125
  507. package/Meshes/Node/Blocks/Set/setNormalsBlock.pure.js.map +1 -1
  508. package/Meshes/Node/Blocks/Set/setPositionsBlock.pure.js +213 -200
  509. package/Meshes/Node/Blocks/Set/setPositionsBlock.pure.js.map +1 -1
  510. package/Meshes/Node/Blocks/Set/setTangentsBlock.pure.js +138 -125
  511. package/Meshes/Node/Blocks/Set/setTangentsBlock.pure.js.map +1 -1
  512. package/Meshes/Node/Blocks/Set/setUVsBlock.pure.js +179 -164
  513. package/Meshes/Node/Blocks/Set/setUVsBlock.pure.js.map +1 -1
  514. package/Meshes/Node/Blocks/Sources/boxBlock.pure.js +183 -170
  515. package/Meshes/Node/Blocks/Sources/boxBlock.pure.js.map +1 -1
  516. package/Meshes/Node/Blocks/Sources/capsuleBlock.pure.js +125 -112
  517. package/Meshes/Node/Blocks/Sources/capsuleBlock.pure.js.map +1 -1
  518. package/Meshes/Node/Blocks/Sources/cylinderBlock.pure.js +153 -140
  519. package/Meshes/Node/Blocks/Sources/cylinderBlock.pure.js.map +1 -1
  520. package/Meshes/Node/Blocks/Sources/discBlock.pure.js +112 -99
  521. package/Meshes/Node/Blocks/Sources/discBlock.pure.js.map +1 -1
  522. package/Meshes/Node/Blocks/Sources/gridBlock.pure.js +133 -120
  523. package/Meshes/Node/Blocks/Sources/gridBlock.pure.js.map +1 -1
  524. package/Meshes/Node/Blocks/Sources/icoSphereBlock.pure.js +128 -115
  525. package/Meshes/Node/Blocks/Sources/icoSphereBlock.pure.js.map +1 -1
  526. package/Meshes/Node/Blocks/Sources/meshBlock.pure.js +116 -103
  527. package/Meshes/Node/Blocks/Sources/meshBlock.pure.js.map +1 -1
  528. package/Meshes/Node/Blocks/Sources/planeBlock.pure.js +160 -147
  529. package/Meshes/Node/Blocks/Sources/planeBlock.pure.js.map +1 -1
  530. package/Meshes/Node/Blocks/Sources/sphereBlock.pure.js +144 -131
  531. package/Meshes/Node/Blocks/Sources/sphereBlock.pure.js.map +1 -1
  532. package/Meshes/Node/Blocks/Sources/torusBlock.pure.js +112 -99
  533. package/Meshes/Node/Blocks/Sources/torusBlock.pure.js.map +1 -1
  534. package/Meshes/Node/Blocks/Textures/geometryTextureFetchBlock.pure.js +200 -185
  535. package/Meshes/Node/Blocks/Textures/geometryTextureFetchBlock.pure.js.map +1 -1
  536. package/Meshes/Node/Blocks/bevelBlock.pure.js +111 -98
  537. package/Meshes/Node/Blocks/bevelBlock.pure.js.map +1 -1
  538. package/Meshes/Node/Blocks/booleanGeometryBlock.pure.js +182 -165
  539. package/Meshes/Node/Blocks/booleanGeometryBlock.pure.js.map +1 -1
  540. package/Meshes/Node/Blocks/cleanGeometryBlock.pure.js +89 -76
  541. package/Meshes/Node/Blocks/cleanGeometryBlock.pure.js.map +1 -1
  542. package/Meshes/Node/Blocks/conditionBlock.pure.js +184 -169
  543. package/Meshes/Node/Blocks/conditionBlock.pure.js.map +1 -1
  544. package/Meshes/Node/Blocks/extrudeGeometryBlock.pure.js +270 -255
  545. package/Meshes/Node/Blocks/extrudeGeometryBlock.pure.js.map +1 -1
  546. package/Meshes/Node/Blocks/geometryCollectionBlock.pure.js +172 -159
  547. package/Meshes/Node/Blocks/geometryCollectionBlock.pure.js.map +1 -1
  548. package/Meshes/Node/Blocks/geometryCurveBlock.pure.js +230 -217
  549. package/Meshes/Node/Blocks/geometryCurveBlock.pure.js.map +1 -1
  550. package/Meshes/Node/Blocks/geometryEaseBlock.pure.js +256 -245
  551. package/Meshes/Node/Blocks/geometryEaseBlock.pure.js.map +1 -1
  552. package/Meshes/Node/Blocks/geometryOptimizeBlock.pure.js +206 -189
  553. package/Meshes/Node/Blocks/geometryOptimizeBlock.pure.js.map +1 -1
  554. package/Meshes/Node/Blocks/geometryTransformBlock.pure.js +166 -153
  555. package/Meshes/Node/Blocks/geometryTransformBlock.pure.js.map +1 -1
  556. package/Meshes/Node/Blocks/geometryTrigonometryBlock.pure.js +221 -208
  557. package/Meshes/Node/Blocks/geometryTrigonometryBlock.pure.js.map +1 -1
  558. package/Meshes/Node/Blocks/mappingBlock.pure.js +150 -137
  559. package/Meshes/Node/Blocks/mappingBlock.pure.js.map +1 -1
  560. package/Meshes/Node/Blocks/mathBlock.pure.js +269 -256
  561. package/Meshes/Node/Blocks/mathBlock.pure.js.map +1 -1
  562. package/Meshes/Node/Blocks/mergeGeometryBlock.pure.js +141 -128
  563. package/Meshes/Node/Blocks/mergeGeometryBlock.pure.js.map +1 -1
  564. package/Meshes/Node/Blocks/randomBlock.pure.js +161 -148
  565. package/Meshes/Node/Blocks/randomBlock.pure.js.map +1 -1
  566. package/Meshes/Node/Blocks/subdivideBlock.pure.js +102 -87
  567. package/Meshes/Node/Blocks/subdivideBlock.pure.js.map +1 -1
  568. package/Meshes/Node/nodeGeometry.js +560 -538
  569. package/Meshes/Node/nodeGeometry.js.map +1 -1
  570. package/Meshes/Node/nodeGeometryBlock.js +473 -458
  571. package/Meshes/Node/nodeGeometryBlock.js.map +1 -1
  572. package/Meshes/abstractMesh.pure.js +2218 -2207
  573. package/Meshes/abstractMesh.pure.js.map +1 -1
  574. package/Meshes/geometry.js +30 -15
  575. package/Meshes/geometry.js.map +1 -1
  576. package/Meshes/mesh.pure.js +26 -14
  577. package/Meshes/mesh.pure.js.map +1 -1
  578. package/Meshes/mesh.vertexData.js +1665 -1655
  579. package/Meshes/mesh.vertexData.js.map +1 -1
  580. package/Meshes/transformNode.pure.js +1400 -1372
  581. package/Meshes/transformNode.pure.js.map +1 -1
  582. package/Misc/decorators.d.ts +34 -19
  583. package/Misc/decorators.functions.d.ts +33 -2
  584. package/Misc/decorators.functions.js +114 -35
  585. package/Misc/decorators.functions.js.map +1 -1
  586. package/Misc/decorators.js +96 -68
  587. package/Misc/decorators.js.map +1 -1
  588. package/Misc/decorators.serialization.js +47 -40
  589. package/Misc/decorators.serialization.js.map +1 -1
  590. package/Misc/decorators.serializationUtilities.d.ts +24 -0
  591. package/Misc/decorators.serializationUtilities.js +20 -0
  592. package/Misc/decorators.serializationUtilities.js.map +1 -0
  593. package/Misc/dumpTools.pure.js +43 -33
  594. package/Misc/dumpTools.pure.js.map +1 -1
  595. package/Misc/fileTools.pure.js +8 -0
  596. package/Misc/fileTools.pure.js.map +1 -1
  597. package/Misc/observable.pure.js +0 -7
  598. package/Misc/observable.pure.js.map +1 -1
  599. package/Misc/snapshotRenderingHelper.d.ts +4 -1
  600. package/Misc/snapshotRenderingHelper.js.map +1 -1
  601. package/Misc/symbolMetadataPolyfill.d.ts +11 -0
  602. package/Misc/symbolMetadataPolyfill.js +22 -0
  603. package/Misc/symbolMetadataPolyfill.js.map +1 -0
  604. package/Misc/tools.pure.js +2 -2
  605. package/Misc/tools.pure.js.map +1 -1
  606. package/Morph/morphTarget.js +382 -365
  607. package/Morph/morphTarget.js.map +1 -1
  608. package/Particles/Node/Blocks/Conditions/particleConditionBlock.pure.js +160 -145
  609. package/Particles/Node/Blocks/Conditions/particleConditionBlock.pure.js.map +1 -1
  610. package/Particles/Node/Blocks/Emitters/coneShapeBlock.pure.js +187 -174
  611. package/Particles/Node/Blocks/Emitters/coneShapeBlock.pure.js.map +1 -1
  612. package/Particles/Node/Blocks/Emitters/meshShapeBlock.pure.js +238 -219
  613. package/Particles/Node/Blocks/Emitters/meshShapeBlock.pure.js.map +1 -1
  614. package/Particles/Node/Blocks/Emitters/setupSpriteSheetBlock.pure.js +140 -115
  615. package/Particles/Node/Blocks/Emitters/setupSpriteSheetBlock.pure.js.map +1 -1
  616. package/Particles/Node/Blocks/Emitters/sphereShapeBlock.pure.js +157 -144
  617. package/Particles/Node/Blocks/Emitters/sphereShapeBlock.pure.js.map +1 -1
  618. package/Particles/Node/Blocks/Triggers/particleTriggerBlock.pure.js +133 -119
  619. package/Particles/Node/Blocks/Triggers/particleTriggerBlock.pure.js.map +1 -1
  620. package/Particles/Node/Blocks/Update/alignAngleBlock.pure.js +93 -80
  621. package/Particles/Node/Blocks/Update/alignAngleBlock.pure.js.map +1 -1
  622. package/Particles/Node/Blocks/particleDebugBlock.pure.js +117 -105
  623. package/Particles/Node/Blocks/particleDebugBlock.pure.js.map +1 -1
  624. package/Particles/Node/Blocks/particleFloatToIntBlock.pure.js +105 -92
  625. package/Particles/Node/Blocks/particleFloatToIntBlock.pure.js.map +1 -1
  626. package/Particles/Node/Blocks/particleGradientValueBlock.pure.js +82 -69
  627. package/Particles/Node/Blocks/particleGradientValueBlock.pure.js.map +1 -1
  628. package/Particles/Node/Blocks/particleLocalVariableBlock.pure.js +113 -101
  629. package/Particles/Node/Blocks/particleLocalVariableBlock.pure.js.map +1 -1
  630. package/Particles/Node/Blocks/particleMathBlock.pure.js +278 -265
  631. package/Particles/Node/Blocks/particleMathBlock.pure.js.map +1 -1
  632. package/Particles/Node/Blocks/particleNumberMathBlock.pure.js +155 -142
  633. package/Particles/Node/Blocks/particleNumberMathBlock.pure.js.map +1 -1
  634. package/Particles/Node/Blocks/particleRandomBlock.pure.js +156 -143
  635. package/Particles/Node/Blocks/particleRandomBlock.pure.js.map +1 -1
  636. package/Particles/Node/Blocks/particleTrigonometryBlock.pure.js +217 -204
  637. package/Particles/Node/Blocks/particleTrigonometryBlock.pure.js.map +1 -1
  638. package/Particles/Node/Blocks/particleVectorMathBlock.pure.js +106 -93
  639. package/Particles/Node/Blocks/particleVectorMathBlock.pure.js.map +1 -1
  640. package/Particles/Node/Blocks/systemBlock.pure.js +366 -330
  641. package/Particles/Node/Blocks/systemBlock.pure.js.map +1 -1
  642. package/Particles/Node/nodeParticleBlock.js +339 -324
  643. package/Particles/Node/nodeParticleBlock.js.map +1 -1
  644. package/Particles/Node/nodeParticleSystemSet.js +494 -473
  645. package/Particles/Node/nodeParticleSystemSet.js.map +1 -1
  646. package/Particles/gpuParticleSystem.d.ts +0 -1
  647. package/Particles/gpuParticleSystem.js +0 -1
  648. package/Particles/gpuParticleSystem.js.map +1 -1
  649. package/Particles/gpuParticleSystem.pure.d.ts +4 -3
  650. package/Particles/gpuParticleSystem.pure.js +27 -16
  651. package/Particles/gpuParticleSystem.pure.js.map +1 -1
  652. package/Particles/particleSystem.pure.js +57 -2
  653. package/Particles/particleSystem.pure.js.map +1 -1
  654. package/Particles/thinParticleSystem.d.ts +0 -1
  655. package/Particles/thinParticleSystem.js +0 -1
  656. package/Particles/thinParticleSystem.js.map +1 -1
  657. package/Particles/thinParticleSystem.pure.js +2 -0
  658. package/Particles/thinParticleSystem.pure.js.map +1 -1
  659. package/Particles/webgl2ParticleSystem.pure.js +2 -0
  660. package/Particles/webgl2ParticleSystem.pure.js.map +1 -1
  661. package/Physics/v1/physicsImpostor.pure.js +4 -4
  662. package/PostProcesses/RenderPipeline/Pipelines/defaultRenderingPipeline.pure.js +675 -656
  663. package/PostProcesses/RenderPipeline/Pipelines/defaultRenderingPipeline.pure.js.map +1 -1
  664. package/PostProcesses/RenderPipeline/Pipelines/lensRenderingPipeline.d.ts +0 -1
  665. package/PostProcesses/RenderPipeline/Pipelines/lensRenderingPipeline.js +0 -1
  666. package/PostProcesses/RenderPipeline/Pipelines/lensRenderingPipeline.js.map +1 -1
  667. package/PostProcesses/RenderPipeline/Pipelines/ssao2RenderingPipeline.pure.js +521 -486
  668. package/PostProcesses/RenderPipeline/Pipelines/ssao2RenderingPipeline.pure.js.map +1 -1
  669. package/PostProcesses/RenderPipeline/Pipelines/ssaoRenderingPipeline.d.ts +0 -1
  670. package/PostProcesses/RenderPipeline/Pipelines/ssaoRenderingPipeline.js +0 -1
  671. package/PostProcesses/RenderPipeline/Pipelines/ssaoRenderingPipeline.js.map +1 -1
  672. package/PostProcesses/RenderPipeline/Pipelines/ssaoRenderingPipeline.pure.js +241 -220
  673. package/PostProcesses/RenderPipeline/Pipelines/ssaoRenderingPipeline.pure.js.map +1 -1
  674. package/PostProcesses/RenderPipeline/Pipelines/ssrRenderingPipeline.pure.js +852 -835
  675. package/PostProcesses/RenderPipeline/Pipelines/ssrRenderingPipeline.pure.js.map +1 -1
  676. package/PostProcesses/RenderPipeline/Pipelines/standardRenderingPipeline.pure.js +1135 -1073
  677. package/PostProcesses/RenderPipeline/Pipelines/standardRenderingPipeline.pure.js.map +1 -1
  678. package/PostProcesses/RenderPipeline/Pipelines/taaRenderingPipeline.pure.js +319 -303
  679. package/PostProcesses/RenderPipeline/Pipelines/taaRenderingPipeline.pure.js.map +1 -1
  680. package/PostProcesses/RenderPipeline/postProcessRenderPipeline.js +212 -199
  681. package/PostProcesses/RenderPipeline/postProcessRenderPipeline.js.map +1 -1
  682. package/PostProcesses/blackAndWhitePostProcess.pure.js +67 -55
  683. package/PostProcesses/blackAndWhitePostProcess.pure.js.map +1 -1
  684. package/PostProcesses/bloomMergePostProcess.pure.js +74 -62
  685. package/PostProcesses/bloomMergePostProcess.pure.js.map +1 -1
  686. package/PostProcesses/blurPostProcess.pure.js +127 -115
  687. package/PostProcesses/blurPostProcess.pure.js.map +1 -1
  688. package/PostProcesses/chromaticAberrationPostProcess.pure.js +130 -118
  689. package/PostProcesses/chromaticAberrationPostProcess.pure.js.map +1 -1
  690. package/PostProcesses/circleOfConfusionPostProcess.pure.js +115 -104
  691. package/PostProcesses/circleOfConfusionPostProcess.pure.js.map +1 -1
  692. package/PostProcesses/colorCorrectionPostProcess.pure.js +55 -43
  693. package/PostProcesses/colorCorrectionPostProcess.pure.js.map +1 -1
  694. package/PostProcesses/convolutionPostProcess.pure.js +96 -84
  695. package/PostProcesses/convolutionPostProcess.pure.js.map +1 -1
  696. package/PostProcesses/extractHighlightsPostProcess.pure.js +68 -57
  697. package/PostProcesses/extractHighlightsPostProcess.pure.js.map +1 -1
  698. package/PostProcesses/filterPostProcess.pure.js +66 -54
  699. package/PostProcesses/filterPostProcess.pure.js.map +1 -1
  700. package/PostProcesses/fxaaPostProcess.pure.js.map +1 -1
  701. package/PostProcesses/grainPostProcess.pure.js +82 -70
  702. package/PostProcesses/grainPostProcess.pure.js.map +1 -1
  703. package/PostProcesses/imageProcessingPostProcess.js +334 -322
  704. package/PostProcesses/imageProcessingPostProcess.js.map +1 -1
  705. package/PostProcesses/motionBlurPostProcess.pure.js +246 -235
  706. package/PostProcesses/motionBlurPostProcess.pure.js.map +1 -1
  707. package/PostProcesses/passPostProcess.pure.js +75 -63
  708. package/PostProcesses/passPostProcess.pure.js.map +1 -1
  709. package/PostProcesses/postProcess.pure.js +899 -835
  710. package/PostProcesses/postProcess.pure.js.map +1 -1
  711. package/PostProcesses/refractionPostProcess.pure.js +114 -87
  712. package/PostProcesses/refractionPostProcess.pure.js.map +1 -1
  713. package/PostProcesses/screenSpaceCurvaturePostProcess.pure.js +108 -96
  714. package/PostProcesses/screenSpaceCurvaturePostProcess.pure.js.map +1 -1
  715. package/PostProcesses/screenSpaceReflectionPostProcess.pure.js +241 -220
  716. package/PostProcesses/screenSpaceReflectionPostProcess.pure.js.map +1 -1
  717. package/PostProcesses/sharpenPostProcess.pure.js +86 -74
  718. package/PostProcesses/sharpenPostProcess.pure.js.map +1 -1
  719. package/PostProcesses/tonemapPostProcess.pure.js +82 -70
  720. package/PostProcesses/tonemapPostProcess.pure.js.map +1 -1
  721. package/PostProcesses/volumetricLightScatteringPostProcess.pure.js +500 -465
  722. package/PostProcesses/volumetricLightScatteringPostProcess.pure.js.map +1 -1
  723. package/PostProcesses/vrMultiviewToSingleviewPostProcess.d.ts +0 -1
  724. package/PostProcesses/vrMultiviewToSingleviewPostProcess.js +0 -1
  725. package/PostProcesses/vrMultiviewToSingleviewPostProcess.js.map +1 -1
  726. package/PostProcesses/vrMultiviewToSingleviewPostProcess.pure.js +2 -0
  727. package/PostProcesses/vrMultiviewToSingleviewPostProcess.pure.js.map +1 -1
  728. package/Probes/reflectionProbe.pure.js +238 -224
  729. package/Probes/reflectionProbe.pure.js.map +1 -1
  730. package/Rendering/GlobalIllumination/giRSMManager.pure.d.ts +1 -1
  731. package/Rendering/GlobalIllumination/giRSMManager.pure.js +138 -105
  732. package/Rendering/GlobalIllumination/giRSMManager.pure.js.map +1 -1
  733. package/Rendering/IBLShadows/iblShadowsPluginMaterial.pure.d.ts +1 -1
  734. package/Rendering/IBLShadows/iblShadowsPluginMaterial.pure.js +155 -138
  735. package/Rendering/IBLShadows/iblShadowsPluginMaterial.pure.js.map +1 -1
  736. package/Rendering/IBLShadows/iblShadowsRenderPipeline.d.ts +0 -2
  737. package/Rendering/IBLShadows/iblShadowsRenderPipeline.js +0 -2
  738. package/Rendering/IBLShadows/iblShadowsRenderPipeline.js.map +1 -1
  739. package/Rendering/IBLShadows/iblShadowsRenderPipeline.pure.js +5 -0
  740. package/Rendering/IBLShadows/iblShadowsRenderPipeline.pure.js.map +1 -1
  741. package/Rendering/IBLShadows/iblShadowsVoxelRenderer.d.ts +0 -1
  742. package/Rendering/IBLShadows/iblShadowsVoxelRenderer.js +0 -1
  743. package/Rendering/IBLShadows/iblShadowsVoxelRenderer.js.map +1 -1
  744. package/Rendering/IBLShadows/iblShadowsVoxelRenderer.pure.d.ts +1 -0
  745. package/Rendering/IBLShadows/iblShadowsVoxelRenderer.pure.js +34 -0
  746. package/Rendering/IBLShadows/iblShadowsVoxelRenderer.pure.js.map +1 -1
  747. package/Rendering/edgesRenderer.pure.js.map +1 -1
  748. package/Rendering/prePassRenderer.d.ts +0 -2
  749. package/Rendering/prePassRenderer.js +0 -2
  750. package/Rendering/prePassRenderer.js.map +1 -1
  751. package/Rendering/prePassRenderer.pure.js +2 -0
  752. package/Rendering/prePassRenderer.pure.js.map +1 -1
  753. package/Rendering/reflectiveShadowMap.pure.d.ts +1 -1
  754. package/Rendering/reflectiveShadowMap.pure.js +151 -130
  755. package/Rendering/reflectiveShadowMap.pure.js.map +1 -1
  756. package/Rendering/thinDepthPeelingRenderer.d.ts +0 -1
  757. package/Rendering/thinDepthPeelingRenderer.js +0 -1
  758. package/Rendering/thinDepthPeelingRenderer.js.map +1 -1
  759. package/Shaders/ShadersInclude/gaussianSplatting.js +1 -0
  760. package/Shaders/ShadersInclude/gaussianSplatting.js.map +1 -1
  761. package/Shaders/ShadersInclude/openpbrEnvironmentLighting.js +35 -5
  762. package/Shaders/ShadersInclude/openpbrEnvironmentLighting.js.map +1 -1
  763. package/Shaders/gaussianSplatting.fragment.js +17 -1
  764. package/Shaders/gaussianSplatting.fragment.js.map +1 -1
  765. package/Shaders/gaussianSplatting.vertex.js +1 -1
  766. package/Shaders/gaussianSplatting.vertex.js.map +1 -1
  767. package/Shaders/gaussianSplattingDepth.vertex.js +1 -1
  768. package/Shaders/gaussianSplattingDepth.vertex.js.map +1 -1
  769. package/Shaders/picking.fragment.js +39 -3
  770. package/Shaders/picking.fragment.js.map +1 -1
  771. package/ShadersWGSL/ShadersInclude/gaussianSplatting.js +3 -1
  772. package/ShadersWGSL/ShadersInclude/gaussianSplatting.js.map +1 -1
  773. package/ShadersWGSL/ShadersInclude/helperFunctions.js +2 -2
  774. package/ShadersWGSL/ShadersInclude/helperFunctions.js.map +1 -1
  775. package/ShadersWGSL/ShadersInclude/openpbrEnvironmentLighting.js +39 -7
  776. package/ShadersWGSL/ShadersInclude/openpbrEnvironmentLighting.js.map +1 -1
  777. package/ShadersWGSL/ShadersInclude/openpbrIblFunctions.js +4 -3
  778. package/ShadersWGSL/ShadersInclude/openpbrIblFunctions.js.map +1 -1
  779. package/ShadersWGSL/gaussianSplatting.fragment.js +14 -1
  780. package/ShadersWGSL/gaussianSplatting.fragment.js.map +1 -1
  781. package/ShadersWGSL/gaussianSplatting.vertex.js +2 -2
  782. package/ShadersWGSL/gaussianSplatting.vertex.js.map +1 -1
  783. package/ShadersWGSL/gaussianSplattingDepth.vertex.js +2 -2
  784. package/ShadersWGSL/gaussianSplattingDepth.vertex.js.map +1 -1
  785. package/ShadersWGSL/lightingVolume.compute.js +2 -2
  786. package/ShadersWGSL/lightingVolume.compute.js.map +1 -1
  787. package/ShadersWGSL/picking.fragment.js +22 -1
  788. package/ShadersWGSL/picking.fragment.js.map +1 -1
  789. package/XR/features/Layers/WebXRCompositionLayer.d.ts +3 -2
  790. package/XR/features/Layers/WebXRCompositionLayer.js +2 -2
  791. package/XR/features/Layers/WebXRCompositionLayer.js.map +1 -1
  792. package/XR/features/Layers/WebXRWebGPUCompositionLayer.d.ts +59 -0
  793. package/XR/features/Layers/WebXRWebGPUCompositionLayer.js +120 -0
  794. package/XR/features/Layers/WebXRWebGPUCompositionLayer.js.map +1 -0
  795. package/XR/features/Layers/WebXRWebGPUProjectionLayer.d.ts +25 -0
  796. package/XR/features/Layers/WebXRWebGPUProjectionLayer.js +69 -0
  797. package/XR/features/Layers/WebXRWebGPUProjectionLayer.js.map +1 -0
  798. package/XR/features/WebXRLayers.pure.d.ts +8 -0
  799. package/XR/features/WebXRLayers.pure.js +43 -6
  800. package/XR/features/WebXRLayers.pure.js.map +1 -1
  801. package/XR/native/nativeXRRenderTarget.d.ts +2 -2
  802. package/XR/native/nativeXRRenderTarget.js +2 -2
  803. package/XR/native/nativeXRRenderTarget.js.map +1 -1
  804. package/XR/webXRExperienceHelper.js +10 -1
  805. package/XR/webXRExperienceHelper.js.map +1 -1
  806. package/XR/webXRGraphicsBinding.d.ts +90 -0
  807. package/XR/webXRGraphicsBinding.js +85 -0
  808. package/XR/webXRGraphicsBinding.js.map +1 -0
  809. package/XR/webXRLayerRenderTargetTexture.d.ts +24 -0
  810. package/XR/webXRLayerRenderTargetTexture.js +30 -0
  811. package/XR/webXRLayerRenderTargetTexture.js.map +1 -0
  812. package/XR/webXRManagedOutputCanvas.d.ts +14 -0
  813. package/XR/webXRManagedOutputCanvas.js +24 -5
  814. package/XR/webXRManagedOutputCanvas.js.map +1 -1
  815. package/XR/webXRRenderTargetTextureProvider.d.ts +25 -4
  816. package/XR/webXRRenderTargetTextureProvider.js +33 -35
  817. package/XR/webXRRenderTargetTextureProvider.js.map +1 -1
  818. package/XR/webXRSessionManager.d.ts +11 -0
  819. package/XR/webXRSessionManager.js +37 -0
  820. package/XR/webXRSessionManager.js.map +1 -1
  821. package/XR/webXRTypes.d.ts +9 -6
  822. package/XR/webXRTypes.js.map +1 -1
  823. package/XR/webXRWebGLLayer.d.ts +2 -2
  824. package/XR/webXRWebGLLayer.js +2 -2
  825. package/XR/webXRWebGLLayer.js.map +1 -1
  826. package/XR/webXRWebGLRenderTargetTextureProvider.d.ts +12 -0
  827. package/XR/webXRWebGLRenderTargetTextureProvider.js +58 -0
  828. package/XR/webXRWebGLRenderTargetTextureProvider.js.map +1 -0
  829. package/XR/webXRWebGPURenderTargetTextureProvider.d.ts +69 -0
  830. package/XR/webXRWebGPURenderTargetTextureProvider.js +148 -0
  831. package/XR/webXRWebGPURenderTargetTextureProvider.js.map +1 -0
  832. package/index.d.ts +1 -0
  833. package/index.js +1 -0
  834. package/index.js.map +1 -1
  835. package/node.js +878 -845
  836. package/node.js.map +1 -1
  837. package/package.json +8 -14
  838. package/scene.pure.d.ts +12 -0
  839. package/scene.pure.js +36 -0
  840. package/scene.pure.js.map +1 -1
  841. package/tslib.es6.js +304 -150
@@ -1,4 +1,4 @@
1
- import { __decorate } from "../tslib.es6.js";
1
+ import { __esDecorate, __runInitializers } from "../tslib.es6.js";
2
2
  import { serialize } from "../Misc/decorators.js";
3
3
  import { RandomGUID } from "../Misc/guid.js";
4
4
  import { defaultValueSerializationFunction } from "./serialization.js";
@@ -11,587 +11,600 @@ import { FlowGraphLogger } from "./flowGraphLogger.js";
11
11
  * a more general variable definition, and execution variables that
12
12
  * are set by the blocks.
13
13
  */
14
- export class FlowGraphContext {
15
- /**
16
- * Enable logging on this context
17
- */
18
- get enableLogging() {
19
- return this._enableLogging;
20
- }
21
- set enableLogging(value) {
22
- if (this._enableLogging === value) {
23
- return;
24
- }
25
- this._enableLogging = value;
26
- if (this._enableLogging) {
27
- this.logger = new FlowGraphLogger();
28
- this.logger.logToConsole = true;
29
- }
30
- else {
31
- this.logger = null;
32
- }
33
- }
34
- constructor(params) {
35
- /**
36
- * A randomly generated GUID for each context.
37
- */
38
- this.uniqueId = RandomGUID();
39
- /**
40
- * An optional user-facing name for the context.
41
- * Defaults to an empty string; the editor may assign a label like "Context 0".
42
- */
43
- this.name = "";
44
- /**
45
- * These are the variables defined by a user.
46
- */
47
- this._userVariables = {};
48
- /**
49
- * Optional type annotations for user variables.
50
- * Keys are variable names; values are type name strings (e.g. "number", "Vector3", "Mesh").
51
- * This map is maintained by the editor and persisted through serialization so
52
- * that a variable's declared type survives even when its value is undefined.
53
- */
54
- this._variableTypes = {};
55
- /**
56
- * These are the variables set by the blocks.
57
- */
58
- this._executionVariables = {};
59
- /**
60
- * A context-specific global variables, available to all blocks in the context.
61
- */
62
- this._globalContextVariables = {};
63
- /**
64
- * These are the values for the data connection points
65
- */
66
- this._connectionValues = {};
67
- /**
68
- * These are blocks that have currently pending tasks/listeners that need to be cleaned up.
69
- */
70
- this._pendingBlocks = [];
71
- /**
72
- * A monotonically increasing ID for each execution.
73
- * Incremented for every block executed.
74
- */
75
- this._executionId = 0;
76
- /**
77
- * Observable that is triggered when a node is executed.
78
- */
79
- this.onNodeExecutedObservable = new Observable();
80
- /**
81
- * Observable triggered when a breakpoint is hit.
82
- * Observers receive the pending activation (block, context, signal) that was paused.
83
- */
84
- this.onBreakpointHitObservable = new Observable();
85
- /**
86
- * A predicate called before each execution block runs.
87
- * If it returns true, execution is paused before the block and a
88
- * pending activation is stored, which can be resumed via
89
- * {@link continueExecution} or {@link stepExecution}.
90
- *
91
- * Set to `null` to disable breakpoint checking.
92
- */
93
- this.breakpointPredicate = null;
94
- /**
95
- * The activation that is currently paused due to a breakpoint hit.
96
- * `null` when execution is not paused on a breakpoint.
97
- */
98
- this._pendingActivation = null;
99
- /**
100
- * When true, the next activation will pause regardless of the breakpoint predicate.
101
- * Set by {@link stepExecution}.
102
- */
103
- this._stepMode = false;
104
- /**
105
- * When set, the breakpoint check is skipped for this specific block uniqueId
106
- * on the very next call to {@link _shouldBreak}. Used by continue/step to avoid
107
- * immediately re-hitting the breakpoint on the block being resumed.
108
- */
109
- this._skipBreakpointForBlockId = null;
110
- /**
111
- * Whether to treat data as right-handed.
112
- * This is used when serializing data from a right-handed system, while running the context in a left-handed system, for example in glTF parsing.
113
- * Default is false.
114
- */
115
- this.treatDataAsRightHanded = false;
116
- this._enableLogging = false;
117
- this._configuration = params;
118
- this.assetsContext = params.assetsContext ?? params.scene;
119
- }
120
- /**
121
- * Check if a user-defined variable is defined.
122
- * @param name the name of the variable
123
- * @returns true if the variable is defined
124
- */
125
- hasVariable(name) {
126
- return name in this._userVariables;
127
- }
128
- /**
129
- * Set a user-defined variable.
130
- * @param name the name of the variable
131
- * @param value the value of the variable
132
- */
133
- setVariable(name, value) {
134
- this._userVariables[name] = value;
135
- this.logger?.addLogItem({
136
- time: Date.now(),
137
- className: this.getClassName(),
138
- uniqueId: this.uniqueId,
139
- action: "ContextVariableSet" /* FlowGraphAction.ContextVariableSet */,
140
- payload: {
141
- name,
142
- value,
143
- },
144
- });
145
- }
146
- /**
147
- * Get an assets from the assets context based on its type and index in the array
148
- * @param type The type of the asset
149
- * @param index The index of the asset
150
- * @returns The asset or null if not found
151
- */
152
- getAsset(type, index) {
153
- return GetFlowGraphAssetWithType(this.assetsContext, type, index);
154
- }
155
- /**
156
- * Get a user-defined variable.
157
- * @param name the name of the variable
158
- * @returns the value of the variable
159
- */
160
- getVariable(name) {
161
- this.logger?.addLogItem({
162
- time: Date.now(),
163
- className: this.getClassName(),
164
- uniqueId: this.uniqueId,
165
- action: "ContextVariableGet" /* FlowGraphAction.ContextVariableGet */,
166
- payload: {
167
- name,
168
- value: this._userVariables[name],
169
- },
170
- });
171
- return this._userVariables[name];
172
- }
173
- /**
174
- * Gets all user variables map
175
- */
176
- get userVariables() {
177
- return this._userVariables;
178
- }
179
- /**
180
- * Set the declared type annotation for a user variable.
181
- * @param name - the variable name
182
- * @param typeName - the type name string (e.g. "number", "Vector3", "Mesh")
183
- */
184
- setVariableType(name, typeName) {
185
- this._variableTypes[name] = typeName;
186
- }
187
- /**
188
- * Get the declared type annotation for a user variable.
189
- * @param name - the variable name
190
- * @returns the type name string, or undefined if no type was declared
191
- */
192
- getVariableType(name) {
193
- return this._variableTypes[name];
194
- }
195
- /**
196
- * Gets all variable type annotations.
197
- */
198
- get variableTypes() {
199
- return this._variableTypes;
200
- }
201
- /**
202
- * Get the scene that the context belongs to.
203
- * @returns the scene
204
- */
205
- getScene() {
206
- return this._configuration.scene;
207
- }
208
- _getUniqueIdPrefixedName(obj, name) {
209
- return `${obj.uniqueId}_${name}`;
210
- }
211
- /**
212
- * @internal
213
- * @param name name of the variable
214
- * @param defaultValue default value to return if the variable is not defined
215
- * @returns the variable value or the default value if the variable is not defined
216
- */
217
- _getGlobalContextVariable(name, defaultValue) {
218
- this.logger?.addLogItem({
219
- time: Date.now(),
220
- className: this.getClassName(),
221
- uniqueId: this.uniqueId,
222
- action: "GlobalVariableGet" /* FlowGraphAction.GlobalVariableGet */,
223
- payload: {
224
- name,
225
- defaultValue,
226
- possibleValue: this._globalContextVariables[name],
227
- },
228
- });
229
- if (this._hasGlobalContextVariable(name)) {
230
- return this._globalContextVariables[name];
231
- }
232
- else {
233
- return defaultValue;
234
- }
235
- }
236
- /**
237
- * Set a global context variable
238
- * @internal
239
- * @param name the name of the variable
240
- * @param value the value of the variable
241
- */
242
- _setGlobalContextVariable(name, value) {
243
- this.logger?.addLogItem({
244
- time: Date.now(),
245
- className: this.getClassName(),
246
- uniqueId: this.uniqueId,
247
- action: "GlobalVariableSet" /* FlowGraphAction.GlobalVariableSet */,
248
- payload: { name, value },
249
- });
250
- this._globalContextVariables[name] = value;
251
- }
252
- /**
253
- * Delete a global context variable
254
- * @internal
255
- * @param name the name of the variable
256
- */
257
- _deleteGlobalContextVariable(name) {
258
- this.logger?.addLogItem({
259
- time: Date.now(),
260
- className: this.getClassName(),
261
- uniqueId: this.uniqueId,
262
- action: "GlobalVariableDelete" /* FlowGraphAction.GlobalVariableDelete */,
263
- payload: { name },
264
- });
265
- delete this._globalContextVariables[name];
266
- }
267
- /**
268
- * Check if a global context variable is defined
269
- * @internal
270
- * @param name the name of the variable
271
- * @returns true if the variable is defined
272
- */
273
- _hasGlobalContextVariable(name) {
274
- return name in this._globalContextVariables;
275
- }
276
- /**
277
- * Set an internal execution variable
278
- * @internal
279
- * @param name
280
- * @param value
281
- */
282
- _setExecutionVariable(block, name, value) {
283
- this._executionVariables[this._getUniqueIdPrefixedName(block, name)] = value;
284
- }
285
- /**
286
- * Get an internal execution variable
287
- * @internal
288
- * @param name
289
- * @returns
290
- */
291
- _getExecutionVariable(block, name, defaultValue) {
292
- if (this._hasExecutionVariable(block, name)) {
293
- return this._executionVariables[this._getUniqueIdPrefixedName(block, name)];
294
- }
295
- else {
296
- return defaultValue;
297
- }
298
- }
299
- /**
300
- * Delete an internal execution variable
301
- * @internal
302
- * @param block
303
- * @param name
304
- */
305
- _deleteExecutionVariable(block, name) {
306
- delete this._executionVariables[this._getUniqueIdPrefixedName(block, name)];
307
- }
308
- /**
309
- * Check if an internal execution variable is defined
310
- * @internal
311
- * @param block
312
- * @param name
313
- * @returns
314
- */
315
- _hasExecutionVariable(block, name) {
316
- return this._getUniqueIdPrefixedName(block, name) in this._executionVariables;
317
- }
318
- /**
319
- * Check if a connection value is defined
320
- * @internal
321
- * @param connectionPoint
322
- * @returns
323
- */
324
- _hasConnectionValue(connectionPoint) {
325
- return connectionPoint.uniqueId in this._connectionValues;
326
- }
327
- /**
328
- * Set a connection value
329
- * @internal
330
- * @param connectionPoint
331
- * @param value
332
- */
333
- _setConnectionValue(connectionPoint, value) {
334
- this._connectionValues[connectionPoint.uniqueId] = value;
335
- this.logger?.addLogItem({
336
- time: Date.now(),
337
- className: this.getClassName(),
338
- uniqueId: this.uniqueId,
339
- action: "SetConnectionValue" /* FlowGraphAction.SetConnectionValue */,
340
- payload: {
341
- connectionPointId: connectionPoint.uniqueId,
342
- value,
343
- },
344
- });
345
- }
346
- /**
347
- * Set a connection value by key
348
- * @internal
349
- * @param key the key of the connection value
350
- * @param value the value of the connection
351
- */
352
- _setConnectionValueByKey(key, value) {
353
- this._connectionValues[key] = value;
354
- }
355
- /**
356
- * Get a connection value
357
- * @internal
358
- * @param connectionPoint
359
- * @returns
360
- */
361
- _getConnectionValue(connectionPoint) {
362
- this.logger?.addLogItem({
363
- time: Date.now(),
364
- className: this.getClassName(),
365
- uniqueId: this.uniqueId,
366
- action: "GetConnectionValue" /* FlowGraphAction.GetConnectionValue */,
367
- payload: {
368
- connectionPointId: connectionPoint.uniqueId,
369
- value: this._connectionValues[connectionPoint.uniqueId],
370
- },
371
- });
372
- return this._connectionValues[connectionPoint.uniqueId];
373
- }
374
- /**
375
- * Get the configuration
376
- * @internal
377
- * @param name
378
- * @param value
379
- */
380
- get configuration() {
381
- return this._configuration;
382
- }
383
- /**
384
- * Check if there are any pending blocks in this context
385
- * @returns true if there are pending blocks
386
- */
387
- get hasPendingBlocks() {
388
- return this._pendingBlocks.length > 0;
389
- }
390
- /**
391
- * Add a block to the list of blocks that have pending tasks.
392
- * @internal
393
- * @param block
394
- */
395
- _addPendingBlock(block) {
396
- // check if block is already in the array
397
- if (this._pendingBlocks.includes(block)) {
398
- return;
399
- }
400
- this._pendingBlocks.push(block);
401
- // sort pending blocks by priority
402
- this._pendingBlocks.sort((a, b) => a.priority - b.priority);
403
- }
404
- /**
405
- * Remove a block from the list of blocks that have pending tasks.
406
- * @internal
407
- * @param block
408
- */
409
- _removePendingBlock(block) {
410
- const index = this._pendingBlocks.indexOf(block);
411
- if (index !== -1) {
412
- this._pendingBlocks.splice(index, 1);
413
- }
414
- }
415
- /**
416
- * Clear all pending blocks.
417
- * @internal
418
- */
419
- _clearPendingBlocks() {
420
- for (const block of this._pendingBlocks) {
421
- block._cancelPendingTasks(this);
422
- }
423
- this._pendingBlocks.length = 0;
424
- }
425
- /**
426
- * @internal
427
- * Function that notifies the node executed observable
428
- * @param node
429
- */
430
- _notifyExecuteNode(node) {
431
- this.onNodeExecutedObservable.notifyObservers(node);
432
- this.logger?.addLogItem({
433
- time: Date.now(),
434
- className: node.getClassName(),
435
- uniqueId: node.uniqueId,
436
- action: "ExecuteBlock" /* FlowGraphAction.ExecuteBlock */,
437
- });
438
- }
439
- _notifyOnTick(framePayload) {
440
- // set the values as global variables
441
- this._setGlobalContextVariable("timeSinceStart", framePayload.timeSinceStart);
442
- this._setGlobalContextVariable("deltaTime", framePayload.deltaTime);
443
- // iterate the pending blocks and run each one's onFrame function
444
- for (const block of this._pendingBlocks) {
445
- block._executeOnTick?.(this);
446
- }
447
- }
448
- /**
449
- * @internal
450
- */
451
- _increaseExecutionId() {
452
- this._executionId++;
453
- }
454
- /**
455
- * A monotonically increasing ID for each execution.
456
- * Incremented for every block executed.
457
- */
458
- get executionId() {
459
- return this._executionId;
460
- }
461
- // ── Breakpoint API ─────────────────────────────────────────────────
462
- /**
463
- * Check whether the given block should break before executing.
464
- * Called by the signal connection infrastructure.
465
- * @internal
466
- * @param block the block about to execute
467
- * @param signal the signal that is triggering the execution
468
- * @returns true if execution should be paused (breakpoint hit)
469
- */
470
- _shouldBreak(block, signal) {
471
- // If continue/step just resumed this specific block, let it through
472
- if (this._skipBreakpointForBlockId === block.uniqueId) {
473
- this._skipBreakpointForBlockId = null;
474
- return false;
475
- }
476
- // If already paused on a breakpoint, silently block further execution
477
- // without overwriting the pending activation or re-notifying observers.
478
- if (this._pendingActivation) {
479
- return true;
480
- }
481
- if (this._stepMode) {
482
- this._stepMode = false;
483
- this._pendingActivation = { block, context: this, signal };
484
- this.onBreakpointHitObservable.notifyObservers(this._pendingActivation);
485
- return true;
486
- }
487
- if (this.breakpointPredicate && this.breakpointPredicate(block)) {
488
- this._pendingActivation = { block, context: this, signal };
489
- this.onBreakpointHitObservable.notifyObservers(this._pendingActivation);
490
- return true;
491
- }
492
- return false;
493
- }
494
- /**
495
- * Returns the currently paused activation, or null if not paused.
496
- */
497
- get pendingActivation() {
498
- return this._pendingActivation;
499
- }
500
- /**
501
- * Resume execution from a breakpoint hit.
502
- * The paused block and all downstream blocks will execute normally until
503
- * the next breakpoint (if any) is hit.
504
- */
505
- continueExecution() {
506
- const pending = this._pendingActivation;
507
- if (!pending) {
508
- return;
509
- }
510
- this._pendingActivation = null;
511
- // Tell _shouldBreak to skip the breakpoint for this block on re-entry
512
- this._skipBreakpointForBlockId = pending.block.uniqueId;
513
- pending.signal._activateSignal(this);
514
- // Clear in case no re-entry happened (shouldn't linger)
515
- this._skipBreakpointForBlockId = null;
516
- }
517
- /**
518
- * Execute exactly the paused block and then pause again before the next
519
- * execution block fires. If no activation is pending, this is a no-op.
520
- */
521
- stepExecution() {
522
- const pending = this._pendingActivation;
523
- if (!pending) {
524
- return;
525
- }
526
- this._pendingActivation = null;
527
- // Enable step mode so the very next input-signal activation will pause
528
- this._stepMode = true;
529
- // Tell _shouldBreak to skip the breakpoint for this block on re-entry
530
- this._skipBreakpointForBlockId = pending.block.uniqueId;
531
- pending.signal._activateSignal(this);
532
- // If nothing further executed (end of chain), clear step mode
533
- this._stepMode = false;
534
- this._skipBreakpointForBlockId = null;
535
- }
536
- /**
537
- * Discard any pending breakpoint activation without resuming.
538
- * Used when stopping or resetting the graph.
539
- * @internal
540
- */
541
- _clearPendingActivation() {
542
- this._pendingActivation = null;
543
- this._stepMode = false;
544
- this._skipBreakpointForBlockId = null;
545
- }
546
- /**
547
- * Serializes a context
548
- * @param serializationObject the object to write the values in
549
- * @param valueSerializationFunction a function to serialize complex values
550
- */
551
- serialize(serializationObject = {}, valueSerializationFunction = defaultValueSerializationFunction) {
552
- serializationObject.uniqueId = this.uniqueId;
553
- serializationObject.name = this.name;
554
- serializationObject._userVariables = {};
555
- for (const key in this._userVariables) {
556
- valueSerializationFunction(key, this._userVariables[key], serializationObject._userVariables);
557
- }
558
- // Persist variable type annotations (editor metadata)
559
- if (Object.keys(this._variableTypes).length > 0) {
560
- serializationObject._variableTypes = { ...this._variableTypes };
561
- }
562
- serializationObject._connectionValues = {};
563
- for (const key in this._connectionValues) {
564
- valueSerializationFunction(key, this._connectionValues[key], serializationObject._connectionValues);
565
- }
566
- // serialize assets context, if not scene
567
- if (this.assetsContext !== this.getScene()) {
568
- serializationObject._assetsContext = {
569
- meshes: this.assetsContext.meshes.map((m) => m.id),
570
- materials: this.assetsContext.materials.map((m) => m.id),
571
- textures: this.assetsContext.textures.map((m) => m.name),
572
- animations: this.assetsContext.animations.map((m) => m.name),
573
- lights: this.assetsContext.lights.map((m) => m.id),
574
- cameras: this.assetsContext.cameras.map((m) => m.id),
575
- sounds: this.assetsContext.sounds?.map((m) => m.name),
576
- skeletons: this.assetsContext.skeletons.map((m) => m.id),
577
- particleSystems: this.assetsContext.particleSystems.map((m) => m.name),
578
- geometries: this.assetsContext.geometries.map((m) => m.id),
579
- multiMaterials: this.assetsContext.multiMaterials.map((m) => m.id),
580
- transformNodes: this.assetsContext.transformNodes.map((m) => m.id),
581
- };
582
- }
583
- }
584
- /**
585
- * @returns the class name of the object.
586
- */
587
- getClassName() {
588
- return "FlowGraphContext";
589
- }
590
- }
591
- __decorate([
592
- serialize()
593
- ], FlowGraphContext.prototype, "uniqueId", void 0);
594
- __decorate([
595
- serialize()
596
- ], FlowGraphContext.prototype, "name", void 0);
14
+ let FlowGraphContext = (() => {
15
+ var _a;
16
+ let _uniqueId_decorators;
17
+ let _uniqueId_initializers = [];
18
+ let _uniqueId_extraInitializers = [];
19
+ let _name_decorators;
20
+ let _name_initializers = [];
21
+ let _name_extraInitializers = [];
22
+ return _a = class FlowGraphContext {
23
+ /**
24
+ * Enable logging on this context
25
+ */
26
+ get enableLogging() {
27
+ return this._enableLogging;
28
+ }
29
+ set enableLogging(value) {
30
+ if (this._enableLogging === value) {
31
+ return;
32
+ }
33
+ this._enableLogging = value;
34
+ if (this._enableLogging) {
35
+ this.logger = new FlowGraphLogger();
36
+ this.logger.logToConsole = true;
37
+ }
38
+ else {
39
+ this.logger = null;
40
+ }
41
+ }
42
+ constructor(params) {
43
+ /**
44
+ * A randomly generated GUID for each context.
45
+ */
46
+ this.uniqueId = __runInitializers(this, _uniqueId_initializers, RandomGUID());
47
+ /**
48
+ * An optional user-facing name for the context.
49
+ * Defaults to an empty string; the editor may assign a label like "Context 0".
50
+ */
51
+ this.name = (__runInitializers(this, _uniqueId_extraInitializers), __runInitializers(this, _name_initializers, ""));
52
+ /**
53
+ * These are the variables defined by a user.
54
+ */
55
+ this._userVariables = (__runInitializers(this, _name_extraInitializers), {});
56
+ /**
57
+ * Optional type annotations for user variables.
58
+ * Keys are variable names; values are type name strings (e.g. "number", "Vector3", "Mesh").
59
+ * This map is maintained by the editor and persisted through serialization so
60
+ * that a variable's declared type survives even when its value is undefined.
61
+ */
62
+ this._variableTypes = {};
63
+ /**
64
+ * These are the variables set by the blocks.
65
+ */
66
+ this._executionVariables = {};
67
+ /**
68
+ * A context-specific global variables, available to all blocks in the context.
69
+ */
70
+ this._globalContextVariables = {};
71
+ /**
72
+ * These are the values for the data connection points
73
+ */
74
+ this._connectionValues = {};
75
+ /**
76
+ * These are blocks that have currently pending tasks/listeners that need to be cleaned up.
77
+ */
78
+ this._pendingBlocks = [];
79
+ /**
80
+ * A monotonically increasing ID for each execution.
81
+ * Incremented for every block executed.
82
+ */
83
+ this._executionId = 0;
84
+ /**
85
+ * Observable that is triggered when a node is executed.
86
+ */
87
+ this.onNodeExecutedObservable = new Observable();
88
+ /**
89
+ * Observable triggered when a breakpoint is hit.
90
+ * Observers receive the pending activation (block, context, signal) that was paused.
91
+ */
92
+ this.onBreakpointHitObservable = new Observable();
93
+ /**
94
+ * A predicate called before each execution block runs.
95
+ * If it returns true, execution is paused before the block and a
96
+ * pending activation is stored, which can be resumed via
97
+ * {@link continueExecution} or {@link stepExecution}.
98
+ *
99
+ * Set to `null` to disable breakpoint checking.
100
+ */
101
+ this.breakpointPredicate = null;
102
+ /**
103
+ * The activation that is currently paused due to a breakpoint hit.
104
+ * `null` when execution is not paused on a breakpoint.
105
+ */
106
+ this._pendingActivation = null;
107
+ /**
108
+ * When true, the next activation will pause regardless of the breakpoint predicate.
109
+ * Set by {@link stepExecution}.
110
+ */
111
+ this._stepMode = false;
112
+ /**
113
+ * When set, the breakpoint check is skipped for this specific block uniqueId
114
+ * on the very next call to {@link _shouldBreak}. Used by continue/step to avoid
115
+ * immediately re-hitting the breakpoint on the block being resumed.
116
+ */
117
+ this._skipBreakpointForBlockId = null;
118
+ /**
119
+ * Whether to treat data as right-handed.
120
+ * This is used when serializing data from a right-handed system, while running the context in a left-handed system, for example in glTF parsing.
121
+ * Default is false.
122
+ */
123
+ this.treatDataAsRightHanded = false;
124
+ this._enableLogging = false;
125
+ this._configuration = params;
126
+ this.assetsContext = params.assetsContext ?? params.scene;
127
+ }
128
+ /**
129
+ * Check if a user-defined variable is defined.
130
+ * @param name the name of the variable
131
+ * @returns true if the variable is defined
132
+ */
133
+ hasVariable(name) {
134
+ return name in this._userVariables;
135
+ }
136
+ /**
137
+ * Set a user-defined variable.
138
+ * @param name the name of the variable
139
+ * @param value the value of the variable
140
+ */
141
+ setVariable(name, value) {
142
+ this._userVariables[name] = value;
143
+ this.logger?.addLogItem({
144
+ time: Date.now(),
145
+ className: this.getClassName(),
146
+ uniqueId: this.uniqueId,
147
+ action: "ContextVariableSet" /* FlowGraphAction.ContextVariableSet */,
148
+ payload: {
149
+ name,
150
+ value,
151
+ },
152
+ });
153
+ }
154
+ /**
155
+ * Get an assets from the assets context based on its type and index in the array
156
+ * @param type The type of the asset
157
+ * @param index The index of the asset
158
+ * @returns The asset or null if not found
159
+ */
160
+ getAsset(type, index) {
161
+ return GetFlowGraphAssetWithType(this.assetsContext, type, index);
162
+ }
163
+ /**
164
+ * Get a user-defined variable.
165
+ * @param name the name of the variable
166
+ * @returns the value of the variable
167
+ */
168
+ getVariable(name) {
169
+ this.logger?.addLogItem({
170
+ time: Date.now(),
171
+ className: this.getClassName(),
172
+ uniqueId: this.uniqueId,
173
+ action: "ContextVariableGet" /* FlowGraphAction.ContextVariableGet */,
174
+ payload: {
175
+ name,
176
+ value: this._userVariables[name],
177
+ },
178
+ });
179
+ return this._userVariables[name];
180
+ }
181
+ /**
182
+ * Gets all user variables map
183
+ */
184
+ get userVariables() {
185
+ return this._userVariables;
186
+ }
187
+ /**
188
+ * Set the declared type annotation for a user variable.
189
+ * @param name - the variable name
190
+ * @param typeName - the type name string (e.g. "number", "Vector3", "Mesh")
191
+ */
192
+ setVariableType(name, typeName) {
193
+ this._variableTypes[name] = typeName;
194
+ }
195
+ /**
196
+ * Get the declared type annotation for a user variable.
197
+ * @param name - the variable name
198
+ * @returns the type name string, or undefined if no type was declared
199
+ */
200
+ getVariableType(name) {
201
+ return this._variableTypes[name];
202
+ }
203
+ /**
204
+ * Gets all variable type annotations.
205
+ */
206
+ get variableTypes() {
207
+ return this._variableTypes;
208
+ }
209
+ /**
210
+ * Get the scene that the context belongs to.
211
+ * @returns the scene
212
+ */
213
+ getScene() {
214
+ return this._configuration.scene;
215
+ }
216
+ _getUniqueIdPrefixedName(obj, name) {
217
+ return `${obj.uniqueId}_${name}`;
218
+ }
219
+ /**
220
+ * @internal
221
+ * @param name name of the variable
222
+ * @param defaultValue default value to return if the variable is not defined
223
+ * @returns the variable value or the default value if the variable is not defined
224
+ */
225
+ _getGlobalContextVariable(name, defaultValue) {
226
+ this.logger?.addLogItem({
227
+ time: Date.now(),
228
+ className: this.getClassName(),
229
+ uniqueId: this.uniqueId,
230
+ action: "GlobalVariableGet" /* FlowGraphAction.GlobalVariableGet */,
231
+ payload: {
232
+ name,
233
+ defaultValue,
234
+ possibleValue: this._globalContextVariables[name],
235
+ },
236
+ });
237
+ if (this._hasGlobalContextVariable(name)) {
238
+ return this._globalContextVariables[name];
239
+ }
240
+ else {
241
+ return defaultValue;
242
+ }
243
+ }
244
+ /**
245
+ * Set a global context variable
246
+ * @internal
247
+ * @param name the name of the variable
248
+ * @param value the value of the variable
249
+ */
250
+ _setGlobalContextVariable(name, value) {
251
+ this.logger?.addLogItem({
252
+ time: Date.now(),
253
+ className: this.getClassName(),
254
+ uniqueId: this.uniqueId,
255
+ action: "GlobalVariableSet" /* FlowGraphAction.GlobalVariableSet */,
256
+ payload: { name, value },
257
+ });
258
+ this._globalContextVariables[name] = value;
259
+ }
260
+ /**
261
+ * Delete a global context variable
262
+ * @internal
263
+ * @param name the name of the variable
264
+ */
265
+ _deleteGlobalContextVariable(name) {
266
+ this.logger?.addLogItem({
267
+ time: Date.now(),
268
+ className: this.getClassName(),
269
+ uniqueId: this.uniqueId,
270
+ action: "GlobalVariableDelete" /* FlowGraphAction.GlobalVariableDelete */,
271
+ payload: { name },
272
+ });
273
+ delete this._globalContextVariables[name];
274
+ }
275
+ /**
276
+ * Check if a global context variable is defined
277
+ * @internal
278
+ * @param name the name of the variable
279
+ * @returns true if the variable is defined
280
+ */
281
+ _hasGlobalContextVariable(name) {
282
+ return name in this._globalContextVariables;
283
+ }
284
+ /**
285
+ * Set an internal execution variable
286
+ * @internal
287
+ * @param name
288
+ * @param value
289
+ */
290
+ _setExecutionVariable(block, name, value) {
291
+ this._executionVariables[this._getUniqueIdPrefixedName(block, name)] = value;
292
+ }
293
+ /**
294
+ * Get an internal execution variable
295
+ * @internal
296
+ * @param name
297
+ * @returns
298
+ */
299
+ _getExecutionVariable(block, name, defaultValue) {
300
+ if (this._hasExecutionVariable(block, name)) {
301
+ return this._executionVariables[this._getUniqueIdPrefixedName(block, name)];
302
+ }
303
+ else {
304
+ return defaultValue;
305
+ }
306
+ }
307
+ /**
308
+ * Delete an internal execution variable
309
+ * @internal
310
+ * @param block
311
+ * @param name
312
+ */
313
+ _deleteExecutionVariable(block, name) {
314
+ delete this._executionVariables[this._getUniqueIdPrefixedName(block, name)];
315
+ }
316
+ /**
317
+ * Check if an internal execution variable is defined
318
+ * @internal
319
+ * @param block
320
+ * @param name
321
+ * @returns
322
+ */
323
+ _hasExecutionVariable(block, name) {
324
+ return this._getUniqueIdPrefixedName(block, name) in this._executionVariables;
325
+ }
326
+ /**
327
+ * Check if a connection value is defined
328
+ * @internal
329
+ * @param connectionPoint
330
+ * @returns
331
+ */
332
+ _hasConnectionValue(connectionPoint) {
333
+ return connectionPoint.uniqueId in this._connectionValues;
334
+ }
335
+ /**
336
+ * Set a connection value
337
+ * @internal
338
+ * @param connectionPoint
339
+ * @param value
340
+ */
341
+ _setConnectionValue(connectionPoint, value) {
342
+ this._connectionValues[connectionPoint.uniqueId] = value;
343
+ this.logger?.addLogItem({
344
+ time: Date.now(),
345
+ className: this.getClassName(),
346
+ uniqueId: this.uniqueId,
347
+ action: "SetConnectionValue" /* FlowGraphAction.SetConnectionValue */,
348
+ payload: {
349
+ connectionPointId: connectionPoint.uniqueId,
350
+ value,
351
+ },
352
+ });
353
+ }
354
+ /**
355
+ * Set a connection value by key
356
+ * @internal
357
+ * @param key the key of the connection value
358
+ * @param value the value of the connection
359
+ */
360
+ _setConnectionValueByKey(key, value) {
361
+ this._connectionValues[key] = value;
362
+ }
363
+ /**
364
+ * Get a connection value
365
+ * @internal
366
+ * @param connectionPoint
367
+ * @returns
368
+ */
369
+ _getConnectionValue(connectionPoint) {
370
+ this.logger?.addLogItem({
371
+ time: Date.now(),
372
+ className: this.getClassName(),
373
+ uniqueId: this.uniqueId,
374
+ action: "GetConnectionValue" /* FlowGraphAction.GetConnectionValue */,
375
+ payload: {
376
+ connectionPointId: connectionPoint.uniqueId,
377
+ value: this._connectionValues[connectionPoint.uniqueId],
378
+ },
379
+ });
380
+ return this._connectionValues[connectionPoint.uniqueId];
381
+ }
382
+ /**
383
+ * Get the configuration
384
+ * @internal
385
+ * @param name
386
+ * @param value
387
+ */
388
+ get configuration() {
389
+ return this._configuration;
390
+ }
391
+ /**
392
+ * Check if there are any pending blocks in this context
393
+ * @returns true if there are pending blocks
394
+ */
395
+ get hasPendingBlocks() {
396
+ return this._pendingBlocks.length > 0;
397
+ }
398
+ /**
399
+ * Add a block to the list of blocks that have pending tasks.
400
+ * @internal
401
+ * @param block
402
+ */
403
+ _addPendingBlock(block) {
404
+ // check if block is already in the array
405
+ if (this._pendingBlocks.includes(block)) {
406
+ return;
407
+ }
408
+ this._pendingBlocks.push(block);
409
+ // sort pending blocks by priority
410
+ this._pendingBlocks.sort((a, b) => a.priority - b.priority);
411
+ }
412
+ /**
413
+ * Remove a block from the list of blocks that have pending tasks.
414
+ * @internal
415
+ * @param block
416
+ */
417
+ _removePendingBlock(block) {
418
+ const index = this._pendingBlocks.indexOf(block);
419
+ if (index !== -1) {
420
+ this._pendingBlocks.splice(index, 1);
421
+ }
422
+ }
423
+ /**
424
+ * Clear all pending blocks.
425
+ * @internal
426
+ */
427
+ _clearPendingBlocks() {
428
+ for (const block of this._pendingBlocks) {
429
+ block._cancelPendingTasks(this);
430
+ }
431
+ this._pendingBlocks.length = 0;
432
+ }
433
+ /**
434
+ * @internal
435
+ * Function that notifies the node executed observable
436
+ * @param node
437
+ */
438
+ _notifyExecuteNode(node) {
439
+ this.onNodeExecutedObservable.notifyObservers(node);
440
+ this.logger?.addLogItem({
441
+ time: Date.now(),
442
+ className: node.getClassName(),
443
+ uniqueId: node.uniqueId,
444
+ action: "ExecuteBlock" /* FlowGraphAction.ExecuteBlock */,
445
+ });
446
+ }
447
+ _notifyOnTick(framePayload) {
448
+ // set the values as global variables
449
+ this._setGlobalContextVariable("timeSinceStart", framePayload.timeSinceStart);
450
+ this._setGlobalContextVariable("deltaTime", framePayload.deltaTime);
451
+ // iterate the pending blocks and run each one's onFrame function
452
+ for (const block of this._pendingBlocks) {
453
+ block._executeOnTick?.(this);
454
+ }
455
+ }
456
+ /**
457
+ * @internal
458
+ */
459
+ _increaseExecutionId() {
460
+ this._executionId++;
461
+ }
462
+ /**
463
+ * A monotonically increasing ID for each execution.
464
+ * Incremented for every block executed.
465
+ */
466
+ get executionId() {
467
+ return this._executionId;
468
+ }
469
+ // ── Breakpoint API ─────────────────────────────────────────────────
470
+ /**
471
+ * Check whether the given block should break before executing.
472
+ * Called by the signal connection infrastructure.
473
+ * @internal
474
+ * @param block the block about to execute
475
+ * @param signal the signal that is triggering the execution
476
+ * @returns true if execution should be paused (breakpoint hit)
477
+ */
478
+ _shouldBreak(block, signal) {
479
+ // If continue/step just resumed this specific block, let it through
480
+ if (this._skipBreakpointForBlockId === block.uniqueId) {
481
+ this._skipBreakpointForBlockId = null;
482
+ return false;
483
+ }
484
+ // If already paused on a breakpoint, silently block further execution
485
+ // without overwriting the pending activation or re-notifying observers.
486
+ if (this._pendingActivation) {
487
+ return true;
488
+ }
489
+ if (this._stepMode) {
490
+ this._stepMode = false;
491
+ this._pendingActivation = { block, context: this, signal };
492
+ this.onBreakpointHitObservable.notifyObservers(this._pendingActivation);
493
+ return true;
494
+ }
495
+ if (this.breakpointPredicate && this.breakpointPredicate(block)) {
496
+ this._pendingActivation = { block, context: this, signal };
497
+ this.onBreakpointHitObservable.notifyObservers(this._pendingActivation);
498
+ return true;
499
+ }
500
+ return false;
501
+ }
502
+ /**
503
+ * Returns the currently paused activation, or null if not paused.
504
+ */
505
+ get pendingActivation() {
506
+ return this._pendingActivation;
507
+ }
508
+ /**
509
+ * Resume execution from a breakpoint hit.
510
+ * The paused block and all downstream blocks will execute normally until
511
+ * the next breakpoint (if any) is hit.
512
+ */
513
+ continueExecution() {
514
+ const pending = this._pendingActivation;
515
+ if (!pending) {
516
+ return;
517
+ }
518
+ this._pendingActivation = null;
519
+ // Tell _shouldBreak to skip the breakpoint for this block on re-entry
520
+ this._skipBreakpointForBlockId = pending.block.uniqueId;
521
+ pending.signal._activateSignal(this);
522
+ // Clear in case no re-entry happened (shouldn't linger)
523
+ this._skipBreakpointForBlockId = null;
524
+ }
525
+ /**
526
+ * Execute exactly the paused block and then pause again before the next
527
+ * execution block fires. If no activation is pending, this is a no-op.
528
+ */
529
+ stepExecution() {
530
+ const pending = this._pendingActivation;
531
+ if (!pending) {
532
+ return;
533
+ }
534
+ this._pendingActivation = null;
535
+ // Enable step mode so the very next input-signal activation will pause
536
+ this._stepMode = true;
537
+ // Tell _shouldBreak to skip the breakpoint for this block on re-entry
538
+ this._skipBreakpointForBlockId = pending.block.uniqueId;
539
+ pending.signal._activateSignal(this);
540
+ // If nothing further executed (end of chain), clear step mode
541
+ this._stepMode = false;
542
+ this._skipBreakpointForBlockId = null;
543
+ }
544
+ /**
545
+ * Discard any pending breakpoint activation without resuming.
546
+ * Used when stopping or resetting the graph.
547
+ * @internal
548
+ */
549
+ _clearPendingActivation() {
550
+ this._pendingActivation = null;
551
+ this._stepMode = false;
552
+ this._skipBreakpointForBlockId = null;
553
+ }
554
+ /**
555
+ * Serializes a context
556
+ * @param serializationObject the object to write the values in
557
+ * @param valueSerializationFunction a function to serialize complex values
558
+ */
559
+ serialize(serializationObject = {}, valueSerializationFunction = defaultValueSerializationFunction) {
560
+ serializationObject.uniqueId = this.uniqueId;
561
+ serializationObject.name = this.name;
562
+ serializationObject._userVariables = {};
563
+ for (const key in this._userVariables) {
564
+ valueSerializationFunction(key, this._userVariables[key], serializationObject._userVariables);
565
+ }
566
+ // Persist variable type annotations (editor metadata)
567
+ if (Object.keys(this._variableTypes).length > 0) {
568
+ serializationObject._variableTypes = { ...this._variableTypes };
569
+ }
570
+ serializationObject._connectionValues = {};
571
+ for (const key in this._connectionValues) {
572
+ valueSerializationFunction(key, this._connectionValues[key], serializationObject._connectionValues);
573
+ }
574
+ // serialize assets context, if not scene
575
+ if (this.assetsContext !== this.getScene()) {
576
+ serializationObject._assetsContext = {
577
+ meshes: this.assetsContext.meshes.map((m) => m.id),
578
+ materials: this.assetsContext.materials.map((m) => m.id),
579
+ textures: this.assetsContext.textures.map((m) => m.name),
580
+ animations: this.assetsContext.animations.map((m) => m.name),
581
+ lights: this.assetsContext.lights.map((m) => m.id),
582
+ cameras: this.assetsContext.cameras.map((m) => m.id),
583
+ sounds: this.assetsContext.sounds?.map((m) => m.name),
584
+ skeletons: this.assetsContext.skeletons.map((m) => m.id),
585
+ particleSystems: this.assetsContext.particleSystems.map((m) => m.name),
586
+ geometries: this.assetsContext.geometries.map((m) => m.id),
587
+ multiMaterials: this.assetsContext.multiMaterials.map((m) => m.id),
588
+ transformNodes: this.assetsContext.transformNodes.map((m) => m.id),
589
+ };
590
+ }
591
+ }
592
+ /**
593
+ * @returns the class name of the object.
594
+ */
595
+ getClassName() {
596
+ return "FlowGraphContext";
597
+ }
598
+ },
599
+ (() => {
600
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0;
601
+ _uniqueId_decorators = [serialize()];
602
+ _name_decorators = [serialize()];
603
+ __esDecorate(null, null, _uniqueId_decorators, { kind: "field", name: "uniqueId", static: false, private: false, access: { has: obj => "uniqueId" in obj, get: obj => obj.uniqueId, set: (obj, value) => { obj.uniqueId = value; } }, metadata: _metadata }, _uniqueId_initializers, _uniqueId_extraInitializers);
604
+ __esDecorate(null, null, _name_decorators, { kind: "field", name: "name", static: false, private: false, access: { has: obj => "name" in obj, get: obj => obj.name, set: (obj, value) => { obj.name = value; } }, metadata: _metadata }, _name_initializers, _name_extraInitializers);
605
+ if (_metadata) Object.defineProperty(_a, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
606
+ })(),
607
+ _a;
608
+ })();
609
+ export { FlowGraphContext };
597
610
  //# sourceMappingURL=flowGraphContext.js.map