@babylonjs/core 6.36.0 → 6.37.0

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 (194) hide show
  1. package/Cameras/Inputs/arcRotateCameraGamepadInput.js +4 -0
  2. package/Cameras/Inputs/arcRotateCameraGamepadInput.js.map +1 -1
  3. package/Engines/Extensions/engine.dynamicTexture.d.ts +2 -2
  4. package/Engines/Extensions/engine.dynamicTexture.js.map +1 -1
  5. package/Engines/WebGPU/Extensions/engine.dynamicTexture.js +28 -3
  6. package/Engines/WebGPU/Extensions/engine.dynamicTexture.js.map +1 -1
  7. package/Engines/WebGPU/Extensions/engine.rawTexture.js +4 -0
  8. package/Engines/WebGPU/Extensions/engine.rawTexture.js.map +1 -1
  9. package/Engines/WebGPU/webgpuBufferManager.js +6 -2
  10. package/Engines/WebGPU/webgpuBufferManager.js.map +1 -1
  11. package/Engines/WebGPU/webgpuCacheBindGroups.d.ts +1 -0
  12. package/Engines/WebGPU/webgpuCacheBindGroups.js +12 -0
  13. package/Engines/WebGPU/webgpuCacheBindGroups.js.map +1 -1
  14. package/Engines/WebGPU/webgpuCacheRenderPipeline.js +2 -1
  15. package/Engines/WebGPU/webgpuCacheRenderPipeline.js.map +1 -1
  16. package/Engines/WebGPU/webgpuCacheRenderPipelineTree.d.ts +2 -2
  17. package/Engines/WebGPU/webgpuCacheRenderPipelineTree.js +5 -2
  18. package/Engines/WebGPU/webgpuCacheRenderPipelineTree.js.map +1 -1
  19. package/Engines/WebGPU/webgpuCacheSampler.js +3 -0
  20. package/Engines/WebGPU/webgpuCacheSampler.js.map +1 -1
  21. package/Engines/WebGPU/webgpuClearQuad.js +2 -1
  22. package/Engines/WebGPU/webgpuClearQuad.js.map +1 -1
  23. package/Engines/WebGPU/webgpuHardwareTexture.d.ts +1 -1
  24. package/Engines/WebGPU/webgpuHardwareTexture.js +23 -5
  25. package/Engines/WebGPU/webgpuHardwareTexture.js.map +1 -1
  26. package/Engines/WebGPU/webgpuPipelineContext.js +4 -5
  27. package/Engines/WebGPU/webgpuPipelineContext.js.map +1 -1
  28. package/Engines/WebGPU/webgpuQuerySet.js +10 -4
  29. package/Engines/WebGPU/webgpuQuerySet.js.map +1 -1
  30. package/Engines/WebGPU/webgpuTextureHelper.d.ts +8 -53
  31. package/Engines/WebGPU/webgpuTextureHelper.js +4 -996
  32. package/Engines/WebGPU/webgpuTextureHelper.js.map +1 -1
  33. package/Engines/WebGPU/webgpuTextureManager.d.ts +56 -0
  34. package/Engines/WebGPU/webgpuTextureManager.js +1012 -0
  35. package/Engines/WebGPU/webgpuTextureManager.js.map +1 -0
  36. package/Engines/engine.d.ts +1 -0
  37. package/Engines/engine.js +9 -2
  38. package/Engines/engine.js.map +1 -1
  39. package/Engines/renderTargetWrapper.d.ts +1 -0
  40. package/Engines/renderTargetWrapper.js +5 -1
  41. package/Engines/renderTargetWrapper.js.map +1 -1
  42. package/Engines/thinEngine.d.ts +1 -0
  43. package/Engines/thinEngine.js +11 -7
  44. package/Engines/thinEngine.js.map +1 -1
  45. package/Engines/webgpuEngine.d.ts +9 -2
  46. package/Engines/webgpuEngine.js +75 -3
  47. package/Engines/webgpuEngine.js.map +1 -1
  48. package/FlowGraph/Blocks/Data/flowGraphGetPropertyBlock.d.ts +23 -6
  49. package/FlowGraph/Blocks/Data/flowGraphGetPropertyBlock.js +14 -3
  50. package/FlowGraph/Blocks/Data/flowGraphGetPropertyBlock.js.map +1 -1
  51. package/FlowGraph/Blocks/Event/flowGraphMeshPickEventBlock.d.ts +14 -3
  52. package/FlowGraph/Blocks/Event/flowGraphMeshPickEventBlock.js +12 -11
  53. package/FlowGraph/Blocks/Event/flowGraphMeshPickEventBlock.js.map +1 -1
  54. package/FlowGraph/Blocks/Execution/Animation/flowGraphPauseAnimationBlock.d.ts +1 -1
  55. package/FlowGraph/Blocks/Execution/Animation/flowGraphPauseAnimationBlock.js +1 -1
  56. package/FlowGraph/Blocks/Execution/Animation/flowGraphPauseAnimationBlock.js.map +1 -1
  57. package/FlowGraph/Blocks/Execution/Animation/flowGraphPlayAnimationBlock.d.ts +22 -7
  58. package/FlowGraph/Blocks/Execution/Animation/flowGraphPlayAnimationBlock.js +15 -9
  59. package/FlowGraph/Blocks/Execution/Animation/flowGraphPlayAnimationBlock.js.map +1 -1
  60. package/FlowGraph/Blocks/Execution/Animation/flowGraphStopAnimationBlock.d.ts +1 -1
  61. package/FlowGraph/Blocks/Execution/Animation/flowGraphStopAnimationBlock.js +1 -1
  62. package/FlowGraph/Blocks/Execution/Animation/flowGraphStopAnimationBlock.js.map +1 -1
  63. package/FlowGraph/Blocks/Execution/Audio/flowGraphPlayAudioBlock.d.ts +1 -1
  64. package/FlowGraph/Blocks/Execution/Audio/flowGraphPlayAudioBlock.js +1 -1
  65. package/FlowGraph/Blocks/Execution/Audio/flowGraphPlayAudioBlock.js.map +1 -1
  66. package/FlowGraph/Blocks/Execution/Audio/flowGraphStopAudioBlock.d.ts +1 -1
  67. package/FlowGraph/Blocks/Execution/Audio/flowGraphStopAudioBlock.js +1 -1
  68. package/FlowGraph/Blocks/Execution/Audio/flowGraphStopAudioBlock.js.map +1 -1
  69. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphCounterBlock.d.ts +1 -1
  70. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphCounterBlock.js +1 -1
  71. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphCounterBlock.js.map +1 -1
  72. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphDebounceBlock.d.ts +1 -1
  73. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphDebounceBlock.js +1 -1
  74. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphDebounceBlock.js.map +1 -1
  75. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphDoNBlock.d.ts +1 -1
  76. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphDoNBlock.js +1 -1
  77. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphDoNBlock.js.map +1 -1
  78. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphForLoopBlock.d.ts +1 -1
  79. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphForLoopBlock.js +1 -1
  80. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphForLoopBlock.js.map +1 -1
  81. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphThrottleBlock.d.ts +1 -1
  82. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphThrottleBlock.js +1 -1
  83. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphThrottleBlock.js.map +1 -1
  84. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphWaitAllBlock.d.ts +1 -1
  85. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphWaitAllBlock.js +1 -1
  86. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphWaitAllBlock.js.map +1 -1
  87. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphWhileLoopBlock.d.ts +1 -1
  88. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphWhileLoopBlock.js +1 -1
  89. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphWhileLoopBlock.js.map +1 -1
  90. package/FlowGraph/Blocks/Execution/flowGraphConsoleLogBlock.d.ts +1 -1
  91. package/FlowGraph/Blocks/Execution/flowGraphConsoleLogBlock.js +1 -1
  92. package/FlowGraph/Blocks/Execution/flowGraphConsoleLogBlock.js.map +1 -1
  93. package/FlowGraph/Blocks/Execution/flowGraphSendCustomEventBlock.d.ts +1 -1
  94. package/FlowGraph/Blocks/Execution/flowGraphSendCustomEventBlock.js +1 -1
  95. package/FlowGraph/Blocks/Execution/flowGraphSendCustomEventBlock.js.map +1 -1
  96. package/FlowGraph/Blocks/Execution/flowGraphSetPropertyBlock.d.ts +13 -5
  97. package/FlowGraph/Blocks/Execution/flowGraphSetPropertyBlock.js +9 -5
  98. package/FlowGraph/Blocks/Execution/flowGraphSetPropertyBlock.js.map +1 -1
  99. package/FlowGraph/Blocks/Execution/flowGraphSetVariableBlock.d.ts +1 -1
  100. package/FlowGraph/Blocks/Execution/flowGraphSetVariableBlock.js +1 -1
  101. package/FlowGraph/Blocks/Execution/flowGraphSetVariableBlock.js.map +1 -1
  102. package/FlowGraph/flowGraph.d.ts +24 -6
  103. package/FlowGraph/flowGraph.js +12 -12
  104. package/FlowGraph/flowGraph.js.map +1 -1
  105. package/FlowGraph/flowGraphBlock.d.ts +31 -2
  106. package/FlowGraph/flowGraphBlock.js +8 -3
  107. package/FlowGraph/flowGraphBlock.js.map +1 -1
  108. package/FlowGraph/flowGraphContext.d.ts +5 -1
  109. package/FlowGraph/flowGraphContext.js +4 -2
  110. package/FlowGraph/flowGraphContext.js.map +1 -1
  111. package/FlowGraph/flowGraphCoordinator.d.ts +22 -2
  112. package/FlowGraph/flowGraphCoordinator.js +7 -11
  113. package/FlowGraph/flowGraphCoordinator.js.map +1 -1
  114. package/FlowGraph/{flowGraphWithOnDoneExecutionBlock.js → flowGraphExecutionBlockWithOutSignal.js} +1 -1
  115. package/FlowGraph/flowGraphExecutionBlockWithOutSignal.js.map +1 -0
  116. package/FlowGraph/flowGraphPathConverter.d.ts +13 -0
  117. package/FlowGraph/flowGraphPathConverter.js +31 -0
  118. package/FlowGraph/flowGraphPathConverter.js.map +1 -0
  119. package/FlowGraph/flowGraphPathConverterComponent.d.ts +19 -0
  120. package/FlowGraph/flowGraphPathConverterComponent.js +31 -0
  121. package/FlowGraph/flowGraphPathConverterComponent.js.map +1 -0
  122. package/FlowGraph/index.d.ts +0 -1
  123. package/FlowGraph/index.js +0 -1
  124. package/FlowGraph/index.js.map +1 -1
  125. package/FlowGraph/serialization.d.ts +8 -0
  126. package/FlowGraph/serialization.js +12 -4
  127. package/FlowGraph/serialization.js.map +1 -1
  128. package/FlowGraph/typeDefinitions.d.ts +86 -1
  129. package/FlowGraph/typeDefinitions.js.map +1 -1
  130. package/Materials/Textures/dynamicTexture.js +2 -1
  131. package/Materials/Textures/dynamicTexture.js.map +1 -1
  132. package/Materials/Textures/hardwareTextureWrapper.d.ts +1 -1
  133. package/Materials/Textures/hardwareTextureWrapper.js.map +1 -1
  134. package/Materials/Textures/internalTexture.d.ts +6 -2
  135. package/Materials/Textures/internalTexture.js +6 -4
  136. package/Materials/Textures/internalTexture.js.map +1 -1
  137. package/Materials/Textures/renderTargetTexture.js +10 -10
  138. package/Materials/Textures/renderTargetTexture.js.map +1 -1
  139. package/Materials/material.d.ts +1 -1
  140. package/Materials/material.js +3 -1
  141. package/Materials/material.js.map +1 -1
  142. package/Materials/shaderMaterial.js +2 -2
  143. package/Materials/shaderMaterial.js.map +1 -1
  144. package/Materials/uniformBuffer.d.ts +2 -0
  145. package/Materials/uniformBuffer.js +16 -0
  146. package/Materials/uniformBuffer.js.map +1 -1
  147. package/Meshes/GreasedLine/greasedLineMesh.d.ts +2 -1
  148. package/Meshes/GreasedLine/greasedLineMesh.js.map +1 -1
  149. package/Meshes/GreasedLine/greasedLineRibbonMesh.d.ts +2 -1
  150. package/Meshes/GreasedLine/greasedLineRibbonMesh.js.map +1 -1
  151. package/Meshes/WebGPU/webgpuDataBuffer.d.ts +1 -0
  152. package/Meshes/WebGPU/webgpuDataBuffer.js +2 -0
  153. package/Meshes/WebGPU/webgpuDataBuffer.js.map +1 -1
  154. package/Meshes/geometry.js +3 -3
  155. package/Meshes/geometry.js.map +1 -1
  156. package/Misc/brdfTextureTools.js +9 -7
  157. package/Misc/brdfTextureTools.js.map +1 -1
  158. package/Misc/rgbdTextureTools.js +37 -37
  159. package/Misc/rgbdTextureTools.js.map +1 -1
  160. package/ObjectModel/index.d.ts +1 -0
  161. package/ObjectModel/index.js +2 -0
  162. package/ObjectModel/index.js.map +1 -0
  163. package/ObjectModel/objectModelInterfaces.d.ts +21 -0
  164. package/ObjectModel/objectModelInterfaces.js +2 -0
  165. package/ObjectModel/objectModelInterfaces.js.map +1 -0
  166. package/Particles/computeShaderParticleSystem.js +2 -2
  167. package/Particles/computeShaderParticleSystem.js.map +1 -1
  168. package/Particles/gpuParticleSystem.js +1 -1
  169. package/Particles/gpuParticleSystem.js.map +1 -1
  170. package/Particles/particleSystem.js +2 -5
  171. package/Particles/particleSystem.js.map +1 -1
  172. package/Rendering/fluidRenderer/fluidRenderer.js +1 -6
  173. package/Rendering/fluidRenderer/fluidRenderer.js.map +1 -1
  174. package/Rendering/renderingManager.js +1 -1
  175. package/Rendering/renderingManager.js.map +1 -1
  176. package/XR/features/WebXRControllerTeleportation.d.ts +9 -1
  177. package/XR/features/WebXRControllerTeleportation.js +10 -0
  178. package/XR/features/WebXRControllerTeleportation.js.map +1 -1
  179. package/XR/webXRCamera.js.map +1 -1
  180. package/index.d.ts +1 -0
  181. package/index.js +1 -0
  182. package/index.js.map +1 -1
  183. package/package.json +1 -1
  184. package/types.d.ts +5 -1
  185. package/types.js +0 -2
  186. package/types.js.map +1 -1
  187. package/FlowGraph/flowGraphPath.d.ts +0 -45
  188. package/FlowGraph/flowGraphPath.js +0 -156
  189. package/FlowGraph/flowGraphPath.js.map +0 -1
  190. package/FlowGraph/flowGraphPathComponent.d.ts +0 -42
  191. package/FlowGraph/flowGraphPathComponent.js +0 -51
  192. package/FlowGraph/flowGraphPathComponent.js.map +0 -1
  193. package/FlowGraph/flowGraphWithOnDoneExecutionBlock.js.map +0 -1
  194. /package/FlowGraph/{flowGraphWithOnDoneExecutionBlock.d.ts → flowGraphExecutionBlockWithOutSignal.d.ts} +0 -0
