@onerjs/core 9.0.2 → 9.0.4

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 (476) hide show
  1. package/Buffers/buffer.pure.js +4 -0
  2. package/Buffers/buffer.pure.js.map +1 -1
  3. package/Cameras/camera.pure.d.ts +14 -0
  4. package/Cameras/camera.pure.js +15 -0
  5. package/Cameras/camera.pure.js.map +1 -1
  6. package/Compute/computeShader.pure.d.ts +2 -1
  7. package/Compute/computeShader.pure.js +29 -10
  8. package/Compute/computeShader.pure.js.map +1 -1
  9. package/Culling/ray.core.js +22 -9
  10. package/Culling/ray.core.js.map +1 -1
  11. package/Engines/IDrawContext.d.ts +2 -0
  12. package/Engines/IDrawContext.js.map +1 -1
  13. package/Engines/Native/nativeInterfaces.d.ts +55 -4
  14. package/Engines/Native/nativeInterfaces.js.map +1 -1
  15. package/Engines/Native/nativeRenderTargetWrapper.d.ts +1 -0
  16. package/Engines/Native/nativeRenderTargetWrapper.js +5 -1
  17. package/Engines/Native/nativeRenderTargetWrapper.js.map +1 -1
  18. package/Engines/Processors/shaderCodeInliner.d.ts +2 -0
  19. package/Engines/Processors/shaderCodeInliner.js +251 -6
  20. package/Engines/Processors/shaderCodeInliner.js.map +1 -1
  21. package/Engines/Processors/shaderProcessor.js +10 -1
  22. package/Engines/Processors/shaderProcessor.js.map +1 -1
  23. package/Engines/WebGPU/Extensions/engine.debugging.pure.js +12 -0
  24. package/Engines/WebGPU/Extensions/engine.debugging.pure.js.map +1 -1
  25. package/Engines/WebGPU/Extensions/engine.multiRender.pure.js +0 -1
  26. package/Engines/WebGPU/Extensions/engine.multiRender.pure.js.map +1 -1
  27. package/Engines/WebGPU/Extensions/engine.query.pure.js +5 -0
  28. package/Engines/WebGPU/Extensions/engine.query.pure.js.map +1 -1
  29. package/Engines/WebGPU/webgpuBufferManager.js +7 -0
  30. package/Engines/WebGPU/webgpuBufferManager.js.map +1 -1
  31. package/Engines/WebGPU/webgpuCacheTextureView.d.ts +1 -1
  32. package/Engines/WebGPU/webgpuCacheTextureView.js +20 -8
  33. package/Engines/WebGPU/webgpuCacheTextureView.js.map +1 -1
  34. package/Engines/WebGPU/webgpuDrawContext.d.ts +2 -0
  35. package/Engines/WebGPU/webgpuDrawContext.js +6 -0
  36. package/Engines/WebGPU/webgpuDrawContext.js.map +1 -1
  37. package/Engines/WebGPU/webgpuQuerySet.d.ts +3 -3
  38. package/Engines/WebGPU/webgpuQuerySet.js +23 -9
  39. package/Engines/WebGPU/webgpuQuerySet.js.map +1 -1
  40. package/Engines/WebGPU/webgpuRenderPassCommandStream.d.ts +156 -0
  41. package/Engines/WebGPU/webgpuRenderPassCommandStream.js +323 -0
  42. package/Engines/WebGPU/webgpuRenderPassCommandStream.js.map +1 -0
  43. package/Engines/WebGPU/webgpuTextureManager.d.ts +1 -1
  44. package/Engines/WebGPU/webgpuTextureManager.js +4 -3
  45. package/Engines/WebGPU/webgpuTextureManager.js.map +1 -1
  46. package/Engines/WebGPU/webgpuTimestampQuery.d.ts +3 -1
  47. package/Engines/WebGPU/webgpuTimestampQuery.js +9 -6
  48. package/Engines/WebGPU/webgpuTimestampQuery.js.map +1 -1
  49. package/Engines/abstractEngine.pure.d.ts +2 -0
  50. package/Engines/abstractEngine.pure.js +14 -5
  51. package/Engines/abstractEngine.pure.js.map +1 -1
  52. package/Engines/constants.d.ts +6 -0
  53. package/Engines/constants.js +6 -0
  54. package/Engines/constants.js.map +1 -1
  55. package/Engines/engine.d.ts +198 -24
  56. package/Engines/pure.d.ts +1 -0
  57. package/Engines/pure.js +1 -0
  58. package/Engines/pure.js.map +1 -1
  59. package/Engines/renderCommandBatcher.pure.d.ts +16 -0
  60. package/Engines/renderCommandBatcher.pure.js +24 -0
  61. package/Engines/renderCommandBatcher.pure.js.map +1 -0
  62. package/Engines/thinEngine.functions.js +3 -2
  63. package/Engines/thinEngine.functions.js.map +1 -1
  64. package/Engines/thinEngine.pure.js +18 -2
  65. package/Engines/thinEngine.pure.js.map +1 -1
  66. package/Engines/thinNativeEngine.pure.d.ts +10 -7
  67. package/Engines/thinNativeEngine.pure.js +117 -46
  68. package/Engines/thinNativeEngine.pure.js.map +1 -1
  69. package/Engines/thinWebGPUEngine.d.ts +8 -0
  70. package/Engines/thinWebGPUEngine.js +11 -0
  71. package/Engines/thinWebGPUEngine.js.map +1 -1
  72. package/Engines/webgpuEngine.pure.d.ts +60 -1
  73. package/Engines/webgpuEngine.pure.js +238 -42
  74. package/Engines/webgpuEngine.pure.js.map +1 -1
  75. package/FlowGraph/Blocks/Data/Audio/flowGraphGetSoundVolumeBlock.pure.d.ts +3 -3
  76. package/FlowGraph/Blocks/Data/Audio/flowGraphGetSoundVolumeBlock.pure.js +2 -1
  77. package/FlowGraph/Blocks/Data/Audio/flowGraphGetSoundVolumeBlock.pure.js.map +1 -1
  78. package/FlowGraph/Blocks/Data/Audio/flowGraphIsSoundPlayingBlock.pure.d.ts +3 -3
  79. package/FlowGraph/Blocks/Data/Audio/flowGraphIsSoundPlayingBlock.pure.js +2 -1
  80. package/FlowGraph/Blocks/Data/Audio/flowGraphIsSoundPlayingBlock.pure.js.map +1 -1
  81. package/FlowGraph/Blocks/Event/flowGraphMeshIntersectionEventBlock.d.ts +5 -0
  82. package/FlowGraph/Blocks/Event/flowGraphMeshIntersectionEventBlock.js +8 -0
  83. package/FlowGraph/Blocks/Event/flowGraphMeshIntersectionEventBlock.js.map +1 -0
  84. package/FlowGraph/Blocks/Event/flowGraphMeshIntersectionEventBlock.pure.d.ts +77 -0
  85. package/FlowGraph/Blocks/Event/flowGraphMeshIntersectionEventBlock.pure.js +141 -0
  86. package/FlowGraph/Blocks/Event/flowGraphMeshIntersectionEventBlock.pure.js.map +1 -0
  87. package/FlowGraph/Blocks/Event/flowGraphSoundEndedEventBlock.pure.d.ts +5 -3
  88. package/FlowGraph/Blocks/Event/flowGraphSoundEndedEventBlock.pure.js +38 -7
  89. package/FlowGraph/Blocks/Event/flowGraphSoundEndedEventBlock.pure.js.map +1 -1
  90. package/FlowGraph/Blocks/Event/index.d.ts +1 -0
  91. package/FlowGraph/Blocks/Event/index.js +1 -0
  92. package/FlowGraph/Blocks/Event/index.js.map +1 -1
  93. package/FlowGraph/Blocks/Event/pure.d.ts +1 -0
  94. package/FlowGraph/Blocks/Event/pure.js +1 -0
  95. package/FlowGraph/Blocks/Event/pure.js.map +1 -1
  96. package/FlowGraph/Blocks/Execution/Audio/flowGraphPauseSoundBlock.pure.d.ts +3 -3
  97. package/FlowGraph/Blocks/Execution/Audio/flowGraphPauseSoundBlock.pure.js +2 -1
  98. package/FlowGraph/Blocks/Execution/Audio/flowGraphPauseSoundBlock.pure.js.map +1 -1
  99. package/FlowGraph/Blocks/Execution/Audio/flowGraphPlaySoundBlock.pure.d.ts +3 -3
  100. package/FlowGraph/Blocks/Execution/Audio/flowGraphPlaySoundBlock.pure.js +2 -1
  101. package/FlowGraph/Blocks/Execution/Audio/flowGraphPlaySoundBlock.pure.js.map +1 -1
  102. package/FlowGraph/Blocks/Execution/Audio/flowGraphSetSoundVolumeBlock.pure.d.ts +3 -3
  103. package/FlowGraph/Blocks/Execution/Audio/flowGraphSetSoundVolumeBlock.pure.js +2 -1
  104. package/FlowGraph/Blocks/Execution/Audio/flowGraphSetSoundVolumeBlock.pure.js.map +1 -1
  105. package/FlowGraph/Blocks/Execution/Audio/flowGraphStopSoundBlock.pure.d.ts +3 -3
  106. package/FlowGraph/Blocks/Execution/Audio/flowGraphStopSoundBlock.pure.js +2 -1
  107. package/FlowGraph/Blocks/Execution/Audio/flowGraphStopSoundBlock.pure.js.map +1 -1
  108. package/FlowGraph/Blocks/allBlocks.pure.js +2 -0
  109. package/FlowGraph/Blocks/allBlocks.pure.js.map +1 -1
  110. package/FlowGraph/Blocks/flowGraphBlockFactory.js +2 -0
  111. package/FlowGraph/Blocks/flowGraphBlockFactory.js.map +1 -1
  112. package/FlowGraph/Blocks/flowGraphBlockNames.d.ts +1 -0
  113. package/FlowGraph/Blocks/flowGraphBlockNames.js +1 -0
  114. package/FlowGraph/Blocks/flowGraphBlockNames.js.map +1 -1
  115. package/FlowGraph/flowGraph.d.ts +12 -1
  116. package/FlowGraph/flowGraph.js +38 -0
  117. package/FlowGraph/flowGraph.js.map +1 -1
  118. package/FlowGraph/flowGraphCoordinator.d.ts +44 -0
  119. package/FlowGraph/flowGraphCoordinator.js +141 -0
  120. package/FlowGraph/flowGraphCoordinator.js.map +1 -1
  121. package/FlowGraph/flowGraphDataConnection.pure.js +41 -14
  122. package/FlowGraph/flowGraphDataConnection.pure.js.map +1 -1
  123. package/FlowGraph/flowGraphParser.js +105 -5
  124. package/FlowGraph/flowGraphParser.js.map +1 -1
  125. package/FlowGraph/flowGraphSoundAssets.d.ts +40 -0
  126. package/FlowGraph/flowGraphSoundAssets.js +33 -0
  127. package/FlowGraph/flowGraphSoundAssets.js.map +1 -0
  128. package/FlowGraph/index.d.ts +1 -0
  129. package/FlowGraph/index.js +1 -0
  130. package/FlowGraph/index.js.map +1 -1
  131. package/FlowGraph/pure.d.ts +1 -0
  132. package/FlowGraph/pure.js +1 -0
  133. package/FlowGraph/pure.js.map +1 -1
  134. package/FlowGraph/serialization.d.ts +8 -0
  135. package/FlowGraph/serialization.js +31 -12
  136. package/FlowGraph/serialization.js.map +1 -1
  137. package/FlowGraph/typeDefinitions.d.ts +25 -0
  138. package/FlowGraph/typeDefinitions.js.map +1 -1
  139. package/FrameGraph/Tasks/PostProcesses/taaTask.js +2 -0
  140. package/FrameGraph/Tasks/PostProcesses/taaTask.js.map +1 -1
  141. package/Instrumentation/engineInstrumentation.d.ts +1 -0
  142. package/Instrumentation/engineInstrumentation.js +25 -6
  143. package/Instrumentation/engineInstrumentation.js.map +1 -1
  144. package/Lights/Clustered/clusteredLightContainer.pure.js +2 -0
  145. package/Lights/Clustered/clusteredLightContainer.pure.js.map +1 -1
  146. package/Lights/Shadows/cascadedShadowGenerator.pure.d.ts +36 -1
  147. package/Lights/Shadows/cascadedShadowGenerator.pure.js +202 -27
  148. package/Lights/Shadows/cascadedShadowGenerator.pure.js.map +1 -1
  149. package/Lights/directionalLight.pure.d.ts +24 -10
  150. package/Lights/directionalLight.pure.js +29 -11
  151. package/Lights/directionalLight.pure.js.map +1 -1
  152. package/Loading/sceneLoader.d.ts +1 -1
  153. package/Loading/sceneLoader.js +1 -1
  154. package/Loading/sceneLoader.js.map +1 -1
  155. package/Materials/GaussianSplatting/gaussianSplattingMaterial.pure.js +4 -4
  156. package/Materials/GaussianSplatting/gaussianSplattingMaterial.pure.js.map +1 -1
  157. package/Materials/Node/Blocks/Dual/lightBlock.pure.js +1 -1
  158. package/Materials/Node/Blocks/Dual/lightBlock.pure.js.map +1 -1
  159. package/Materials/Node/Blocks/Input/inputBlock.pure.js +4 -0
  160. package/Materials/Node/Blocks/Input/inputBlock.pure.js.map +1 -1
  161. package/Materials/Node/Blocks/PBR/pbrMetallicRoughnessBlock.pure.d.ts +9 -0
  162. package/Materials/Node/Blocks/PBR/pbrMetallicRoughnessBlock.pure.js +23 -3
  163. package/Materials/Node/Blocks/PBR/pbrMetallicRoughnessBlock.pure.js.map +1 -1
  164. package/Materials/PBR/openpbrMaterial.pure.js +1 -1
  165. package/Materials/PBR/openpbrMaterial.pure.js.map +1 -1
  166. package/Materials/PBR/pbrBaseMaterial.pure.d.ts +9 -0
  167. package/Materials/PBR/pbrBaseMaterial.pure.js +60 -1
  168. package/Materials/PBR/pbrBaseMaterial.pure.js.map +1 -1
  169. package/Materials/PBR/pbrBaseSimpleMaterial.d.ts +11 -0
  170. package/Materials/PBR/pbrBaseSimpleMaterial.js +21 -2
  171. package/Materials/PBR/pbrBaseSimpleMaterial.js.map +1 -1
  172. package/Materials/PBR/pbrMaterial.pure.d.ts +12 -0
  173. package/Materials/PBR/pbrMaterial.pure.js +23 -3
  174. package/Materials/PBR/pbrMaterial.pure.js.map +1 -1
  175. package/Materials/Textures/Filtering/hdrIrradianceFiltering.d.ts +1 -0
  176. package/Materials/Textures/Filtering/hdrIrradianceFiltering.js +10 -0
  177. package/Materials/Textures/Filtering/hdrIrradianceFiltering.js.map +1 -1
  178. package/Materials/Textures/HTML/htmlInCanvasPolyfill.d.ts +5 -0
  179. package/Materials/Textures/HTML/htmlInCanvasPolyfill.js +7 -0
  180. package/Materials/Textures/HTML/htmlInCanvasPolyfill.js.map +1 -1
  181. package/Materials/Textures/HTML/htmlInteractionManager.d.ts +9 -3
  182. package/Materials/Textures/HTML/htmlInteractionManager.js +64 -5
  183. package/Materials/Textures/HTML/htmlInteractionManager.js.map +1 -1
  184. package/Materials/Textures/HTML/htmlTexture.d.ts +11 -11
  185. package/Materials/Textures/HTML/htmlTexture.js +106 -65
  186. package/Materials/Textures/HTML/htmlTexture.js.map +1 -1
  187. package/Materials/Textures/Loaders/internalTextureLoader.d.ts +2 -1
  188. package/Materials/Textures/Loaders/internalTextureLoader.js.map +1 -1
  189. package/Materials/Textures/Loaders/ktxTextureLoader.d.ts +2 -1
  190. package/Materials/Textures/Loaders/ktxTextureLoader.js +4 -50
  191. package/Materials/Textures/Loaders/ktxTextureLoader.js.map +1 -1
  192. package/Materials/Textures/Procedurals/proceduralTexture.pure.js +10 -0
  193. package/Materials/Textures/Procedurals/proceduralTexture.pure.js.map +1 -1
  194. package/Materials/Textures/dynamicTexture.pure.js +6 -0
  195. package/Materials/Textures/dynamicTexture.pure.js.map +1 -1
  196. package/Materials/Textures/ktx2encoderTypes.d.ts +51 -0
  197. package/Materials/Textures/ktx2encoderTypes.js +2 -0
  198. package/Materials/Textures/ktx2encoderTypes.js.map +1 -0
  199. package/Materials/Textures/renderTargetTexture.pure.js +10 -2
  200. package/Materials/Textures/renderTargetTexture.pure.js.map +1 -1
  201. package/Materials/Textures/textureMerger.d.ts +11 -0
  202. package/Materials/Textures/textureMerger.js +34 -19
  203. package/Materials/Textures/textureMerger.js.map +1 -1
  204. package/Materials/Textures/textureProcessor.d.ts +145 -0
  205. package/Materials/Textures/textureProcessor.js +445 -45
  206. package/Materials/Textures/textureProcessor.js.map +1 -1
  207. package/Materials/Textures/textureSampling.functions.d.ts +41 -0
  208. package/Materials/Textures/textureSampling.functions.js +82 -0
  209. package/Materials/Textures/textureSampling.functions.js.map +1 -0
  210. package/Materials/drawWrapper.d.ts +8 -0
  211. package/Materials/drawWrapper.js +19 -0
  212. package/Materials/drawWrapper.js.map +1 -1
  213. package/Materials/effect.pure.d.ts +6 -0
  214. package/Materials/effect.pure.js +28 -6
  215. package/Materials/effect.pure.js.map +1 -1
  216. package/Materials/effect.webgl.functions.pure.js +1 -1
  217. package/Materials/effect.webgl.functions.pure.js.map +1 -1
  218. package/Materials/material.pure.d.ts +5 -0
  219. package/Materials/material.pure.js +9 -2
  220. package/Materials/material.pure.js.map +1 -1
  221. package/Materials/materialFlags.d.ts +6 -0
  222. package/Materials/materialFlags.js +14 -0
  223. package/Materials/materialFlags.js.map +1 -1
  224. package/Materials/materialHelper.functions.d.ts +2 -1
  225. package/Materials/materialHelper.functions.js +36 -2
  226. package/Materials/materialHelper.functions.js.map +1 -1
  227. package/Materials/materialHelper.geometryrendering.js +19 -16
  228. package/Materials/materialHelper.geometryrendering.js.map +1 -1
  229. package/Materials/materialPluginManager.pure.js +12 -8
  230. package/Materials/materialPluginManager.pure.js.map +1 -1
  231. package/Materials/prePassConfiguration.js +19 -16
  232. package/Materials/prePassConfiguration.js.map +1 -1
  233. package/Materials/shaderMaterial.pure.js +19 -6
  234. package/Materials/shaderMaterial.pure.js.map +1 -1
  235. package/Materials/shadowDepthWrapper.d.ts +6 -0
  236. package/Materials/shadowDepthWrapper.js +17 -0
  237. package/Materials/shadowDepthWrapper.js.map +1 -1
  238. package/Meshes/Compression/dracoCodec.d.ts +14 -0
  239. package/Meshes/Compression/dracoCodec.js +22 -0
  240. package/Meshes/Compression/dracoCodec.js.map +1 -1
  241. package/Meshes/Compression/dracoDecoder.d.ts +1 -0
  242. package/Meshes/Compression/dracoDecoder.js +27 -0
  243. package/Meshes/Compression/dracoDecoder.js.map +1 -1
  244. package/Meshes/Compression/dracoEncoder.d.ts +1 -0
  245. package/Meshes/Compression/dracoEncoder.js +8 -0
  246. package/Meshes/Compression/dracoEncoder.js.map +1 -1
  247. package/Meshes/Compression/meshoptCompression.d.ts +1 -0
  248. package/Meshes/Compression/meshoptCompression.js +9 -0
  249. package/Meshes/Compression/meshoptCompression.js.map +1 -1
  250. package/Meshes/GaussianSplatting/gaussianSplattingGpuSorter.d.ts +415 -0
  251. package/Meshes/GaussianSplatting/gaussianSplattingGpuSorter.js +912 -0
  252. package/Meshes/GaussianSplatting/gaussianSplattingGpuSorter.js.map +1 -0
  253. package/Meshes/GaussianSplatting/gaussianSplattingMesh.pure.d.ts +3 -0
  254. package/Meshes/GaussianSplatting/gaussianSplattingMesh.pure.js +40 -9
  255. package/Meshes/GaussianSplatting/gaussianSplattingMesh.pure.js.map +1 -1
  256. package/Meshes/GaussianSplatting/gaussianSplattingMeshBase.pure.d.ts +112 -8
  257. package/Meshes/GaussianSplatting/gaussianSplattingMeshBase.pure.js +696 -74
  258. package/Meshes/GaussianSplatting/gaussianSplattingMeshBase.pure.js.map +1 -1
  259. package/Meshes/abstractMesh.pure.js +12 -4
  260. package/Meshes/abstractMesh.pure.js.map +1 -1
  261. package/Meshes/geometry.d.ts +5 -0
  262. package/Meshes/geometry.js +25 -0
  263. package/Meshes/geometry.js.map +1 -1
  264. package/Meshes/index.d.ts +1 -0
  265. package/Meshes/index.js +1 -0
  266. package/Meshes/index.js.map +1 -1
  267. package/Meshes/mesh.pure.d.ts +7 -0
  268. package/Meshes/mesh.pure.js +18 -13
  269. package/Meshes/mesh.pure.js.map +1 -1
  270. package/Meshes/pure.d.ts +1 -0
  271. package/Meshes/pure.js +1 -0
  272. package/Meshes/pure.js.map +1 -1
  273. package/Meshes/subMesh.pure.d.ts +3 -0
  274. package/Meshes/subMesh.pure.js +26 -0
  275. package/Meshes/subMesh.pure.js.map +1 -1
  276. package/Meshes/thinInstanceMesh.pure.js +5 -3
  277. package/Meshes/thinInstanceMesh.pure.js.map +1 -1
  278. package/Misc/index.d.ts +1 -0
  279. package/Misc/index.js +1 -0
  280. package/Misc/index.js.map +1 -1
  281. package/Misc/khronosTextureContainer2.d.ts +3 -2
  282. package/Misc/khronosTextureContainer2.js +24 -6
  283. package/Misc/khronosTextureContainer2.js.map +1 -1
  284. package/Misc/khronosTextureContainer2Encoder.d.ts +166 -0
  285. package/Misc/khronosTextureContainer2Encoder.js +556 -0
  286. package/Misc/khronosTextureContainer2Encoder.js.map +1 -0
  287. package/Misc/khronosTextureContainer2EncoderWorker.d.ts +61 -0
  288. package/Misc/khronosTextureContainer2EncoderWorker.js +55 -0
  289. package/Misc/khronosTextureContainer2EncoderWorker.js.map +1 -0
  290. package/Misc/pure.d.ts +1 -0
  291. package/Misc/pure.js +1 -0
  292. package/Misc/pure.js.map +1 -1
  293. package/Misc/textureFormat.functions.d.ts +6 -0
  294. package/Misc/textureFormat.functions.js +54 -0
  295. package/Misc/textureFormat.functions.js.map +1 -0
  296. package/Misc/textureTools.d.ts +6 -2
  297. package/Misc/textureTools.js +100 -42
  298. package/Misc/textureTools.js.map +1 -1
  299. package/Misc/tools.pure.js +1 -1
  300. package/Misc/tools.pure.js.map +1 -1
  301. package/Particles/Node/Blocks/systemBlock.pure.d.ts +1 -1
  302. package/Particles/Node/Blocks/systemBlock.pure.js +6 -3
  303. package/Particles/Node/Blocks/systemBlock.pure.js.map +1 -1
  304. package/Particles/computeShaderParticleSystem.pure.js +5 -0
  305. package/Particles/computeShaderParticleSystem.pure.js.map +1 -1
  306. package/Particles/gpuParticleSystem.pure.d.ts +2 -0
  307. package/Particles/gpuParticleSystem.pure.js +25 -1
  308. package/Particles/gpuParticleSystem.pure.js.map +1 -1
  309. package/Particles/solidParticle.d.ts +5 -0
  310. package/Particles/solidParticle.js +5 -0
  311. package/Particles/solidParticle.js.map +1 -1
  312. package/Particles/solidParticleSystem.d.ts +10 -0
  313. package/Particles/solidParticleSystem.js +72 -13
  314. package/Particles/solidParticleSystem.js.map +1 -1
  315. package/Particles/thinParticleSystem.pure.js +4 -0
  316. package/Particles/thinParticleSystem.pure.js.map +1 -1
  317. package/PostProcesses/RenderPipeline/Pipelines/taaMaterialManager.pure.d.ts +27 -6
  318. package/PostProcesses/RenderPipeline/Pipelines/taaMaterialManager.pure.js +60 -5
  319. package/PostProcesses/RenderPipeline/Pipelines/taaMaterialManager.pure.js.map +1 -1
  320. package/PostProcesses/thinTAAPostProcess.d.ts +1 -0
  321. package/PostProcesses/thinTAAPostProcess.js +17 -1
  322. package/PostProcesses/thinTAAPostProcess.js.map +1 -1
  323. package/PostProcesses/volumetricLightScatteringPostProcess.pure.d.ts +2 -1
  324. package/PostProcesses/volumetricLightScatteringPostProcess.pure.js +6 -5
  325. package/PostProcesses/volumetricLightScatteringPostProcess.pure.js.map +1 -1
  326. package/Rendering/boundingBoxRenderer.pure.js +2 -3
  327. package/Rendering/boundingBoxRenderer.pure.js.map +1 -1
  328. package/Rendering/geometryBufferRenderer.pure.js +8 -2
  329. package/Rendering/geometryBufferRenderer.pure.js.map +1 -1
  330. package/Rendering/objectRenderer.d.ts +1 -0
  331. package/Rendering/objectRenderer.js +14 -0
  332. package/Rendering/objectRenderer.js.map +1 -1
  333. package/Shaders/ShadersInclude/bumpFragmentMainFunctions.js +2 -2
  334. package/Shaders/ShadersInclude/bumpFragmentMainFunctions.js.map +1 -1
  335. package/Shaders/ShadersInclude/bumpVertex.js +1 -1
  336. package/Shaders/ShadersInclude/bumpVertex.js.map +1 -1
  337. package/Shaders/ShadersInclude/bumpVertexDeclaration.js +1 -1
  338. package/Shaders/ShadersInclude/bumpVertexDeclaration.js.map +1 -1
  339. package/Shaders/ShadersInclude/hdrFilteringFunctions.js +5 -1
  340. package/Shaders/ShadersInclude/hdrFilteringFunctions.js.map +1 -1
  341. package/Shaders/ShadersInclude/helperFunctions.js +2 -2
  342. package/Shaders/ShadersInclude/helperFunctions.js.map +1 -1
  343. package/Shaders/ShadersInclude/openpbrBackgroundTransmission.js +1 -1
  344. package/Shaders/ShadersInclude/openpbrBackgroundTransmission.js.map +1 -1
  345. package/Shaders/ShadersInclude/openpbrVertexDeclaration.js +6 -0
  346. package/Shaders/ShadersInclude/openpbrVertexDeclaration.js.map +1 -1
  347. package/Shaders/ShadersInclude/pbrBlockFinalLitComponents.js +11 -1
  348. package/Shaders/ShadersInclude/pbrBlockFinalLitComponents.js.map +1 -1
  349. package/Shaders/ShadersInclude/pbrBlockNormalFinal.js +9 -0
  350. package/Shaders/ShadersInclude/pbrBlockNormalFinal.js.map +1 -1
  351. package/Shaders/ShadersInclude/pbrBlockReflectance.js +1 -1
  352. package/Shaders/ShadersInclude/pbrBlockReflectance.js.map +1 -1
  353. package/Shaders/ShadersInclude/pbrClusteredLightingFunctions.js +1 -1
  354. package/Shaders/ShadersInclude/pbrClusteredLightingFunctions.js.map +1 -1
  355. package/Shaders/ShadersInclude/pbrFragmentDeclaration.js +7 -1
  356. package/Shaders/ShadersInclude/pbrFragmentDeclaration.js.map +1 -1
  357. package/Shaders/ShadersInclude/pbrFragmentSamplersDeclaration.js +1 -0
  358. package/Shaders/ShadersInclude/pbrFragmentSamplersDeclaration.js.map +1 -1
  359. package/Shaders/ShadersInclude/pbrIBLFunctions.js +12 -0
  360. package/Shaders/ShadersInclude/pbrIBLFunctions.js.map +1 -1
  361. package/Shaders/ShadersInclude/pbrUboDeclaration.js +1 -1
  362. package/Shaders/ShadersInclude/pbrUboDeclaration.js.map +1 -1
  363. package/Shaders/ShadersInclude/pbrVertexDeclaration.js +3 -0
  364. package/Shaders/ShadersInclude/pbrVertexDeclaration.js.map +1 -1
  365. package/Shaders/geometry.vertex.js +6 -6
  366. package/Shaders/geometry.vertex.js.map +1 -1
  367. package/Shaders/gpuUpdateParticles.vertex.js +1 -1
  368. package/Shaders/gpuUpdateParticles.vertex.js.map +1 -1
  369. package/Shaders/lod.fragment.js +15 -2
  370. package/Shaders/lod.fragment.js.map +1 -1
  371. package/Shaders/lod3D.fragment.js +15 -2
  372. package/Shaders/lod3D.fragment.js.map +1 -1
  373. package/Shaders/lodCube.fragment.js +15 -2
  374. package/Shaders/lodCube.fragment.js.map +1 -1
  375. package/Shaders/openpbr.vertex.js +2 -0
  376. package/Shaders/openpbr.vertex.js.map +1 -1
  377. package/Shaders/pbr.fragment.js +12 -1
  378. package/Shaders/pbr.fragment.js.map +1 -1
  379. package/Shaders/pbr.vertex.js +2 -0
  380. package/Shaders/pbr.vertex.js.map +1 -1
  381. package/Shaders/textureMerger.fragment.js +28 -0
  382. package/Shaders/textureMerger.fragment.js.map +1 -1
  383. package/Shaders/textureProcessor.fragment.js +26 -4
  384. package/Shaders/textureProcessor.fragment.js.map +1 -1
  385. package/Shaders/volumetricLightScattering.fragment.js +1 -1
  386. package/Shaders/volumetricLightScattering.fragment.js.map +1 -1
  387. package/ShadersWGSL/ShadersInclude/bumpFragmentMainFunctions.js +2 -2
  388. package/ShadersWGSL/ShadersInclude/bumpFragmentMainFunctions.js.map +1 -1
  389. package/ShadersWGSL/ShadersInclude/bumpVertex.js +1 -1
  390. package/ShadersWGSL/ShadersInclude/bumpVertex.js.map +1 -1
  391. package/ShadersWGSL/ShadersInclude/bumpVertexDeclaration.js +1 -1
  392. package/ShadersWGSL/ShadersInclude/bumpVertexDeclaration.js.map +1 -1
  393. package/ShadersWGSL/ShadersInclude/hdrFilteringFunctions.js +1 -1
  394. package/ShadersWGSL/ShadersInclude/hdrFilteringFunctions.js.map +1 -1
  395. package/ShadersWGSL/ShadersInclude/helperFunctions.js +2 -2
  396. package/ShadersWGSL/ShadersInclude/helperFunctions.js.map +1 -1
  397. package/ShadersWGSL/ShadersInclude/lightFragment.js +44 -2
  398. package/ShadersWGSL/ShadersInclude/lightFragment.js.map +1 -1
  399. package/ShadersWGSL/ShadersInclude/lightUboDeclaration.js +17 -3
  400. package/ShadersWGSL/ShadersInclude/lightUboDeclaration.js.map +1 -1
  401. package/ShadersWGSL/ShadersInclude/lightVxUboDeclaration.js +12 -1
  402. package/ShadersWGSL/ShadersInclude/lightVxUboDeclaration.js.map +1 -1
  403. package/ShadersWGSL/ShadersInclude/openpbrBackgroundTransmission.js +1 -1
  404. package/ShadersWGSL/ShadersInclude/openpbrBackgroundTransmission.js.map +1 -1
  405. package/ShadersWGSL/ShadersInclude/pbrBlockFinalLitComponents.js +11 -1
  406. package/ShadersWGSL/ShadersInclude/pbrBlockFinalLitComponents.js.map +1 -1
  407. package/ShadersWGSL/ShadersInclude/pbrBlockNormalFinal.js +9 -0
  408. package/ShadersWGSL/ShadersInclude/pbrBlockNormalFinal.js.map +1 -1
  409. package/ShadersWGSL/ShadersInclude/pbrBlockReflectance.js +1 -1
  410. package/ShadersWGSL/ShadersInclude/pbrBlockReflectance.js.map +1 -1
  411. package/ShadersWGSL/ShadersInclude/pbrClusteredLightingFunctions.js +1 -1
  412. package/ShadersWGSL/ShadersInclude/pbrClusteredLightingFunctions.js.map +1 -1
  413. package/ShadersWGSL/ShadersInclude/pbrDirectLightingSetupFunctions.js +1 -1
  414. package/ShadersWGSL/ShadersInclude/pbrDirectLightingSetupFunctions.js.map +1 -1
  415. package/ShadersWGSL/ShadersInclude/pbrFragmentSamplersDeclaration.js +1 -0
  416. package/ShadersWGSL/ShadersInclude/pbrFragmentSamplersDeclaration.js.map +1 -1
  417. package/ShadersWGSL/ShadersInclude/pbrIBLFunctions.js +8 -0
  418. package/ShadersWGSL/ShadersInclude/pbrIBLFunctions.js.map +1 -1
  419. package/ShadersWGSL/ShadersInclude/pbrUboDeclaration.js +1 -1
  420. package/ShadersWGSL/ShadersInclude/pbrUboDeclaration.js.map +1 -1
  421. package/ShadersWGSL/ShadersInclude/prePassVertex.js +2 -2
  422. package/ShadersWGSL/ShadersInclude/prePassVertex.js.map +1 -1
  423. package/ShadersWGSL/ShadersInclude/prePassVertexDeclaration.js +1 -1
  424. package/ShadersWGSL/ShadersInclude/prePassVertexDeclaration.js.map +1 -1
  425. package/ShadersWGSL/ShadersInclude/sceneUboDeclaration.js +3 -1
  426. package/ShadersWGSL/ShadersInclude/sceneUboDeclaration.js.map +1 -1
  427. package/ShadersWGSL/ShadersInclude/shadowsVertex.js +16 -0
  428. package/ShadersWGSL/ShadersInclude/shadowsVertex.js.map +1 -1
  429. package/ShadersWGSL/default.fragment.js +4 -4
  430. package/ShadersWGSL/default.fragment.js.map +1 -1
  431. package/ShadersWGSL/default.vertex.js +1 -1
  432. package/ShadersWGSL/default.vertex.js.map +1 -1
  433. package/ShadersWGSL/gaussianSplatting.vertex.js +3 -3
  434. package/ShadersWGSL/gaussianSplatting.vertex.js.map +1 -1
  435. package/ShadersWGSL/gpuUpdateParticles.compute.js +1 -1
  436. package/ShadersWGSL/gpuUpdateParticles.compute.js.map +1 -1
  437. package/ShadersWGSL/gsSortCount.compute.d.ts +5 -0
  438. package/ShadersWGSL/gsSortCount.compute.js +19 -0
  439. package/ShadersWGSL/gsSortCount.compute.js.map +1 -0
  440. package/ShadersWGSL/gsSortKeys.compute.d.ts +5 -0
  441. package/ShadersWGSL/gsSortKeys.compute.js +49 -0
  442. package/ShadersWGSL/gsSortKeys.compute.js.map +1 -0
  443. package/ShadersWGSL/gsSortOutput.compute.d.ts +5 -0
  444. package/ShadersWGSL/gsSortOutput.compute.js +28 -0
  445. package/ShadersWGSL/gsSortOutput.compute.js.map +1 -0
  446. package/ShadersWGSL/gsSortScanLocal.compute.d.ts +5 -0
  447. package/ShadersWGSL/gsSortScanLocal.compute.js +23 -0
  448. package/ShadersWGSL/gsSortScanLocal.compute.js.map +1 -0
  449. package/ShadersWGSL/gsSortScanSums.compute.d.ts +5 -0
  450. package/ShadersWGSL/gsSortScanSums.compute.js +19 -0
  451. package/ShadersWGSL/gsSortScanSums.compute.js.map +1 -0
  452. package/ShadersWGSL/gsSortScatter.compute.d.ts +5 -0
  453. package/ShadersWGSL/gsSortScatter.compute.js +33 -0
  454. package/ShadersWGSL/gsSortScatter.compute.js.map +1 -0
  455. package/ShadersWGSL/lod.fragment.js +14 -2
  456. package/ShadersWGSL/lod.fragment.js.map +1 -1
  457. package/ShadersWGSL/lod3D.fragment.js +14 -2
  458. package/ShadersWGSL/lod3D.fragment.js.map +1 -1
  459. package/ShadersWGSL/lodCube.fragment.js +14 -2
  460. package/ShadersWGSL/lodCube.fragment.js.map +1 -1
  461. package/ShadersWGSL/openpbr.vertex.js +3 -1
  462. package/ShadersWGSL/openpbr.vertex.js.map +1 -1
  463. package/ShadersWGSL/pbr.fragment.js +11 -0
  464. package/ShadersWGSL/pbr.fragment.js.map +1 -1
  465. package/ShadersWGSL/pbr.vertex.js +3 -1
  466. package/ShadersWGSL/pbr.vertex.js.map +1 -1
  467. package/ShadersWGSL/textureMerger.fragment.js +40 -4
  468. package/ShadersWGSL/textureMerger.fragment.js.map +1 -1
  469. package/ShadersWGSL/textureProcessor.fragment.js +26 -4
  470. package/ShadersWGSL/textureProcessor.fragment.js.map +1 -1
  471. package/Sprites/spriteRenderer.js +15 -5
  472. package/Sprites/spriteRenderer.js.map +1 -1
  473. package/package.json +1 -1
  474. package/scene.pure.d.ts +23 -1
  475. package/scene.pure.js +83 -1
  476. package/scene.pure.js.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"flowGraphBlockFactory.js","sourceRoot":"","sources":["../../../../../dev/core/src/FlowGraph/Blocks/flowGraphBlockFactory.ts"],"names":[],"mappings":"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","sourcesContent":["import { FlowGraphBlock } from \"../flowGraphBlock\";\nimport { FlowGraphBlockNames } from \"./flowGraphBlockNames\";\n\n/**\n * Any external module that wishes to add a new block to the flow graph can add to this object using the helper function.\n */\nconst CustomBlocks: Record<string, () => Promise<typeof FlowGraphBlock>> = {};\n/**\n * Reverse lookup: short block name → full \"module/blockName\" key, for O(1) fallback.\n */\nconst ShortNameToFullKey: Record<string, string> = {};\n\n/**\n * If you want to add a new block to the block factory, you should use this function.\n * Please be sure to choose a unique name and define the responsible module.\n * @param module the name of the module that is responsible for the block\n * @param blockName the name of the block. This should be unique.\n * @param factory an async factory function to generate the block\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function addToBlockFactory(module: string, blockName: string, factory: () => Promise<typeof FlowGraphBlock>): void {\n const fullKey = `${module}/${blockName}`;\n CustomBlocks[fullKey] = factory;\n ShortNameToFullKey[blockName] = fullKey;\n}\n\nfunction _IsFlowGraphBlockConstructor(value: unknown): value is typeof FlowGraphBlock {\n return typeof value === \"function\" && value.prototype instanceof FlowGraphBlock;\n}\n\nasync function _LoadBlock(modulePromise: Promise<object>, blockName: string): Promise<typeof FlowGraphBlock> {\n const module = await modulePromise;\n let block: typeof FlowGraphBlock | undefined;\n let register: (() => void) | undefined;\n\n for (const [exportName, value] of Object.entries(module)) {\n if (exportName === blockName && _IsFlowGraphBlockConstructor(value)) {\n block = value;\n } else if (exportName.startsWith(\"RegisterFlowGraph\") && typeof value === \"function\") {\n register = value;\n }\n }\n\n if (!block || !register) {\n throw new Error(`Invalid FlowGraph block module for ${blockName}`);\n }\n\n register();\n if (blockName === \"FlowGraphPlayAnimationBlock\") {\n const { RegisterAnimationGroup } = await import(\"../../Animations/animationGroup.pure\");\n RegisterAnimationGroup();\n }\n\n return block;\n}\n\n/**\n * a function to get a factory function for a block.\n * @param blockName the block name to initialize. If the block comes from an external module, the name should be in the format \"module/blockName\"\n * @returns an async factory function that will return the block class when called.\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function blockFactory(blockName: FlowGraphBlockNames | string): () => Promise<typeof FlowGraphBlock> {\n switch (blockName) {\n case FlowGraphBlockNames.PlayAnimation:\n return async () => await _LoadBlock(import(\"./Execution/Animation/flowGraphPlayAnimationBlock.pure\"), \"FlowGraphPlayAnimationBlock\");\n case FlowGraphBlockNames.StopAnimation:\n return async () => await _LoadBlock(import(\"./Execution/Animation/flowGraphStopAnimationBlock.pure\"), \"FlowGraphStopAnimationBlock\");\n case FlowGraphBlockNames.PauseAnimation:\n return async () => await _LoadBlock(import(\"./Execution/Animation/flowGraphPauseAnimationBlock.pure\"), \"FlowGraphPauseAnimationBlock\");\n case FlowGraphBlockNames.ValueInterpolation:\n return async () => await _LoadBlock(import(\"./Execution/Animation/flowGraphInterpolationBlock.pure\"), \"FlowGraphInterpolationBlock\");\n case FlowGraphBlockNames.SceneReadyEvent:\n return async () => await _LoadBlock(import(\"./Event/flowGraphSceneReadyEventBlock.pure\"), \"FlowGraphSceneReadyEventBlock\");\n case FlowGraphBlockNames.SceneTickEvent:\n return async () => await _LoadBlock(import(\"./Event/flowGraphSceneTickEventBlock.pure\"), \"FlowGraphSceneTickEventBlock\");\n case FlowGraphBlockNames.SendCustomEvent:\n return async () => await _LoadBlock(import(\"./Event/flowGraphSendCustomEventBlock.pure\"), \"FlowGraphSendCustomEventBlock\");\n case FlowGraphBlockNames.ReceiveCustomEvent:\n return async () => await _LoadBlock(import(\"./Event/flowGraphReceiveCustomEventBlock.pure\"), \"FlowGraphReceiveCustomEventBlock\");\n case FlowGraphBlockNames.StopEventPropagation:\n return async () => await _LoadBlock(import(\"./Event/flowGraphStopEventPropagationBlock.pure\"), \"FlowGraphStopEventPropagationBlock\");\n case FlowGraphBlockNames.MeshPickEvent:\n return async () => await _LoadBlock(import(\"./Event/flowGraphMeshPickEventBlock.pure\"), \"FlowGraphMeshPickEventBlock\");\n case FlowGraphBlockNames.E:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathBlocks.pure\"), \"FlowGraphEBlock\");\n case FlowGraphBlockNames.PI:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathBlocks.pure\"), \"FlowGraphPiBlock\");\n case FlowGraphBlockNames.Tau:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathBlocks.pure\"), \"FlowGraphTauBlock\");\n case FlowGraphBlockNames.Inf:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathBlocks.pure\"), \"FlowGraphInfBlock\");\n case FlowGraphBlockNames.NaN:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathBlocks.pure\"), \"FlowGraphNaNBlock\");\n case FlowGraphBlockNames.Random:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathBlocks.pure\"), \"FlowGraphRandomBlock\");\n case FlowGraphBlockNames.Add:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathBlocks.pure\"), \"FlowGraphAddBlock\");\n case FlowGraphBlockNames.Subtract:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathBlocks.pure\"), \"FlowGraphSubtractBlock\");\n case FlowGraphBlockNames.Multiply:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathBlocks.pure\"), \"FlowGraphMultiplyBlock\");\n case FlowGraphBlockNames.Divide:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathBlocks.pure\"), \"FlowGraphDivideBlock\");\n case FlowGraphBlockNames.Abs:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathBlocks.pure\"), \"FlowGraphAbsBlock\");\n case FlowGraphBlockNames.Sign:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathBlocks.pure\"), \"FlowGraphSignBlock\");\n case FlowGraphBlockNames.Trunc:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathBlocks.pure\"), \"FlowGraphTruncBlock\");\n case FlowGraphBlockNames.Floor:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathBlocks.pure\"), \"FlowGraphFloorBlock\");\n case FlowGraphBlockNames.Ceil:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathBlocks.pure\"), \"FlowGraphCeilBlock\");\n case FlowGraphBlockNames.Round:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathBlocks.pure\"), \"FlowGraphRoundBlock\");\n case FlowGraphBlockNames.Fraction:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathBlocks.pure\"), \"FlowGraphFractionBlock\");\n case FlowGraphBlockNames.Negation:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathBlocks.pure\"), \"FlowGraphNegationBlock\");\n case FlowGraphBlockNames.Modulo:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathBlocks.pure\"), \"FlowGraphModuloBlock\");\n case FlowGraphBlockNames.Min:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathBlocks.pure\"), \"FlowGraphMinBlock\");\n case FlowGraphBlockNames.Max:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathBlocks.pure\"), \"FlowGraphMaxBlock\");\n case FlowGraphBlockNames.Clamp:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathBlocks.pure\"), \"FlowGraphClampBlock\");\n case FlowGraphBlockNames.Saturate:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathBlocks.pure\"), \"FlowGraphSaturateBlock\");\n case FlowGraphBlockNames.MathInterpolation:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathBlocks.pure\"), \"FlowGraphMathInterpolationBlock\");\n case FlowGraphBlockNames.MathSlerp:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathBlocks.pure\"), \"FlowGraphMathSlerpBlock\");\n case FlowGraphBlockNames.SmoothStep:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathBlocks.pure\"), \"FlowGraphMathSmoothStepBlock\");\n case FlowGraphBlockNames.RGBToOkLCh:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathBlocks.pure\"), \"FlowGraphRGBToOkLChBlock\");\n case FlowGraphBlockNames.RGBFromOkLCh:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathBlocks.pure\"), \"FlowGraphRGBFromOkLChBlock\");\n case FlowGraphBlockNames.Equality:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathBlocks.pure\"), \"FlowGraphEqualityBlock\");\n case FlowGraphBlockNames.LessThan:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathBlocks.pure\"), \"FlowGraphLessThanBlock\");\n case FlowGraphBlockNames.LessThanOrEqual:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathBlocks.pure\"), \"FlowGraphLessThanOrEqualBlock\");\n case FlowGraphBlockNames.GreaterThan:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathBlocks.pure\"), \"FlowGraphGreaterThanBlock\");\n case FlowGraphBlockNames.GreaterThanOrEqual:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathBlocks.pure\"), \"FlowGraphGreaterThanOrEqualBlock\");\n case FlowGraphBlockNames.IsNaN:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathBlocks.pure\"), \"FlowGraphIsNanBlock\");\n case FlowGraphBlockNames.IsInfinity:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathBlocks.pure\"), \"FlowGraphIsInfinityBlock\");\n case FlowGraphBlockNames.DegToRad:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathBlocks.pure\"), \"FlowGraphDegToRadBlock\");\n case FlowGraphBlockNames.RadToDeg:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathBlocks.pure\"), \"FlowGraphRadToDegBlock\");\n case FlowGraphBlockNames.Sin:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathBlocks.pure\"), \"FlowGraphSinBlock\");\n case FlowGraphBlockNames.Cos:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathBlocks.pure\"), \"FlowGraphCosBlock\");\n case FlowGraphBlockNames.Tan:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathBlocks.pure\"), \"FlowGraphTanBlock\");\n case FlowGraphBlockNames.Asin:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathBlocks.pure\"), \"FlowGraphAsinBlock\");\n case FlowGraphBlockNames.Acos:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathBlocks.pure\"), \"FlowGraphAcosBlock\");\n case FlowGraphBlockNames.Atan:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathBlocks.pure\"), \"FlowGraphAtanBlock\");\n case FlowGraphBlockNames.Atan2:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathBlocks.pure\"), \"FlowGraphAtan2Block\");\n case FlowGraphBlockNames.Sinh:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathBlocks.pure\"), \"FlowGraphSinhBlock\");\n case FlowGraphBlockNames.Cosh:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathBlocks.pure\"), \"FlowGraphCoshBlock\");\n case FlowGraphBlockNames.Tanh:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathBlocks.pure\"), \"FlowGraphTanhBlock\");\n case FlowGraphBlockNames.Asinh:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathBlocks.pure\"), \"FlowGraphAsinhBlock\");\n case FlowGraphBlockNames.Acosh:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathBlocks.pure\"), \"FlowGraphAcoshBlock\");\n case FlowGraphBlockNames.Atanh:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathBlocks.pure\"), \"FlowGraphAtanhBlock\");\n case FlowGraphBlockNames.Exponential:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathBlocks.pure\"), \"FlowGraphExpBlock\");\n case FlowGraphBlockNames.Log:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathBlocks.pure\"), \"FlowGraphLogBlock\");\n case FlowGraphBlockNames.Log2:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathBlocks.pure\"), \"FlowGraphLog2Block\");\n case FlowGraphBlockNames.Log10:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathBlocks.pure\"), \"FlowGraphLog10Block\");\n case FlowGraphBlockNames.SquareRoot:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathBlocks.pure\"), \"FlowGraphSquareRootBlock\");\n case FlowGraphBlockNames.Power:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathBlocks.pure\"), \"FlowGraphPowerBlock\");\n case FlowGraphBlockNames.CubeRoot:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathBlocks.pure\"), \"FlowGraphCubeRootBlock\");\n case FlowGraphBlockNames.BitwiseAnd:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathBlocks.pure\"), \"FlowGraphBitwiseAndBlock\");\n case FlowGraphBlockNames.BitwiseOr:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathBlocks.pure\"), \"FlowGraphBitwiseOrBlock\");\n case FlowGraphBlockNames.BitwiseNot:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathBlocks.pure\"), \"FlowGraphBitwiseNotBlock\");\n case FlowGraphBlockNames.BitwiseXor:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathBlocks.pure\"), \"FlowGraphBitwiseXorBlock\");\n case FlowGraphBlockNames.BitwiseLeftShift:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathBlocks.pure\"), \"FlowGraphBitwiseLeftShiftBlock\");\n case FlowGraphBlockNames.BitwiseRightShift:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathBlocks.pure\"), \"FlowGraphBitwiseRightShiftBlock\");\n case FlowGraphBlockNames.Length:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphVectorMathBlocks.pure\"), \"FlowGraphLengthBlock\");\n case FlowGraphBlockNames.Normalize:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphVectorMathBlocks.pure\"), \"FlowGraphNormalizeBlock\");\n case FlowGraphBlockNames.Dot:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphVectorMathBlocks.pure\"), \"FlowGraphDotBlock\");\n case FlowGraphBlockNames.Cross:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphVectorMathBlocks.pure\"), \"FlowGraphCrossBlock\");\n case FlowGraphBlockNames.Rotate2D:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphVectorMathBlocks.pure\"), \"FlowGraphRotate2DBlock\");\n case FlowGraphBlockNames.Rotate3D:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphVectorMathBlocks.pure\"), \"FlowGraphRotate3DBlock\");\n case FlowGraphBlockNames.Transpose:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMatrixMathBlocks.pure\"), \"FlowGraphTransposeBlock\");\n case FlowGraphBlockNames.Determinant:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMatrixMathBlocks.pure\"), \"FlowGraphDeterminantBlock\");\n case FlowGraphBlockNames.InvertMatrix:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMatrixMathBlocks.pure\"), \"FlowGraphInvertMatrixBlock\");\n case FlowGraphBlockNames.MatrixMultiplication:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMatrixMathBlocks.pure\"), \"FlowGraphMatrixMultiplicationBlock\");\n case FlowGraphBlockNames.Branch:\n return async () => await _LoadBlock(import(\"./Execution/ControlFlow/flowGraphBranchBlock.pure\"), \"FlowGraphBranchBlock\");\n case FlowGraphBlockNames.SetDelay:\n return async () => await _LoadBlock(import(\"./Execution/ControlFlow/flowGraphSetDelayBlock.pure\"), \"FlowGraphSetDelayBlock\");\n case FlowGraphBlockNames.CancelDelay:\n return async () => await _LoadBlock(import(\"./Execution/ControlFlow/flowGraphCancelDelayBlock.pure\"), \"FlowGraphCancelDelayBlock\");\n case FlowGraphBlockNames.CallCounter:\n return async () => await _LoadBlock(import(\"./Execution/ControlFlow/flowGraphCounterBlock.pure\"), \"FlowGraphCallCounterBlock\");\n case FlowGraphBlockNames.Debounce:\n return async () => await _LoadBlock(import(\"./Execution/ControlFlow/flowGraphDebounceBlock.pure\"), \"FlowGraphDebounceBlock\");\n case FlowGraphBlockNames.Throttle:\n return async () => await _LoadBlock(import(\"./Execution/ControlFlow/flowGraphThrottleBlock.pure\"), \"FlowGraphThrottleBlock\");\n case FlowGraphBlockNames.DoN:\n return async () => await _LoadBlock(import(\"./Execution/ControlFlow/flowGraphDoNBlock.pure\"), \"FlowGraphDoNBlock\");\n case FlowGraphBlockNames.FlipFlop:\n return async () => await _LoadBlock(import(\"./Execution/ControlFlow/flowGraphFlipFlopBlock.pure\"), \"FlowGraphFlipFlopBlock\");\n case FlowGraphBlockNames.ForLoop:\n return async () => await _LoadBlock(import(\"./Execution/ControlFlow/flowGraphForLoopBlock.pure\"), \"FlowGraphForLoopBlock\");\n case FlowGraphBlockNames.MultiGate:\n return async () => await _LoadBlock(import(\"./Execution/ControlFlow/flowGraphMultiGateBlock.pure\"), \"FlowGraphMultiGateBlock\");\n case FlowGraphBlockNames.Sequence:\n return async () => await _LoadBlock(import(\"./Execution/ControlFlow/flowGraphSequenceBlock.pure\"), \"FlowGraphSequenceBlock\");\n case FlowGraphBlockNames.Switch:\n return async () => await _LoadBlock(import(\"./Execution/ControlFlow/flowGraphSwitchBlock.pure\"), \"FlowGraphSwitchBlock\");\n case FlowGraphBlockNames.WaitAll:\n return async () => await _LoadBlock(import(\"./Execution/ControlFlow/flowGraphWaitAllBlock.pure\"), \"FlowGraphWaitAllBlock\");\n case FlowGraphBlockNames.WhileLoop:\n return async () => await _LoadBlock(import(\"./Execution/ControlFlow/flowGraphWhileLoopBlock.pure\"), \"FlowGraphWhileLoopBlock\");\n case FlowGraphBlockNames.ConsoleLog:\n return async () => await _LoadBlock(import(\"./Execution/flowGraphConsoleLogBlock.pure\"), \"FlowGraphConsoleLogBlock\");\n case FlowGraphBlockNames.Conditional:\n return async () => await _LoadBlock(import(\"./Data/flowGraphConditionalDataBlock.pure\"), \"FlowGraphConditionalDataBlock\");\n case FlowGraphBlockNames.Constant:\n return async () => await _LoadBlock(import(\"./Data/flowGraphConstantBlock.pure\"), \"FlowGraphConstantBlock\");\n case FlowGraphBlockNames.TransformCoordinatesSystem:\n return async () => await _LoadBlock(import(\"./Data/flowGraphTransformCoordinatesSystemBlock.pure\"), \"FlowGraphTransformCoordinatesSystemBlock\");\n case FlowGraphBlockNames.GetAsset:\n return async () => await _LoadBlock(import(\"./Data/flowGraphGetAssetBlock.pure\"), \"FlowGraphGetAssetBlock\");\n case FlowGraphBlockNames.GetProperty:\n return async () => await _LoadBlock(import(\"./Data/flowGraphGetPropertyBlock.pure\"), \"FlowGraphGetPropertyBlock\");\n case FlowGraphBlockNames.SetProperty:\n return async () => await _LoadBlock(import(\"./Execution/flowGraphSetPropertyBlock.pure\"), \"FlowGraphSetPropertyBlock\");\n case FlowGraphBlockNames.GetVariable:\n return async () => await _LoadBlock(import(\"./Data/flowGraphGetVariableBlock.pure\"), \"FlowGraphGetVariableBlock\");\n case FlowGraphBlockNames.SetVariable:\n return async () => await _LoadBlock(import(\"./Execution/flowGraphSetVariableBlock.pure\"), \"FlowGraphSetVariableBlock\");\n case FlowGraphBlockNames.JsonPointerParser:\n return async () => await _LoadBlock(import(\"./Data/Transformers/flowGraphJsonPointerParserBlock.pure\"), \"FlowGraphJsonPointerParserBlock\");\n case FlowGraphBlockNames.LeadingZeros:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathBlocks.pure\"), \"FlowGraphLeadingZerosBlock\");\n case FlowGraphBlockNames.TrailingZeros:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathBlocks.pure\"), \"FlowGraphTrailingZerosBlock\");\n case FlowGraphBlockNames.OneBitsCounter:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathBlocks.pure\"), \"FlowGraphOneBitsCounterBlock\");\n case FlowGraphBlockNames.CombineVector2:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathCombineExtractBlocks.pure\"), \"FlowGraphCombineVector2Block\");\n case FlowGraphBlockNames.CombineVector3:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathCombineExtractBlocks.pure\"), \"FlowGraphCombineVector3Block\");\n case FlowGraphBlockNames.CombineVector4:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathCombineExtractBlocks.pure\"), \"FlowGraphCombineVector4Block\");\n case FlowGraphBlockNames.CombineMatrix:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathCombineExtractBlocks.pure\"), \"FlowGraphCombineMatrixBlock\");\n case FlowGraphBlockNames.CombineMatrix2D:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathCombineExtractBlocks.pure\"), \"FlowGraphCombineMatrix2DBlock\");\n case FlowGraphBlockNames.CombineMatrix3D:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathCombineExtractBlocks.pure\"), \"FlowGraphCombineMatrix3DBlock\");\n case FlowGraphBlockNames.ExtractVector2:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathCombineExtractBlocks.pure\"), \"FlowGraphExtractVector2Block\");\n case FlowGraphBlockNames.ExtractVector3:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathCombineExtractBlocks.pure\"), \"FlowGraphExtractVector3Block\");\n case FlowGraphBlockNames.ExtractVector4:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathCombineExtractBlocks.pure\"), \"FlowGraphExtractVector4Block\");\n case FlowGraphBlockNames.ExtractMatrix:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathCombineExtractBlocks.pure\"), \"FlowGraphExtractMatrixBlock\");\n case FlowGraphBlockNames.ExtractMatrix2D:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathCombineExtractBlocks.pure\"), \"FlowGraphExtractMatrix2DBlock\");\n case FlowGraphBlockNames.ExtractMatrix3D:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathCombineExtractBlocks.pure\"), \"FlowGraphExtractMatrix3DBlock\");\n case FlowGraphBlockNames.TransformVector:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphVectorMathBlocks.pure\"), \"FlowGraphTransformBlock\");\n case FlowGraphBlockNames.TransformCoordinates:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphVectorMathBlocks.pure\"), \"FlowGraphTransformCoordinatesBlock\");\n case FlowGraphBlockNames.Conjugate:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphVectorMathBlocks.pure\"), \"FlowGraphConjugateBlock\");\n case FlowGraphBlockNames.AngleBetween:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphVectorMathBlocks.pure\"), \"FlowGraphAngleBetweenBlock\");\n case FlowGraphBlockNames.QuaternionFromAxisAngle:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphVectorMathBlocks.pure\"), \"FlowGraphQuaternionFromAxisAngleBlock\");\n case FlowGraphBlockNames.AxisAngleFromQuaternion:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphVectorMathBlocks.pure\"), \"FlowGraphAxisAngleFromQuaternionBlock\");\n case FlowGraphBlockNames.QuaternionFromDirections:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphVectorMathBlocks.pure\"), \"FlowGraphQuaternionFromDirectionsBlock\");\n case FlowGraphBlockNames.QuaternionFromUpForward:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphVectorMathBlocks.pure\"), \"FlowGraphQuaternionFromUpForwardBlock\");\n case FlowGraphBlockNames.QuaternionFromAngles:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphVectorMathBlocks.pure\"), \"FlowGraphQuaternionFromAnglesBlock\");\n case FlowGraphBlockNames.VectorSlerp:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphVectorMathBlocks.pure\"), \"FlowGraphVectorSlerpBlock\");\n case FlowGraphBlockNames.MatrixDecompose:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMatrixMathBlocks.pure\"), \"FlowGraphMatrixDecomposeBlock\");\n case FlowGraphBlockNames.MatrixCompose:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMatrixMathBlocks.pure\"), \"FlowGraphMatrixComposeBlock\");\n case FlowGraphBlockNames.BooleanToFloat:\n return async () => await _LoadBlock(import(\"./Data/Transformers/flowGraphTypeToTypeBlocks.pure\"), \"FlowGraphBooleanToFloat\");\n case FlowGraphBlockNames.BooleanToInt:\n return async () => await _LoadBlock(import(\"./Data/Transformers/flowGraphTypeToTypeBlocks.pure\"), \"FlowGraphBooleanToInt\");\n case FlowGraphBlockNames.FloatToBoolean:\n return async () => await _LoadBlock(import(\"./Data/Transformers/flowGraphTypeToTypeBlocks.pure\"), \"FlowGraphFloatToBoolean\");\n case FlowGraphBlockNames.IntToBoolean:\n return async () => await _LoadBlock(import(\"./Data/Transformers/flowGraphTypeToTypeBlocks.pure\"), \"FlowGraphIntToBoolean\");\n case FlowGraphBlockNames.IntToFloat:\n return async () => await _LoadBlock(import(\"./Data/Transformers/flowGraphTypeToTypeBlocks.pure\"), \"FlowGraphIntToFloat\");\n case FlowGraphBlockNames.FloatToInt:\n return async () => await _LoadBlock(import(\"./Data/Transformers/flowGraphTypeToTypeBlocks.pure\"), \"FlowGraphFloatToInt\");\n case FlowGraphBlockNames.Easing:\n return async () => await _LoadBlock(import(\"./Execution/Animation/flowGraphEasingBlock.pure\"), \"FlowGraphEasingBlock\");\n case FlowGraphBlockNames.BezierCurveEasing:\n return async () => await _LoadBlock(import(\"./Execution/Animation/flowGraphBezierCurveEasingBlock.pure\"), \"FlowGraphBezierCurveEasingBlock\");\n case FlowGraphBlockNames.PointerOverEvent:\n return async () => await _LoadBlock(import(\"./Event/flowGraphPointerOverEventBlock.pure\"), \"FlowGraphPointerOverEventBlock\");\n case FlowGraphBlockNames.PointerOutEvent:\n return async () => await _LoadBlock(import(\"./Event/flowGraphPointerOutEventBlock.pure\"), \"FlowGraphPointerOutEventBlock\");\n case FlowGraphBlockNames.PointerDownEvent:\n return async () => await _LoadBlock(import(\"./Event/flowGraphPointerDownEventBlock.pure\"), \"FlowGraphPointerDownEventBlock\");\n case FlowGraphBlockNames.PointerUpEvent:\n return async () => await _LoadBlock(import(\"./Event/flowGraphPointerUpEventBlock.pure\"), \"FlowGraphPointerUpEventBlock\");\n case FlowGraphBlockNames.PointerMoveEvent:\n return async () => await _LoadBlock(import(\"./Event/flowGraphPointerMoveEventBlock.pure\"), \"FlowGraphPointerMoveEventBlock\");\n // Keyboard\n case FlowGraphBlockNames.KeyDownEvent:\n return async () => await _LoadBlock(import(\"./Event/flowGraphKeyDownEventBlock.pure\"), \"FlowGraphKeyDownEventBlock\");\n case FlowGraphBlockNames.KeyUpEvent:\n return async () => await _LoadBlock(import(\"./Event/flowGraphKeyUpEventBlock.pure\"), \"FlowGraphKeyUpEventBlock\");\n case FlowGraphBlockNames.IsKeyPressed:\n return async () => await _LoadBlock(import(\"./Data/flowGraphIsKeyPressedBlock.pure\"), \"FlowGraphIsKeyPressedBlock\");\n case FlowGraphBlockNames.Context:\n return async () => await _LoadBlock(import(\"./Data/Utils/flowGraphContextBlock.pure\"), \"FlowGraphContextBlock\");\n case FlowGraphBlockNames.ArrayIndex:\n return async () => await _LoadBlock(import(\"./Data/Utils/flowGraphArrayIndexBlock.pure\"), \"FlowGraphArrayIndexBlock\");\n case FlowGraphBlockNames.CodeExecution:\n return async () => (await import(\"./Data/Utils/flowGraphCodeExecutionBlock\")).FlowGraphCodeExecutionBlock;\n case FlowGraphBlockNames.IndexOf:\n return async () => await _LoadBlock(import(\"./Data/Utils/flowGraphIndexOfBlock.pure\"), \"FlowGraphIndexOfBlock\");\n case FlowGraphBlockNames.FunctionReference:\n return async () => await _LoadBlock(import(\"./Data/Utils/flowGraphFunctionReferenceBlock.pure\"), \"FlowGraphFunctionReferenceBlock\");\n case FlowGraphBlockNames.DataSwitch:\n return async () => await _LoadBlock(import(\"./Data/flowGraphDataSwitchBlock.pure\"), \"FlowGraphDataSwitchBlock\");\n case FlowGraphBlockNames.DebugBlock:\n return async () => await _LoadBlock(import(\"./Data/flowGraphDebugBlock.pure\"), \"FlowGraphDebugBlock\");\n // Physics\n case FlowGraphBlockNames.PhysicsCollisionEvent:\n return async () => await _LoadBlock(import(\"./Event/flowGraphPhysicsCollisionEventBlock.pure\"), \"FlowGraphPhysicsCollisionEventBlock\");\n case FlowGraphBlockNames.PhysicsApplyForce:\n return async () => await _LoadBlock(import(\"./Execution/Physics/flowGraphApplyForceBlock.pure\"), \"FlowGraphApplyForceBlock\");\n case FlowGraphBlockNames.PhysicsApplyImpulse:\n return async () => await _LoadBlock(import(\"./Execution/Physics/flowGraphApplyImpulseBlock.pure\"), \"FlowGraphApplyImpulseBlock\");\n case FlowGraphBlockNames.PhysicsSetLinearVelocity:\n return async () => await _LoadBlock(import(\"./Execution/Physics/flowGraphSetLinearVelocityBlock.pure\"), \"FlowGraphSetLinearVelocityBlock\");\n case FlowGraphBlockNames.PhysicsSetAngularVelocity:\n return async () => await _LoadBlock(import(\"./Execution/Physics/flowGraphSetAngularVelocityBlock.pure\"), \"FlowGraphSetAngularVelocityBlock\");\n case FlowGraphBlockNames.PhysicsSetMotionType:\n return async () => await _LoadBlock(import(\"./Execution/Physics/flowGraphSetPhysicsMotionTypeBlock.pure\"), \"FlowGraphSetPhysicsMotionTypeBlock\");\n case FlowGraphBlockNames.PhysicsGetLinearVelocity:\n return async () => await _LoadBlock(import(\"./Data/Physics/flowGraphGetLinearVelocityBlock.pure\"), \"FlowGraphGetLinearVelocityBlock\");\n case FlowGraphBlockNames.PhysicsGetAngularVelocity:\n return async () => await _LoadBlock(import(\"./Data/Physics/flowGraphGetAngularVelocityBlock.pure\"), \"FlowGraphGetAngularVelocityBlock\");\n case FlowGraphBlockNames.PhysicsGetMassProperties:\n return async () => await _LoadBlock(import(\"./Data/Physics/flowGraphGetPhysicsMassPropertiesBlock.pure\"), \"FlowGraphGetPhysicsMassPropertiesBlock\");\n // Audio\n case FlowGraphBlockNames.AudioPlaySound:\n return async () => await _LoadBlock(import(\"./Execution/Audio/flowGraphPlaySoundBlock.pure\"), \"FlowGraphPlaySoundBlock\");\n case FlowGraphBlockNames.AudioStopSound:\n return async () => await _LoadBlock(import(\"./Execution/Audio/flowGraphStopSoundBlock.pure\"), \"FlowGraphStopSoundBlock\");\n case FlowGraphBlockNames.AudioPauseSound:\n return async () => await _LoadBlock(import(\"./Execution/Audio/flowGraphPauseSoundBlock.pure\"), \"FlowGraphPauseSoundBlock\");\n case FlowGraphBlockNames.AudioSetVolume:\n return async () => await _LoadBlock(import(\"./Execution/Audio/flowGraphSetSoundVolumeBlock.pure\"), \"FlowGraphSetSoundVolumeBlock\");\n case FlowGraphBlockNames.AudioSoundEndedEvent:\n return async () => await _LoadBlock(import(\"./Event/flowGraphSoundEndedEventBlock.pure\"), \"FlowGraphSoundEndedEventBlock\");\n case FlowGraphBlockNames.AudioGetVolume:\n return async () => await _LoadBlock(import(\"./Data/Audio/flowGraphGetSoundVolumeBlock.pure\"), \"FlowGraphGetSoundVolumeBlock\");\n case FlowGraphBlockNames.AudioIsSoundPlaying:\n return async () => await _LoadBlock(import(\"./Data/Audio/flowGraphIsSoundPlayingBlock.pure\"), \"FlowGraphIsSoundPlayingBlock\");\n default:\n // check if the block is a custom block\n if (CustomBlocks[blockName]) {\n return CustomBlocks[blockName];\n }\n // Fallback: O(1) reverse lookup by short name (e.g. \"FlowGraphGLTFDataProvider\" → \"KHR_interactivity/FlowGraphGLTFDataProvider\")\n if (!blockName.includes(\"/\")) {\n const fullKey = ShortNameToFullKey[blockName];\n if (fullKey && CustomBlocks[fullKey]) {\n return CustomBlocks[fullKey];\n }\n }\n throw new Error(`Unknown block name ${blockName}`);\n }\n}\n"]}
