@onerjs/core 8.51.2 → 8.51.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 (95) hide show
  1. package/Animations/animationGroup.d.ts +2 -1
  2. package/Animations/animationGroup.js +3 -2
  3. package/Animations/animationGroup.js.map +1 -1
  4. package/Engines/WebGPU/webgpuSnapshotRendering.js +7 -3
  5. package/Engines/WebGPU/webgpuSnapshotRendering.js.map +1 -1
  6. package/Engines/abstractEngine.js +2 -2
  7. package/Engines/abstractEngine.js.map +1 -1
  8. package/Events/deviceInputEvents.d.ts +5 -0
  9. package/Events/deviceInputEvents.js.map +1 -1
  10. package/FlowGraph/Blocks/Data/flowGraphIsKeyPressedBlock.d.ts +65 -0
  11. package/FlowGraph/Blocks/Data/flowGraphIsKeyPressedBlock.js +74 -0
  12. package/FlowGraph/Blocks/Data/flowGraphIsKeyPressedBlock.js.map +1 -0
  13. package/FlowGraph/Blocks/Data/index.d.ts +1 -0
  14. package/FlowGraph/Blocks/Data/index.js +1 -0
  15. package/FlowGraph/Blocks/Data/index.js.map +1 -1
  16. package/FlowGraph/Blocks/Event/flowGraphKeyDownEventBlock.d.ts +39 -0
  17. package/FlowGraph/Blocks/Event/flowGraphKeyDownEventBlock.js +42 -0
  18. package/FlowGraph/Blocks/Event/flowGraphKeyDownEventBlock.js.map +1 -0
  19. package/FlowGraph/Blocks/Event/flowGraphKeyUpEventBlock.d.ts +19 -0
  20. package/FlowGraph/Blocks/Event/flowGraphKeyUpEventBlock.js +25 -0
  21. package/FlowGraph/Blocks/Event/flowGraphKeyUpEventBlock.js.map +1 -0
  22. package/FlowGraph/Blocks/Event/flowGraphKeyboardEventBlock.d.ts +64 -0
  23. package/FlowGraph/Blocks/Event/flowGraphKeyboardEventBlock.js +50 -0
  24. package/FlowGraph/Blocks/Event/flowGraphKeyboardEventBlock.js.map +1 -0
  25. package/FlowGraph/Blocks/Event/flowGraphMeshPickEventBlock.js.map +1 -1
  26. package/FlowGraph/Blocks/Event/flowGraphPointerDownEventBlock.js.map +1 -1
  27. package/FlowGraph/Blocks/Event/flowGraphPointerMoveEventBlock.js.map +1 -1
  28. package/FlowGraph/Blocks/Event/flowGraphPointerUpEventBlock.js.map +1 -1
  29. package/FlowGraph/Blocks/Event/index.d.ts +3 -0
  30. package/FlowGraph/Blocks/Event/index.js +3 -0
  31. package/FlowGraph/Blocks/Event/index.js.map +1 -1
  32. package/FlowGraph/Blocks/flowGraphBlockFactory.js +7 -0
  33. package/FlowGraph/Blocks/flowGraphBlockFactory.js.map +1 -1
  34. package/FlowGraph/Blocks/flowGraphBlockNames.d.ts +3 -0
  35. package/FlowGraph/Blocks/flowGraphBlockNames.js +3 -0
  36. package/FlowGraph/Blocks/flowGraphBlockNames.js.map +1 -1
  37. package/FlowGraph/flowGraph.d.ts +6 -0
  38. package/FlowGraph/flowGraph.js +10 -1
  39. package/FlowGraph/flowGraph.js.map +1 -1
  40. package/FlowGraph/flowGraphContext.d.ts +8 -0
  41. package/FlowGraph/flowGraphContext.js.map +1 -1
  42. package/FlowGraph/flowGraphCoordinator.d.ts +1 -1
  43. package/FlowGraph/flowGraphCoordinator.js.map +1 -1
  44. package/FlowGraph/flowGraphEventType.d.ts +2 -0
  45. package/FlowGraph/flowGraphEventType.js +2 -0
  46. package/FlowGraph/flowGraphEventType.js.map +1 -1
  47. package/FlowGraph/flowGraphParser.d.ts +15 -0
  48. package/FlowGraph/flowGraphParser.js +101 -14
  49. package/FlowGraph/flowGraphParser.js.map +1 -1
  50. package/FlowGraph/flowGraphSceneEventCoordinator.d.ts +14 -0
  51. package/FlowGraph/flowGraphSceneEventCoordinator.js +56 -0
  52. package/FlowGraph/flowGraphSceneEventCoordinator.js.map +1 -1
  53. package/FlowGraph/serialization.js +16 -18
  54. package/FlowGraph/serialization.js.map +1 -1
  55. package/FlowGraph/utils.d.ts +7 -0
  56. package/FlowGraph/utils.js +8 -0
  57. package/FlowGraph/utils.js.map +1 -1
  58. package/Lights/Clustered/clusteredLightContainer.js +1 -1
  59. package/Lights/Clustered/clusteredLightContainer.js.map +1 -1
  60. package/Materials/Background/backgroundMaterial.js +1 -0
  61. package/Materials/Background/backgroundMaterial.js.map +1 -1
  62. package/Materials/GaussianSplatting/gaussianSplattingMaterial.js +6 -0
  63. package/Materials/GaussianSplatting/gaussianSplattingMaterial.js.map +1 -1
  64. package/Materials/Node/Blocks/Dual/imageSourceBlock.d.ts +2 -0
  65. package/Materials/Node/Blocks/Dual/imageSourceBlock.js +14 -0
  66. package/Materials/Node/Blocks/Dual/imageSourceBlock.js.map +1 -1
  67. package/Materials/Node/Blocks/Dual/lightBlock.js +1 -1
  68. package/Materials/Node/Blocks/Dual/lightBlock.js.map +1 -1
  69. package/Materials/Node/Blocks/Dual/textureBlock.d.ts +2 -0
  70. package/Materials/Node/Blocks/Dual/textureBlock.js +19 -4
  71. package/Materials/Node/Blocks/Dual/textureBlock.js.map +1 -1
  72. package/Materials/Node/Blocks/PBR/pbrMetallicRoughnessBlock.js +11 -6
  73. package/Materials/Node/Blocks/PBR/pbrMetallicRoughnessBlock.js.map +1 -1
  74. package/Materials/Node/nodeMaterial.js +9 -0
  75. package/Materials/Node/nodeMaterial.js.map +1 -1
  76. package/Materials/PBR/openpbrMaterial.js +1 -0
  77. package/Materials/PBR/openpbrMaterial.js.map +1 -1
  78. package/Materials/PBR/pbrBaseMaterial.js +1 -0
  79. package/Materials/PBR/pbrBaseMaterial.js.map +1 -1
  80. package/Materials/materialHelper.functions.d.ts +2 -1
  81. package/Materials/materialHelper.functions.js +8 -3
  82. package/Materials/materialHelper.functions.js.map +1 -1
  83. package/Materials/standardMaterial.js +1 -0
  84. package/Materials/standardMaterial.js.map +1 -1
  85. package/Meshes/GaussianSplatting/gaussianSplattingMeshBase.js +30 -8
  86. package/Meshes/GaussianSplatting/gaussianSplattingMeshBase.js.map +1 -1
  87. package/Misc/snapshotRenderingHelper.d.ts +4 -2
  88. package/Misc/snapshotRenderingHelper.js +33 -22
  89. package/Misc/snapshotRenderingHelper.js.map +1 -1
  90. package/Misc/tools.js +1 -1
  91. package/Misc/tools.js.map +1 -1
  92. package/Particles/thinParticleSystem.d.ts +6 -1
  93. package/Particles/thinParticleSystem.js +23 -6
  94. package/Particles/thinParticleSystem.js.map +1 -1
  95. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"flowGraphPointerMoveEventBlock.js","sourceRoot":"","sources":["../../../../../../dev/core/src/FlowGraph/Blocks/Event/flowGraphPointerMoveEventBlock.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AAIzE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAGvD,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AAqBhF;;;;GAIG;AACH,MAAM,OAAO,8BAA+B,SAAQ,mBAAmB;IAyBnE;;;OAGG;IACH,YAAmB,MAAqD;QACpE,KAAK,CAAC,MAAM,CAAC,CAAC;QARlB,gBAAgB;QACS,SAAI,sDAAsD;QAQ/E,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;QACxF,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;QACtE,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,kBAAkB,CAAC,kBAAkB,EAAE,WAAW,CAAC,CAAC;QACjF,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;IAC3E,CAAC;IAED,gBAAgB;IACA,aAAa,CAAC,OAAyB,EAAE,WAAwB;QAC7E,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC/C,MAAM,UAAU,GAAG,WAAW,CAAC,QAAQ,EAAE,UAAU,CAAC;QAEpD,4FAA4F;QAC5F,IAAI,IAAI,IAAI,CAAC,CAAC,UAAU,KAAK,IAAI,IAAI,CAAC,UAAU,IAAI,eAAe,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YACtF,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAE,WAAW,CAAC,KAAsB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAChF,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,UAAU,IAAI,IAAI,EAAE,OAAO,CAAC,CAAC;QAC5D,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,EAAE,WAAW,IAAI,IAAI,EAAE,OAAO,CAAC,CAAC;QAC9E,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACvB,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,eAAe,CAAC;IACzC,CAAC;IAED,gBAAgB;IACA,oBAAoB,CAAC,QAA0B;QAC3D,QAAQ;IACZ,CAAC;IAED,gBAAgB;IACA,mBAAmB,CAAC,QAA0B;QAC1D,QAAQ;IACZ,CAAC;IAED;;OAEG;IACa,YAAY;QACxB,mFAA4C;IAChD,CAAC;CACJ;AAED,aAAa,8EAAuC,8BAA8B,CAAC,CAAC","sourcesContent":["import { type AbstractMesh } from \"core/Meshes/abstractMesh\";\nimport { FlowGraphEventBlock } from \"core/FlowGraph/flowGraphEventBlock\";\nimport { type PointerInfo } from \"core/Events/pointerEvents\";\nimport { type FlowGraphContext } from \"core/FlowGraph/flowGraphContext\";\nimport { type IFlowGraphBlockConfiguration } from \"core/FlowGraph/flowGraphBlock\";\nimport { RegisterClass } from \"core/Misc/typeStore\";\nimport { _IsDescendantOf } from \"core/FlowGraph/utils\";\nimport { FlowGraphBlockNames } from \"../flowGraphBlockNames\";\nimport { type FlowGraphDataConnection } from \"core/FlowGraph/flowGraphDataConnection\";\nimport { RichTypeAny, RichTypeNumber } from \"core/FlowGraph/flowGraphRichTypes\";\nimport { type Vector3 } from \"core/Maths/math.vector\";\nimport { FlowGraphEventType } from \"core/FlowGraph/flowGraphEventType\";\nimport { type Nullable } from \"core/types\";\n\n/**\n * Configuration for the pointer move event block.\n */\nexport interface IFlowGraphPointerMoveEventBlockConfiguration extends IFlowGraphBlockConfiguration {\n /**\n * Should this block stop propagation of the event to other listeners.\n */\n stopPropagation?: boolean;\n\n /**\n * Optional mesh to filter events to. If set, the block only fires when the pointer\n * is moving over this mesh or a descendant of it. If not set, fires on any pointer move.\n */\n targetMesh?: AbstractMesh;\n}\n\n/**\n * A pointer move event block.\n * This block fires when the pointer moves.\n * Optionally filters to a specific mesh via the `targetMesh` input.\n */\nexport class FlowGraphPointerMoveEventBlock extends FlowGraphEventBlock {\n /**\n * Optional input connection: restrict firing to when the pointer is over this mesh (and its descendants).\n * Leave disconnected to fire on any pointer move.\n */\n public readonly targetMesh: FlowGraphDataConnection<AbstractMesh>;\n\n /**\n * Output connection: The id of the pointer that triggered the event.\n */\n public readonly pointerId: FlowGraphDataConnection<number>;\n\n /**\n * Output connection: The mesh currently under the pointer (if any).\n */\n public readonly meshUnderPointer: FlowGraphDataConnection<Nullable<AbstractMesh>>;\n\n /**\n * Output connection: The world-space point under the pointer (if any).\n */\n public readonly pickedPoint: FlowGraphDataConnection<Nullable<Vector3>>;\n\n /** @internal */\n public override readonly type: FlowGraphEventType = FlowGraphEventType.PointerMove;\n\n /**\n * Creates a new FlowGraphPointerMoveEventBlock.\n * @param config optional configuration\n */\n public constructor(config?: IFlowGraphPointerMoveEventBlockConfiguration) {\n super(config);\n this.targetMesh = this.registerDataInput(\"targetMesh\", RichTypeAny, config?.targetMesh);\n this.pointerId = this.registerDataOutput(\"pointerId\", RichTypeNumber);\n this.meshUnderPointer = this.registerDataOutput(\"meshUnderPointer\", RichTypeAny);\n this.pickedPoint = this.registerDataOutput(\"pickedPoint\", RichTypeAny);\n }\n\n /** @internal */\n public override _executeEvent(context: FlowGraphContext, pointerInfo: PointerInfo): boolean {\n const mesh = this.targetMesh.getValue(context);\n const pickedMesh = pointerInfo.pickInfo?.pickedMesh;\n\n // If a target mesh is set, only fire when that mesh (or a descendant) is under the pointer.\n if (mesh && !(pickedMesh === mesh || (pickedMesh && _IsDescendantOf(pickedMesh, mesh)))) {\n return true;\n }\n\n this.pointerId.setValue((pointerInfo.event as PointerEvent).pointerId, context);\n this.meshUnderPointer.setValue(pickedMesh ?? null, context);\n this.pickedPoint.setValue(pointerInfo.pickInfo?.pickedPoint ?? null, context);\n this._execute(context);\n return !this.config?.stopPropagation;\n }\n\n /** @internal */\n public override _preparePendingTasks(_context: FlowGraphContext): void {\n // no-op\n }\n\n /** @internal */\n public override _cancelPendingTasks(_context: FlowGraphContext): void {\n // no-op\n }\n\n /**\n * @returns the class name of the block.\n */\n public override getClassName(): string {\n return FlowGraphBlockNames.PointerMoveEvent;\n }\n}\n\nRegisterClass(FlowGraphBlockNames.PointerMoveEvent, FlowGraphPointerMoveEventBlock);\n"]}