@@ -1,45 +0,0 @@
1
- import type { FlowGraphContext } from "./flowGraphContext";
2
- /**
3
- * @experimental
4
- * An extension to add new functionality to path resolution
5
- */
6
- export interface IPathExtension {
7
- shouldProcess(path: FlowGraphPath): boolean;
8
- processGet(path: FlowGraphPath, context: FlowGraphContext): any;
9
- processSet(path: FlowGraphPath, context: FlowGraphContext, value: any): void;
10
- }
11
- export declare class FlowGraphPath {
12
- /**
13
- * Extensions that can be used to extend the functionality of the path.
14
- */
15
- static Extensions: IPathExtension[];
16
- private _path;
17
- private _templateSubstitutions;
18
- private _pathParts;
19
- private _templateStrings;
20
- /**
21
- * Whether this path has any template strings in it.
22
- */
23
- hasTemplateStrings: boolean;
24
- constructor(path: string);
25
- private _getPathPartsAndTemplateStrings;
26
- /**
27
- * Gets the template strings in this path.
28
- * @returns an array containing the template strings in this path.
29
- */
30
- getTemplateStrings(): string[];
31
- setTemplateSubstitution(template: string, value: number): void;
32
- private _evaluateTemplates;
33
- /**
34
- * Gets the final path after all template strings have been substituted.
35
- * @returns a string representing the final path.
36
- */
37
- getFinalPath(): string;
38
- private _evaluatePath;
39
- getProperty(context: FlowGraphContext): any;
40
- setProperty(context: FlowGraphContext, value: any): void;
41
- getClassName(): string;
42
- serialize(serializationObject?: any): any;
43
- static Parse(serializationObject: any): FlowGraphPath;
44
- static ClassName: string;
45
- }
@@ -1,156 +0,0 @@
1
- import { RegisterClass } from "../Misc/typeStore.js";
2
- // Path: /x/{y}/z/.../w
3
- const PATH_REGEX = /([./])({?\w+}?)/g;
4
- /*
5
- * @experimental
6
- * This class represents a path of type /x/{y}/z/.../w that is evaluated
7
- * on a target object. The string between curly braces ({y} in the example)
8
- * is a special template string that is replaced during runtime.
9
- */
10
- export class FlowGraphPath {
11
- constructor(path) {
12
- this._templateSubstitutions = {}; // this is a map of template strings to values that are substituted during runtime
13
- this._pathParts = []; // this is the path divided into parts, with each part being either a template string or a regular string
14
- this._templateStrings = []; // this is the list of template strings in the path
15
- /**
16
- * Whether this path has any template strings in it.
17
- */
18
- this.hasTemplateStrings = false;
19
- this._path = path;
20
- const { pathParts, templateStrings } = this._getPathPartsAndTemplateStrings(path);
21
- this._pathParts = pathParts;
22
- this._templateStrings = templateStrings;
23
- this.hasTemplateStrings = templateStrings.length > 0;
24
- }
25
- _getPathPartsAndTemplateStrings(path) {
26
- const allMatches = path.matchAll(PATH_REGEX);
27
- const pathParts = [];
28
- const templateStrings = [];
29
- let nextMatch = allMatches.next();
30
- while (!nextMatch.done) {
31
- const singleMatch = nextMatch.value;
32
- const [, separator, value] = singleMatch;
33
- let valueWithoutBraces = value;
34
- let isTemplate = false;
35
- if (value.startsWith("{") && value.endsWith("}")) {
36
- isTemplate = true;
37
- valueWithoutBraces = value.slice(1, value.length - 1);
38
- if (templateStrings.indexOf(valueWithoutBraces) === -1) {
39
- templateStrings.push(valueWithoutBraces);
40
- }
41
- }
42
- pathParts.push({
43
- value,
44
- isTemplate,
45
- valueWithoutBraces,
46
- separator,
47
- });
48
- nextMatch = allMatches.next();
49
- }
50
- return { pathParts, templateStrings };
51
- }
52
- /**
53
- * Gets the template strings in this path.
54
- * @returns an array containing the template strings in this path.
55
- */
56
- getTemplateStrings() {
57
- return this._templateStrings;
58
- }
59
- setTemplateSubstitution(template, value) {
60
- if (this._templateStrings.indexOf(template) === -1) {
61
- throw new Error(`Template string ${template} does not exist in path ${this._path}`);
62
- }
63
- this._templateSubstitutions[template] = value;
64
- }
65
- _evaluateTemplates() {
66
- for (const pathPart of this._pathParts) {
67
- if (pathPart.isTemplate) {
68
- const value = this._templateSubstitutions[pathPart.valueWithoutBraces];
69
- if (value === undefined) {
70
- throw new Error(`Template string ${pathPart.value} was not substituted`);
71
- }
72
- pathPart.replacedValue = value.toString();
73
- }
74
- }
75
- }
76
- /**
77
- * Gets the final path after all template strings have been substituted.
78
- * @returns a string representing the final path.
79
- */
80
- getFinalPath() {
81
- let finalPath = "";
82
- for (const pathPart of this._pathParts) {
83
- finalPath += pathPart.separator;
84
- if (pathPart.isTemplate) {
85
- finalPath += pathPart.replacedValue;
86
- }
87
- else {
88
- finalPath += pathPart.value;
89
- }
90
- }
91
- return finalPath;
92
- }
93
- /*
94
- * Breaks the path into a chain of entities, for example,
95
- * /x/y/z would be split into [context._userVariables.x, context._userVariables.x.y, context._userVariables.x.y.z],
96
- * and the path that was split, i.e. /x/y/z, would be split into ["x", "y", "z"].
97
- */
98
- _evaluatePath(context) {
99
- this._evaluateTemplates();
100
- const entityChain = [];
101
- const splitPath = [];
102
- let currentTarget = context.userVariables;
103
- for (const pathPart of this._pathParts) {
104
- if (currentTarget === undefined) {
105
- throw new Error(`Could not find path ${this.getFinalPath()} in target context`);
106
- }
107
- const value = pathPart.isTemplate ? pathPart.replacedValue : pathPart.value;
108
- if (!value) {
109
- throw new Error(`Invalid path ${this.getFinalPath()}`);
110
- }
111
- currentTarget = currentTarget[value];
112
- entityChain.push(currentTarget);
113
- splitPath.push(value);
114
- }
115
- return { entityChain, splitPath };
116
- }
117
- getProperty(context) {
118
- for (const extension of FlowGraphPath.Extensions) {
119
- if (extension.shouldProcess(this)) {
120
- return extension.processGet(this, context);
121
- }
122
- }
123
- const { entityChain } = this._evaluatePath(context);
124
- return entityChain[entityChain.length - 1];
125
- }
126
- setProperty(context, value) {
127
- for (const extension of FlowGraphPath.Extensions) {
128
- if (extension.shouldProcess(this)) {
129
- extension.processSet(this, context, value);
130
- return;
131
- }
132
- }
133
- const { entityChain, splitPath } = this._evaluatePath(context);
134
- const target = entityChain[entityChain.length - 2];
135
- const property = splitPath[splitPath.length - 1];
136
- target[property] = value;
137
- }
138
- getClassName() {
139
- return FlowGraphPath.ClassName;
140
- }
141
- serialize(serializationObject = {}) {
142
- serializationObject.path = this._path;
143
- serializationObject.className = this.getClassName();
144
- return serializationObject;
145
- }
146
- static Parse(serializationObject) {
147
- return new FlowGraphPath(serializationObject.path);
148
- }
149
- }
150
- /**
151
- * Extensions that can be used to extend the functionality of the path.
152
- */
153
- FlowGraphPath.Extensions = [];
154
- FlowGraphPath.ClassName = "FGPath";
155
- RegisterClass(FlowGraphPath.ClassName, FlowGraphPath);
156
- //# sourceMappingURL=flowGraphPath.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"flowGraphPath.js","sourceRoot":"","sources":["../../../../dev/core/src/FlowGraph/flowGraphPath.ts"],"names":[],"mappings":"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","sourcesContent":["import { RegisterClass } from \"../Misc/typeStore\";\r\nimport type { FlowGraphContext } from \"./flowGraphContext\";\r\n\r\n// Path: /x/{y}/z/.../w\r\nconst PATH_REGEX = /([./])({?\\w+}?)/g;\r\n\r\ninterface IPathPart {\r\n value: string;\r\n isTemplate: boolean;\r\n valueWithoutBraces: string;\r\n replacedValue?: string;\r\n separator: string;\r\n}\r\n\r\n/**\r\n * @experimental\r\n * An extension to add new functionality to path resolution\r\n */\r\nexport interface IPathExtension {\r\n shouldProcess(path: FlowGraphPath): boolean;\r\n processGet(path: FlowGraphPath, context: FlowGraphContext): any;\r\n processSet(path: FlowGraphPath, context: FlowGraphContext, value: any): void;\r\n}\r\n\r\n/*\r\n * @experimental\r\n * This class represents a path of type /x/{y}/z/.../w that is evaluated\r\n * on a target object. The string between curly braces ({y} in the example)\r\n * is a special template string that is replaced during runtime.\r\n */\r\nexport class FlowGraphPath {\r\n /**\r\n * Extensions that can be used to extend the functionality of the path.\r\n */\r\n static Extensions: IPathExtension[] = [];\r\n\r\n private _path: string;\r\n private _templateSubstitutions: {\r\n [key: string]: number;\r\n } = {}; // this is a map of template strings to values that are substituted during runtime\r\n private _pathParts: IPathPart[] = []; // this is the path divided into parts, with each part being either a template string or a regular string\r\n private _templateStrings: string[] = []; // this is the list of template strings in the path\r\n /**\r\n * Whether this path has any template strings in it.\r\n */\r\n public hasTemplateStrings: boolean = false;\r\n\r\n constructor(path: string) {\r\n this._path = path;\r\n const { pathParts, templateStrings } = this._getPathPartsAndTemplateStrings(path);\r\n this._pathParts = pathParts;\r\n this._templateStrings = templateStrings;\r\n this.hasTemplateStrings = templateStrings.length > 0;\r\n }\r\n\r\n private _getPathPartsAndTemplateStrings(path: string) {\r\n const allMatches = path.matchAll(PATH_REGEX);\r\n\r\n const pathParts = [];\r\n const templateStrings = [];\r\n let nextMatch = allMatches.next();\r\n while (!nextMatch.done) {\r\n const singleMatch = nextMatch.value;\r\n const [, separator, value] = singleMatch;\r\n let valueWithoutBraces = value;\r\n let isTemplate = false;\r\n if (value.startsWith(\"{\") && value.endsWith(\"}\")) {\r\n isTemplate = true;\r\n valueWithoutBraces = value.slice(1, value.length - 1);\r\n if (templateStrings.indexOf(valueWithoutBraces) === -1) {\r\n templateStrings.push(valueWithoutBraces);\r\n }\r\n }\r\n pathParts.push({\r\n value,\r\n isTemplate,\r\n valueWithoutBraces,\r\n separator,\r\n });\r\n nextMatch = allMatches.next();\r\n }\r\n return { pathParts, templateStrings };\r\n }\r\n\r\n /**\r\n * Gets the template strings in this path.\r\n * @returns an array containing the template strings in this path.\r\n */\r\n getTemplateStrings(): string[] {\r\n return this._templateStrings;\r\n }\r\n\r\n setTemplateSubstitution(template: string, value: number) {\r\n if (this._templateStrings.indexOf(template) === -1) {\r\n throw new Error(`Template string ${template} does not exist in path ${this._path}`);\r\n }\r\n this._templateSubstitutions[template] = value;\r\n }\r\n\r\n private _evaluateTemplates() {\r\n for (const pathPart of this._pathParts) {\r\n if (pathPart.isTemplate) {\r\n const value = this._templateSubstitutions[pathPart.valueWithoutBraces];\r\n if (value === undefined) {\r\n throw new Error(`Template string ${pathPart.value} was not substituted`);\r\n }\r\n pathPart.replacedValue = value.toString();\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Gets the final path after all template strings have been substituted.\r\n * @returns a string representing the final path.\r\n */\r\n public getFinalPath() {\r\n let finalPath = \"\";\r\n for (const pathPart of this._pathParts) {\r\n finalPath += pathPart.separator;\r\n if (pathPart.isTemplate) {\r\n finalPath += pathPart.replacedValue;\r\n } else {\r\n finalPath += pathPart.value;\r\n }\r\n }\r\n return finalPath;\r\n }\r\n\r\n /*\r\n * Breaks the path into a chain of entities, for example,\r\n * /x/y/z would be split into [context._userVariables.x, context._userVariables.x.y, context._userVariables.x.y.z],\r\n * and the path that was split, i.e. /x/y/z, would be split into [\"x\", \"y\", \"z\"].\r\n */\r\n private _evaluatePath(context: FlowGraphContext): { entityChain: any[]; splitPath: string[] } {\r\n this._evaluateTemplates();\r\n\r\n const entityChain = [];\r\n const splitPath = [];\r\n let currentTarget = context.userVariables;\r\n for (const pathPart of this._pathParts) {\r\n if (currentTarget === undefined) {\r\n throw new Error(`Could not find path ${this.getFinalPath()} in target context`);\r\n }\r\n const value = pathPart.isTemplate ? pathPart.replacedValue : pathPart.value;\r\n if (!value) {\r\n throw new Error(`Invalid path ${this.getFinalPath()}`);\r\n }\r\n currentTarget = currentTarget[value];\r\n entityChain.push(currentTarget);\r\n splitPath.push(value);\r\n }\r\n\r\n return { entityChain, splitPath };\r\n }\r\n\r\n getProperty(context: FlowGraphContext): any {\r\n for (const extension of FlowGraphPath.Extensions) {\r\n if (extension.shouldProcess(this)) {\r\n return extension.processGet(this, context);\r\n }\r\n }\r\n const { entityChain } = this._evaluatePath(context);\r\n return entityChain[entityChain.length - 1];\r\n }\r\n\r\n setProperty(context: FlowGraphContext, value: any) {\r\n for (const extension of FlowGraphPath.Extensions) {\r\n if (extension.shouldProcess(this)) {\r\n extension.processSet(this, context, value);\r\n return;\r\n }\r\n }\r\n const { entityChain, splitPath } = this._evaluatePath(context);\r\n const target = entityChain[entityChain.length - 2];\r\n const property = splitPath[splitPath.length - 1];\r\n target[property] = value;\r\n }\r\n\r\n getClassName() {\r\n return FlowGraphPath.ClassName;\r\n }\r\n\r\n serialize(serializationObject: any = {}) {\r\n serializationObject.path = this._path;\r\n serializationObject.className = this.getClassName();\r\n return serializationObject;\r\n }\r\n\r\n static Parse(serializationObject: any) {\r\n return new FlowGraphPath(serializationObject.path);\r\n }\r\n\r\n public static ClassName = \"FGPath\";\r\n}\r\nRegisterClass(FlowGraphPath.ClassName, FlowGraphPath);\r\n"]}
@@ -1,42 +0,0 @@
1
- import type { FlowGraphBlock } from "./flowGraphBlock";
2
- import type { FlowGraphContext } from "./flowGraphContext";
3
- import type { FlowGraphDataConnection } from "./flowGraphDataConnection";
4
- import type { FlowGraphPath } from "./flowGraphPath";
5
- /**
6
- * This class represents a component that has a path and a series of numeric
7
- * data inputs which fill in the template strings in the path.
8
- */
9
- export declare class FlowGraphPathComponent {
10
- /**
11
- * The path that this component is associated with.
12
- */
13
- path: FlowGraphPath;
14
- /**
15
- * The list of numeric data inputs that fill in the template strings in the path.
16
- */
17
- templateStringInputs: FlowGraphDataConnection<number>[];
18
- /**
19
- * The block that owns this component.
20
- */
21
- ownerBlock: FlowGraphBlock;
22
- constructor(path: FlowGraphPath, ownerBlock: FlowGraphBlock);
23
- /**
24
- * Get the inputs of all of the numeric data inputs and use them to fill in the
25
- * template strings in the path.
26
- * @param context the context to use to get the values of the numeric data inputs
27
- * @returns the path with the template strings filled in
28
- */
29
- substitutePath(context: FlowGraphContext): FlowGraphPath;
30
- /**
31
- * Substitutes the template strings in the path and gets the property on the target object.
32
- * @param context
33
- * @returns
34
- */
35
- getProperty(context: FlowGraphContext): any;
36
- /**
37
- * Substitutes the template strings in the path and sets the property on the target object.
38
- * @param context
39
- * @param value
40
- */
41
- setProperty(context: FlowGraphContext, value: any): void;
42
- }
@@ -1,51 +0,0 @@
1
- import { RichTypeNumber } from "./flowGraphRichTypes.js";
2
- /**
3
- * This class represents a component that has a path and a series of numeric
4
- * data inputs which fill in the template strings in the path.
5
- */
6
- export class FlowGraphPathComponent {
7
- constructor(path, ownerBlock) {
8
- /**
9
- * The list of numeric data inputs that fill in the template strings in the path.
10
- */
11
- this.templateStringInputs = [];
12
- this.path = path;
13
- this.ownerBlock = ownerBlock;
14
- for (const templateString of path.getTemplateStrings()) {
15
- this.templateStringInputs.push(this.ownerBlock.registerDataInput(templateString, RichTypeNumber));
16
- }
17
- }
18
- /**
19
- * Get the inputs of all of the numeric data inputs and use them to fill in the
20
- * template strings in the path.
21
- * @param context the context to use to get the values of the numeric data inputs
22
- * @returns the path with the template strings filled in
23
- */
24
- substitutePath(context) {
25
- for (const templateStringInput of this.templateStringInputs) {
26
- const templateStringValue = templateStringInput.getValue(context);
27
- const templateString = templateStringInput.name;
28
- this.path.setTemplateSubstitution(templateString, templateStringValue);
29
- }
30
- return this.path;
31
- }
32
- /**
33
- * Substitutes the template strings in the path and gets the property on the target object.
34
- * @param context
35
- * @returns
36
- */
37
- getProperty(context) {
38
- this.substitutePath(context);
39
- return this.path.getProperty(context);
40
- }
41
- /**
42
- * Substitutes the template strings in the path and sets the property on the target object.
43
- * @param context
44
- * @param value
45
- */
46
- setProperty(context, value) {
47
- this.substitutePath(context);
48
- this.path.setProperty(context, value);
49
- }
50
- }
51
- //# sourceMappingURL=flowGraphPathComponent.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"flowGraphPathComponent.js","sourceRoot":"","sources":["../../../../dev/core/src/FlowGraph/flowGraphPathComponent.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD;;;GAGG;AACH,MAAM,OAAO,sBAAsB;IAc/B,YAAY,IAAmB,EAAE,UAA0B;QAT3D;;WAEG;QACH,yBAAoB,GAAsC,EAAE,CAAC;QAOzD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,KAAK,MAAM,cAAc,IAAI,IAAI,CAAC,kBAAkB,EAAE,EAAE;YACpD,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC,CAAC;SACrG;IACL,CAAC;IAED;;;;;OAKG;IACH,cAAc,CAAC,OAAyB;QACpC,KAAK,MAAM,mBAAmB,IAAI,IAAI,CAAC,oBAAoB,EAAE;YACzD,MAAM,mBAAmB,GAAG,mBAAmB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAClE,MAAM,cAAc,GAAG,mBAAmB,CAAC,IAAI,CAAC;YAChD,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,cAAc,EAAE,mBAAmB,CAAC,CAAC;SAC1E;QACD,OAAO,IAAI,CAAC,IAAI,CAAC;IACrB,CAAC;IAED;;;;OAIG;IACH,WAAW,CAAC,OAAyB;QACjC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAC7B,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAC1C,CAAC;IAED;;;;OAIG;IACH,WAAW,CAAC,OAAyB,EAAE,KAAU;QAC7C,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAC7B,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC1C,CAAC;CACJ","sourcesContent":["import type { FlowGraphBlock } from \"./flowGraphBlock\";\r\nimport type { FlowGraphContext } from \"./flowGraphContext\";\r\nimport type { FlowGraphDataConnection } from \"./flowGraphDataConnection\";\r\nimport type { FlowGraphPath } from \"./flowGraphPath\";\r\nimport { RichTypeNumber } from \"./flowGraphRichTypes\";\r\n\r\n/**\r\n * This class represents a component that has a path and a series of numeric\r\n * data inputs which fill in the template strings in the path.\r\n */\r\nexport class FlowGraphPathComponent {\r\n /**\r\n * The path that this component is associated with.\r\n */\r\n path: FlowGraphPath;\r\n /**\r\n * The list of numeric data inputs that fill in the template strings in the path.\r\n */\r\n templateStringInputs: FlowGraphDataConnection<number>[] = [];\r\n /**\r\n * The block that owns this component.\r\n */\r\n ownerBlock: FlowGraphBlock;\r\n\r\n constructor(path: FlowGraphPath, ownerBlock: FlowGraphBlock) {\r\n this.path = path;\r\n this.ownerBlock = ownerBlock;\r\n for (const templateString of path.getTemplateStrings()) {\r\n this.templateStringInputs.push(this.ownerBlock.registerDataInput(templateString, RichTypeNumber));\r\n }\r\n }\r\n\r\n /**\r\n * Get the inputs of all of the numeric data inputs and use them to fill in the\r\n * template strings in the path.\r\n * @param context the context to use to get the values of the numeric data inputs\r\n * @returns the path with the template strings filled in\r\n */\r\n substitutePath(context: FlowGraphContext): FlowGraphPath {\r\n for (const templateStringInput of this.templateStringInputs) {\r\n const templateStringValue = templateStringInput.getValue(context);\r\n const templateString = templateStringInput.name;\r\n this.path.setTemplateSubstitution(templateString, templateStringValue);\r\n }\r\n return this.path;\r\n }\r\n\r\n /**\r\n * Substitutes the template strings in the path and gets the property on the target object.\r\n * @param context\r\n * @returns\r\n */\r\n getProperty(context: FlowGraphContext): any {\r\n this.substitutePath(context);\r\n return this.path.getProperty(context);\r\n }\r\n\r\n /**\r\n * Substitutes the template strings in the path and sets the property on the target object.\r\n * @param context\r\n * @param value\r\n */\r\n setProperty(context: FlowGraphContext, value: any) {\r\n this.substitutePath(context);\r\n this.path.setProperty(context, value);\r\n }\r\n}\r\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"flowGraphWithOnDoneExecutionBlock.js","sourceRoot":"","sources":["../../../../dev/core/src/FlowGraph/flowGraphWithOnDoneExecutionBlock.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAGpE;;;;;GAKG;AACH,MAAM,OAAgB,oCAAqC,SAAQ,uBAAuB;IAMtF,YAAsB,MAAqC;QACvD,KAAK,CAAC,MAAM,CAAC,CAAC;QACd,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;IACjD,CAAC;CACJ","sourcesContent":["import type { IFlowGraphBlockConfiguration } from \"./flowGraphBlock\";\r\nimport { FlowGraphExecutionBlock } from \"./flowGraphExecutionBlock\";\r\nimport type { FlowGraphSignalConnection } from \"./flowGraphSignalConnection\";\r\n\r\n/**\r\n * @experimental\r\n * An execution block that has an out signal. This signal is triggered when the synchronous execution of this block is done.\r\n * Most execution blocks will inherit from this, except for the ones that have multiple signals to be triggered.\r\n * (such as if blocks)\r\n */\r\nexport abstract class FlowGraphExecutionBlockWithOutSignal extends FlowGraphExecutionBlock {\r\n /**\r\n * Output connection: The signal that is triggered when the execution of this block is done.\r\n */\r\n public readonly out: FlowGraphSignalConnection;\r\n\r\n protected constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(config);\r\n this.out = this._registerSignalOutput(\"out\");\r\n }\r\n}\r\n"]}