1
+ {"version":3,"file":"flowGraphBlockFactory.js","sourceRoot":"","sources":["../../../../../dev/core/src/FlowGraph/Blocks/flowGraphBlockFactory.ts"],"names":[],"mappings":"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","sourcesContent":["import { FlowGraphBlock } from \"../flowGraphBlock\";\nimport { FlowGraphBlockNames } from \"./flowGraphBlockNames\";\n\n/**\n * Any external module that wishes to add a new block to the flow graph can add to this object using the helper function.\n */\nconst CustomBlocks: Record<string, () => Promise<typeof FlowGraphBlock>> = {};\n/**\n * Reverse lookup: short block name → full \"module/blockName\" key, for O(1) fallback.\n */\nconst ShortNameToFullKey: Record<string, string> = {};\n\n/**\n * If you want to add a new block to the block factory, you should use this function.\n * Please be sure to choose a unique name and define the responsible module.\n * @param module the name of the module that is responsible for the block\n * @param blockName the name of the block. This should be unique.\n * @param factory an async factory function to generate the block\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function addToBlockFactory(module: string, blockName: string, factory: () => Promise<typeof FlowGraphBlock>): void {\n const fullKey = `${module}/${blockName}`;\n CustomBlocks[fullKey] = factory;\n ShortNameToFullKey[blockName] = fullKey;\n}\n\nfunction _IsFlowGraphBlockConstructor(value: unknown): value is typeof FlowGraphBlock {\n return typeof value === \"function\" && value.prototype instanceof FlowGraphBlock;\n}\n\nasync function _LoadBlock(modulePromise: Promise<object>, blockName: string): Promise<typeof FlowGraphBlock> {\n const module = await modulePromise;\n let block: typeof FlowGraphBlock | undefined;\n let register: (() => void) | undefined;\n\n for (const [exportName, value] of Object.entries(module)) {\n if (exportName === blockName && _IsFlowGraphBlockConstructor(value)) {\n block = value;\n } else if (exportName.startsWith(\"RegisterFlowGraph\") && typeof value === \"function\") {\n register = value;\n }\n }\n\n if (!block || !register) {\n throw new Error(`Invalid FlowGraph block module for ${blockName}`);\n }\n\n register();\n if (blockName === \"FlowGraphPlayAnimationBlock\") {\n const { RegisterAnimationGroup } = await import(\"../../Animations/animationGroup.pure\");\n RegisterAnimationGroup();\n }\n\n return block;\n}\n\n/**\n * a function to get a factory function for a block.\n * @param blockName the block name to initialize. If the block comes from an external module, the name should be in the format \"module/blockName\"\n * @returns an async factory function that will return the block class when called.\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function blockFactory(blockName: FlowGraphBlockNames | string): () => Promise<typeof FlowGraphBlock> {\n switch (blockName) {\n case FlowGraphBlockNames.PlayAnimation:\n return async () => await _LoadBlock(import(\"./Execution/Animation/flowGraphPlayAnimationBlock.pure\"), \"FlowGraphPlayAnimationBlock\");\n case FlowGraphBlockNames.StopAnimation:\n return async () => await _LoadBlock(import(\"./Execution/Animation/flowGraphStopAnimationBlock.pure\"), \"FlowGraphStopAnimationBlock\");\n case FlowGraphBlockNames.PauseAnimation:\n return async () => await _LoadBlock(import(\"./Execution/Animation/flowGraphPauseAnimationBlock.pure\"), \"FlowGraphPauseAnimationBlock\");\n case FlowGraphBlockNames.ValueInterpolation:\n return async () => await _LoadBlock(import(\"./Execution/Animation/flowGraphInterpolationBlock.pure\"), \"FlowGraphInterpolationBlock\");\n case FlowGraphBlockNames.SceneReadyEvent:\n return async () => await _LoadBlock(import(\"./Event/flowGraphSceneReadyEventBlock.pure\"), \"FlowGraphSceneReadyEventBlock\");\n case FlowGraphBlockNames.SceneTickEvent:\n return async () => await _LoadBlock(import(\"./Event/flowGraphSceneTickEventBlock.pure\"), \"FlowGraphSceneTickEventBlock\");\n case FlowGraphBlockNames.SendCustomEvent:\n return async () => await _LoadBlock(import(\"./Event/flowGraphSendCustomEventBlock.pure\"), \"FlowGraphSendCustomEventBlock\");\n case FlowGraphBlockNames.ReceiveCustomEvent:\n return async () => await _LoadBlock(import(\"./Event/flowGraphReceiveCustomEventBlock.pure\"), \"FlowGraphReceiveCustomEventBlock\");\n case FlowGraphBlockNames.StopEventPropagation:\n return async () => await _LoadBlock(import(\"./Event/flowGraphStopEventPropagationBlock.pure\"), \"FlowGraphStopEventPropagationBlock\");\n case FlowGraphBlockNames.MeshPickEvent:\n return async () => await _LoadBlock(import(\"./Event/flowGraphMeshPickEventBlock.pure\"), \"FlowGraphMeshPickEventBlock\");\n case FlowGraphBlockNames.MeshIntersectionEvent:\n return async () => await _LoadBlock(import(\"./Event/flowGraphMeshIntersectionEventBlock.pure\"), \"FlowGraphMeshIntersectionEventBlock\");\n case FlowGraphBlockNames.E:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathBlocks.pure\"), \"FlowGraphEBlock\");\n case FlowGraphBlockNames.PI:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathBlocks.pure\"), \"FlowGraphPiBlock\");\n case FlowGraphBlockNames.Tau:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathBlocks.pure\"), \"FlowGraphTauBlock\");\n case FlowGraphBlockNames.Inf:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathBlocks.pure\"), \"FlowGraphInfBlock\");\n case FlowGraphBlockNames.NaN:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathBlocks.pure\"), \"FlowGraphNaNBlock\");\n case FlowGraphBlockNames.Random:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathBlocks.pure\"), \"FlowGraphRandomBlock\");\n case FlowGraphBlockNames.Add:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathBlocks.pure\"), \"FlowGraphAddBlock\");\n case FlowGraphBlockNames.Subtract:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathBlocks.pure\"), \"FlowGraphSubtractBlock\");\n case FlowGraphBlockNames.Multiply:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathBlocks.pure\"), \"FlowGraphMultiplyBlock\");\n case FlowGraphBlockNames.Divide:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathBlocks.pure\"), \"FlowGraphDivideBlock\");\n case FlowGraphBlockNames.Abs:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathBlocks.pure\"), \"FlowGraphAbsBlock\");\n case FlowGraphBlockNames.Sign:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathBlocks.pure\"), \"FlowGraphSignBlock\");\n case FlowGraphBlockNames.Trunc:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathBlocks.pure\"), \"FlowGraphTruncBlock\");\n case FlowGraphBlockNames.Floor:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathBlocks.pure\"), \"FlowGraphFloorBlock\");\n case FlowGraphBlockNames.Ceil:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathBlocks.pure\"), \"FlowGraphCeilBlock\");\n case FlowGraphBlockNames.Round:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathBlocks.pure\"), \"FlowGraphRoundBlock\");\n case FlowGraphBlockNames.Fraction:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathBlocks.pure\"), \"FlowGraphFractionBlock\");\n case FlowGraphBlockNames.Negation:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathBlocks.pure\"), \"FlowGraphNegationBlock\");\n case FlowGraphBlockNames.Modulo:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathBlocks.pure\"), \"FlowGraphModuloBlock\");\n case FlowGraphBlockNames.Min:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathBlocks.pure\"), \"FlowGraphMinBlock\");\n case FlowGraphBlockNames.Max:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathBlocks.pure\"), \"FlowGraphMaxBlock\");\n case FlowGraphBlockNames.Clamp:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathBlocks.pure\"), \"FlowGraphClampBlock\");\n case FlowGraphBlockNames.Saturate:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathBlocks.pure\"), \"FlowGraphSaturateBlock\");\n case FlowGraphBlockNames.MathInterpolation:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathBlocks.pure\"), \"FlowGraphMathInterpolationBlock\");\n case FlowGraphBlockNames.MathSlerp:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathBlocks.pure\"), \"FlowGraphMathSlerpBlock\");\n case FlowGraphBlockNames.SmoothStep:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathBlocks.pure\"), \"FlowGraphMathSmoothStepBlock\");\n case FlowGraphBlockNames.RGBToOkLCh:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathBlocks.pure\"), \"FlowGraphRGBToOkLChBlock\");\n case FlowGraphBlockNames.RGBFromOkLCh:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathBlocks.pure\"), \"FlowGraphRGBFromOkLChBlock\");\n case FlowGraphBlockNames.Equality:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathBlocks.pure\"), \"FlowGraphEqualityBlock\");\n case FlowGraphBlockNames.LessThan:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathBlocks.pure\"), \"FlowGraphLessThanBlock\");\n case FlowGraphBlockNames.LessThanOrEqual:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathBlocks.pure\"), \"FlowGraphLessThanOrEqualBlock\");\n case FlowGraphBlockNames.GreaterThan:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathBlocks.pure\"), \"FlowGraphGreaterThanBlock\");\n case FlowGraphBlockNames.GreaterThanOrEqual:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathBlocks.pure\"), \"FlowGraphGreaterThanOrEqualBlock\");\n case FlowGraphBlockNames.IsNaN:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathBlocks.pure\"), \"FlowGraphIsNanBlock\");\n case FlowGraphBlockNames.IsInfinity:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathBlocks.pure\"), \"FlowGraphIsInfinityBlock\");\n case FlowGraphBlockNames.DegToRad:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathBlocks.pure\"), \"FlowGraphDegToRadBlock\");\n case FlowGraphBlockNames.RadToDeg:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathBlocks.pure\"), \"FlowGraphRadToDegBlock\");\n case FlowGraphBlockNames.Sin:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathBlocks.pure\"), \"FlowGraphSinBlock\");\n case FlowGraphBlockNames.Cos:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathBlocks.pure\"), \"FlowGraphCosBlock\");\n case FlowGraphBlockNames.Tan:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathBlocks.pure\"), \"FlowGraphTanBlock\");\n case FlowGraphBlockNames.Asin:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathBlocks.pure\"), \"FlowGraphAsinBlock\");\n case FlowGraphBlockNames.Acos:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathBlocks.pure\"), \"FlowGraphAcosBlock\");\n case FlowGraphBlockNames.Atan:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathBlocks.pure\"), \"FlowGraphAtanBlock\");\n case FlowGraphBlockNames.Atan2:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathBlocks.pure\"), \"FlowGraphAtan2Block\");\n case FlowGraphBlockNames.Sinh:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathBlocks.pure\"), \"FlowGraphSinhBlock\");\n case FlowGraphBlockNames.Cosh:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathBlocks.pure\"), \"FlowGraphCoshBlock\");\n case FlowGraphBlockNames.Tanh:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathBlocks.pure\"), \"FlowGraphTanhBlock\");\n case FlowGraphBlockNames.Asinh:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathBlocks.pure\"), \"FlowGraphAsinhBlock\");\n case FlowGraphBlockNames.Acosh:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathBlocks.pure\"), \"FlowGraphAcoshBlock\");\n case FlowGraphBlockNames.Atanh:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathBlocks.pure\"), \"FlowGraphAtanhBlock\");\n case FlowGraphBlockNames.Exponential:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathBlocks.pure\"), \"FlowGraphExpBlock\");\n case FlowGraphBlockNames.Log:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathBlocks.pure\"), \"FlowGraphLogBlock\");\n case FlowGraphBlockNames.Log2:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathBlocks.pure\"), \"FlowGraphLog2Block\");\n case FlowGraphBlockNames.Log10:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathBlocks.pure\"), \"FlowGraphLog10Block\");\n case FlowGraphBlockNames.SquareRoot:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathBlocks.pure\"), \"FlowGraphSquareRootBlock\");\n case FlowGraphBlockNames.Power:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathBlocks.pure\"), \"FlowGraphPowerBlock\");\n case FlowGraphBlockNames.CubeRoot:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathBlocks.pure\"), \"FlowGraphCubeRootBlock\");\n case FlowGraphBlockNames.BitwiseAnd:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathBlocks.pure\"), \"FlowGraphBitwiseAndBlock\");\n case FlowGraphBlockNames.BitwiseOr:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathBlocks.pure\"), \"FlowGraphBitwiseOrBlock\");\n case FlowGraphBlockNames.BitwiseNot:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathBlocks.pure\"), \"FlowGraphBitwiseNotBlock\");\n case FlowGraphBlockNames.BitwiseXor:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathBlocks.pure\"), \"FlowGraphBitwiseXorBlock\");\n case FlowGraphBlockNames.BitwiseLeftShift:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathBlocks.pure\"), \"FlowGraphBitwiseLeftShiftBlock\");\n case FlowGraphBlockNames.BitwiseRightShift:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathBlocks.pure\"), \"FlowGraphBitwiseRightShiftBlock\");\n case FlowGraphBlockNames.Length:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphVectorMathBlocks.pure\"), \"FlowGraphLengthBlock\");\n case FlowGraphBlockNames.Normalize:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphVectorMathBlocks.pure\"), \"FlowGraphNormalizeBlock\");\n case FlowGraphBlockNames.Dot:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphVectorMathBlocks.pure\"), \"FlowGraphDotBlock\");\n case FlowGraphBlockNames.Cross:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphVectorMathBlocks.pure\"), \"FlowGraphCrossBlock\");\n case FlowGraphBlockNames.Rotate2D:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphVectorMathBlocks.pure\"), \"FlowGraphRotate2DBlock\");\n case FlowGraphBlockNames.Rotate3D:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphVectorMathBlocks.pure\"), \"FlowGraphRotate3DBlock\");\n case FlowGraphBlockNames.Transpose:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMatrixMathBlocks.pure\"), \"FlowGraphTransposeBlock\");\n case FlowGraphBlockNames.Determinant:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMatrixMathBlocks.pure\"), \"FlowGraphDeterminantBlock\");\n case FlowGraphBlockNames.InvertMatrix:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMatrixMathBlocks.pure\"), \"FlowGraphInvertMatrixBlock\");\n case FlowGraphBlockNames.MatrixMultiplication:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMatrixMathBlocks.pure\"), \"FlowGraphMatrixMultiplicationBlock\");\n case FlowGraphBlockNames.Branch:\n return async () => await _LoadBlock(import(\"./Execution/ControlFlow/flowGraphBranchBlock.pure\"), \"FlowGraphBranchBlock\");\n case FlowGraphBlockNames.SetDelay:\n return async () => await _LoadBlock(import(\"./Execution/ControlFlow/flowGraphSetDelayBlock.pure\"), \"FlowGraphSetDelayBlock\");\n case FlowGraphBlockNames.CancelDelay:\n return async () => await _LoadBlock(import(\"./Execution/ControlFlow/flowGraphCancelDelayBlock.pure\"), \"FlowGraphCancelDelayBlock\");\n case FlowGraphBlockNames.CallCounter:\n return async () => await _LoadBlock(import(\"./Execution/ControlFlow/flowGraphCounterBlock.pure\"), \"FlowGraphCallCounterBlock\");\n case FlowGraphBlockNames.Debounce:\n return async () => await _LoadBlock(import(\"./Execution/ControlFlow/flowGraphDebounceBlock.pure\"), \"FlowGraphDebounceBlock\");\n case FlowGraphBlockNames.Throttle:\n return async () => await _LoadBlock(import(\"./Execution/ControlFlow/flowGraphThrottleBlock.pure\"), \"FlowGraphThrottleBlock\");\n case FlowGraphBlockNames.DoN:\n return async () => await _LoadBlock(import(\"./Execution/ControlFlow/flowGraphDoNBlock.pure\"), \"FlowGraphDoNBlock\");\n case FlowGraphBlockNames.FlipFlop:\n return async () => await _LoadBlock(import(\"./Execution/ControlFlow/flowGraphFlipFlopBlock.pure\"), \"FlowGraphFlipFlopBlock\");\n case FlowGraphBlockNames.ForLoop:\n return async () => await _LoadBlock(import(\"./Execution/ControlFlow/flowGraphForLoopBlock.pure\"), \"FlowGraphForLoopBlock\");\n case FlowGraphBlockNames.MultiGate:\n return async () => await _LoadBlock(import(\"./Execution/ControlFlow/flowGraphMultiGateBlock.pure\"), \"FlowGraphMultiGateBlock\");\n case FlowGraphBlockNames.Sequence:\n return async () => await _LoadBlock(import(\"./Execution/ControlFlow/flowGraphSequenceBlock.pure\"), \"FlowGraphSequenceBlock\");\n case FlowGraphBlockNames.Switch:\n return async () => await _LoadBlock(import(\"./Execution/ControlFlow/flowGraphSwitchBlock.pure\"), \"FlowGraphSwitchBlock\");\n case FlowGraphBlockNames.WaitAll:\n return async () => await _LoadBlock(import(\"./Execution/ControlFlow/flowGraphWaitAllBlock.pure\"), \"FlowGraphWaitAllBlock\");\n case FlowGraphBlockNames.WhileLoop:\n return async () => await _LoadBlock(import(\"./Execution/ControlFlow/flowGraphWhileLoopBlock.pure\"), \"FlowGraphWhileLoopBlock\");\n case FlowGraphBlockNames.ConsoleLog:\n return async () => await _LoadBlock(import(\"./Execution/flowGraphConsoleLogBlock.pure\"), \"FlowGraphConsoleLogBlock\");\n case FlowGraphBlockNames.Conditional:\n return async () => await _LoadBlock(import(\"./Data/flowGraphConditionalDataBlock.pure\"), \"FlowGraphConditionalDataBlock\");\n case FlowGraphBlockNames.Constant:\n return async () => await _LoadBlock(import(\"./Data/flowGraphConstantBlock.pure\"), \"FlowGraphConstantBlock\");\n case FlowGraphBlockNames.TransformCoordinatesSystem:\n return async () => await _LoadBlock(import(\"./Data/flowGraphTransformCoordinatesSystemBlock.pure\"), \"FlowGraphTransformCoordinatesSystemBlock\");\n case FlowGraphBlockNames.GetAsset:\n return async () => await _LoadBlock(import(\"./Data/flowGraphGetAssetBlock.pure\"), \"FlowGraphGetAssetBlock\");\n case FlowGraphBlockNames.GetProperty:\n return async () => await _LoadBlock(import(\"./Data/flowGraphGetPropertyBlock.pure\"), \"FlowGraphGetPropertyBlock\");\n case FlowGraphBlockNames.SetProperty:\n return async () => await _LoadBlock(import(\"./Execution/flowGraphSetPropertyBlock.pure\"), \"FlowGraphSetPropertyBlock\");\n case FlowGraphBlockNames.GetVariable:\n return async () => await _LoadBlock(import(\"./Data/flowGraphGetVariableBlock.pure\"), \"FlowGraphGetVariableBlock\");\n case FlowGraphBlockNames.SetVariable:\n return async () => await _LoadBlock(import(\"./Execution/flowGraphSetVariableBlock.pure\"), \"FlowGraphSetVariableBlock\");\n case FlowGraphBlockNames.JsonPointerParser:\n return async () => await _LoadBlock(import(\"./Data/Transformers/flowGraphJsonPointerParserBlock.pure\"), \"FlowGraphJsonPointerParserBlock\");\n case FlowGraphBlockNames.LeadingZeros:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathBlocks.pure\"), \"FlowGraphLeadingZerosBlock\");\n case FlowGraphBlockNames.TrailingZeros:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathBlocks.pure\"), \"FlowGraphTrailingZerosBlock\");\n case FlowGraphBlockNames.OneBitsCounter:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathBlocks.pure\"), \"FlowGraphOneBitsCounterBlock\");\n case FlowGraphBlockNames.CombineVector2:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathCombineExtractBlocks.pure\"), \"FlowGraphCombineVector2Block\");\n case FlowGraphBlockNames.CombineVector3:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathCombineExtractBlocks.pure\"), \"FlowGraphCombineVector3Block\");\n case FlowGraphBlockNames.CombineVector4:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathCombineExtractBlocks.pure\"), \"FlowGraphCombineVector4Block\");\n case FlowGraphBlockNames.CombineMatrix:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathCombineExtractBlocks.pure\"), \"FlowGraphCombineMatrixBlock\");\n case FlowGraphBlockNames.CombineMatrix2D:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathCombineExtractBlocks.pure\"), \"FlowGraphCombineMatrix2DBlock\");\n case FlowGraphBlockNames.CombineMatrix3D:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathCombineExtractBlocks.pure\"), \"FlowGraphCombineMatrix3DBlock\");\n case FlowGraphBlockNames.ExtractVector2:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathCombineExtractBlocks.pure\"), \"FlowGraphExtractVector2Block\");\n case FlowGraphBlockNames.ExtractVector3:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathCombineExtractBlocks.pure\"), \"FlowGraphExtractVector3Block\");\n case FlowGraphBlockNames.ExtractVector4:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathCombineExtractBlocks.pure\"), \"FlowGraphExtractVector4Block\");\n case FlowGraphBlockNames.ExtractMatrix:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathCombineExtractBlocks.pure\"), \"FlowGraphExtractMatrixBlock\");\n case FlowGraphBlockNames.ExtractMatrix2D:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathCombineExtractBlocks.pure\"), \"FlowGraphExtractMatrix2DBlock\");\n case FlowGraphBlockNames.ExtractMatrix3D:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMathCombineExtractBlocks.pure\"), \"FlowGraphExtractMatrix3DBlock\");\n case FlowGraphBlockNames.TransformVector:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphVectorMathBlocks.pure\"), \"FlowGraphTransformBlock\");\n case FlowGraphBlockNames.TransformCoordinates:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphVectorMathBlocks.pure\"), \"FlowGraphTransformCoordinatesBlock\");\n case FlowGraphBlockNames.Conjugate:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphVectorMathBlocks.pure\"), \"FlowGraphConjugateBlock\");\n case FlowGraphBlockNames.AngleBetween:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphVectorMathBlocks.pure\"), \"FlowGraphAngleBetweenBlock\");\n case FlowGraphBlockNames.QuaternionFromAxisAngle:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphVectorMathBlocks.pure\"), \"FlowGraphQuaternionFromAxisAngleBlock\");\n case FlowGraphBlockNames.AxisAngleFromQuaternion:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphVectorMathBlocks.pure\"), \"FlowGraphAxisAngleFromQuaternionBlock\");\n case FlowGraphBlockNames.QuaternionFromDirections:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphVectorMathBlocks.pure\"), \"FlowGraphQuaternionFromDirectionsBlock\");\n case FlowGraphBlockNames.QuaternionFromUpForward:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphVectorMathBlocks.pure\"), \"FlowGraphQuaternionFromUpForwardBlock\");\n case FlowGraphBlockNames.QuaternionFromAngles:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphVectorMathBlocks.pure\"), \"FlowGraphQuaternionFromAnglesBlock\");\n case FlowGraphBlockNames.VectorSlerp:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphVectorMathBlocks.pure\"), \"FlowGraphVectorSlerpBlock\");\n case FlowGraphBlockNames.MatrixDecompose:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMatrixMathBlocks.pure\"), \"FlowGraphMatrixDecomposeBlock\");\n case FlowGraphBlockNames.MatrixCompose:\n return async () => await _LoadBlock(import(\"./Data/Math/flowGraphMatrixMathBlocks.pure\"), \"FlowGraphMatrixComposeBlock\");\n case FlowGraphBlockNames.BooleanToFloat:\n return async () => await _LoadBlock(import(\"./Data/Transformers/flowGraphTypeToTypeBlocks.pure\"), \"FlowGraphBooleanToFloat\");\n case FlowGraphBlockNames.BooleanToInt:\n return async () => await _LoadBlock(import(\"./Data/Transformers/flowGraphTypeToTypeBlocks.pure\"), \"FlowGraphBooleanToInt\");\n case FlowGraphBlockNames.FloatToBoolean:\n return async () => await _LoadBlock(import(\"./Data/Transformers/flowGraphTypeToTypeBlocks.pure\"), \"FlowGraphFloatToBoolean\");\n case FlowGraphBlockNames.IntToBoolean:\n return async () => await _LoadBlock(import(\"./Data/Transformers/flowGraphTypeToTypeBlocks.pure\"), \"FlowGraphIntToBoolean\");\n case FlowGraphBlockNames.IntToFloat:\n return async () => await _LoadBlock(import(\"./Data/Transformers/flowGraphTypeToTypeBlocks.pure\"), \"FlowGraphIntToFloat\");\n case FlowGraphBlockNames.FloatToInt:\n return async () => await _LoadBlock(import(\"./Data/Transformers/flowGraphTypeToTypeBlocks.pure\"), \"FlowGraphFloatToInt\");\n case FlowGraphBlockNames.Easing:\n return async () => await _LoadBlock(import(\"./Execution/Animation/flowGraphEasingBlock.pure\"), \"FlowGraphEasingBlock\");\n case FlowGraphBlockNames.BezierCurveEasing:\n return async () => await _LoadBlock(import(\"./Execution/Animation/flowGraphBezierCurveEasingBlock.pure\"), \"FlowGraphBezierCurveEasingBlock\");\n case FlowGraphBlockNames.PointerOverEvent:\n return async () => await _LoadBlock(import(\"./Event/flowGraphPointerOverEventBlock.pure\"), \"FlowGraphPointerOverEventBlock\");\n case FlowGraphBlockNames.PointerOutEvent:\n return async () => await _LoadBlock(import(\"./Event/flowGraphPointerOutEventBlock.pure\"), \"FlowGraphPointerOutEventBlock\");\n case FlowGraphBlockNames.PointerDownEvent:\n return async () => await _LoadBlock(import(\"./Event/flowGraphPointerDownEventBlock.pure\"), \"FlowGraphPointerDownEventBlock\");\n case FlowGraphBlockNames.PointerUpEvent:\n return async () => await _LoadBlock(import(\"./Event/flowGraphPointerUpEventBlock.pure\"), \"FlowGraphPointerUpEventBlock\");\n case FlowGraphBlockNames.PointerMoveEvent:\n return async () => await _LoadBlock(import(\"./Event/flowGraphPointerMoveEventBlock.pure\"), \"FlowGraphPointerMoveEventBlock\");\n // Keyboard\n case FlowGraphBlockNames.KeyDownEvent:\n return async () => await _LoadBlock(import(\"./Event/flowGraphKeyDownEventBlock.pure\"), \"FlowGraphKeyDownEventBlock\");\n case FlowGraphBlockNames.KeyUpEvent:\n return async () => await _LoadBlock(import(\"./Event/flowGraphKeyUpEventBlock.pure\"), \"FlowGraphKeyUpEventBlock\");\n case FlowGraphBlockNames.IsKeyPressed:\n return async () => await _LoadBlock(import(\"./Data/flowGraphIsKeyPressedBlock.pure\"), \"FlowGraphIsKeyPressedBlock\");\n case FlowGraphBlockNames.Context:\n return async () => await _LoadBlock(import(\"./Data/Utils/flowGraphContextBlock.pure\"), \"FlowGraphContextBlock\");\n case FlowGraphBlockNames.ArrayIndex:\n return async () => await _LoadBlock(import(\"./Data/Utils/flowGraphArrayIndexBlock.pure\"), \"FlowGraphArrayIndexBlock\");\n case FlowGraphBlockNames.CodeExecution:\n return async () => (await import(\"./Data/Utils/flowGraphCodeExecutionBlock\")).FlowGraphCodeExecutionBlock;\n case FlowGraphBlockNames.IndexOf:\n return async () => await _LoadBlock(import(\"./Data/Utils/flowGraphIndexOfBlock.pure\"), \"FlowGraphIndexOfBlock\");\n case FlowGraphBlockNames.FunctionReference:\n return async () => await _LoadBlock(import(\"./Data/Utils/flowGraphFunctionReferenceBlock.pure\"), \"FlowGraphFunctionReferenceBlock\");\n case FlowGraphBlockNames.DataSwitch:\n return async () => await _LoadBlock(import(\"./Data/flowGraphDataSwitchBlock.pure\"), \"FlowGraphDataSwitchBlock\");\n case FlowGraphBlockNames.DebugBlock:\n return async () => await _LoadBlock(import(\"./Data/flowGraphDebugBlock.pure\"), \"FlowGraphDebugBlock\");\n // Physics\n case FlowGraphBlockNames.PhysicsCollisionEvent:\n return async () => await _LoadBlock(import(\"./Event/flowGraphPhysicsCollisionEventBlock.pure\"), \"FlowGraphPhysicsCollisionEventBlock\");\n case FlowGraphBlockNames.PhysicsApplyForce:\n return async () => await _LoadBlock(import(\"./Execution/Physics/flowGraphApplyForceBlock.pure\"), \"FlowGraphApplyForceBlock\");\n case FlowGraphBlockNames.PhysicsApplyImpulse:\n return async () => await _LoadBlock(import(\"./Execution/Physics/flowGraphApplyImpulseBlock.pure\"), \"FlowGraphApplyImpulseBlock\");\n case FlowGraphBlockNames.PhysicsSetLinearVelocity:\n return async () => await _LoadBlock(import(\"./Execution/Physics/flowGraphSetLinearVelocityBlock.pure\"), \"FlowGraphSetLinearVelocityBlock\");\n case FlowGraphBlockNames.PhysicsSetAngularVelocity:\n return async () => await _LoadBlock(import(\"./Execution/Physics/flowGraphSetAngularVelocityBlock.pure\"), \"FlowGraphSetAngularVelocityBlock\");\n case FlowGraphBlockNames.PhysicsSetMotionType:\n return async () => await _LoadBlock(import(\"./Execution/Physics/flowGraphSetPhysicsMotionTypeBlock.pure\"), \"FlowGraphSetPhysicsMotionTypeBlock\");\n case FlowGraphBlockNames.PhysicsGetLinearVelocity:\n return async () => await _LoadBlock(import(\"./Data/Physics/flowGraphGetLinearVelocityBlock.pure\"), \"FlowGraphGetLinearVelocityBlock\");\n case FlowGraphBlockNames.PhysicsGetAngularVelocity:\n return async () => await _LoadBlock(import(\"./Data/Physics/flowGraphGetAngularVelocityBlock.pure\"), \"FlowGraphGetAngularVelocityBlock\");\n case FlowGraphBlockNames.PhysicsGetMassProperties:\n return async () => await _LoadBlock(import(\"./Data/Physics/flowGraphGetPhysicsMassPropertiesBlock.pure\"), \"FlowGraphGetPhysicsMassPropertiesBlock\");\n // Audio\n case FlowGraphBlockNames.AudioPlaySound:\n return async () => await _LoadBlock(import(\"./Execution/Audio/flowGraphPlaySoundBlock.pure\"), \"FlowGraphPlaySoundBlock\");\n case FlowGraphBlockNames.AudioStopSound:\n return async () => await _LoadBlock(import(\"./Execution/Audio/flowGraphStopSoundBlock.pure\"), \"FlowGraphStopSoundBlock\");\n case FlowGraphBlockNames.AudioPauseSound:\n return async () => await _LoadBlock(import(\"./Execution/Audio/flowGraphPauseSoundBlock.pure\"), \"FlowGraphPauseSoundBlock\");\n case FlowGraphBlockNames.AudioSetVolume:\n return async () => await _LoadBlock(import(\"./Execution/Audio/flowGraphSetSoundVolumeBlock.pure\"), \"FlowGraphSetSoundVolumeBlock\");\n case FlowGraphBlockNames.AudioSoundEndedEvent:\n return async () => await _LoadBlock(import(\"./Event/flowGraphSoundEndedEventBlock.pure\"), \"FlowGraphSoundEndedEventBlock\");\n case FlowGraphBlockNames.AudioGetVolume:\n return async () => await _LoadBlock(import(\"./Data/Audio/flowGraphGetSoundVolumeBlock.pure\"), \"FlowGraphGetSoundVolumeBlock\");\n case FlowGraphBlockNames.AudioIsSoundPlaying:\n return async () => await _LoadBlock(import(\"./Data/Audio/flowGraphIsSoundPlayingBlock.pure\"), \"FlowGraphIsSoundPlayingBlock\");\n default:\n // check if the block is a custom block\n if (CustomBlocks[blockName]) {\n return CustomBlocks[blockName];\n }\n // Fallback: O(1) reverse lookup by short name (e.g. \"FlowGraphGLTFDataProvider\" → \"KHR_interactivity/FlowGraphGLTFDataProvider\")\n if (!blockName.includes(\"/\")) {\n const fullKey = ShortNameToFullKey[blockName];\n if (fullKey && CustomBlocks[fullKey]) {\n return CustomBlocks[fullKey];\n }\n }\n throw new Error(`Unknown block name ${blockName}`);\n }\n}\n"]}
@@ -13,6 +13,7 @@ export declare enum FlowGraphBlockNames {
13
13
  ReceiveCustomEvent = "FlowGraphReceiveCustomEventBlock",
14
14
  StopEventPropagation = "FlowGraphStopEventPropagationBlock",
15
15
  MeshPickEvent = "FlowGraphMeshPickEventBlock",
16
+ MeshIntersectionEvent = "FlowGraphMeshIntersectionEventBlock",
16
17
  PointerEvent = "FlowGraphPointerEventBlock",
17
18
  PointerDownEvent = "FlowGraphPointerDownEventBlock",
18
19
  PointerUpEvent = "FlowGraphPointerUpEventBlock",
@@ -14,6 +14,7 @@ export var FlowGraphBlockNames;
14
14
  FlowGraphBlockNames["ReceiveCustomEvent"] = "FlowGraphReceiveCustomEventBlock";
15
15
  FlowGraphBlockNames["StopEventPropagation"] = "FlowGraphStopEventPropagationBlock";
16
16
  FlowGraphBlockNames["MeshPickEvent"] = "FlowGraphMeshPickEventBlock";
17
+ FlowGraphBlockNames["MeshIntersectionEvent"] = "FlowGraphMeshIntersectionEventBlock";
17
18
  FlowGraphBlockNames["PointerEvent"] = "FlowGraphPointerEventBlock";
18
19
  FlowGraphBlockNames["PointerDownEvent"] = "FlowGraphPointerDownEventBlock";
19
20
  FlowGraphBlockNames["PointerUpEvent"] = "FlowGraphPointerUpEventBlock";
@@ -1 +1 @@
1
- {"version":3,"file":"flowGraphBlockNames.js","sourceRoot":"","sources":["../../../../../dev/core/src/FlowGraph/Blocks/flowGraphBlockNames.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Enum of all block names.\n * Note - if you add a new block, you must add it here, and must add it in the block factory!\n */\nexport const enum FlowGraphBlockNames {\n PlayAnimation = \"FlowGraphPlayAnimationBlock\",\n StopAnimation = \"FlowGraphStopAnimationBlock\",\n PauseAnimation = \"FlowGraphPauseAnimationBlock\",\n ValueInterpolation = \"FlowGraphInterpolationBlock\",\n SceneReadyEvent = \"FlowGraphSceneReadyEventBlock\",\n SceneTickEvent = \"FlowGraphSceneTickEventBlock\",\n SendCustomEvent = \"FlowGraphSendCustomEventBlock\",\n ReceiveCustomEvent = \"FlowGraphReceiveCustomEventBlock\",\n StopEventPropagation = \"FlowGraphStopEventPropagationBlock\",\n MeshPickEvent = \"FlowGraphMeshPickEventBlock\",\n PointerEvent = \"FlowGraphPointerEventBlock\",\n PointerDownEvent = \"FlowGraphPointerDownEventBlock\",\n PointerUpEvent = \"FlowGraphPointerUpEventBlock\",\n PointerMoveEvent = \"FlowGraphPointerMoveEventBlock\",\n PointerOverEvent = \"FlowGraphPointerOverEventBlock\",\n PointerOutEvent = \"FlowGraphPointerOutEventBlock\",\n KeyDownEvent = \"FlowGraphKeyDownEventBlock\",\n KeyUpEvent = \"FlowGraphKeyUpEventBlock\",\n IsKeyPressed = \"FlowGraphIsKeyPressedBlock\",\n E = \"FlowGraphEBlock\",\n PI = \"FlowGraphPIBlock\",\n Tau = \"FlowGraphTauBlock\",\n Inf = \"FlowGraphInfBlock\",\n NaN = \"FlowGraphNaNBlock\",\n Random = \"FlowGraphRandomBlock\",\n Add = \"FlowGraphAddBlock\",\n Subtract = \"FlowGraphSubtractBlock\",\n Multiply = \"FlowGraphMultiplyBlock\",\n Divide = \"FlowGraphDivideBlock\",\n Abs = \"FlowGraphAbsBlock\",\n Sign = \"FlowGraphSignBlock\",\n Trunc = \"FlowGraphTruncBlock\",\n Floor = \"FlowGraphFloorBlock\",\n Ceil = \"FlowGraphCeilBlock\",\n Round = \"FlowGraphRoundBlock\",\n Fraction = \"FlowGraphFractBlock\",\n Negation = \"FlowGraphNegationBlock\",\n Modulo = \"FlowGraphModuloBlock\",\n Min = \"FlowGraphMinBlock\",\n Max = \"FlowGraphMaxBlock\",\n Clamp = \"FlowGraphClampBlock\",\n Saturate = \"FlowGraphSaturateBlock\",\n MathInterpolation = \"FlowGraphMathInterpolationBlock\",\n MathSlerp = \"FlowGraphMathSlerpBlock\",\n SmoothStep = \"FlowGraphSmoothStepBlock\",\n RGBToOkLCh = \"FlowGraphRGBToOkLChBlock\",\n RGBFromOkLCh = \"FlowGraphRGBFromOkLChBlock\",\n Equality = \"FlowGraphEqualityBlock\",\n LessThan = \"FlowGraphLessThanBlock\",\n LessThanOrEqual = \"FlowGraphLessThanOrEqualBlock\",\n GreaterThan = \"FlowGraphGreaterThanBlock\",\n GreaterThanOrEqual = \"FlowGraphGreaterThanOrEqualBlock\",\n IsNaN = \"FlowGraphIsNaNBlock\",\n IsInfinity = \"FlowGraphIsInfBlock\",\n DegToRad = \"FlowGraphDegToRadBlock\",\n RadToDeg = \"FlowGraphRadToDegBlock\",\n Sin = \"FlowGraphSinBlock\",\n Cos = \"FlowGraphCosBlock\",\n Tan = \"FlowGraphTanBlock\",\n Asin = \"FlowGraphASinBlock\",\n Acos = \"FlowGraphACosBlock\",\n Atan = \"FlowGraphATanBlock\",\n Atan2 = \"FlowGraphATan2Block\",\n Sinh = \"FlowGraphSinhBlock\",\n Cosh = \"FlowGraphCoshBlock\",\n Tanh = \"FlowGraphTanhBlock\",\n Asinh = \"FlowGraphASinhBlock\",\n Acosh = \"FlowGraphACoshBlock\",\n Atanh = \"FlowGraphATanhBlock\",\n Exponential = \"FlowGraphExponentialBlock\",\n Log = \"FlowGraphLogBlock\",\n Log2 = \"FlowGraphLog2Block\",\n Log10 = \"FlowGraphLog10Block\",\n SquareRoot = \"FlowGraphSquareRootBlock\",\n CubeRoot = \"FlowGraphCubeRootBlock\",\n Power = \"FlowGraphPowerBlock\",\n Length = \"FlowGraphLengthBlock\",\n Normalize = \"FlowGraphNormalizeBlock\",\n Dot = \"FlowGraphDotBlock\",\n Cross = \"FlowGraphCrossBlock\",\n Rotate2D = \"FlowGraphRotate2DBlock\",\n Rotate3D = \"FlowGraphRotate3DBlock\",\n Transpose = \"FlowGraphTransposeBlock\",\n Determinant = \"FlowGraphDeterminantBlock\",\n InvertMatrix = \"FlowGraphInvertMatrixBlock\",\n MatrixMultiplication = \"FlowGraphMatrixMultiplicationBlock\",\n BitwiseAnd = \"FlowGraphBitwiseAndBlock\",\n BitwiseOr = \"FlowGraphBitwiseOrBlock\",\n BitwiseXor = \"FlowGraphBitwiseXorBlock\",\n BitwiseNot = \"FlowGraphBitwiseNotBlock\",\n BitwiseLeftShift = \"FlowGraphBitwiseLeftShiftBlock\",\n BitwiseRightShift = \"FlowGraphBitwiseRightShiftBlock\",\n LeadingZeros = \"FlowGraphLeadingZerosBlock\",\n TrailingZeros = \"FlowGraphTrailingZerosBlock\",\n OneBitsCounter = \"FlowGraphOneBitsCounterBlock\",\n Branch = \"FlowGraphBranchBlock\",\n SetDelay = \"FlowGraphSetDelayBlock\",\n CancelDelay = \"FlowGraphCancelDelayBlock\",\n CallCounter = \"FlowGraphCallCounterBlock\",\n Debounce = \"FlowGraphDebounceBlock\",\n Throttle = \"FlowGraphThrottleBlock\",\n DoN = \"FlowGraphDoNBlock\",\n FlipFlop = \"FlowGraphFlipFlopBlock\",\n ForLoop = \"FlowGraphForLoopBlock\",\n MultiGate = \"FlowGraphMultiGateBlock\",\n Sequence = \"FlowGraphSequenceBlock\",\n Switch = \"FlowGraphSwitchBlock\",\n WaitAll = \"FlowGraphWaitAllBlock\",\n WhileLoop = \"FlowGraphWhileLoopBlock\",\n ConsoleLog = \"FlowGraphConsoleLogBlock\",\n Conditional = \"FlowGraphConditionalBlock\",\n Constant = \"FlowGraphConstantBlock\",\n TransformCoordinatesSystem = \"FlowGraphTransformCoordinatesSystemBlock\",\n GetAsset = \"FlowGraphGetAssetBlock\",\n GetProperty = \"FlowGraphGetPropertyBlock\",\n SetProperty = \"FlowGraphSetPropertyBlock\",\n GetVariable = \"FlowGraphGetVariableBlock\",\n SetVariable = \"FlowGraphSetVariableBlock\",\n JsonPointerParser = \"FlowGraphJsonPointerParserBlock\",\n CombineVector2 = \"FlowGraphCombineVector2Block\",\n CombineVector3 = \"FlowGraphCombineVector3Block\",\n CombineVector4 = \"FlowGraphCombineVector4Block\",\n CombineMatrix = \"FlowGraphCombineMatrixBlock\",\n CombineMatrix2D = \"FlowGraphCombineMatrix2DBlock\",\n CombineMatrix3D = \"FlowGraphCombineMatrix3DBlock\",\n ExtractVector2 = \"FlowGraphExtractVector2Block\",\n ExtractVector3 = \"FlowGraphExtractVector3Block\",\n ExtractVector4 = \"FlowGraphExtractVector4Block\",\n ExtractMatrix = \"FlowGraphExtractMatrixBlock\",\n ExtractMatrix2D = \"FlowGraphExtractMatrix2DBlock\",\n ExtractMatrix3D = \"FlowGraphExtractMatrix3DBlock\",\n TransformVector = \"FlowGraphTransformVectorBlock\",\n TransformCoordinates = \"FlowGraphTransformCoordinatesBlock\",\n Conjugate = \"FlowGraphConjugateBlock\",\n AngleBetween = \"FlowGraphAngleBetweenBlock\",\n QuaternionFromAxisAngle = \"FlowGraphQuaternionFromAxisAngleBlock\",\n AxisAngleFromQuaternion = \"FlowGraphAxisAngleFromQuaternionBlock\",\n QuaternionFromDirections = \"FlowGraphQuaternionFromDirectionsBlock\",\n QuaternionFromUpForward = \"FlowGraphQuaternionFromUpForwardBlock\",\n QuaternionFromAngles = \"FlowGraphQuaternionFromAnglesBlock\",\n VectorSlerp = \"FlowGraphVectorSlerpBlock\",\n MatrixDecompose = \"FlowGraphMatrixDecompose\",\n MatrixCompose = \"FlowGraphMatrixCompose\",\n BooleanToFloat = \"FlowGraphBooleanToFloat\",\n BooleanToInt = \"FlowGraphBooleanToInt\",\n FloatToBoolean = \"FlowGraphFloatToBoolean\",\n IntToBoolean = \"FlowGraphIntToBoolean\",\n IntToFloat = \"FlowGraphIntToFloat\",\n FloatToInt = \"FlowGraphFloatToInt\",\n Easing = \"FlowGraphEasingBlock\",\n Context = \"FlowGraphContextBlock\",\n ArrayIndex = \"FlowGraphArrayIndexBlock\",\n CodeExecution = \"FlowGraphCodeExecutionBlock\",\n IndexOf = \"FlowGraphIndexOfBlock\",\n FunctionReference = \"FlowGraphFunctionReference\",\n BezierCurveEasing = \"FlowGraphBezierCurveEasing\",\n DataSwitch = \"FlowGraphDataSwitchBlock\",\n DebugBlock = \"FlowGraphDebugBlock\",\n // Physics\n PhysicsCollisionEvent = \"FlowGraphPhysicsCollisionEventBlock\",\n PhysicsApplyForce = \"FlowGraphApplyForceBlock\",\n PhysicsApplyImpulse = \"FlowGraphApplyImpulseBlock\",\n PhysicsSetLinearVelocity = \"FlowGraphSetLinearVelocityBlock\",\n PhysicsSetAngularVelocity = \"FlowGraphSetAngularVelocityBlock\",\n PhysicsSetMotionType = \"FlowGraphSetPhysicsMotionTypeBlock\",\n PhysicsGetLinearVelocity = \"FlowGraphGetLinearVelocityBlock\",\n PhysicsGetAngularVelocity = \"FlowGraphGetAngularVelocityBlock\",\n PhysicsGetMassProperties = \"FlowGraphGetPhysicsMassPropertiesBlock\",\n // Audio\n AudioPlaySound = \"FlowGraphPlaySoundBlock\",\n AudioStopSound = \"FlowGraphStopSoundBlock\",\n AudioPauseSound = \"FlowGraphPauseSoundBlock\",\n AudioSetVolume = \"FlowGraphSetSoundVolumeBlock\",\n AudioSoundEndedEvent = \"FlowGraphSoundEndedEventBlock\",\n AudioGetVolume = \"FlowGraphGetSoundVolumeBlock\",\n AudioIsSoundPlaying = \"FlowGraphIsSoundPlayingBlock\",\n}\n"]}
1
+ {"version":3,"file":"flowGraphBlockNames.js","sourceRoot":"","sources":["../../../../../dev/core/src/FlowGraph/Blocks/flowGraphBlockNames.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Enum of all block names.\n * Note - if you add a new block, you must add it here, and must add it in the block factory!\n */\nexport const enum FlowGraphBlockNames {\n PlayAnimation = \"FlowGraphPlayAnimationBlock\",\n StopAnimation = \"FlowGraphStopAnimationBlock\",\n PauseAnimation = \"FlowGraphPauseAnimationBlock\",\n ValueInterpolation = \"FlowGraphInterpolationBlock\",\n SceneReadyEvent = \"FlowGraphSceneReadyEventBlock\",\n SceneTickEvent = \"FlowGraphSceneTickEventBlock\",\n SendCustomEvent = \"FlowGraphSendCustomEventBlock\",\n ReceiveCustomEvent = \"FlowGraphReceiveCustomEventBlock\",\n StopEventPropagation = \"FlowGraphStopEventPropagationBlock\",\n MeshPickEvent = \"FlowGraphMeshPickEventBlock\",\n MeshIntersectionEvent = \"FlowGraphMeshIntersectionEventBlock\",\n PointerEvent = \"FlowGraphPointerEventBlock\",\n PointerDownEvent = \"FlowGraphPointerDownEventBlock\",\n PointerUpEvent = \"FlowGraphPointerUpEventBlock\",\n PointerMoveEvent = \"FlowGraphPointerMoveEventBlock\",\n PointerOverEvent = \"FlowGraphPointerOverEventBlock\",\n PointerOutEvent = \"FlowGraphPointerOutEventBlock\",\n KeyDownEvent = \"FlowGraphKeyDownEventBlock\",\n KeyUpEvent = \"FlowGraphKeyUpEventBlock\",\n IsKeyPressed = \"FlowGraphIsKeyPressedBlock\",\n E = \"FlowGraphEBlock\",\n PI = \"FlowGraphPIBlock\",\n Tau = \"FlowGraphTauBlock\",\n Inf = \"FlowGraphInfBlock\",\n NaN = \"FlowGraphNaNBlock\",\n Random = \"FlowGraphRandomBlock\",\n Add = \"FlowGraphAddBlock\",\n Subtract = \"FlowGraphSubtractBlock\",\n Multiply = \"FlowGraphMultiplyBlock\",\n Divide = \"FlowGraphDivideBlock\",\n Abs = \"FlowGraphAbsBlock\",\n Sign = \"FlowGraphSignBlock\",\n Trunc = \"FlowGraphTruncBlock\",\n Floor = \"FlowGraphFloorBlock\",\n Ceil = \"FlowGraphCeilBlock\",\n Round = \"FlowGraphRoundBlock\",\n Fraction = \"FlowGraphFractBlock\",\n Negation = \"FlowGraphNegationBlock\",\n Modulo = \"FlowGraphModuloBlock\",\n Min = \"FlowGraphMinBlock\",\n Max = \"FlowGraphMaxBlock\",\n Clamp = \"FlowGraphClampBlock\",\n Saturate = \"FlowGraphSaturateBlock\",\n MathInterpolation = \"FlowGraphMathInterpolationBlock\",\n MathSlerp = \"FlowGraphMathSlerpBlock\",\n SmoothStep = \"FlowGraphSmoothStepBlock\",\n RGBToOkLCh = \"FlowGraphRGBToOkLChBlock\",\n RGBFromOkLCh = \"FlowGraphRGBFromOkLChBlock\",\n Equality = \"FlowGraphEqualityBlock\",\n LessThan = \"FlowGraphLessThanBlock\",\n LessThanOrEqual = \"FlowGraphLessThanOrEqualBlock\",\n GreaterThan = \"FlowGraphGreaterThanBlock\",\n GreaterThanOrEqual = \"FlowGraphGreaterThanOrEqualBlock\",\n IsNaN = \"FlowGraphIsNaNBlock\",\n IsInfinity = \"FlowGraphIsInfBlock\",\n DegToRad = \"FlowGraphDegToRadBlock\",\n RadToDeg = \"FlowGraphRadToDegBlock\",\n Sin = \"FlowGraphSinBlock\",\n Cos = \"FlowGraphCosBlock\",\n Tan = \"FlowGraphTanBlock\",\n Asin = \"FlowGraphASinBlock\",\n Acos = \"FlowGraphACosBlock\",\n Atan = \"FlowGraphATanBlock\",\n Atan2 = \"FlowGraphATan2Block\",\n Sinh = \"FlowGraphSinhBlock\",\n Cosh = \"FlowGraphCoshBlock\",\n Tanh = \"FlowGraphTanhBlock\",\n Asinh = \"FlowGraphASinhBlock\",\n Acosh = \"FlowGraphACoshBlock\",\n Atanh = \"FlowGraphATanhBlock\",\n Exponential = \"FlowGraphExponentialBlock\",\n Log = \"FlowGraphLogBlock\",\n Log2 = \"FlowGraphLog2Block\",\n Log10 = \"FlowGraphLog10Block\",\n SquareRoot = \"FlowGraphSquareRootBlock\",\n CubeRoot = \"FlowGraphCubeRootBlock\",\n Power = \"FlowGraphPowerBlock\",\n Length = \"FlowGraphLengthBlock\",\n Normalize = \"FlowGraphNormalizeBlock\",\n Dot = \"FlowGraphDotBlock\",\n Cross = \"FlowGraphCrossBlock\",\n Rotate2D = \"FlowGraphRotate2DBlock\",\n Rotate3D = \"FlowGraphRotate3DBlock\",\n Transpose = \"FlowGraphTransposeBlock\",\n Determinant = \"FlowGraphDeterminantBlock\",\n InvertMatrix = \"FlowGraphInvertMatrixBlock\",\n MatrixMultiplication = \"FlowGraphMatrixMultiplicationBlock\",\n BitwiseAnd = \"FlowGraphBitwiseAndBlock\",\n BitwiseOr = \"FlowGraphBitwiseOrBlock\",\n BitwiseXor = \"FlowGraphBitwiseXorBlock\",\n BitwiseNot = \"FlowGraphBitwiseNotBlock\",\n BitwiseLeftShift = \"FlowGraphBitwiseLeftShiftBlock\",\n BitwiseRightShift = \"FlowGraphBitwiseRightShiftBlock\",\n LeadingZeros = \"FlowGraphLeadingZerosBlock\",\n TrailingZeros = \"FlowGraphTrailingZerosBlock\",\n OneBitsCounter = \"FlowGraphOneBitsCounterBlock\",\n Branch = \"FlowGraphBranchBlock\",\n SetDelay = \"FlowGraphSetDelayBlock\",\n CancelDelay = \"FlowGraphCancelDelayBlock\",\n CallCounter = \"FlowGraphCallCounterBlock\",\n Debounce = \"FlowGraphDebounceBlock\",\n Throttle = \"FlowGraphThrottleBlock\",\n DoN = \"FlowGraphDoNBlock\",\n FlipFlop = \"FlowGraphFlipFlopBlock\",\n ForLoop = \"FlowGraphForLoopBlock\",\n MultiGate = \"FlowGraphMultiGateBlock\",\n Sequence = \"FlowGraphSequenceBlock\",\n Switch = \"FlowGraphSwitchBlock\",\n WaitAll = \"FlowGraphWaitAllBlock\",\n WhileLoop = \"FlowGraphWhileLoopBlock\",\n ConsoleLog = \"FlowGraphConsoleLogBlock\",\n Conditional = \"FlowGraphConditionalBlock\",\n Constant = \"FlowGraphConstantBlock\",\n TransformCoordinatesSystem = \"FlowGraphTransformCoordinatesSystemBlock\",\n GetAsset = \"FlowGraphGetAssetBlock\",\n GetProperty = \"FlowGraphGetPropertyBlock\",\n SetProperty = \"FlowGraphSetPropertyBlock\",\n GetVariable = \"FlowGraphGetVariableBlock\",\n SetVariable = \"FlowGraphSetVariableBlock\",\n JsonPointerParser = \"FlowGraphJsonPointerParserBlock\",\n CombineVector2 = \"FlowGraphCombineVector2Block\",\n CombineVector3 = \"FlowGraphCombineVector3Block\",\n CombineVector4 = \"FlowGraphCombineVector4Block\",\n CombineMatrix = \"FlowGraphCombineMatrixBlock\",\n CombineMatrix2D = \"FlowGraphCombineMatrix2DBlock\",\n CombineMatrix3D = \"FlowGraphCombineMatrix3DBlock\",\n ExtractVector2 = \"FlowGraphExtractVector2Block\",\n ExtractVector3 = \"FlowGraphExtractVector3Block\",\n ExtractVector4 = \"FlowGraphExtractVector4Block\",\n ExtractMatrix = \"FlowGraphExtractMatrixBlock\",\n ExtractMatrix2D = \"FlowGraphExtractMatrix2DBlock\",\n ExtractMatrix3D = \"FlowGraphExtractMatrix3DBlock\",\n TransformVector = \"FlowGraphTransformVectorBlock\",\n TransformCoordinates = \"FlowGraphTransformCoordinatesBlock\",\n Conjugate = \"FlowGraphConjugateBlock\",\n AngleBetween = \"FlowGraphAngleBetweenBlock\",\n QuaternionFromAxisAngle = \"FlowGraphQuaternionFromAxisAngleBlock\",\n AxisAngleFromQuaternion = \"FlowGraphAxisAngleFromQuaternionBlock\",\n QuaternionFromDirections = \"FlowGraphQuaternionFromDirectionsBlock\",\n QuaternionFromUpForward = \"FlowGraphQuaternionFromUpForwardBlock\",\n QuaternionFromAngles = \"FlowGraphQuaternionFromAnglesBlock\",\n VectorSlerp = \"FlowGraphVectorSlerpBlock\",\n MatrixDecompose = \"FlowGraphMatrixDecompose\",\n MatrixCompose = \"FlowGraphMatrixCompose\",\n BooleanToFloat = \"FlowGraphBooleanToFloat\",\n BooleanToInt = \"FlowGraphBooleanToInt\",\n FloatToBoolean = \"FlowGraphFloatToBoolean\",\n IntToBoolean = \"FlowGraphIntToBoolean\",\n IntToFloat = \"FlowGraphIntToFloat\",\n FloatToInt = \"FlowGraphFloatToInt\",\n Easing = \"FlowGraphEasingBlock\",\n Context = \"FlowGraphContextBlock\",\n ArrayIndex = \"FlowGraphArrayIndexBlock\",\n CodeExecution = \"FlowGraphCodeExecutionBlock\",\n IndexOf = \"FlowGraphIndexOfBlock\",\n FunctionReference = \"FlowGraphFunctionReference\",\n BezierCurveEasing = \"FlowGraphBezierCurveEasing\",\n DataSwitch = \"FlowGraphDataSwitchBlock\",\n DebugBlock = \"FlowGraphDebugBlock\",\n // Physics\n PhysicsCollisionEvent = \"FlowGraphPhysicsCollisionEventBlock\",\n PhysicsApplyForce = \"FlowGraphApplyForceBlock\",\n PhysicsApplyImpulse = \"FlowGraphApplyImpulseBlock\",\n PhysicsSetLinearVelocity = \"FlowGraphSetLinearVelocityBlock\",\n PhysicsSetAngularVelocity = \"FlowGraphSetAngularVelocityBlock\",\n PhysicsSetMotionType = \"FlowGraphSetPhysicsMotionTypeBlock\",\n PhysicsGetLinearVelocity = \"FlowGraphGetLinearVelocityBlock\",\n PhysicsGetAngularVelocity = \"FlowGraphGetAngularVelocityBlock\",\n PhysicsGetMassProperties = \"FlowGraphGetPhysicsMassPropertiesBlock\",\n // Audio\n AudioPlaySound = \"FlowGraphPlaySoundBlock\",\n AudioStopSound = \"FlowGraphStopSoundBlock\",\n AudioPauseSound = \"FlowGraphPauseSoundBlock\",\n AudioSetVolume = \"FlowGraphSetSoundVolumeBlock\",\n AudioSoundEndedEvent = \"FlowGraphSoundEndedEventBlock\",\n AudioGetVolume = \"FlowGraphGetSoundVolumeBlock\",\n AudioIsSoundPlaying = \"FlowGraphIsSoundPlayingBlock\",\n}\n"]}
@@ -4,7 +4,7 @@ import { type FlowGraphEventBlock } from "./flowGraphEventBlock.js";
4
4
  import { FlowGraphContext } from "./flowGraphContext.js";
5
5
  import { type FlowGraphBlock } from "./flowGraphBlock.js";
6
6
  import { type FlowGraphCoordinator } from "./flowGraphCoordinator.js";
7
- import { type IObjectAccessor } from "./typeDefinitions.js";
7
+ import { type IObjectAccessor, type SerializedFlowGraphReferenceProvenance } from "./typeDefinitions.js";
8
8
  import { type IPathToObjectConverter } from "../ObjectModel/objectModelInterfaces.js";
9
9
  import { type IAssetContainer } from "../IAssetContainer.js";
10
10
  import { FlowGraphEventType } from "./flowGraphEventType.js";
@@ -80,6 +80,10 @@ export interface IFlowGraphParseOptions {
80
80
  * A function that converts a path to an object accessor.
81
81
  */
82
82
  pathConverter?: IPathToObjectConverter<IObjectAccessor>;
83
+ /**
84
+ * Optional scene-reference provenance used to disambiguate duplicate nodes.
85
+ */
86
+ referenceProvenance?: SerializedFlowGraphReferenceProvenance;
83
87
  }
84
88
  /**
85
89
  * Class used to represent a flow graph.
@@ -90,6 +94,7 @@ export interface IFlowGraphParseOptions {
90
94
  * @experimental FlowGraph is still in development and is subject to change.
91
95
  */
92
96
  export declare class FlowGraph {
97
+ private _referenceProvenance;
93
98
  /**
94
99
  * A human-readable name for this graph.
95
100
  */
@@ -257,6 +262,12 @@ export declare class FlowGraph {
257
262
  * @param valueSerializeFunction a function to serialize complex values
258
263
  */
259
264
  serialize(serializationObject?: any, valueSerializeFunction?: (key: string, value: any, serializationObject: any) => void): void;
265
+ /**
266
+ * Retains serialized scene-reference provenance for subsequent graph serialization.
267
+ * @internal
268
+ * @param provenance serialized scene-reference provenance
269
+ */
270
+ _setReferenceProvenance(provenance: SerializedFlowGraphReferenceProvenance): void;
260
271
  /**
261
272
  * Launches the flow graph editor for this graph.
262
273
  * The editor is lazy-loaded from {@link FlowGraph.EditorURL} the first time it is used.
@@ -570,6 +570,44 @@ export class FlowGraph {
570
570
  context.serialize(serializedContext, valueSerializeFunction);
571
571
  serializationObject.executionContexts.push(serializedContext);
572
572
  }
573
+ if (this._referenceProvenance) {
574
+ const nodes = this._scene.getNodes();
575
+ for (let index = 0; index < this._referenceProvenance.length; index++) {
576
+ const [uniqueId, location] = this._referenceProvenance[index];
577
+ const candidates = nodes.filter((candidate) => candidate.uniqueId === uniqueId && candidate.getClassName() === location.className);
578
+ const node = candidates.find((candidate) => candidate.id === location.id && candidate.name === location.name) ??
579
+ candidates.find((candidate) => candidate.id === location.id) ??
580
+ candidates.find((candidate) => candidate.name === location.name) ??
581
+ (candidates.length === 1 ? candidates[0] : undefined);
582
+ if (!node) {
583
+ continue;
584
+ }
585
+ const sameClassNodes = nodes.filter((candidate) => candidate.getClassName() === node.getClassName());
586
+ this._referenceProvenance[index] = [
587
+ node.uniqueId,
588
+ {
589
+ id: node.id,
590
+ name: node.name,
591
+ className: node.getClassName(),
592
+ idIndex: sameClassNodes.filter((candidate) => candidate.id === node.id).indexOf(node),
593
+ nameIndex: sameClassNodes.filter((candidate) => candidate.name === node.name).indexOf(node),
594
+ sceneUid: this._scene.uid,
595
+ },
596
+ ];
597
+ }
598
+ serializationObject.referenceProvenance = this._referenceProvenance;
599
+ }
600
+ else {
601
+ delete serializationObject.referenceProvenance;
602
+ }
603
+ }
604
+ /**
605
+ * Retains serialized scene-reference provenance for subsequent graph serialization.
606
+ * @internal
607
+ * @param provenance serialized scene-reference provenance
608
+ */
609
+ _setReferenceProvenance(provenance) {
610
+ this._referenceProvenance = provenance;
573
611
  }
574
612
  /**
575
613
  * Launches the flow graph editor for this graph.