1
+ {"version":3,"file":"flowGraphPointerMoveEventBlock.js","sourceRoot":"","sources":["../../../../../../dev/core/src/FlowGraph/Blocks/Event/flowGraphPointerMoveEventBlock.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AAKzE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAGvD,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AAqBhF;;;;GAIG;AACH,MAAM,OAAO,8BAA+B,SAAQ,mBAAmB;IAyBnE;;;OAGG;IACH,YAAmB,MAAqD;QACpE,KAAK,CAAC,MAAM,CAAC,CAAC;QARlB,gBAAgB;QACS,SAAI,sDAAsD;QAQ/E,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;QACxF,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;QACtE,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,kBAAkB,CAAC,kBAAkB,EAAE,WAAW,CAAC,CAAC;QACjF,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;IAC3E,CAAC;IAED,gBAAgB;IACA,aAAa,CAAC,OAAyB,EAAE,WAAwB;QAC7E,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC/C,MAAM,UAAU,GAAG,WAAW,CAAC,QAAQ,EAAE,UAAU,CAAC;QAEpD,4FAA4F;QAC5F,IAAI,IAAI,IAAI,CAAC,CAAC,UAAU,KAAK,IAAI,IAAI,CAAC,UAAU,IAAI,eAAe,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YACtF,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAE,WAAW,CAAC,KAAuB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACjF,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,UAAU,IAAI,IAAI,EAAE,OAAO,CAAC,CAAC;QAC5D,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,EAAE,WAAW,IAAI,IAAI,EAAE,OAAO,CAAC,CAAC;QAC9E,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACvB,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,eAAe,CAAC;IACzC,CAAC;IAED,gBAAgB;IACA,oBAAoB,CAAC,QAA0B;QAC3D,QAAQ;IACZ,CAAC;IAED,gBAAgB;IACA,mBAAmB,CAAC,QAA0B;QAC1D,QAAQ;IACZ,CAAC;IAED;;OAEG;IACa,YAAY;QACxB,mFAA4C;IAChD,CAAC;CACJ;AAED,aAAa,8EAAuC,8BAA8B,CAAC,CAAC","sourcesContent":["import { type AbstractMesh } from \"core/Meshes/abstractMesh\";\nimport { FlowGraphEventBlock } from \"core/FlowGraph/flowGraphEventBlock\";\nimport { type PointerInfo } from \"core/Events/pointerEvents\";\nimport { type IPointerEvent } from \"core/Events/deviceInputEvents\";\nimport { type FlowGraphContext } from \"core/FlowGraph/flowGraphContext\";\nimport { type IFlowGraphBlockConfiguration } from \"core/FlowGraph/flowGraphBlock\";\nimport { RegisterClass } from \"core/Misc/typeStore\";\nimport { _IsDescendantOf } from \"core/FlowGraph/utils\";\nimport { FlowGraphBlockNames } from \"../flowGraphBlockNames\";\nimport { type FlowGraphDataConnection } from \"core/FlowGraph/flowGraphDataConnection\";\nimport { RichTypeAny, RichTypeNumber } from \"core/FlowGraph/flowGraphRichTypes\";\nimport { type Vector3 } from \"core/Maths/math.vector\";\nimport { FlowGraphEventType } from \"core/FlowGraph/flowGraphEventType\";\nimport { type Nullable } from \"core/types\";\n\n/**\n * Configuration for the pointer move event block.\n */\nexport interface IFlowGraphPointerMoveEventBlockConfiguration extends IFlowGraphBlockConfiguration {\n /**\n * Should this block stop propagation of the event to other listeners.\n */\n stopPropagation?: boolean;\n\n /**\n * Optional mesh to filter events to. If set, the block only fires when the pointer\n * is moving over this mesh or a descendant of it. If not set, fires on any pointer move.\n */\n targetMesh?: AbstractMesh;\n}\n\n/**\n * A pointer move event block.\n * This block fires when the pointer moves.\n * Optionally filters to a specific mesh via the `targetMesh` input.\n */\nexport class FlowGraphPointerMoveEventBlock extends FlowGraphEventBlock {\n /**\n * Optional input connection: restrict firing to when the pointer is over this mesh (and its descendants).\n * Leave disconnected to fire on any pointer move.\n */\n public readonly targetMesh: FlowGraphDataConnection<AbstractMesh>;\n\n /**\n * Output connection: The id of the pointer that triggered the event.\n */\n public readonly pointerId: FlowGraphDataConnection<number>;\n\n /**\n * Output connection: The mesh currently under the pointer (if any).\n */\n public readonly meshUnderPointer: FlowGraphDataConnection<Nullable<AbstractMesh>>;\n\n /**\n * Output connection: The world-space point under the pointer (if any).\n */\n public readonly pickedPoint: FlowGraphDataConnection<Nullable<Vector3>>;\n\n /** @internal */\n public override readonly type: FlowGraphEventType = FlowGraphEventType.PointerMove;\n\n /**\n * Creates a new FlowGraphPointerMoveEventBlock.\n * @param config optional configuration\n */\n public constructor(config?: IFlowGraphPointerMoveEventBlockConfiguration) {\n super(config);\n this.targetMesh = this.registerDataInput(\"targetMesh\", RichTypeAny, config?.targetMesh);\n this.pointerId = this.registerDataOutput(\"pointerId\", RichTypeNumber);\n this.meshUnderPointer = this.registerDataOutput(\"meshUnderPointer\", RichTypeAny);\n this.pickedPoint = this.registerDataOutput(\"pickedPoint\", RichTypeAny);\n }\n\n /** @internal */\n public override _executeEvent(context: FlowGraphContext, pointerInfo: PointerInfo): boolean {\n const mesh = this.targetMesh.getValue(context);\n const pickedMesh = pointerInfo.pickInfo?.pickedMesh;\n\n // If a target mesh is set, only fire when that mesh (or a descendant) is under the pointer.\n if (mesh && !(pickedMesh === mesh || (pickedMesh && _IsDescendantOf(pickedMesh, mesh)))) {\n return true;\n }\n\n this.pointerId.setValue((pointerInfo.event as IPointerEvent).pointerId, context);\n this.meshUnderPointer.setValue(pickedMesh ?? null, context);\n this.pickedPoint.setValue(pointerInfo.pickInfo?.pickedPoint ?? null, context);\n this._execute(context);\n return !this.config?.stopPropagation;\n }\n\n /** @internal */\n public override _preparePendingTasks(_context: FlowGraphContext): void {\n // no-op\n }\n\n /** @internal */\n public override _cancelPendingTasks(_context: FlowGraphContext): void {\n // no-op\n }\n\n /**\n * @returns the class name of the block.\n */\n public override getClassName(): string {\n return FlowGraphBlockNames.PointerMoveEvent;\n }\n}\n\nRegisterClass(FlowGraphBlockNames.PointerMoveEvent, FlowGraphPointerMoveEventBlock);\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"flowGraphPointerUpEventBlock.js","sourceRoot":"","sources":["../../../../../../dev/core/src/FlowGraph/Blocks/Event/flowGraphPointerUpEventBlock.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AAIzE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAGvD,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AAqBhF;;;;GAIG;AACH,MAAM,OAAO,4BAA6B,SAAQ,mBAAmB;IAyBjE;;;OAGG;IACH,YAAmB,MAAmD;QAClE,KAAK,CAAC,MAAM,CAAC,CAAC;QARlB,gBAAgB;QACS,SAAI,kDAAoD;QAQ7E,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;QACxF,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;QACtE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;QACrE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;IAC3E,CAAC;IAED,gBAAgB;IACA,aAAa,CAAC,OAAyB,EAAE,WAAwB;QAC7E,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC/C,MAAM,UAAU,GAAG,WAAW,CAAC,QAAQ,EAAE,UAAU,CAAC;QAEpD,iFAAiF;QACjF,IAAI,IAAI,IAAI,CAAC,CAAC,UAAU,KAAK,IAAI,IAAI,CAAC,UAAU,IAAI,eAAe,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YACtF,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAE,WAAW,CAAC,KAAsB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAChF,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,UAAU,IAAI,IAAI,EAAE,OAAO,CAAC,CAAC;QACtD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,EAAE,WAAW,IAAI,IAAI,EAAE,OAAO,CAAC,CAAC;QAC9E,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACvB,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,eAAe,CAAC;IACzC,CAAC;IAED,gBAAgB;IACA,oBAAoB,CAAC,QAA0B;QAC3D,QAAQ;IACZ,CAAC;IAED,gBAAgB;IACA,mBAAmB,CAAC,QAA0B;QAC1D,QAAQ;IACZ,CAAC;IAED;;OAEG;IACa,YAAY;QACxB,+EAA0C;IAC9C,CAAC;CACJ;AAED,aAAa,0EAAqC,4BAA4B,CAAC,CAAC","sourcesContent":["import { type AbstractMesh } from \"core/Meshes/abstractMesh\";\nimport { FlowGraphEventBlock } from \"core/FlowGraph/flowGraphEventBlock\";\nimport { type PointerInfo } from \"core/Events/pointerEvents\";\nimport { type FlowGraphContext } from \"core/FlowGraph/flowGraphContext\";\nimport { type IFlowGraphBlockConfiguration } from \"core/FlowGraph/flowGraphBlock\";\nimport { RegisterClass } from \"core/Misc/typeStore\";\nimport { _IsDescendantOf } from \"core/FlowGraph/utils\";\nimport { FlowGraphBlockNames } from \"../flowGraphBlockNames\";\nimport { type FlowGraphDataConnection } from \"core/FlowGraph/flowGraphDataConnection\";\nimport { RichTypeAny, RichTypeNumber } from \"core/FlowGraph/flowGraphRichTypes\";\nimport { type Vector3 } from \"core/Maths/math.vector\";\nimport { FlowGraphEventType } from \"core/FlowGraph/flowGraphEventType\";\nimport { type Nullable } from \"core/types\";\n\n/**\n * Configuration for the pointer up event block.\n */\nexport interface IFlowGraphPointerUpEventBlockConfiguration extends IFlowGraphBlockConfiguration {\n /**\n * Should this block stop propagation of the event to other listeners.\n */\n stopPropagation?: boolean;\n\n /**\n * Optional mesh to filter events to. If set, the block only fires when the pointer\n * is released over this mesh or a descendant of it. If not set, fires on any pointer up.\n */\n targetMesh?: AbstractMesh;\n}\n\n/**\n * A pointer up event block.\n * This block fires when a pointer is released (mouse button up / touch end).\n * Optionally filters to a specific mesh via the `targetMesh` input.\n */\nexport class FlowGraphPointerUpEventBlock extends FlowGraphEventBlock {\n /**\n * Optional input connection: restrict firing to this mesh (and its descendants).\n * Leave disconnected to fire on any pointer up.\n */\n public readonly targetMesh: FlowGraphDataConnection<AbstractMesh>;\n\n /**\n * Output connection: The id of the pointer that triggered the event.\n */\n public readonly pointerId: FlowGraphDataConnection<number>;\n\n /**\n * Output connection: The mesh that was picked (if any).\n */\n public readonly pickedMesh: FlowGraphDataConnection<Nullable<AbstractMesh>>;\n\n /**\n * Output connection: The world-space point that was picked (if any).\n */\n public readonly pickedPoint: FlowGraphDataConnection<Nullable<Vector3>>;\n\n /** @internal */\n public override readonly type: FlowGraphEventType = FlowGraphEventType.PointerUp;\n\n /**\n * Creates a new FlowGraphPointerUpEventBlock.\n * @param config optional configuration\n */\n public constructor(config?: IFlowGraphPointerUpEventBlockConfiguration) {\n super(config);\n this.targetMesh = this.registerDataInput(\"targetMesh\", RichTypeAny, config?.targetMesh);\n this.pointerId = this.registerDataOutput(\"pointerId\", RichTypeNumber);\n this.pickedMesh = this.registerDataOutput(\"pickedMesh\", RichTypeAny);\n this.pickedPoint = this.registerDataOutput(\"pickedPoint\", RichTypeAny);\n }\n\n /** @internal */\n public override _executeEvent(context: FlowGraphContext, pointerInfo: PointerInfo): boolean {\n const mesh = this.targetMesh.getValue(context);\n const pickedMesh = pointerInfo.pickInfo?.pickedMesh;\n\n // If a target mesh is set, only fire when that mesh (or a descendant) is picked.\n if (mesh && !(pickedMesh === mesh || (pickedMesh && _IsDescendantOf(pickedMesh, mesh)))) {\n return true;\n }\n\n this.pointerId.setValue((pointerInfo.event as PointerEvent).pointerId, context);\n this.pickedMesh.setValue(pickedMesh ?? null, context);\n this.pickedPoint.setValue(pointerInfo.pickInfo?.pickedPoint ?? null, context);\n this._execute(context);\n return !this.config?.stopPropagation;\n }\n\n /** @internal */\n public override _preparePendingTasks(_context: FlowGraphContext): void {\n // no-op\n }\n\n /** @internal */\n public override _cancelPendingTasks(_context: FlowGraphContext): void {\n // no-op\n }\n\n /**\n * @returns the class name of the block.\n */\n public override getClassName(): string {\n return FlowGraphBlockNames.PointerUpEvent;\n }\n}\n\nRegisterClass(FlowGraphBlockNames.PointerUpEvent, FlowGraphPointerUpEventBlock);\n"]}
1
+ {"version":3,"file":"flowGraphPointerUpEventBlock.js","sourceRoot":"","sources":["../../../../../../dev/core/src/FlowGraph/Blocks/Event/flowGraphPointerUpEventBlock.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AAKzE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAGvD,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AAqBhF;;;;GAIG;AACH,MAAM,OAAO,4BAA6B,SAAQ,mBAAmB;IAyBjE;;;OAGG;IACH,YAAmB,MAAmD;QAClE,KAAK,CAAC,MAAM,CAAC,CAAC;QARlB,gBAAgB;QACS,SAAI,kDAAoD;QAQ7E,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;QACxF,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;QACtE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;QACrE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;IAC3E,CAAC;IAED,gBAAgB;IACA,aAAa,CAAC,OAAyB,EAAE,WAAwB;QAC7E,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC/C,MAAM,UAAU,GAAG,WAAW,CAAC,QAAQ,EAAE,UAAU,CAAC;QAEpD,iFAAiF;QACjF,IAAI,IAAI,IAAI,CAAC,CAAC,UAAU,KAAK,IAAI,IAAI,CAAC,UAAU,IAAI,eAAe,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YACtF,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAE,WAAW,CAAC,KAAuB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACjF,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,UAAU,IAAI,IAAI,EAAE,OAAO,CAAC,CAAC;QACtD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,EAAE,WAAW,IAAI,IAAI,EAAE,OAAO,CAAC,CAAC;QAC9E,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACvB,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,eAAe,CAAC;IACzC,CAAC;IAED,gBAAgB;IACA,oBAAoB,CAAC,QAA0B;QAC3D,QAAQ;IACZ,CAAC;IAED,gBAAgB;IACA,mBAAmB,CAAC,QAA0B;QAC1D,QAAQ;IACZ,CAAC;IAED;;OAEG;IACa,YAAY;QACxB,+EAA0C;IAC9C,CAAC;CACJ;AAED,aAAa,0EAAqC,4BAA4B,CAAC,CAAC","sourcesContent":["import { type AbstractMesh } from \"core/Meshes/abstractMesh\";\nimport { FlowGraphEventBlock } from \"core/FlowGraph/flowGraphEventBlock\";\nimport { type PointerInfo } from \"core/Events/pointerEvents\";\nimport { type IPointerEvent } from \"core/Events/deviceInputEvents\";\nimport { type FlowGraphContext } from \"core/FlowGraph/flowGraphContext\";\nimport { type IFlowGraphBlockConfiguration } from \"core/FlowGraph/flowGraphBlock\";\nimport { RegisterClass } from \"core/Misc/typeStore\";\nimport { _IsDescendantOf } from \"core/FlowGraph/utils\";\nimport { FlowGraphBlockNames } from \"../flowGraphBlockNames\";\nimport { type FlowGraphDataConnection } from \"core/FlowGraph/flowGraphDataConnection\";\nimport { RichTypeAny, RichTypeNumber } from \"core/FlowGraph/flowGraphRichTypes\";\nimport { type Vector3 } from \"core/Maths/math.vector\";\nimport { FlowGraphEventType } from \"core/FlowGraph/flowGraphEventType\";\nimport { type Nullable } from \"core/types\";\n\n/**\n * Configuration for the pointer up event block.\n */\nexport interface IFlowGraphPointerUpEventBlockConfiguration extends IFlowGraphBlockConfiguration {\n /**\n * Should this block stop propagation of the event to other listeners.\n */\n stopPropagation?: boolean;\n\n /**\n * Optional mesh to filter events to. If set, the block only fires when the pointer\n * is released over this mesh or a descendant of it. If not set, fires on any pointer up.\n */\n targetMesh?: AbstractMesh;\n}\n\n/**\n * A pointer up event block.\n * This block fires when a pointer is released (mouse button up / touch end).\n * Optionally filters to a specific mesh via the `targetMesh` input.\n */\nexport class FlowGraphPointerUpEventBlock extends FlowGraphEventBlock {\n /**\n * Optional input connection: restrict firing to this mesh (and its descendants).\n * Leave disconnected to fire on any pointer up.\n */\n public readonly targetMesh: FlowGraphDataConnection<AbstractMesh>;\n\n /**\n * Output connection: The id of the pointer that triggered the event.\n */\n public readonly pointerId: FlowGraphDataConnection<number>;\n\n /**\n * Output connection: The mesh that was picked (if any).\n */\n public readonly pickedMesh: FlowGraphDataConnection<Nullable<AbstractMesh>>;\n\n /**\n * Output connection: The world-space point that was picked (if any).\n */\n public readonly pickedPoint: FlowGraphDataConnection<Nullable<Vector3>>;\n\n /** @internal */\n public override readonly type: FlowGraphEventType = FlowGraphEventType.PointerUp;\n\n /**\n * Creates a new FlowGraphPointerUpEventBlock.\n * @param config optional configuration\n */\n public constructor(config?: IFlowGraphPointerUpEventBlockConfiguration) {\n super(config);\n this.targetMesh = this.registerDataInput(\"targetMesh\", RichTypeAny, config?.targetMesh);\n this.pointerId = this.registerDataOutput(\"pointerId\", RichTypeNumber);\n this.pickedMesh = this.registerDataOutput(\"pickedMesh\", RichTypeAny);\n this.pickedPoint = this.registerDataOutput(\"pickedPoint\", RichTypeAny);\n }\n\n /** @internal */\n public override _executeEvent(context: FlowGraphContext, pointerInfo: PointerInfo): boolean {\n const mesh = this.targetMesh.getValue(context);\n const pickedMesh = pointerInfo.pickInfo?.pickedMesh;\n\n // If a target mesh is set, only fire when that mesh (or a descendant) is picked.\n if (mesh && !(pickedMesh === mesh || (pickedMesh && _IsDescendantOf(pickedMesh, mesh)))) {\n return true;\n }\n\n this.pointerId.setValue((pointerInfo.event as IPointerEvent).pointerId, context);\n this.pickedMesh.setValue(pickedMesh ?? null, context);\n this.pickedPoint.setValue(pointerInfo.pickInfo?.pickedPoint ?? null, context);\n this._execute(context);\n return !this.config?.stopPropagation;\n }\n\n /** @internal */\n public override _preparePendingTasks(_context: FlowGraphContext): void {\n // no-op\n }\n\n /** @internal */\n public override _cancelPendingTasks(_context: FlowGraphContext): void {\n // no-op\n }\n\n /**\n * @returns the class name of the block.\n */\n public override getClassName(): string {\n return FlowGraphBlockNames.PointerUpEvent;\n }\n}\n\nRegisterClass(FlowGraphBlockNames.PointerUpEvent, FlowGraphPointerUpEventBlock);\n"]}
@@ -7,3 +7,6 @@ export * from "./flowGraphPointerOutEventBlock.js";
7
7
  export * from "./flowGraphPointerOverEventBlock.js";
8
8
  export * from "./flowGraphPhysicsCollisionEventBlock.js";
9
9
  export * from "./flowGraphSoundEndedEventBlock.js";
10
+ export * from "./flowGraphKeyboardEventBlock.js";
11
+ export * from "./flowGraphKeyDownEventBlock.js";
12
+ export * from "./flowGraphKeyUpEventBlock.js";
@@ -7,4 +7,7 @@ export * from "./flowGraphPointerOutEventBlock.js";
7
7
  export * from "./flowGraphPointerOverEventBlock.js";
8
8
  export * from "./flowGraphPhysicsCollisionEventBlock.js";
9
9
  export * from "./flowGraphSoundEndedEventBlock.js";
10
+ export * from "./flowGraphKeyboardEventBlock.js";
11
+ export * from "./flowGraphKeyDownEventBlock.js";
12
+ export * from "./flowGraphKeyUpEventBlock.js";
10
13
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../dev/core/src/FlowGraph/Blocks/Event/index.ts"],"names":[],"mappings":"AAAA,cAAc,+BAA+B,CAAC;AAC9C,cAAc,iCAAiC,CAAC;AAChD,cAAc,oCAAoC,CAAC;AACnD,cAAc,iCAAiC,CAAC;AAChD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,iCAAiC,CAAC;AAChD,cAAc,kCAAkC,CAAC;AACjD,cAAc,uCAAuC,CAAC;AACtD,cAAc,iCAAiC,CAAC","sourcesContent":["export * from \"./flowGraphMeshPickEventBlock\";\r\nexport * from \"./flowGraphSceneReadyEventBlock\";\r\nexport * from \"./flowGraphReceiveCustomEventBlock\";\r\nexport * from \"./flowGraphSendCustomEventBlock\";\r\nexport * from \"./flowGraphSceneTickEventBlock\";\r\nexport * from \"./flowGraphPointerOutEventBlock\";\r\nexport * from \"./flowGraphPointerOverEventBlock\";\r\nexport * from \"./flowGraphPhysicsCollisionEventBlock\";\r\nexport * from \"./flowGraphSoundEndedEventBlock\";\r\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../dev/core/src/FlowGraph/Blocks/Event/index.ts"],"names":[],"mappings":"AAAA,cAAc,+BAA+B,CAAC;AAC9C,cAAc,iCAAiC,CAAC;AAChD,cAAc,oCAAoC,CAAC;AACnD,cAAc,iCAAiC,CAAC;AAChD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,iCAAiC,CAAC;AAChD,cAAc,kCAAkC,CAAC;AACjD,cAAc,uCAAuC,CAAC;AACtD,cAAc,iCAAiC,CAAC;AAChD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,4BAA4B,CAAC","sourcesContent":["export * from \"./flowGraphMeshPickEventBlock\";\r\nexport * from \"./flowGraphSceneReadyEventBlock\";\r\nexport * from \"./flowGraphReceiveCustomEventBlock\";\r\nexport * from \"./flowGraphSendCustomEventBlock\";\r\nexport * from \"./flowGraphSceneTickEventBlock\";\r\nexport * from \"./flowGraphPointerOutEventBlock\";\r\nexport * from \"./flowGraphPointerOverEventBlock\";\r\nexport * from \"./flowGraphPhysicsCollisionEventBlock\";\r\nexport * from \"./flowGraphSoundEndedEventBlock\";\r\nexport * from \"./flowGraphKeyboardEventBlock\";\r\nexport * from \"./flowGraphKeyDownEventBlock\";\r\nexport * from \"./flowGraphKeyUpEventBlock\";\r\n"]}
@@ -303,6 +303,13 @@ export function blockFactory(blockName) {
303
303
  return async () => (await import("./Event/flowGraphPointerUpEventBlock.js")).FlowGraphPointerUpEventBlock;
304
304
  case "FlowGraphPointerMoveEventBlock" /* FlowGraphBlockNames.PointerMoveEvent */:
305
305
  return async () => (await import("./Event/flowGraphPointerMoveEventBlock.js")).FlowGraphPointerMoveEventBlock;
306
+ // Keyboard
307
+ case "FlowGraphKeyDownEventBlock" /* FlowGraphBlockNames.KeyDownEvent */:
308
+ return async () => (await import("./Event/flowGraphKeyDownEventBlock.js")).FlowGraphKeyDownEventBlock;
309
+ case "FlowGraphKeyUpEventBlock" /* FlowGraphBlockNames.KeyUpEvent */:
310
+ return async () => (await import("./Event/flowGraphKeyUpEventBlock.js")).FlowGraphKeyUpEventBlock;
311
+ case "FlowGraphIsKeyPressedBlock" /* FlowGraphBlockNames.IsKeyPressed */:
312
+ return async () => (await import("./Data/flowGraphIsKeyPressedBlock.js")).FlowGraphIsKeyPressedBlock;
306
313
  case "FlowGraphContextBlock" /* FlowGraphBlockNames.Context */:
307
314
  return async () => (await import("./Data/Utils/flowGraphContextBlock.js")).FlowGraphContextBlock;
308
315
  case "FlowGraphArrayIndexBlock" /* FlowGraphBlockNames.ArrayIndex */:
@@ -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 { type 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\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 import(\"./Execution/Animation/flowGraphPlayAnimationBlock\")).FlowGraphPlayAnimationBlock;\n case FlowGraphBlockNames.StopAnimation:\n return async () => (await import(\"./Execution/Animation/flowGraphStopAnimationBlock\")).FlowGraphStopAnimationBlock;\n case FlowGraphBlockNames.PauseAnimation:\n return async () => (await import(\"./Execution/Animation/flowGraphPauseAnimationBlock\")).FlowGraphPauseAnimationBlock;\n case FlowGraphBlockNames.ValueInterpolation:\n return async () => (await import(\"./Execution/Animation/flowGraphInterpolationBlock\")).FlowGraphInterpolationBlock;\n case FlowGraphBlockNames.SceneReadyEvent:\n return async () => (await import(\"./Event/flowGraphSceneReadyEventBlock\")).FlowGraphSceneReadyEventBlock;\n case FlowGraphBlockNames.SceneTickEvent:\n return async () => (await import(\"./Event/flowGraphSceneTickEventBlock\")).FlowGraphSceneTickEventBlock;\n case FlowGraphBlockNames.SendCustomEvent:\n return async () => (await import(\"./Event/flowGraphSendCustomEventBlock\")).FlowGraphSendCustomEventBlock;\n case FlowGraphBlockNames.ReceiveCustomEvent:\n return async () => (await import(\"./Event/flowGraphReceiveCustomEventBlock\")).FlowGraphReceiveCustomEventBlock;\n case FlowGraphBlockNames.MeshPickEvent:\n return async () => (await import(\"./Event/flowGraphMeshPickEventBlock\")).FlowGraphMeshPickEventBlock;\n case FlowGraphBlockNames.E:\n return async () => (await import(\"./Data/Math/flowGraphMathBlocks\")).FlowGraphEBlock;\n case FlowGraphBlockNames.PI:\n return async () => (await import(\"./Data/Math/flowGraphMathBlocks\")).FlowGraphPiBlock;\n case FlowGraphBlockNames.Inf:\n return async () => (await import(\"./Data/Math/flowGraphMathBlocks\")).FlowGraphInfBlock;\n case FlowGraphBlockNames.NaN:\n return async () => (await import(\"./Data/Math/flowGraphMathBlocks\")).FlowGraphNaNBlock;\n case FlowGraphBlockNames.Random:\n return async () => (await import(\"./Data/Math/flowGraphMathBlocks\")).FlowGraphRandomBlock;\n case FlowGraphBlockNames.Add:\n return async () => (await import(\"./Data/Math/flowGraphMathBlocks\")).FlowGraphAddBlock;\n case FlowGraphBlockNames.Subtract:\n return async () => (await import(\"./Data/Math/flowGraphMathBlocks\")).FlowGraphSubtractBlock;\n case FlowGraphBlockNames.Multiply:\n return async () => (await import(\"./Data/Math/flowGraphMathBlocks\")).FlowGraphMultiplyBlock;\n case FlowGraphBlockNames.Divide:\n return async () => (await import(\"./Data/Math/flowGraphMathBlocks\")).FlowGraphDivideBlock;\n case FlowGraphBlockNames.Abs:\n return async () => (await import(\"./Data/Math/flowGraphMathBlocks\")).FlowGraphAbsBlock;\n case FlowGraphBlockNames.Sign:\n return async () => (await import(\"./Data/Math/flowGraphMathBlocks\")).FlowGraphSignBlock;\n case FlowGraphBlockNames.Trunc:\n return async () => (await import(\"./Data/Math/flowGraphMathBlocks\")).FlowGraphTruncBlock;\n case FlowGraphBlockNames.Floor:\n return async () => (await import(\"./Data/Math/flowGraphMathBlocks\")).FlowGraphFloorBlock;\n case FlowGraphBlockNames.Ceil:\n return async () => (await import(\"./Data/Math/flowGraphMathBlocks\")).FlowGraphCeilBlock;\n case FlowGraphBlockNames.Round:\n return async () => (await import(\"./Data/Math/flowGraphMathBlocks\")).FlowGraphRoundBlock;\n case FlowGraphBlockNames.Fraction:\n return async () => (await import(\"./Data/Math/flowGraphMathBlocks\")).FlowGraphFractionBlock;\n case FlowGraphBlockNames.Negation:\n return async () => (await import(\"./Data/Math/flowGraphMathBlocks\")).FlowGraphNegationBlock;\n case FlowGraphBlockNames.Modulo:\n return async () => (await import(\"./Data/Math/flowGraphMathBlocks\")).FlowGraphModuloBlock;\n case FlowGraphBlockNames.Min:\n return async () => (await import(\"./Data/Math/flowGraphMathBlocks\")).FlowGraphMinBlock;\n case FlowGraphBlockNames.Max:\n return async () => (await import(\"./Data/Math/flowGraphMathBlocks\")).FlowGraphMaxBlock;\n case FlowGraphBlockNames.Clamp:\n return async () => (await import(\"./Data/Math/flowGraphMathBlocks\")).FlowGraphClampBlock;\n case FlowGraphBlockNames.Saturate:\n return async () => (await import(\"./Data/Math/flowGraphMathBlocks\")).FlowGraphSaturateBlock;\n case FlowGraphBlockNames.MathInterpolation:\n return async () => (await import(\"./Data/Math/flowGraphMathBlocks\")).FlowGraphMathInterpolationBlock;\n case FlowGraphBlockNames.Equality:\n return async () => (await import(\"./Data/Math/flowGraphMathBlocks\")).FlowGraphEqualityBlock;\n case FlowGraphBlockNames.LessThan:\n return async () => (await import(\"./Data/Math/flowGraphMathBlocks\")).FlowGraphLessThanBlock;\n case FlowGraphBlockNames.LessThanOrEqual:\n return async () => (await import(\"./Data/Math/flowGraphMathBlocks\")).FlowGraphLessThanOrEqualBlock;\n case FlowGraphBlockNames.GreaterThan:\n return async () => (await import(\"./Data/Math/flowGraphMathBlocks\")).FlowGraphGreaterThanBlock;\n case FlowGraphBlockNames.GreaterThanOrEqual:\n return async () => (await import(\"./Data/Math/flowGraphMathBlocks\")).FlowGraphGreaterThanOrEqualBlock;\n case FlowGraphBlockNames.IsNaN:\n return async () => (await import(\"./Data/Math/flowGraphMathBlocks\")).FlowGraphIsNanBlock;\n case FlowGraphBlockNames.IsInfinity:\n return async () => (await import(\"./Data/Math/flowGraphMathBlocks\")).FlowGraphIsInfinityBlock;\n case FlowGraphBlockNames.DegToRad:\n return async () => (await import(\"./Data/Math/flowGraphMathBlocks\")).FlowGraphDegToRadBlock;\n case FlowGraphBlockNames.RadToDeg:\n return async () => (await import(\"./Data/Math/flowGraphMathBlocks\")).FlowGraphRadToDegBlock;\n case FlowGraphBlockNames.Sin:\n return async () => (await import(\"./Data/Math/flowGraphMathBlocks\")).FlowGraphSinBlock;\n case FlowGraphBlockNames.Cos:\n return async () => (await import(\"./Data/Math/flowGraphMathBlocks\")).FlowGraphCosBlock;\n case FlowGraphBlockNames.Tan:\n return async () => (await import(\"./Data/Math/flowGraphMathBlocks\")).FlowGraphTanBlock;\n case FlowGraphBlockNames.Asin:\n return async () => (await import(\"./Data/Math/flowGraphMathBlocks\")).FlowGraphAsinBlock;\n case FlowGraphBlockNames.Acos:\n return async () => (await import(\"./Data/Math/flowGraphMathBlocks\")).FlowGraphAcosBlock;\n case FlowGraphBlockNames.Atan:\n return async () => (await import(\"./Data/Math/flowGraphMathBlocks\")).FlowGraphAtanBlock;\n case FlowGraphBlockNames.Atan2:\n return async () => (await import(\"./Data/Math/flowGraphMathBlocks\")).FlowGraphAtan2Block;\n case FlowGraphBlockNames.Sinh:\n return async () => (await import(\"./Data/Math/flowGraphMathBlocks\")).FlowGraphSinhBlock;\n case FlowGraphBlockNames.Cosh:\n return async () => (await import(\"./Data/Math/flowGraphMathBlocks\")).FlowGraphCoshBlock;\n case FlowGraphBlockNames.Tanh:\n return async () => (await import(\"./Data/Math/flowGraphMathBlocks\")).FlowGraphTanhBlock;\n case FlowGraphBlockNames.Asinh:\n return async () => (await import(\"./Data/Math/flowGraphMathBlocks\")).FlowGraphAsinhBlock;\n case FlowGraphBlockNames.Acosh:\n return async () => (await import(\"./Data/Math/flowGraphMathBlocks\")).FlowGraphAcoshBlock;\n case FlowGraphBlockNames.Atanh:\n return async () => (await import(\"./Data/Math/flowGraphMathBlocks\")).FlowGraphAtanhBlock;\n case FlowGraphBlockNames.Exponential:\n return async () => (await import(\"./Data/Math/flowGraphMathBlocks\")).FlowGraphExpBlock;\n case FlowGraphBlockNames.Log:\n return async () => (await import(\"./Data/Math/flowGraphMathBlocks\")).FlowGraphLogBlock;\n case FlowGraphBlockNames.Log2:\n return async () => (await import(\"./Data/Math/flowGraphMathBlocks\")).FlowGraphLog2Block;\n case FlowGraphBlockNames.Log10:\n return async () => (await import(\"./Data/Math/flowGraphMathBlocks\")).FlowGraphLog10Block;\n case FlowGraphBlockNames.SquareRoot:\n return async () => (await import(\"./Data/Math/flowGraphMathBlocks\")).FlowGraphSquareRootBlock;\n case FlowGraphBlockNames.Power:\n return async () => (await import(\"./Data/Math/flowGraphMathBlocks\")).FlowGraphPowerBlock;\n case FlowGraphBlockNames.CubeRoot:\n return async () => (await import(\"./Data/Math/flowGraphMathBlocks\")).FlowGraphCubeRootBlock;\n case FlowGraphBlockNames.BitwiseAnd:\n return async () => (await import(\"./Data/Math/flowGraphMathBlocks\")).FlowGraphBitwiseAndBlock;\n case FlowGraphBlockNames.BitwiseOr:\n return async () => (await import(\"./Data/Math/flowGraphMathBlocks\")).FlowGraphBitwiseOrBlock;\n case FlowGraphBlockNames.BitwiseNot:\n return async () => (await import(\"./Data/Math/flowGraphMathBlocks\")).FlowGraphBitwiseNotBlock;\n case FlowGraphBlockNames.BitwiseXor:\n return async () => (await import(\"./Data/Math/flowGraphMathBlocks\")).FlowGraphBitwiseXorBlock;\n case FlowGraphBlockNames.BitwiseLeftShift:\n return async () => (await import(\"./Data/Math/flowGraphMathBlocks\")).FlowGraphBitwiseLeftShiftBlock;\n case FlowGraphBlockNames.BitwiseRightShift:\n return async () => (await import(\"./Data/Math/flowGraphMathBlocks\")).FlowGraphBitwiseRightShiftBlock;\n case FlowGraphBlockNames.Length:\n return async () => (await import(\"./Data/Math/flowGraphVectorMathBlocks\")).FlowGraphLengthBlock;\n case FlowGraphBlockNames.Normalize:\n return async () => (await import(\"./Data/Math/flowGraphVectorMathBlocks\")).FlowGraphNormalizeBlock;\n case FlowGraphBlockNames.Dot:\n return async () => (await import(\"./Data/Math/flowGraphVectorMathBlocks\")).FlowGraphDotBlock;\n case FlowGraphBlockNames.Cross:\n return async () => (await import(\"./Data/Math/flowGraphVectorMathBlocks\")).FlowGraphCrossBlock;\n case FlowGraphBlockNames.Rotate2D:\n return async () => (await import(\"./Data/Math/flowGraphVectorMathBlocks\")).FlowGraphRotate2DBlock;\n case FlowGraphBlockNames.Rotate3D:\n return async () => (await import(\"./Data/Math/flowGraphVectorMathBlocks\")).FlowGraphRotate3DBlock;\n case FlowGraphBlockNames.Transpose:\n return async () => (await import(\"./Data/Math/flowGraphMatrixMathBlocks\")).FlowGraphTransposeBlock;\n case FlowGraphBlockNames.Determinant:\n return async () => (await import(\"./Data/Math/flowGraphMatrixMathBlocks\")).FlowGraphDeterminantBlock;\n case FlowGraphBlockNames.InvertMatrix:\n return async () => (await import(\"./Data/Math/flowGraphMatrixMathBlocks\")).FlowGraphInvertMatrixBlock;\n case FlowGraphBlockNames.MatrixMultiplication:\n return async () => (await import(\"./Data/Math/flowGraphMatrixMathBlocks\")).FlowGraphMatrixMultiplicationBlock;\n case FlowGraphBlockNames.Branch:\n return async () => (await import(\"./Execution/ControlFlow/flowGraphBranchBlock\")).FlowGraphBranchBlock;\n case FlowGraphBlockNames.SetDelay:\n return async () => (await import(\"./Execution/ControlFlow/flowGraphSetDelayBlock\")).FlowGraphSetDelayBlock;\n case FlowGraphBlockNames.CancelDelay:\n return async () => (await import(\"./Execution/ControlFlow/flowGraphCancelDelayBlock\")).FlowGraphCancelDelayBlock;\n case FlowGraphBlockNames.CallCounter:\n return async () => (await import(\"./Execution/ControlFlow/flowGraphCounterBlock\")).FlowGraphCallCounterBlock;\n case FlowGraphBlockNames.Debounce:\n return async () => (await import(\"./Execution/ControlFlow/flowGraphDebounceBlock\")).FlowGraphDebounceBlock;\n case FlowGraphBlockNames.Throttle:\n return async () => (await import(\"./Execution/ControlFlow/flowGraphThrottleBlock\")).FlowGraphThrottleBlock;\n case FlowGraphBlockNames.DoN:\n return async () => (await import(\"./Execution/ControlFlow/flowGraphDoNBlock\")).FlowGraphDoNBlock;\n case FlowGraphBlockNames.FlipFlop:\n return async () => (await import(\"./Execution/ControlFlow/flowGraphFlipFlopBlock\")).FlowGraphFlipFlopBlock;\n case FlowGraphBlockNames.ForLoop:\n return async () => (await import(\"./Execution/ControlFlow/flowGraphForLoopBlock\")).FlowGraphForLoopBlock;\n case FlowGraphBlockNames.MultiGate:\n return async () => (await import(\"./Execution/ControlFlow/flowGraphMultiGateBlock\")).FlowGraphMultiGateBlock;\n case FlowGraphBlockNames.Sequence:\n return async () => (await import(\"./Execution/ControlFlow/flowGraphSequenceBlock\")).FlowGraphSequenceBlock;\n case FlowGraphBlockNames.Switch:\n return async () => (await import(\"./Execution/ControlFlow/flowGraphSwitchBlock\")).FlowGraphSwitchBlock;\n case FlowGraphBlockNames.WaitAll:\n return async () => (await import(\"./Execution/ControlFlow/flowGraphWaitAllBlock\")).FlowGraphWaitAllBlock;\n case FlowGraphBlockNames.WhileLoop:\n return async () => (await import(\"./Execution/ControlFlow/flowGraphWhileLoopBlock\")).FlowGraphWhileLoopBlock;\n case FlowGraphBlockNames.ConsoleLog:\n return async () => (await import(\"./Execution/flowGraphConsoleLogBlock\")).FlowGraphConsoleLogBlock;\n case FlowGraphBlockNames.Conditional:\n return async () => (await import(\"./Data/flowGraphConditionalDataBlock\")).FlowGraphConditionalDataBlock;\n case FlowGraphBlockNames.Constant:\n return async () => (await import(\"./Data/flowGraphConstantBlock\")).FlowGraphConstantBlock;\n case FlowGraphBlockNames.TransformCoordinatesSystem:\n return async () => (await import(\"./Data/flowGraphTransformCoordinatesSystemBlock\")).FlowGraphTransformCoordinatesSystemBlock;\n case FlowGraphBlockNames.GetAsset:\n return async () => (await import(\"./Data/flowGraphGetAssetBlock\")).FlowGraphGetAssetBlock;\n case FlowGraphBlockNames.GetProperty:\n return async () => (await import(\"./Data/flowGraphGetPropertyBlock\")).FlowGraphGetPropertyBlock;\n case FlowGraphBlockNames.SetProperty:\n return async () => (await import(\"./Execution/flowGraphSetPropertyBlock\")).FlowGraphSetPropertyBlock;\n case FlowGraphBlockNames.GetVariable:\n return async () => (await import(\"./Data/flowGraphGetVariableBlock\")).FlowGraphGetVariableBlock;\n case FlowGraphBlockNames.SetVariable:\n return async () => (await import(\"./Execution/flowGraphSetVariableBlock\")).FlowGraphSetVariableBlock;\n case FlowGraphBlockNames.JsonPointerParser:\n return async () => (await import(\"./Data/Transformers/flowGraphJsonPointerParserBlock\")).FlowGraphJsonPointerParserBlock;\n case FlowGraphBlockNames.LeadingZeros:\n return async () => (await import(\"./Data/Math/flowGraphMathBlocks\")).FlowGraphLeadingZerosBlock;\n case FlowGraphBlockNames.TrailingZeros:\n return async () => (await import(\"./Data/Math/flowGraphMathBlocks\")).FlowGraphTrailingZerosBlock;\n case FlowGraphBlockNames.OneBitsCounter:\n return async () => (await import(\"./Data/Math/flowGraphMathBlocks\")).FlowGraphOneBitsCounterBlock;\n case FlowGraphBlockNames.CombineVector2:\n return async () => (await import(\"./Data/Math/flowGraphMathCombineExtractBlocks\")).FlowGraphCombineVector2Block;\n case FlowGraphBlockNames.CombineVector3:\n return async () => (await import(\"./Data/Math/flowGraphMathCombineExtractBlocks\")).FlowGraphCombineVector3Block;\n case FlowGraphBlockNames.CombineVector4:\n return async () => (await import(\"./Data/Math/flowGraphMathCombineExtractBlocks\")).FlowGraphCombineVector4Block;\n case FlowGraphBlockNames.CombineMatrix:\n return async () => (await import(\"./Data/Math/flowGraphMathCombineExtractBlocks\")).FlowGraphCombineMatrixBlock;\n case FlowGraphBlockNames.CombineMatrix2D:\n return async () => (await import(\"./Data/Math/flowGraphMathCombineExtractBlocks\")).FlowGraphCombineMatrix2DBlock;\n case FlowGraphBlockNames.CombineMatrix3D:\n return async () => (await import(\"./Data/Math/flowGraphMathCombineExtractBlocks\")).FlowGraphCombineMatrix3DBlock;\n case FlowGraphBlockNames.ExtractVector2:\n return async () => (await import(\"./Data/Math/flowGraphMathCombineExtractBlocks\")).FlowGraphExtractVector2Block;\n case FlowGraphBlockNames.ExtractVector3:\n return async () => (await import(\"./Data/Math/flowGraphMathCombineExtractBlocks\")).FlowGraphExtractVector3Block;\n case FlowGraphBlockNames.ExtractVector4:\n return async () => (await import(\"./Data/Math/flowGraphMathCombineExtractBlocks\")).FlowGraphExtractVector4Block;\n case FlowGraphBlockNames.ExtractMatrix:\n return async () => (await import(\"./Data/Math/flowGraphMathCombineExtractBlocks\")).FlowGraphExtractMatrixBlock;\n case FlowGraphBlockNames.ExtractMatrix2D:\n return async () => (await import(\"./Data/Math/flowGraphMathCombineExtractBlocks\")).FlowGraphExtractMatrix2DBlock;\n case FlowGraphBlockNames.ExtractMatrix3D:\n return async () => (await import(\"./Data/Math/flowGraphMathCombineExtractBlocks\")).FlowGraphExtractMatrix3DBlock;\n case FlowGraphBlockNames.TransformVector:\n return async () => (await import(\"./Data/Math/flowGraphVectorMathBlocks\")).FlowGraphTransformBlock;\n case FlowGraphBlockNames.TransformCoordinates:\n return async () => (await import(\"./Data/Math/flowGraphVectorMathBlocks\")).FlowGraphTransformCoordinatesBlock;\n case FlowGraphBlockNames.Conjugate:\n return async () => (await import(\"./Data/Math/flowGraphVectorMathBlocks\")).FlowGraphConjugateBlock;\n case FlowGraphBlockNames.AngleBetween:\n return async () => (await import(\"./Data/Math/flowGraphVectorMathBlocks\")).FlowGraphAngleBetweenBlock;\n case FlowGraphBlockNames.QuaternionFromAxisAngle:\n return async () => (await import(\"./Data/Math/flowGraphVectorMathBlocks\")).FlowGraphQuaternionFromAxisAngleBlock;\n case FlowGraphBlockNames.AxisAngleFromQuaternion:\n return async () => (await import(\"./Data/Math/flowGraphVectorMathBlocks\")).FlowGraphAxisAngleFromQuaternionBlock;\n case FlowGraphBlockNames.QuaternionFromDirections:\n return async () => (await import(\"./Data/Math/flowGraphVectorMathBlocks\")).FlowGraphQuaternionFromDirectionsBlock;\n case FlowGraphBlockNames.MatrixDecompose:\n return async () => (await import(\"./Data/Math/flowGraphMatrixMathBlocks\")).FlowGraphMatrixDecomposeBlock;\n case FlowGraphBlockNames.MatrixCompose:\n return async () => (await import(\"./Data/Math/flowGraphMatrixMathBlocks\")).FlowGraphMatrixComposeBlock;\n case FlowGraphBlockNames.BooleanToFloat:\n return async () => (await import(\"./Data/Transformers/flowGraphTypeToTypeBlocks\")).FlowGraphBooleanToFloat;\n case FlowGraphBlockNames.BooleanToInt:\n return async () => (await import(\"./Data/Transformers/flowGraphTypeToTypeBlocks\")).FlowGraphBooleanToInt;\n case FlowGraphBlockNames.FloatToBoolean:\n return async () => (await import(\"./Data/Transformers/flowGraphTypeToTypeBlocks\")).FlowGraphFloatToBoolean;\n case FlowGraphBlockNames.IntToBoolean:\n return async () => (await import(\"./Data/Transformers/flowGraphTypeToTypeBlocks\")).FlowGraphIntToBoolean;\n case FlowGraphBlockNames.IntToFloat:\n return async () => (await import(\"./Data/Transformers/flowGraphTypeToTypeBlocks\")).FlowGraphIntToFloat;\n case FlowGraphBlockNames.FloatToInt:\n return async () => (await import(\"./Data/Transformers/flowGraphTypeToTypeBlocks\")).FlowGraphFloatToInt;\n case FlowGraphBlockNames.Easing:\n return async () => (await import(\"./Execution/Animation/flowGraphEasingBlock\")).FlowGraphEasingBlock;\n case FlowGraphBlockNames.BezierCurveEasing:\n return async () => (await import(\"./Execution/Animation/flowGraphBezierCurveEasingBlock\")).FlowGraphBezierCurveEasingBlock;\n case FlowGraphBlockNames.PointerOverEvent:\n return async () => (await import(\"./Event/flowGraphPointerOverEventBlock\")).FlowGraphPointerOverEventBlock;\n case FlowGraphBlockNames.PointerOutEvent:\n return async () => (await import(\"./Event/flowGraphPointerOutEventBlock\")).FlowGraphPointerOutEventBlock;\n case FlowGraphBlockNames.PointerDownEvent:\n return async () => (await import(\"./Event/flowGraphPointerDownEventBlock\")).FlowGraphPointerDownEventBlock;\n case FlowGraphBlockNames.PointerUpEvent:\n return async () => (await import(\"./Event/flowGraphPointerUpEventBlock\")).FlowGraphPointerUpEventBlock;\n case FlowGraphBlockNames.PointerMoveEvent:\n return async () => (await import(\"./Event/flowGraphPointerMoveEventBlock\")).FlowGraphPointerMoveEventBlock;\n case FlowGraphBlockNames.Context:\n return async () => (await import(\"./Data/Utils/flowGraphContextBlock\")).FlowGraphContextBlock;\n case FlowGraphBlockNames.ArrayIndex:\n return async () => (await import(\"./Data/Utils/flowGraphArrayIndexBlock\")).FlowGraphArrayIndexBlock;\n case FlowGraphBlockNames.CodeExecution:\n return async () => (await import(\"./Data/Utils/flowGraphCodeExecutionBlock\")).FlowGraphCodeExecutionBlock;\n case FlowGraphBlockNames.IndexOf:\n return async () => (await import(\"./Data/Utils/flowGraphIndexOfBlock\")).FlowGraphIndexOfBlock;\n case FlowGraphBlockNames.FunctionReference:\n return async () => (await import(\"./Data/Utils/flowGraphFunctionReferenceBlock\")).FlowGraphFunctionReferenceBlock;\n case FlowGraphBlockNames.DataSwitch:\n return async () => (await import(\"./Data/flowGraphDataSwitchBlock\")).FlowGraphDataSwitchBlock;\n case FlowGraphBlockNames.DebugBlock:\n return async () => (await import(\"./Data/flowGraphDebugBlock\")).FlowGraphDebugBlock;\n // Physics\n case FlowGraphBlockNames.PhysicsCollisionEvent:\n return async () => (await import(\"./Event/flowGraphPhysicsCollisionEventBlock\")).FlowGraphPhysicsCollisionEventBlock;\n case FlowGraphBlockNames.PhysicsApplyForce:\n return async () => (await import(\"./Execution/Physics/flowGraphApplyForceBlock\")).FlowGraphApplyForceBlock;\n case FlowGraphBlockNames.PhysicsApplyImpulse:\n return async () => (await import(\"./Execution/Physics/flowGraphApplyImpulseBlock\")).FlowGraphApplyImpulseBlock;\n case FlowGraphBlockNames.PhysicsSetLinearVelocity:\n return async () => (await import(\"./Execution/Physics/flowGraphSetLinearVelocityBlock\")).FlowGraphSetLinearVelocityBlock;\n case FlowGraphBlockNames.PhysicsSetAngularVelocity:\n return async () => (await import(\"./Execution/Physics/flowGraphSetAngularVelocityBlock\")).FlowGraphSetAngularVelocityBlock;\n case FlowGraphBlockNames.PhysicsSetMotionType:\n return async () => (await import(\"./Execution/Physics/flowGraphSetPhysicsMotionTypeBlock\")).FlowGraphSetPhysicsMotionTypeBlock;\n case FlowGraphBlockNames.PhysicsGetLinearVelocity:\n return async () => (await import(\"./Data/Physics/flowGraphGetLinearVelocityBlock\")).FlowGraphGetLinearVelocityBlock;\n case FlowGraphBlockNames.PhysicsGetAngularVelocity:\n return async () => (await import(\"./Data/Physics/flowGraphGetAngularVelocityBlock\")).FlowGraphGetAngularVelocityBlock;\n case FlowGraphBlockNames.PhysicsGetMassProperties:\n return async () => (await import(\"./Data/Physics/flowGraphGetPhysicsMassPropertiesBlock\")).FlowGraphGetPhysicsMassPropertiesBlock;\n // Audio\n case FlowGraphBlockNames.AudioPlaySound:\n return async () => (await import(\"./Execution/Audio/flowGraphPlaySoundBlock\")).FlowGraphPlaySoundBlock;\n case FlowGraphBlockNames.AudioStopSound:\n return async () => (await import(\"./Execution/Audio/flowGraphStopSoundBlock\")).FlowGraphStopSoundBlock;\n case FlowGraphBlockNames.AudioPauseSound:\n return async () => (await import(\"./Execution/Audio/flowGraphPauseSoundBlock\")).FlowGraphPauseSoundBlock;\n case FlowGraphBlockNames.AudioSetVolume:\n return async () => (await import(\"./Execution/Audio/flowGraphSetSoundVolumeBlock\")).FlowGraphSetSoundVolumeBlock;\n case FlowGraphBlockNames.AudioSoundEndedEvent:\n return async () => (await import(\"./Event/flowGraphSoundEndedEventBlock\")).FlowGraphSoundEndedEventBlock;\n case FlowGraphBlockNames.AudioGetVolume:\n return async () => (await import(\"./Data/Audio/flowGraphGetSoundVolumeBlock\")).FlowGraphGetSoundVolumeBlock;\n case FlowGraphBlockNames.AudioIsSoundPlaying:\n return async () => (await import(\"./Data/Audio/flowGraphIsSoundPlayingBlock\")).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 { type 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\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 import(\"./Execution/Animation/flowGraphPlayAnimationBlock\")).FlowGraphPlayAnimationBlock;\n case FlowGraphBlockNames.StopAnimation:\n return async () => (await import(\"./Execution/Animation/flowGraphStopAnimationBlock\")).FlowGraphStopAnimationBlock;\n case FlowGraphBlockNames.PauseAnimation:\n return async () => (await import(\"./Execution/Animation/flowGraphPauseAnimationBlock\")).FlowGraphPauseAnimationBlock;\n case FlowGraphBlockNames.ValueInterpolation:\n return async () => (await import(\"./Execution/Animation/flowGraphInterpolationBlock\")).FlowGraphInterpolationBlock;\n case FlowGraphBlockNames.SceneReadyEvent:\n return async () => (await import(\"./Event/flowGraphSceneReadyEventBlock\")).FlowGraphSceneReadyEventBlock;\n case FlowGraphBlockNames.SceneTickEvent:\n return async () => (await import(\"./Event/flowGraphSceneTickEventBlock\")).FlowGraphSceneTickEventBlock;\n case FlowGraphBlockNames.SendCustomEvent:\n return async () => (await import(\"./Event/flowGraphSendCustomEventBlock\")).FlowGraphSendCustomEventBlock;\n case FlowGraphBlockNames.ReceiveCustomEvent:\n return async () => (await import(\"./Event/flowGraphReceiveCustomEventBlock\")).FlowGraphReceiveCustomEventBlock;\n case FlowGraphBlockNames.MeshPickEvent:\n return async () => (await import(\"./Event/flowGraphMeshPickEventBlock\")).FlowGraphMeshPickEventBlock;\n case FlowGraphBlockNames.E:\n return async () => (await import(\"./Data/Math/flowGraphMathBlocks\")).FlowGraphEBlock;\n case FlowGraphBlockNames.PI:\n return async () => (await import(\"./Data/Math/flowGraphMathBlocks\")).FlowGraphPiBlock;\n case FlowGraphBlockNames.Inf:\n return async () => (await import(\"./Data/Math/flowGraphMathBlocks\")).FlowGraphInfBlock;\n case FlowGraphBlockNames.NaN:\n return async () => (await import(\"./Data/Math/flowGraphMathBlocks\")).FlowGraphNaNBlock;\n case FlowGraphBlockNames.Random:\n return async () => (await import(\"./Data/Math/flowGraphMathBlocks\")).FlowGraphRandomBlock;\n case FlowGraphBlockNames.Add:\n return async () => (await import(\"./Data/Math/flowGraphMathBlocks\")).FlowGraphAddBlock;\n case FlowGraphBlockNames.Subtract:\n return async () => (await import(\"./Data/Math/flowGraphMathBlocks\")).FlowGraphSubtractBlock;\n case FlowGraphBlockNames.Multiply:\n return async () => (await import(\"./Data/Math/flowGraphMathBlocks\")).FlowGraphMultiplyBlock;\n case FlowGraphBlockNames.Divide:\n return async () => (await import(\"./Data/Math/flowGraphMathBlocks\")).FlowGraphDivideBlock;\n case FlowGraphBlockNames.Abs:\n return async () => (await import(\"./Data/Math/flowGraphMathBlocks\")).FlowGraphAbsBlock;\n case FlowGraphBlockNames.Sign:\n return async () => (await import(\"./Data/Math/flowGraphMathBlocks\")).FlowGraphSignBlock;\n case FlowGraphBlockNames.Trunc:\n return async () => (await import(\"./Data/Math/flowGraphMathBlocks\")).FlowGraphTruncBlock;\n case FlowGraphBlockNames.Floor:\n return async () => (await import(\"./Data/Math/flowGraphMathBlocks\")).FlowGraphFloorBlock;\n case FlowGraphBlockNames.Ceil:\n return async () => (await import(\"./Data/Math/flowGraphMathBlocks\")).FlowGraphCeilBlock;\n case FlowGraphBlockNames.Round:\n return async () => (await import(\"./Data/Math/flowGraphMathBlocks\")).FlowGraphRoundBlock;\n case FlowGraphBlockNames.Fraction:\n return async () => (await import(\"./Data/Math/flowGraphMathBlocks\")).FlowGraphFractionBlock;\n case FlowGraphBlockNames.Negation:\n return async () => (await import(\"./Data/Math/flowGraphMathBlocks\")).FlowGraphNegationBlock;\n case FlowGraphBlockNames.Modulo:\n return async () => (await import(\"./Data/Math/flowGraphMathBlocks\")).FlowGraphModuloBlock;\n case FlowGraphBlockNames.Min:\n return async () => (await import(\"./Data/Math/flowGraphMathBlocks\")).FlowGraphMinBlock;\n case FlowGraphBlockNames.Max:\n return async () => (await import(\"./Data/Math/flowGraphMathBlocks\")).FlowGraphMaxBlock;\n case FlowGraphBlockNames.Clamp:\n return async () => (await import(\"./Data/Math/flowGraphMathBlocks\")).FlowGraphClampBlock;\n case FlowGraphBlockNames.Saturate:\n return async () => (await import(\"./Data/Math/flowGraphMathBlocks\")).FlowGraphSaturateBlock;\n case FlowGraphBlockNames.MathInterpolation:\n return async () => (await import(\"./Data/Math/flowGraphMathBlocks\")).FlowGraphMathInterpolationBlock;\n case FlowGraphBlockNames.Equality:\n return async () => (await import(\"./Data/Math/flowGraphMathBlocks\")).FlowGraphEqualityBlock;\n case FlowGraphBlockNames.LessThan:\n return async () => (await import(\"./Data/Math/flowGraphMathBlocks\")).FlowGraphLessThanBlock;\n case FlowGraphBlockNames.LessThanOrEqual:\n return async () => (await import(\"./Data/Math/flowGraphMathBlocks\")).FlowGraphLessThanOrEqualBlock;\n case FlowGraphBlockNames.GreaterThan:\n return async () => (await import(\"./Data/Math/flowGraphMathBlocks\")).FlowGraphGreaterThanBlock;\n case FlowGraphBlockNames.GreaterThanOrEqual:\n return async () => (await import(\"./Data/Math/flowGraphMathBlocks\")).FlowGraphGreaterThanOrEqualBlock;\n case FlowGraphBlockNames.IsNaN:\n return async () => (await import(\"./Data/Math/flowGraphMathBlocks\")).FlowGraphIsNanBlock;\n case FlowGraphBlockNames.IsInfinity:\n return async () => (await import(\"./Data/Math/flowGraphMathBlocks\")).FlowGraphIsInfinityBlock;\n case FlowGraphBlockNames.DegToRad:\n return async () => (await import(\"./Data/Math/flowGraphMathBlocks\")).FlowGraphDegToRadBlock;\n case FlowGraphBlockNames.RadToDeg:\n return async () => (await import(\"./Data/Math/flowGraphMathBlocks\")).FlowGraphRadToDegBlock;\n case FlowGraphBlockNames.Sin:\n return async () => (await import(\"./Data/Math/flowGraphMathBlocks\")).FlowGraphSinBlock;\n case FlowGraphBlockNames.Cos:\n return async () => (await import(\"./Data/Math/flowGraphMathBlocks\")).FlowGraphCosBlock;\n case FlowGraphBlockNames.Tan:\n return async () => (await import(\"./Data/Math/flowGraphMathBlocks\")).FlowGraphTanBlock;\n case FlowGraphBlockNames.Asin:\n return async () => (await import(\"./Data/Math/flowGraphMathBlocks\")).FlowGraphAsinBlock;\n case FlowGraphBlockNames.Acos:\n return async () => (await import(\"./Data/Math/flowGraphMathBlocks\")).FlowGraphAcosBlock;\n case FlowGraphBlockNames.Atan:\n return async () => (await import(\"./Data/Math/flowGraphMathBlocks\")).FlowGraphAtanBlock;\n case FlowGraphBlockNames.Atan2:\n return async () => (await import(\"./Data/Math/flowGraphMathBlocks\")).FlowGraphAtan2Block;\n case FlowGraphBlockNames.Sinh:\n return async () => (await import(\"./Data/Math/flowGraphMathBlocks\")).FlowGraphSinhBlock;\n case FlowGraphBlockNames.Cosh:\n return async () => (await import(\"./Data/Math/flowGraphMathBlocks\")).FlowGraphCoshBlock;\n case FlowGraphBlockNames.Tanh:\n return async () => (await import(\"./Data/Math/flowGraphMathBlocks\")).FlowGraphTanhBlock;\n case FlowGraphBlockNames.Asinh:\n return async () => (await import(\"./Data/Math/flowGraphMathBlocks\")).FlowGraphAsinhBlock;\n case FlowGraphBlockNames.Acosh:\n return async () => (await import(\"./Data/Math/flowGraphMathBlocks\")).FlowGraphAcoshBlock;\n case FlowGraphBlockNames.Atanh:\n return async () => (await import(\"./Data/Math/flowGraphMathBlocks\")).FlowGraphAtanhBlock;\n case FlowGraphBlockNames.Exponential:\n return async () => (await import(\"./Data/Math/flowGraphMathBlocks\")).FlowGraphExpBlock;\n case FlowGraphBlockNames.Log:\n return async () => (await import(\"./Data/Math/flowGraphMathBlocks\")).FlowGraphLogBlock;\n case FlowGraphBlockNames.Log2:\n return async () => (await import(\"./Data/Math/flowGraphMathBlocks\")).FlowGraphLog2Block;\n case FlowGraphBlockNames.Log10:\n return async () => (await import(\"./Data/Math/flowGraphMathBlocks\")).FlowGraphLog10Block;\n case FlowGraphBlockNames.SquareRoot:\n return async () => (await import(\"./Data/Math/flowGraphMathBlocks\")).FlowGraphSquareRootBlock;\n case FlowGraphBlockNames.Power:\n return async () => (await import(\"./Data/Math/flowGraphMathBlocks\")).FlowGraphPowerBlock;\n case FlowGraphBlockNames.CubeRoot:\n return async () => (await import(\"./Data/Math/flowGraphMathBlocks\")).FlowGraphCubeRootBlock;\n case FlowGraphBlockNames.BitwiseAnd:\n return async () => (await import(\"./Data/Math/flowGraphMathBlocks\")).FlowGraphBitwiseAndBlock;\n case FlowGraphBlockNames.BitwiseOr:\n return async () => (await import(\"./Data/Math/flowGraphMathBlocks\")).FlowGraphBitwiseOrBlock;\n case FlowGraphBlockNames.BitwiseNot:\n return async () => (await import(\"./Data/Math/flowGraphMathBlocks\")).FlowGraphBitwiseNotBlock;\n case FlowGraphBlockNames.BitwiseXor:\n return async () => (await import(\"./Data/Math/flowGraphMathBlocks\")).FlowGraphBitwiseXorBlock;\n case FlowGraphBlockNames.BitwiseLeftShift:\n return async () => (await import(\"./Data/Math/flowGraphMathBlocks\")).FlowGraphBitwiseLeftShiftBlock;\n case FlowGraphBlockNames.BitwiseRightShift:\n return async () => (await import(\"./Data/Math/flowGraphMathBlocks\")).FlowGraphBitwiseRightShiftBlock;\n case FlowGraphBlockNames.Length:\n return async () => (await import(\"./Data/Math/flowGraphVectorMathBlocks\")).FlowGraphLengthBlock;\n case FlowGraphBlockNames.Normalize:\n return async () => (await import(\"./Data/Math/flowGraphVectorMathBlocks\")).FlowGraphNormalizeBlock;\n case FlowGraphBlockNames.Dot:\n return async () => (await import(\"./Data/Math/flowGraphVectorMathBlocks\")).FlowGraphDotBlock;\n case FlowGraphBlockNames.Cross:\n return async () => (await import(\"./Data/Math/flowGraphVectorMathBlocks\")).FlowGraphCrossBlock;\n case FlowGraphBlockNames.Rotate2D:\n return async () => (await import(\"./Data/Math/flowGraphVectorMathBlocks\")).FlowGraphRotate2DBlock;\n case FlowGraphBlockNames.Rotate3D:\n return async () => (await import(\"./Data/Math/flowGraphVectorMathBlocks\")).FlowGraphRotate3DBlock;\n case FlowGraphBlockNames.Transpose:\n return async () => (await import(\"./Data/Math/flowGraphMatrixMathBlocks\")).FlowGraphTransposeBlock;\n case FlowGraphBlockNames.Determinant:\n return async () => (await import(\"./Data/Math/flowGraphMatrixMathBlocks\")).FlowGraphDeterminantBlock;\n case FlowGraphBlockNames.InvertMatrix:\n return async () => (await import(\"./Data/Math/flowGraphMatrixMathBlocks\")).FlowGraphInvertMatrixBlock;\n case FlowGraphBlockNames.MatrixMultiplication:\n return async () => (await import(\"./Data/Math/flowGraphMatrixMathBlocks\")).FlowGraphMatrixMultiplicationBlock;\n case FlowGraphBlockNames.Branch:\n return async () => (await import(\"./Execution/ControlFlow/flowGraphBranchBlock\")).FlowGraphBranchBlock;\n case FlowGraphBlockNames.SetDelay:\n return async () => (await import(\"./Execution/ControlFlow/flowGraphSetDelayBlock\")).FlowGraphSetDelayBlock;\n case FlowGraphBlockNames.CancelDelay:\n return async () => (await import(\"./Execution/ControlFlow/flowGraphCancelDelayBlock\")).FlowGraphCancelDelayBlock;\n case FlowGraphBlockNames.CallCounter:\n return async () => (await import(\"./Execution/ControlFlow/flowGraphCounterBlock\")).FlowGraphCallCounterBlock;\n case FlowGraphBlockNames.Debounce:\n return async () => (await import(\"./Execution/ControlFlow/flowGraphDebounceBlock\")).FlowGraphDebounceBlock;\n case FlowGraphBlockNames.Throttle:\n return async () => (await import(\"./Execution/ControlFlow/flowGraphThrottleBlock\")).FlowGraphThrottleBlock;\n case FlowGraphBlockNames.DoN:\n return async () => (await import(\"./Execution/ControlFlow/flowGraphDoNBlock\")).FlowGraphDoNBlock;\n case FlowGraphBlockNames.FlipFlop:\n return async () => (await import(\"./Execution/ControlFlow/flowGraphFlipFlopBlock\")).FlowGraphFlipFlopBlock;\n case FlowGraphBlockNames.ForLoop:\n return async () => (await import(\"./Execution/ControlFlow/flowGraphForLoopBlock\")).FlowGraphForLoopBlock;\n case FlowGraphBlockNames.MultiGate:\n return async () => (await import(\"./Execution/ControlFlow/flowGraphMultiGateBlock\")).FlowGraphMultiGateBlock;\n case FlowGraphBlockNames.Sequence:\n return async () => (await import(\"./Execution/ControlFlow/flowGraphSequenceBlock\")).FlowGraphSequenceBlock;\n case FlowGraphBlockNames.Switch:\n return async () => (await import(\"./Execution/ControlFlow/flowGraphSwitchBlock\")).FlowGraphSwitchBlock;\n case FlowGraphBlockNames.WaitAll:\n return async () => (await import(\"./Execution/ControlFlow/flowGraphWaitAllBlock\")).FlowGraphWaitAllBlock;\n case FlowGraphBlockNames.WhileLoop:\n return async () => (await import(\"./Execution/ControlFlow/flowGraphWhileLoopBlock\")).FlowGraphWhileLoopBlock;\n case FlowGraphBlockNames.ConsoleLog:\n return async () => (await import(\"./Execution/flowGraphConsoleLogBlock\")).FlowGraphConsoleLogBlock;\n case FlowGraphBlockNames.Conditional:\n return async () => (await import(\"./Data/flowGraphConditionalDataBlock\")).FlowGraphConditionalDataBlock;\n case FlowGraphBlockNames.Constant:\n return async () => (await import(\"./Data/flowGraphConstantBlock\")).FlowGraphConstantBlock;\n case FlowGraphBlockNames.TransformCoordinatesSystem:\n return async () => (await import(\"./Data/flowGraphTransformCoordinatesSystemBlock\")).FlowGraphTransformCoordinatesSystemBlock;\n case FlowGraphBlockNames.GetAsset:\n return async () => (await import(\"./Data/flowGraphGetAssetBlock\")).FlowGraphGetAssetBlock;\n case FlowGraphBlockNames.GetProperty:\n return async () => (await import(\"./Data/flowGraphGetPropertyBlock\")).FlowGraphGetPropertyBlock;\n case FlowGraphBlockNames.SetProperty:\n return async () => (await import(\"./Execution/flowGraphSetPropertyBlock\")).FlowGraphSetPropertyBlock;\n case FlowGraphBlockNames.GetVariable:\n return async () => (await import(\"./Data/flowGraphGetVariableBlock\")).FlowGraphGetVariableBlock;\n case FlowGraphBlockNames.SetVariable:\n return async () => (await import(\"./Execution/flowGraphSetVariableBlock\")).FlowGraphSetVariableBlock;\n case FlowGraphBlockNames.JsonPointerParser:\n return async () => (await import(\"./Data/Transformers/flowGraphJsonPointerParserBlock\")).FlowGraphJsonPointerParserBlock;\n case FlowGraphBlockNames.LeadingZeros:\n return async () => (await import(\"./Data/Math/flowGraphMathBlocks\")).FlowGraphLeadingZerosBlock;\n case FlowGraphBlockNames.TrailingZeros:\n return async () => (await import(\"./Data/Math/flowGraphMathBlocks\")).FlowGraphTrailingZerosBlock;\n case FlowGraphBlockNames.OneBitsCounter:\n return async () => (await import(\"./Data/Math/flowGraphMathBlocks\")).FlowGraphOneBitsCounterBlock;\n case FlowGraphBlockNames.CombineVector2:\n return async () => (await import(\"./Data/Math/flowGraphMathCombineExtractBlocks\")).FlowGraphCombineVector2Block;\n case FlowGraphBlockNames.CombineVector3:\n return async () => (await import(\"./Data/Math/flowGraphMathCombineExtractBlocks\")).FlowGraphCombineVector3Block;\n case FlowGraphBlockNames.CombineVector4:\n return async () => (await import(\"./Data/Math/flowGraphMathCombineExtractBlocks\")).FlowGraphCombineVector4Block;\n case FlowGraphBlockNames.CombineMatrix:\n return async () => (await import(\"./Data/Math/flowGraphMathCombineExtractBlocks\")).FlowGraphCombineMatrixBlock;\n case FlowGraphBlockNames.CombineMatrix2D:\n return async () => (await import(\"./Data/Math/flowGraphMathCombineExtractBlocks\")).FlowGraphCombineMatrix2DBlock;\n case FlowGraphBlockNames.CombineMatrix3D:\n return async () => (await import(\"./Data/Math/flowGraphMathCombineExtractBlocks\")).FlowGraphCombineMatrix3DBlock;\n case FlowGraphBlockNames.ExtractVector2:\n return async () => (await import(\"./Data/Math/flowGraphMathCombineExtractBlocks\")).FlowGraphExtractVector2Block;\n case FlowGraphBlockNames.ExtractVector3:\n return async () => (await import(\"./Data/Math/flowGraphMathCombineExtractBlocks\")).FlowGraphExtractVector3Block;\n case FlowGraphBlockNames.ExtractVector4:\n return async () => (await import(\"./Data/Math/flowGraphMathCombineExtractBlocks\")).FlowGraphExtractVector4Block;\n case FlowGraphBlockNames.ExtractMatrix:\n return async () => (await import(\"./Data/Math/flowGraphMathCombineExtractBlocks\")).FlowGraphExtractMatrixBlock;\n case FlowGraphBlockNames.ExtractMatrix2D:\n return async () => (await import(\"./Data/Math/flowGraphMathCombineExtractBlocks\")).FlowGraphExtractMatrix2DBlock;\n case FlowGraphBlockNames.ExtractMatrix3D:\n return async () => (await import(\"./Data/Math/flowGraphMathCombineExtractBlocks\")).FlowGraphExtractMatrix3DBlock;\n case FlowGraphBlockNames.TransformVector:\n return async () => (await import(\"./Data/Math/flowGraphVectorMathBlocks\")).FlowGraphTransformBlock;\n case FlowGraphBlockNames.TransformCoordinates:\n return async () => (await import(\"./Data/Math/flowGraphVectorMathBlocks\")).FlowGraphTransformCoordinatesBlock;\n case FlowGraphBlockNames.Conjugate:\n return async () => (await import(\"./Data/Math/flowGraphVectorMathBlocks\")).FlowGraphConjugateBlock;\n case FlowGraphBlockNames.AngleBetween:\n return async () => (await import(\"./Data/Math/flowGraphVectorMathBlocks\")).FlowGraphAngleBetweenBlock;\n case FlowGraphBlockNames.QuaternionFromAxisAngle:\n return async () => (await import(\"./Data/Math/flowGraphVectorMathBlocks\")).FlowGraphQuaternionFromAxisAngleBlock;\n case FlowGraphBlockNames.AxisAngleFromQuaternion:\n return async () => (await import(\"./Data/Math/flowGraphVectorMathBlocks\")).FlowGraphAxisAngleFromQuaternionBlock;\n case FlowGraphBlockNames.QuaternionFromDirections:\n return async () => (await import(\"./Data/Math/flowGraphVectorMathBlocks\")).FlowGraphQuaternionFromDirectionsBlock;\n case FlowGraphBlockNames.MatrixDecompose:\n return async () => (await import(\"./Data/Math/flowGraphMatrixMathBlocks\")).FlowGraphMatrixDecomposeBlock;\n case FlowGraphBlockNames.MatrixCompose:\n return async () => (await import(\"./Data/Math/flowGraphMatrixMathBlocks\")).FlowGraphMatrixComposeBlock;\n case FlowGraphBlockNames.BooleanToFloat:\n return async () => (await import(\"./Data/Transformers/flowGraphTypeToTypeBlocks\")).FlowGraphBooleanToFloat;\n case FlowGraphBlockNames.BooleanToInt:\n return async () => (await import(\"./Data/Transformers/flowGraphTypeToTypeBlocks\")).FlowGraphBooleanToInt;\n case FlowGraphBlockNames.FloatToBoolean:\n return async () => (await import(\"./Data/Transformers/flowGraphTypeToTypeBlocks\")).FlowGraphFloatToBoolean;\n case FlowGraphBlockNames.IntToBoolean:\n return async () => (await import(\"./Data/Transformers/flowGraphTypeToTypeBlocks\")).FlowGraphIntToBoolean;\n case FlowGraphBlockNames.IntToFloat:\n return async () => (await import(\"./Data/Transformers/flowGraphTypeToTypeBlocks\")).FlowGraphIntToFloat;\n case FlowGraphBlockNames.FloatToInt:\n return async () => (await import(\"./Data/Transformers/flowGraphTypeToTypeBlocks\")).FlowGraphFloatToInt;\n case FlowGraphBlockNames.Easing:\n return async () => (await import(\"./Execution/Animation/flowGraphEasingBlock\")).FlowGraphEasingBlock;\n case FlowGraphBlockNames.BezierCurveEasing:\n return async () => (await import(\"./Execution/Animation/flowGraphBezierCurveEasingBlock\")).FlowGraphBezierCurveEasingBlock;\n case FlowGraphBlockNames.PointerOverEvent:\n return async () => (await import(\"./Event/flowGraphPointerOverEventBlock\")).FlowGraphPointerOverEventBlock;\n case FlowGraphBlockNames.PointerOutEvent:\n return async () => (await import(\"./Event/flowGraphPointerOutEventBlock\")).FlowGraphPointerOutEventBlock;\n case FlowGraphBlockNames.PointerDownEvent:\n return async () => (await import(\"./Event/flowGraphPointerDownEventBlock\")).FlowGraphPointerDownEventBlock;\n case FlowGraphBlockNames.PointerUpEvent:\n return async () => (await import(\"./Event/flowGraphPointerUpEventBlock\")).FlowGraphPointerUpEventBlock;\n case FlowGraphBlockNames.PointerMoveEvent:\n return async () => (await import(\"./Event/flowGraphPointerMoveEventBlock\")).FlowGraphPointerMoveEventBlock;\n // Keyboard\n case FlowGraphBlockNames.KeyDownEvent:\n return async () => (await import(\"./Event/flowGraphKeyDownEventBlock\")).FlowGraphKeyDownEventBlock;\n case FlowGraphBlockNames.KeyUpEvent:\n return async () => (await import(\"./Event/flowGraphKeyUpEventBlock\")).FlowGraphKeyUpEventBlock;\n case FlowGraphBlockNames.IsKeyPressed:\n return async () => (await import(\"./Data/flowGraphIsKeyPressedBlock\")).FlowGraphIsKeyPressedBlock;\n case FlowGraphBlockNames.Context:\n return async () => (await import(\"./Data/Utils/flowGraphContextBlock\")).FlowGraphContextBlock;\n case FlowGraphBlockNames.ArrayIndex:\n return async () => (await import(\"./Data/Utils/flowGraphArrayIndexBlock\")).FlowGraphArrayIndexBlock;\n case FlowGraphBlockNames.CodeExecution:\n return async () => (await import(\"./Data/Utils/flowGraphCodeExecutionBlock\")).FlowGraphCodeExecutionBlock;\n case FlowGraphBlockNames.IndexOf:\n return async () => (await import(\"./Data/Utils/flowGraphIndexOfBlock\")).FlowGraphIndexOfBlock;\n case FlowGraphBlockNames.FunctionReference:\n return async () => (await import(\"./Data/Utils/flowGraphFunctionReferenceBlock\")).FlowGraphFunctionReferenceBlock;\n case FlowGraphBlockNames.DataSwitch:\n return async () => (await import(\"./Data/flowGraphDataSwitchBlock\")).FlowGraphDataSwitchBlock;\n case FlowGraphBlockNames.DebugBlock:\n return async () => (await import(\"./Data/flowGraphDebugBlock\")).FlowGraphDebugBlock;\n // Physics\n case FlowGraphBlockNames.PhysicsCollisionEvent:\n return async () => (await import(\"./Event/flowGraphPhysicsCollisionEventBlock\")).FlowGraphPhysicsCollisionEventBlock;\n case FlowGraphBlockNames.PhysicsApplyForce:\n return async () => (await import(\"./Execution/Physics/flowGraphApplyForceBlock\")).FlowGraphApplyForceBlock;\n case FlowGraphBlockNames.PhysicsApplyImpulse:\n return async () => (await import(\"./Execution/Physics/flowGraphApplyImpulseBlock\")).FlowGraphApplyImpulseBlock;\n case FlowGraphBlockNames.PhysicsSetLinearVelocity:\n return async () => (await import(\"./Execution/Physics/flowGraphSetLinearVelocityBlock\")).FlowGraphSetLinearVelocityBlock;\n case FlowGraphBlockNames.PhysicsSetAngularVelocity:\n return async () => (await import(\"./Execution/Physics/flowGraphSetAngularVelocityBlock\")).FlowGraphSetAngularVelocityBlock;\n case FlowGraphBlockNames.PhysicsSetMotionType:\n return async () => (await import(\"./Execution/Physics/flowGraphSetPhysicsMotionTypeBlock\")).FlowGraphSetPhysicsMotionTypeBlock;\n case FlowGraphBlockNames.PhysicsGetLinearVelocity:\n return async () => (await import(\"./Data/Physics/flowGraphGetLinearVelocityBlock\")).FlowGraphGetLinearVelocityBlock;\n case FlowGraphBlockNames.PhysicsGetAngularVelocity:\n return async () => (await import(\"./Data/Physics/flowGraphGetAngularVelocityBlock\")).FlowGraphGetAngularVelocityBlock;\n case FlowGraphBlockNames.PhysicsGetMassProperties:\n return async () => (await import(\"./Data/Physics/flowGraphGetPhysicsMassPropertiesBlock\")).FlowGraphGetPhysicsMassPropertiesBlock;\n // Audio\n case FlowGraphBlockNames.AudioPlaySound:\n return async () => (await import(\"./Execution/Audio/flowGraphPlaySoundBlock\")).FlowGraphPlaySoundBlock;\n case FlowGraphBlockNames.AudioStopSound:\n return async () => (await import(\"./Execution/Audio/flowGraphStopSoundBlock\")).FlowGraphStopSoundBlock;\n case FlowGraphBlockNames.AudioPauseSound:\n return async () => (await import(\"./Execution/Audio/flowGraphPauseSoundBlock\")).FlowGraphPauseSoundBlock;\n case FlowGraphBlockNames.AudioSetVolume:\n return async () => (await import(\"./Execution/Audio/flowGraphSetSoundVolumeBlock\")).FlowGraphSetSoundVolumeBlock;\n case FlowGraphBlockNames.AudioSoundEndedEvent:\n return async () => (await import(\"./Event/flowGraphSoundEndedEventBlock\")).FlowGraphSoundEndedEventBlock;\n case FlowGraphBlockNames.AudioGetVolume:\n return async () => (await import(\"./Data/Audio/flowGraphGetSoundVolumeBlock\")).FlowGraphGetSoundVolumeBlock;\n case FlowGraphBlockNames.AudioIsSoundPlaying:\n return async () => (await import(\"./Data/Audio/flowGraphIsSoundPlayingBlock\")).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"]}
@@ -18,6 +18,9 @@ export declare enum FlowGraphBlockNames {
18
18
  PointerMoveEvent = "FlowGraphPointerMoveEventBlock",
19
19
  PointerOverEvent = "FlowGraphPointerOverEventBlock",
20
20
  PointerOutEvent = "FlowGraphPointerOutEventBlock",
21
+ KeyDownEvent = "FlowGraphKeyDownEventBlock",
22
+ KeyUpEvent = "FlowGraphKeyUpEventBlock",
23
+ IsKeyPressed = "FlowGraphIsKeyPressedBlock",
21
24
  E = "FlowGraphEBlock",
22
25
  PI = "FlowGraphPIBlock",
23
26
  Inf = "FlowGraphInfBlock",
@@ -19,6 +19,9 @@ export var FlowGraphBlockNames;
19
19
  FlowGraphBlockNames["PointerMoveEvent"] = "FlowGraphPointerMoveEventBlock";
20
20
  FlowGraphBlockNames["PointerOverEvent"] = "FlowGraphPointerOverEventBlock";
21
21
  FlowGraphBlockNames["PointerOutEvent"] = "FlowGraphPointerOutEventBlock";
22
+ FlowGraphBlockNames["KeyDownEvent"] = "FlowGraphKeyDownEventBlock";
23
+ FlowGraphBlockNames["KeyUpEvent"] = "FlowGraphKeyUpEventBlock";
24
+ FlowGraphBlockNames["IsKeyPressed"] = "FlowGraphIsKeyPressedBlock";
22
25
  FlowGraphBlockNames["E"] = "FlowGraphEBlock";
23
26
  FlowGraphBlockNames["PI"] = "FlowGraphPIBlock";
24
27
  FlowGraphBlockNames["Inf"] = "FlowGraphInfBlock";
@@ -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 MeshPickEvent = \"FlowGraphMeshPickEventBlock\",\n PointerEvent = \"FlowGraphPointerEventBlock\",\n PointerDownEvent = \"FlowGraphPointerDownEventBlock\",\n PointerUpEvent = \"FlowGraphPointerUpEventBlock\",\n PointerMoveEvent = \"FlowGraphPointerMoveEventBlock\",\n PointerOverEvent = \"FlowGraphPointerOverEventBlock\",\n PointerOutEvent = \"FlowGraphPointerOutEventBlock\",\n E = \"FlowGraphEBlock\",\n PI = \"FlowGraphPIBlock\",\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 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 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 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 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 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 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"]}
@@ -8,6 +8,7 @@ import { type IObjectAccessor } 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";
11
+ import { FlowGraphSceneEventCoordinator } from "./flowGraphSceneEventCoordinator.js";
11
12
  import { type IFlowGraphValidationResult } from "./flowGraphValidator.js";
12
13
  export declare enum FlowGraphState {
13
14
  /**
@@ -112,6 +113,11 @@ export declare class FlowGraph {
112
113
  get coordinator(): FlowGraphCoordinator;
113
114
  private _executionContexts;
114
115
  private _sceneEventCoordinator;
116
+ /**
117
+ * The scene event coordinator for this graph.
118
+ * Provides access to runtime event state such as currently pressed keys.
119
+ */
120
+ get sceneEventCoordinator(): FlowGraphSceneEventCoordinator;
115
121
  private _eventObserver;
116
122
  /**
117
123
  * The state of the graph
@@ -42,6 +42,13 @@ export class FlowGraph {
42
42
  get coordinator() {
43
43
  return this._coordinator;
44
44
  }
45
+ /**
46
+ * The scene event coordinator for this graph.
47
+ * Provides access to runtime event state such as currently pressed keys.
48
+ */
49
+ get sceneEventCoordinator() {
50
+ return this._sceneEventCoordinator;
51
+ }
45
52
  /**
46
53
  * The state of the graph
47
54
  */
@@ -75,6 +82,8 @@ export class FlowGraph {
75
82
  ["PointerMove" /* FlowGraphEventType.PointerMove */]: [],
76
83
  ["PointerOver" /* FlowGraphEventType.PointerOver */]: [],
77
84
  ["PointerOut" /* FlowGraphEventType.PointerOut */]: [],
85
+ ["KeyDown" /* FlowGraphEventType.KeyDown */]: [],
86
+ ["KeyUp" /* FlowGraphEventType.KeyUp */]: [],
78
87
  ["SceneAfterRender" /* FlowGraphEventType.SceneAfterRender */]: [],
79
88
  ["NoTrigger" /* FlowGraphEventType.NoTrigger */]: [],
80
89
  };
@@ -172,7 +181,7 @@ export class FlowGraph {
172
181
  * @returns the context, where you can get and set variables
173
182
  */
174
183
  createContext() {
175
- const context = new FlowGraphContext({ scene: this._scene, coordinator: this._coordinator });
184
+ const context = new FlowGraphContext({ scene: this._scene, coordinator: this._coordinator, sceneEventCoordinator: this._sceneEventCoordinator });
176
185
  this._executionContexts.push(context);
177
186
  return context;
178
187
  }