@babylonjs/core 6.21.2 → 6.21.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.
- package/Animations/animatable.d.ts +4 -0
- package/Animations/animatable.js +6 -0
- package/Animations/animatable.js.map +1 -1
- package/Animations/animationGroup.d.ts +9 -0
- package/Animations/animationGroup.js +14 -0
- package/Animations/animationGroup.js.map +1 -1
- package/Buffers/buffer.d.ts +31 -2
- package/Buffers/buffer.js +100 -65
- package/Buffers/buffer.js.map +1 -1
- package/Engines/engine.d.ts +5 -0
- package/Engines/thinEngine.js +2 -2
- package/Engines/thinEngine.js.map +1 -1
- package/FlowGraph/Blocks/Data/Logic/flowGraphBitwiseBlocks.d.ts +59 -0
- package/FlowGraph/Blocks/Data/Logic/flowGraphBitwiseBlocks.js +86 -0
- package/FlowGraph/Blocks/Data/Logic/flowGraphBitwiseBlocks.js.map +1 -0
- package/FlowGraph/Blocks/Data/Logic/index.d.ts +2 -0
- package/FlowGraph/Blocks/Data/Logic/index.js +3 -0
- package/FlowGraph/Blocks/Data/Logic/index.js.map +1 -0
- package/FlowGraph/Blocks/Data/Math/flowGraphNumberMathBlocks.d.ts +2 -1
- package/FlowGraph/Blocks/Data/Math/flowGraphNumberMathBlocks.js +6 -2
- package/FlowGraph/Blocks/Data/Math/flowGraphNumberMathBlocks.js.map +1 -1
- package/FlowGraph/Blocks/Data/Math/index.d.ts +4 -0
- package/FlowGraph/Blocks/Data/Math/index.js +5 -0
- package/FlowGraph/Blocks/Data/Math/index.js.map +1 -0
- package/FlowGraph/Blocks/Data/flowGraphBinaryOperationBlock.js +1 -1
- package/FlowGraph/Blocks/Data/flowGraphBinaryOperationBlock.js.map +1 -1
- package/FlowGraph/Blocks/Data/flowGraphConditionalDataBlock.js +1 -1
- package/FlowGraph/Blocks/Data/flowGraphConditionalDataBlock.js.map +1 -1
- package/FlowGraph/Blocks/Data/flowGraphConstantOperationBlock.d.ts +2 -1
- package/FlowGraph/Blocks/Data/flowGraphConstantOperationBlock.js +2 -2
- package/FlowGraph/Blocks/Data/flowGraphConstantOperationBlock.js.map +1 -1
- package/FlowGraph/Blocks/Data/flowGraphGetVariableBlock.d.ts +1 -8
- package/FlowGraph/Blocks/Data/flowGraphGetVariableBlock.js +2 -5
- package/FlowGraph/Blocks/Data/flowGraphGetVariableBlock.js.map +1 -1
- package/FlowGraph/Blocks/Data/flowGraphUnaryOperationBlock.js +1 -1
- package/FlowGraph/Blocks/Data/flowGraphUnaryOperationBlock.js.map +1 -1
- package/FlowGraph/Blocks/Data/index.d.ts +2 -4
- package/FlowGraph/Blocks/Data/index.js +4 -4
- package/FlowGraph/Blocks/Data/index.js.map +1 -1
- package/FlowGraph/Blocks/Event/flowGraphReceiveCustomEventBlock.js +1 -1
- package/FlowGraph/Blocks/Event/flowGraphReceiveCustomEventBlock.js.map +1 -1
- package/FlowGraph/Blocks/Execution/Animation/flowGraphPlayAnimationBlock.js +1 -3
- package/FlowGraph/Blocks/Execution/Animation/flowGraphPlayAnimationBlock.js.map +1 -1
- package/FlowGraph/Blocks/Execution/{flowGraphConditionalBlock.d.ts → ControlFlow/flowGraphConditionalBlock.d.ts} +5 -5
- package/FlowGraph/Blocks/Execution/{flowGraphConditionalBlock.js → ControlFlow/flowGraphConditionalBlock.js} +3 -3
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphConditionalBlock.js.map +1 -0
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphCounterBlock.d.ts +20 -0
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphCounterBlock.js +26 -0
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphCounterBlock.js.map +1 -0
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphDebounceBlock.d.ts +24 -0
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphDebounceBlock.js +30 -0
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphDebounceBlock.js.map +1 -0
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphDoNBlock.d.ts +24 -0
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphDoNBlock.js +27 -0
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphDoNBlock.js.map +1 -0
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphFlipFlopBlock.d.ts +24 -0
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphFlipFlopBlock.js +27 -0
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphFlipFlopBlock.js.map +1 -0
- package/FlowGraph/Blocks/Execution/{flowGraphForLoopBlock.d.ts → ControlFlow/flowGraphForLoopBlock.d.ts} +4 -4
- package/FlowGraph/Blocks/Execution/{flowGraphForLoopBlock.js → ControlFlow/flowGraphForLoopBlock.js} +4 -5
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphForLoopBlock.js.map +1 -0
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphMultiGateBlock.d.ts +51 -0
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphMultiGateBlock.js +77 -0
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphMultiGateBlock.js.map +1 -0
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphSwitchBlock.d.ts +31 -0
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphSwitchBlock.js +32 -0
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphSwitchBlock.js.map +1 -0
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphThrottleBlock.d.ts +24 -0
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphThrottleBlock.js +31 -0
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphThrottleBlock.js.map +1 -0
- package/FlowGraph/Blocks/Execution/{flowGraphTimerBlock.d.ts → ControlFlow/flowGraphTimerBlock.d.ts} +5 -9
- package/FlowGraph/Blocks/Execution/{flowGraphTimerBlock.js → ControlFlow/flowGraphTimerBlock.js} +5 -9
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphTimerBlock.js.map +1 -0
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphWaitAllBlock.d.ts +32 -0
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphWaitAllBlock.js +62 -0
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphWaitAllBlock.js.map +1 -0
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphWhileLoopBlock.d.ts +31 -0
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphWhileLoopBlock.js +27 -0
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphWhileLoopBlock.js.map +1 -0
- package/FlowGraph/Blocks/Execution/ControlFlow/index.d.ts +12 -0
- package/FlowGraph/Blocks/Execution/ControlFlow/index.js +13 -0
- package/FlowGraph/Blocks/Execution/ControlFlow/index.js.map +1 -0
- package/FlowGraph/Blocks/Execution/flowGraphLogBlock.js +0 -1
- package/FlowGraph/Blocks/Execution/flowGraphLogBlock.js.map +1 -1
- package/FlowGraph/Blocks/Execution/flowGraphSetVariableBlock.d.ts +1 -5
- package/FlowGraph/Blocks/Execution/flowGraphSetVariableBlock.js +3 -8
- package/FlowGraph/Blocks/Execution/flowGraphSetVariableBlock.js.map +1 -1
- package/FlowGraph/Blocks/Execution/index.d.ts +1 -3
- package/FlowGraph/Blocks/Execution/index.js +2 -3
- package/FlowGraph/Blocks/Execution/index.js.map +1 -1
- package/FlowGraph/flowGraphConnection.d.ts +4 -0
- package/FlowGraph/flowGraphConnection.js +5 -0
- package/FlowGraph/flowGraphConnection.js.map +1 -1
- package/FlowGraph/flowGraphContext.d.ts +42 -2
- package/FlowGraph/flowGraphContext.js +58 -6
- package/FlowGraph/flowGraphContext.js.map +1 -1
- package/FlowGraph/flowGraphDataConnection.d.ts +19 -2
- package/FlowGraph/flowGraphDataConnection.js +29 -5
- package/FlowGraph/flowGraphDataConnection.js.map +1 -1
- package/FlowGraph/flowGraphExecutionBlock.d.ts +1 -1
- package/FlowGraph/flowGraphExecutionBlock.js.map +1 -1
- package/FlowGraph/flowGraphSignalConnection.js +1 -1
- package/FlowGraph/flowGraphSignalConnection.js.map +1 -1
- package/Lights/Shadows/cascadedShadowGenerator.js +1 -1
- package/Lights/Shadows/cascadedShadowGenerator.js.map +1 -1
- package/Materials/Textures/equiRectangularCubeTexture.js +2 -0
- package/Materials/Textures/equiRectangularCubeTexture.js.map +1 -1
- package/Materials/Textures/texture.js +2 -2
- package/Materials/Textures/texture.js.map +1 -1
- package/Meshes/Compression/dracoCompression.js +28 -13
- package/Meshes/Compression/dracoCompression.js.map +1 -1
- package/Misc/fileTools.js +2 -2
- package/Misc/fileTools.js.map +1 -1
- package/Misc/webRequest.d.ts +5 -0
- package/Misc/webRequest.js +7 -0
- package/Misc/webRequest.js.map +1 -1
- package/XR/features/WebXRPlaneDetector.d.ts +8 -0
- package/XR/features/WebXRPlaneDetector.js +13 -0
- package/XR/features/WebXRPlaneDetector.js.map +1 -1
- package/package.json +1 -1
- package/FlowGraph/Blocks/Execution/flowGraphConditionalBlock.js.map +0 -1
- package/FlowGraph/Blocks/Execution/flowGraphForLoopBlock.js.map +0 -1
- package/FlowGraph/Blocks/Execution/flowGraphTimerBlock.js.map +0 -1
|
@@ -15,6 +15,10 @@ export class FlowGraphContext {
|
|
|
15
15
|
* These are the variables set by the blocks.
|
|
16
16
|
*/
|
|
17
17
|
this._executionVariables = new Map();
|
|
18
|
+
/**
|
|
19
|
+
* These are the values for the data connection points
|
|
20
|
+
*/
|
|
21
|
+
this._connectionValues = new Map();
|
|
18
22
|
/**
|
|
19
23
|
* These are blocks that have currently pending tasks/listeners that need to be cleaned up.
|
|
20
24
|
*/
|
|
@@ -45,8 +49,8 @@ export class FlowGraphContext {
|
|
|
45
49
|
getVariable(name) {
|
|
46
50
|
return this._userVariables.get(name);
|
|
47
51
|
}
|
|
48
|
-
|
|
49
|
-
return `${
|
|
52
|
+
_getUniqueIdPrefixedName(obj, name) {
|
|
53
|
+
return `${obj.uniqueId}_${name}`;
|
|
50
54
|
}
|
|
51
55
|
/**
|
|
52
56
|
* Set an internal execution variable
|
|
@@ -55,7 +59,7 @@ export class FlowGraphContext {
|
|
|
55
59
|
* @param value
|
|
56
60
|
*/
|
|
57
61
|
_setExecutionVariable(block, name, value) {
|
|
58
|
-
this._executionVariables.set(this.
|
|
62
|
+
this._executionVariables.set(this._getUniqueIdPrefixedName(block, name), value);
|
|
59
63
|
}
|
|
60
64
|
/**
|
|
61
65
|
* Get an internal execution variable
|
|
@@ -63,11 +67,59 @@ export class FlowGraphContext {
|
|
|
63
67
|
* @param name
|
|
64
68
|
* @returns
|
|
65
69
|
*/
|
|
66
|
-
_getExecutionVariable(block, name) {
|
|
67
|
-
|
|
70
|
+
_getExecutionVariable(block, name, defaultValue) {
|
|
71
|
+
if (this._hasExecutionVariable(block, name)) {
|
|
72
|
+
return this._executionVariables.get(this._getUniqueIdPrefixedName(block, name));
|
|
73
|
+
}
|
|
74
|
+
else {
|
|
75
|
+
return defaultValue;
|
|
76
|
+
}
|
|
68
77
|
}
|
|
78
|
+
/**
|
|
79
|
+
* Delete an internal execution variable
|
|
80
|
+
* @internal
|
|
81
|
+
* @param block
|
|
82
|
+
* @param name
|
|
83
|
+
*/
|
|
69
84
|
_deleteExecutionVariable(block, name) {
|
|
70
|
-
this._executionVariables.delete(this.
|
|
85
|
+
this._executionVariables.delete(this._getUniqueIdPrefixedName(block, name));
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Check if an internal execution variable is defined
|
|
89
|
+
* @internal
|
|
90
|
+
* @param block
|
|
91
|
+
* @param name
|
|
92
|
+
* @returns
|
|
93
|
+
*/
|
|
94
|
+
_hasExecutionVariable(block, name) {
|
|
95
|
+
return this._executionVariables.has(this._getUniqueIdPrefixedName(block, name));
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Check if a connection value is defined
|
|
99
|
+
* @internal
|
|
100
|
+
* @param connectionPoint
|
|
101
|
+
* @returns
|
|
102
|
+
*/
|
|
103
|
+
_hasConnectionValue(connectionPoint) {
|
|
104
|
+
return this._connectionValues.has(connectionPoint.uniqueId);
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Set a connection value
|
|
108
|
+
* @internal
|
|
109
|
+
* @param connectionPoint
|
|
110
|
+
* @param value
|
|
111
|
+
*/
|
|
112
|
+
_setConnectionValue(connectionPoint, value) {
|
|
113
|
+
this._connectionValues.set(connectionPoint.uniqueId, value);
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Get a connection value
|
|
117
|
+
* @internal
|
|
118
|
+
* @param connectionPoint
|
|
119
|
+
* @returns
|
|
120
|
+
*/
|
|
121
|
+
_getConnectionValue(connectionPoint) {
|
|
122
|
+
return this._connectionValues.get(connectionPoint.uniqueId);
|
|
71
123
|
}
|
|
72
124
|
/**
|
|
73
125
|
* Get the graph set variables
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flowGraphContext.js","sourceRoot":"","sources":["../../../../dev/core/src/FlowGraph/flowGraphContext.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"flowGraphContext.js","sourceRoot":"","sources":["../../../../dev/core/src/FlowGraph/flowGraphContext.ts"],"names":[],"mappings":"AAoBA;;;;;;GAMG;AACH,MAAM,OAAO,gBAAgB;IAsBzB,YAAY,MAAgC;QArB5C;;WAEG;QACK,mBAAc,GAAqB,IAAI,GAAG,EAAE,CAAC;QACrD;;WAEG;QACK,wBAAmB,GAAqB,IAAI,GAAG,EAAE,CAAC;QAC1D;;WAEG;QACK,sBAAiB,GAAqB,IAAI,GAAG,EAAE,CAAC;QAKxD;;WAEG;QACK,mBAAc,GAAmC,EAAE,CAAC;QAGxD,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC;IAClC,CAAC;IAED;;;;OAIG;IACI,WAAW,CAAC,IAAY;QAC3B,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC;IAED;;;;OAIG;IACI,WAAW,CAAC,IAAY,EAAE,KAAU;QACvC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACzC,CAAC;IAED;;;;OAIG;IACI,WAAW,CAAC,IAAY;QAC3B,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC;IAEO,wBAAwB,CAAC,GAAmB,EAAE,IAAY;QAC9D,OAAO,GAAG,GAAG,CAAC,QAAQ,IAAI,IAAI,EAAE,CAAC;IACrC,CAAC;IAED;;;;;OAKG;IACI,qBAAqB,CAAC,KAAqB,EAAE,IAAY,EAAE,KAAU;QACxE,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,wBAAwB,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;IACpF,CAAC;IAED;;;;;OAKG;IACI,qBAAqB,CAAC,KAAqB,EAAE,IAAY,EAAE,YAAkB;QAChF,IAAI,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE;YACzC,OAAO,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,wBAAwB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;SACnF;aAAM;YACH,OAAO,YAAY,CAAC;SACvB;IACL,CAAC;IAED;;;;;OAKG;IACI,wBAAwB,CAAC,KAAqB,EAAE,IAAY;QAC/D,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,IAAI,CAAC,wBAAwB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;IAChF,CAAC;IAED;;;;;;OAMG;IACI,qBAAqB,CAAC,KAAqB,EAAE,IAAY;QAC5D,OAAO,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,wBAAwB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;IACpF,CAAC;IAED;;;;;OAKG;IACI,mBAAmB,CAAC,eAA6C;QACpE,OAAO,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;IAChE,CAAC;IAED;;;;;OAKG;IACI,mBAAmB,CAAI,eAA2C,EAAE,KAAQ;QAC/E,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,eAAe,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAChE,CAAC;IAED;;;;;OAKG;IACI,mBAAmB,CAAI,eAA2C;QACrE,OAAO,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;IAChE,CAAC;IAED;;;;;OAKG;IACH,IAAW,cAAc;QACrB,OAAO,IAAI,CAAC,eAAe,CAAC;IAChC,CAAC;IAED;;;;OAIG;IACI,gBAAgB,CAAC,KAAmC;QACvD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;IAED;;;;OAIG;IACI,mBAAmB,CAAC,KAAmC;QAC1D,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACjD,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;YACd,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;SACxC;IACL,CAAC;IAED;;;OAGG;IACI,mBAAmB;QACtB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,cAAc,EAAE;YACrC,KAAK,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;SACnC;QACD,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC;IACnC,CAAC;CACJ","sourcesContent":["import type { Scene } from \"../scene\";\r\nimport type { FlowGraphAsyncExecutionBlock } from \"./flowGraphAsyncExecutionBlock\";\r\nimport type { FlowGraphBlock } from \"./flowGraphBlock\";\r\nimport type { FlowGraphDataConnection } from \"./flowGraphDataConnection\";\r\nimport type { FlowGraphEventCoordinator } from \"./flowGraphEventCoordinator\";\r\n\r\n/**\r\n * Construction parameters for the context.\r\n * @experimental\r\n */\r\nexport interface IFlowGraphGraphVariables {\r\n /**\r\n * The scene that the flow graph context belongs to.\r\n */\r\n readonly scene: Scene;\r\n /**\r\n * The event coordinator used by the flow graph context.\r\n */\r\n readonly eventCoordinator: FlowGraphEventCoordinator;\r\n}\r\n/**\r\n * @experimental\r\n * The context represents the current state and execution of the flow graph.\r\n * It contains both user-defined variables, which are derived from\r\n * a more general variable definition, and execution variables that\r\n * are set by the blocks.\r\n */\r\nexport class FlowGraphContext {\r\n /**\r\n * These are the variables defined by a user.\r\n */\r\n private _userVariables: Map<string, any> = new Map();\r\n /**\r\n * These are the variables set by the blocks.\r\n */\r\n private _executionVariables: Map<string, any> = new Map();\r\n /**\r\n * These are the values for the data connection points\r\n */\r\n private _connectionValues: Map<string, any> = new Map();\r\n /**\r\n * These are the variables set by the graph.\r\n */\r\n private readonly _graphVariables: IFlowGraphGraphVariables;\r\n /**\r\n * These are blocks that have currently pending tasks/listeners that need to be cleaned up.\r\n */\r\n private _pendingBlocks: FlowGraphAsyncExecutionBlock[] = [];\r\n\r\n constructor(params: IFlowGraphGraphVariables) {\r\n this._graphVariables = params;\r\n }\r\n\r\n /**\r\n * Check if a user-defined variable is defined.\r\n * @param name\r\n * @returns\r\n */\r\n public hasVariable(name: string) {\r\n return this._userVariables.has(name);\r\n }\r\n\r\n /**\r\n * Set a user-defined variable.\r\n * @param name\r\n * @param value\r\n */\r\n public setVariable(name: string, value: any) {\r\n this._userVariables.set(name, value);\r\n }\r\n\r\n /**\r\n * Get a user-defined variable.\r\n * @param name\r\n * @returns\r\n */\r\n public getVariable(name: string): any {\r\n return this._userVariables.get(name);\r\n }\r\n\r\n private _getUniqueIdPrefixedName(obj: FlowGraphBlock, name: string): string {\r\n return `${obj.uniqueId}_${name}`;\r\n }\r\n\r\n /**\r\n * Set an internal execution variable\r\n * @internal\r\n * @param name\r\n * @param value\r\n */\r\n public _setExecutionVariable(block: FlowGraphBlock, name: string, value: any) {\r\n this._executionVariables.set(this._getUniqueIdPrefixedName(block, name), value);\r\n }\r\n\r\n /**\r\n * Get an internal execution variable\r\n * @internal\r\n * @param name\r\n * @returns\r\n */\r\n public _getExecutionVariable(block: FlowGraphBlock, name: string, defaultValue?: any): any {\r\n if (this._hasExecutionVariable(block, name)) {\r\n return this._executionVariables.get(this._getUniqueIdPrefixedName(block, name));\r\n } else {\r\n return defaultValue;\r\n }\r\n }\r\n\r\n /**\r\n * Delete an internal execution variable\r\n * @internal\r\n * @param block\r\n * @param name\r\n */\r\n public _deleteExecutionVariable(block: FlowGraphBlock, name: string) {\r\n this._executionVariables.delete(this._getUniqueIdPrefixedName(block, name));\r\n }\r\n\r\n /**\r\n * Check if an internal execution variable is defined\r\n * @internal\r\n * @param block\r\n * @param name\r\n * @returns\r\n */\r\n public _hasExecutionVariable(block: FlowGraphBlock, name: string) {\r\n return this._executionVariables.has(this._getUniqueIdPrefixedName(block, name));\r\n }\r\n\r\n /**\r\n * Check if a connection value is defined\r\n * @internal\r\n * @param connectionPoint\r\n * @returns\r\n */\r\n public _hasConnectionValue(connectionPoint: FlowGraphDataConnection<any>) {\r\n return this._connectionValues.has(connectionPoint.uniqueId);\r\n }\r\n\r\n /**\r\n * Set a connection value\r\n * @internal\r\n * @param connectionPoint\r\n * @param value\r\n */\r\n public _setConnectionValue<T>(connectionPoint: FlowGraphDataConnection<T>, value: T) {\r\n this._connectionValues.set(connectionPoint.uniqueId, value);\r\n }\r\n\r\n /**\r\n * Get a connection value\r\n * @internal\r\n * @param connectionPoint\r\n * @returns\r\n */\r\n public _getConnectionValue<T>(connectionPoint: FlowGraphDataConnection<T>): T {\r\n return this._connectionValues.get(connectionPoint.uniqueId);\r\n }\r\n\r\n /**\r\n * Get the graph set variables\r\n * @internal\r\n * @param name\r\n * @param value\r\n */\r\n public get graphVariables() {\r\n return this._graphVariables;\r\n }\r\n\r\n /**\r\n * Add a block to the list of blocks that have pending tasks.\r\n * @internal\r\n * @param block\r\n */\r\n public _addPendingBlock(block: FlowGraphAsyncExecutionBlock) {\r\n this._pendingBlocks.push(block);\r\n }\r\n\r\n /**\r\n * Remove a block from the list of blocks that have pending tasks.\r\n * @internal\r\n * @param block\r\n */\r\n public _removePendingBlock(block: FlowGraphAsyncExecutionBlock) {\r\n const index = this._pendingBlocks.indexOf(block);\r\n if (index !== -1) {\r\n this._pendingBlocks.splice(index, 1);\r\n }\r\n }\r\n\r\n /**\r\n * Clear all pending blocks.\r\n * @internal\r\n */\r\n public _clearPendingBlocks() {\r\n for (const block of this._pendingBlocks) {\r\n block._cancelPendingTasks(this);\r\n }\r\n this._pendingBlocks.length = 0;\r\n }\r\n}\r\n"]}
|
|
@@ -11,13 +11,30 @@ import type { RichType } from "./flowGraphRichTypes";
|
|
|
11
11
|
*/
|
|
12
12
|
export declare class FlowGraphDataConnection<T> extends FlowGraphConnection<FlowGraphBlock, FlowGraphDataConnection<T>> {
|
|
13
13
|
richType: RichType<T>;
|
|
14
|
-
|
|
14
|
+
/**
|
|
15
|
+
* Create a new data connection point.
|
|
16
|
+
* @param name
|
|
17
|
+
* @param connectionType
|
|
18
|
+
* @param ownerBlock
|
|
19
|
+
* @param richType
|
|
20
|
+
*/
|
|
15
21
|
constructor(name: string, connectionType: FlowGraphConnectionType, ownerBlock: FlowGraphBlock, richType: RichType<T>);
|
|
16
22
|
/**
|
|
17
23
|
* An output data block can connect to multiple input data blocks,
|
|
18
24
|
* but an input data block can only connect to one output data block.
|
|
19
25
|
*/
|
|
20
26
|
_isSingularConnection(): boolean;
|
|
21
|
-
|
|
27
|
+
/**
|
|
28
|
+
* Set the value of the connection in a specific context.
|
|
29
|
+
* @param value the value to set
|
|
30
|
+
* @param context the context to which the value is set
|
|
31
|
+
*/
|
|
32
|
+
setValue(value: T, context: FlowGraphContext): void;
|
|
33
|
+
private _getValueOrDefault;
|
|
34
|
+
/**
|
|
35
|
+
* Gets the value of the connection in a specific context.
|
|
36
|
+
* @param context the context from which the value is retrieved
|
|
37
|
+
* @returns the value of the connection
|
|
38
|
+
*/
|
|
22
39
|
getValue(context: FlowGraphContext): T;
|
|
23
40
|
}
|
|
@@ -7,10 +7,16 @@ import { FlowGraphConnection, FlowGraphConnectionType } from "./flowGraphConnect
|
|
|
7
7
|
* if the point belongs to a "function" node, the node will run its function to update the value.
|
|
8
8
|
*/
|
|
9
9
|
export class FlowGraphDataConnection extends FlowGraphConnection {
|
|
10
|
+
/**
|
|
11
|
+
* Create a new data connection point.
|
|
12
|
+
* @param name
|
|
13
|
+
* @param connectionType
|
|
14
|
+
* @param ownerBlock
|
|
15
|
+
* @param richType
|
|
16
|
+
*/
|
|
10
17
|
constructor(name, connectionType, ownerBlock, richType) {
|
|
11
18
|
super(name, connectionType, ownerBlock);
|
|
12
19
|
this.richType = richType;
|
|
13
|
-
this._value = richType.defaultValueBuilder();
|
|
14
20
|
}
|
|
15
21
|
/**
|
|
16
22
|
* An output data block can connect to multiple input data blocks,
|
|
@@ -19,16 +25,34 @@ export class FlowGraphDataConnection extends FlowGraphConnection {
|
|
|
19
25
|
_isSingularConnection() {
|
|
20
26
|
return this.connectionType === FlowGraphConnectionType.Input;
|
|
21
27
|
}
|
|
22
|
-
|
|
23
|
-
|
|
28
|
+
/**
|
|
29
|
+
* Set the value of the connection in a specific context.
|
|
30
|
+
* @param value the value to set
|
|
31
|
+
* @param context the context to which the value is set
|
|
32
|
+
*/
|
|
33
|
+
setValue(value, context) {
|
|
34
|
+
context._setConnectionValue(this, value);
|
|
35
|
+
}
|
|
36
|
+
_getValueOrDefault(context) {
|
|
37
|
+
if (context._hasConnectionValue(this)) {
|
|
38
|
+
return context._getConnectionValue(this);
|
|
39
|
+
}
|
|
40
|
+
else {
|
|
41
|
+
return this.richType.defaultValueBuilder();
|
|
42
|
+
}
|
|
24
43
|
}
|
|
44
|
+
/**
|
|
45
|
+
* Gets the value of the connection in a specific context.
|
|
46
|
+
* @param context the context from which the value is retrieved
|
|
47
|
+
* @returns the value of the connection
|
|
48
|
+
*/
|
|
25
49
|
getValue(context) {
|
|
26
50
|
if (this.connectionType === FlowGraphConnectionType.Output) {
|
|
27
51
|
this._ownerBlock._updateOutputs(context);
|
|
28
|
-
return this.
|
|
52
|
+
return this._getValueOrDefault(context);
|
|
29
53
|
}
|
|
30
54
|
if (!this.isConnected()) {
|
|
31
|
-
return this.
|
|
55
|
+
return this._getValueOrDefault(context);
|
|
32
56
|
}
|
|
33
57
|
else {
|
|
34
58
|
return this._connectedPoint[0].getValue(context);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flowGraphDataConnection.js","sourceRoot":"","sources":["../../../../dev/core/src/FlowGraph/flowGraphDataConnection.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAGrF;;;;;;GAMG;AACH,MAAM,OAAO,uBAA2B,SAAQ,mBAA+D;
|
|
1
|
+
{"version":3,"file":"flowGraphDataConnection.js","sourceRoot":"","sources":["../../../../dev/core/src/FlowGraph/flowGraphDataConnection.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAGrF;;;;;;GAMG;AACH,MAAM,OAAO,uBAA2B,SAAQ,mBAA+D;IAC3G;;;;;;OAMG;IACH,YAAmB,IAAY,EAAE,cAAuC,EAAE,UAA0B,EAAS,QAAqB;QAC9H,KAAK,CAAC,IAAI,EAAE,cAAc,EAAE,UAAU,CAAC,CAAC;QADiE,aAAQ,GAAR,QAAQ,CAAa;IAElI,CAAC;IAED;;;OAGG;IACI,qBAAqB;QACxB,OAAO,IAAI,CAAC,cAAc,KAAK,uBAAuB,CAAC,KAAK,CAAC;IACjE,CAAC;IAED;;;;OAIG;IACI,QAAQ,CAAC,KAAQ,EAAE,OAAyB;QAC/C,OAAO,CAAC,mBAAmB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC7C,CAAC;IAEO,kBAAkB,CAAC,OAAyB;QAChD,IAAI,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE;YACnC,OAAO,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;SAC5C;aAAM;YACH,OAAO,IAAI,CAAC,QAAQ,CAAC,mBAAmB,EAAE,CAAC;SAC9C;IACL,CAAC;IAED;;;;OAIG;IACI,QAAQ,CAAC,OAAyB;QACrC,IAAI,IAAI,CAAC,cAAc,KAAK,uBAAuB,CAAC,MAAM,EAAE;YACxD,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;YACzC,OAAO,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;SAC3C;QAED,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE;YACrB,OAAO,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;SAC3C;aAAM;YACH,OAAO,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;SACpD;IACL,CAAC;CACJ","sourcesContent":["import type { FlowGraphBlock } from \"./flowGraphBlock\";\r\nimport { FlowGraphConnection, FlowGraphConnectionType } from \"./flowGraphConnection\";\r\nimport type { FlowGraphContext } from \"./flowGraphContext\";\r\nimport type { RichType } from \"./flowGraphRichTypes\";\r\n/**\r\n * @experimental\r\n * Represents a connection point for data.\r\n * An unconnected input point can have a default value.\r\n * An output point will only have a value if it is connected to an input point. Furthermore,\r\n * if the point belongs to a \"function\" node, the node will run its function to update the value.\r\n */\r\nexport class FlowGraphDataConnection<T> extends FlowGraphConnection<FlowGraphBlock, FlowGraphDataConnection<T>> {\r\n /**\r\n * Create a new data connection point.\r\n * @param name\r\n * @param connectionType\r\n * @param ownerBlock\r\n * @param richType\r\n */\r\n public constructor(name: string, connectionType: FlowGraphConnectionType, ownerBlock: FlowGraphBlock, public richType: RichType<T>) {\r\n super(name, connectionType, ownerBlock);\r\n }\r\n\r\n /**\r\n * An output data block can connect to multiple input data blocks,\r\n * but an input data block can only connect to one output data block.\r\n */\r\n public _isSingularConnection(): boolean {\r\n return this.connectionType === FlowGraphConnectionType.Input;\r\n }\r\n\r\n /**\r\n * Set the value of the connection in a specific context.\r\n * @param value the value to set\r\n * @param context the context to which the value is set\r\n */\r\n public setValue(value: T, context: FlowGraphContext): void {\r\n context._setConnectionValue(this, value);\r\n }\r\n\r\n private _getValueOrDefault(context: FlowGraphContext): T {\r\n if (context._hasConnectionValue(this)) {\r\n return context._getConnectionValue(this);\r\n } else {\r\n return this.richType.defaultValueBuilder();\r\n }\r\n }\r\n\r\n /**\r\n * Gets the value of the connection in a specific context.\r\n * @param context the context from which the value is retrieved\r\n * @returns the value of the connection\r\n */\r\n public getValue(context: FlowGraphContext): T {\r\n if (this.connectionType === FlowGraphConnectionType.Output) {\r\n this._ownerBlock._updateOutputs(context);\r\n return this._getValueOrDefault(context);\r\n }\r\n\r\n if (!this.isConnected()) {\r\n return this._getValueOrDefault(context);\r\n } else {\r\n return this._connectedPoint[0].getValue(context);\r\n }\r\n }\r\n}\r\n"]}
|
|
@@ -18,7 +18,7 @@ export declare abstract class FlowGraphExecutionBlock extends FlowGraphBlock {
|
|
|
18
18
|
* @internal
|
|
19
19
|
* Executes the flow graph execution block.
|
|
20
20
|
*/
|
|
21
|
-
abstract _execute(context: FlowGraphContext): void;
|
|
21
|
+
abstract _execute(context: FlowGraphContext, callingSignal: FlowGraphSignalConnection): void;
|
|
22
22
|
protected _registerSignalInput(name: string): FlowGraphSignalConnection;
|
|
23
23
|
protected _registerSignalOutput(name: string): FlowGraphSignalConnection;
|
|
24
24
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flowGraphExecutionBlock.js","sourceRoot":"","sources":["../../../../dev/core/src/FlowGraph/flowGraphExecutionBlock.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAEhE,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AAExE;;;;GAIG;AACH,MAAM,OAAgB,uBAAwB,SAAQ,cAAc;IAShE;QACI,KAAK,EAAE,CAAC;QAJK,kBAAa,GAAgC,EAAE,CAAC;QAChD,mBAAc,GAAgC,EAAE,CAAC;QAI9D,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;IACxD,CAAC;IAOS,oBAAoB,CAAC,IAAY;QACvC,MAAM,KAAK,GAAG,IAAI,yBAAyB,CAAC,IAAI,EAAE,uBAAuB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACvF,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/B,OAAO,KAAK,CAAC;IACjB,CAAC;IAES,qBAAqB,CAAC,IAAY;QACxC,MAAM,MAAM,GAAG,IAAI,yBAAyB,CAAC,IAAI,EAAE,uBAAuB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACzF,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACjC,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ","sourcesContent":["import { FlowGraphBlock } from \"./flowGraphBlock\";\r\nimport { FlowGraphConnectionType } from \"./flowGraphConnection\";\r\nimport type { FlowGraphContext } from \"./flowGraphContext\";\r\nimport { FlowGraphSignalConnection } from \"./flowGraphSignalConnection\";\r\n\r\n/**\r\n * @experimental\r\n * A block that executes some action. Always has an input signal (which is not used by event blocks).\r\n * Can have one or more output signals.\r\n */\r\nexport abstract class FlowGraphExecutionBlock extends FlowGraphBlock {\r\n /**\r\n * Input connection: The input signal of the block.\r\n */\r\n public readonly onStart: FlowGraphSignalConnection;\r\n\r\n private readonly _signalInputs: FlowGraphSignalConnection[] = [];\r\n private readonly _signalOutputs: FlowGraphSignalConnection[] = [];\r\n\r\n protected constructor() {\r\n super();\r\n this.onStart = this._registerSignalInput(\"onStart\");\r\n }\r\n /**\r\n * @internal\r\n * Executes the flow graph execution block.\r\n */\r\n public abstract _execute(context: FlowGraphContext): void;\r\n\r\n protected _registerSignalInput(name: string): FlowGraphSignalConnection {\r\n const input = new FlowGraphSignalConnection(name, FlowGraphConnectionType.Input, this);\r\n this._signalInputs.push(input);\r\n return input;\r\n }\r\n\r\n protected _registerSignalOutput(name: string): FlowGraphSignalConnection {\r\n const output = new FlowGraphSignalConnection(name, FlowGraphConnectionType.Output, this);\r\n this._signalOutputs.push(output);\r\n return output;\r\n }\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"flowGraphExecutionBlock.js","sourceRoot":"","sources":["../../../../dev/core/src/FlowGraph/flowGraphExecutionBlock.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAEhE,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AAExE;;;;GAIG;AACH,MAAM,OAAgB,uBAAwB,SAAQ,cAAc;IAShE;QACI,KAAK,EAAE,CAAC;QAJK,kBAAa,GAAgC,EAAE,CAAC;QAChD,mBAAc,GAAgC,EAAE,CAAC;QAI9D,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;IACxD,CAAC;IAOS,oBAAoB,CAAC,IAAY;QACvC,MAAM,KAAK,GAAG,IAAI,yBAAyB,CAAC,IAAI,EAAE,uBAAuB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACvF,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/B,OAAO,KAAK,CAAC;IACjB,CAAC;IAES,qBAAqB,CAAC,IAAY;QACxC,MAAM,MAAM,GAAG,IAAI,yBAAyB,CAAC,IAAI,EAAE,uBAAuB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACzF,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACjC,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ","sourcesContent":["import { FlowGraphBlock } from \"./flowGraphBlock\";\r\nimport { FlowGraphConnectionType } from \"./flowGraphConnection\";\r\nimport type { FlowGraphContext } from \"./flowGraphContext\";\r\nimport { FlowGraphSignalConnection } from \"./flowGraphSignalConnection\";\r\n\r\n/**\r\n * @experimental\r\n * A block that executes some action. Always has an input signal (which is not used by event blocks).\r\n * Can have one or more output signals.\r\n */\r\nexport abstract class FlowGraphExecutionBlock extends FlowGraphBlock {\r\n /**\r\n * Input connection: The input signal of the block.\r\n */\r\n public readonly onStart: FlowGraphSignalConnection;\r\n\r\n private readonly _signalInputs: FlowGraphSignalConnection[] = [];\r\n private readonly _signalOutputs: FlowGraphSignalConnection[] = [];\r\n\r\n protected constructor() {\r\n super();\r\n this.onStart = this._registerSignalInput(\"onStart\");\r\n }\r\n /**\r\n * @internal\r\n * Executes the flow graph execution block.\r\n */\r\n public abstract _execute(context: FlowGraphContext, callingSignal: FlowGraphSignalConnection): void;\r\n\r\n protected _registerSignalInput(name: string): FlowGraphSignalConnection {\r\n const input = new FlowGraphSignalConnection(name, FlowGraphConnectionType.Input, this);\r\n this._signalInputs.push(input);\r\n return input;\r\n }\r\n\r\n protected _registerSignalOutput(name: string): FlowGraphSignalConnection {\r\n const output = new FlowGraphSignalConnection(name, FlowGraphConnectionType.Output, this);\r\n this._signalOutputs.push(output);\r\n return output;\r\n }\r\n}\r\n"]}
|
|
@@ -19,7 +19,7 @@ export class FlowGraphSignalConnection extends FlowGraphConnection {
|
|
|
19
19
|
_activateSignal(context) {
|
|
20
20
|
var _a;
|
|
21
21
|
if (this.connectionType === FlowGraphConnectionType.Input) {
|
|
22
|
-
this._ownerBlock._execute(context);
|
|
22
|
+
this._ownerBlock._execute(context, this);
|
|
23
23
|
}
|
|
24
24
|
else {
|
|
25
25
|
(_a = this._connectedPoint[0]) === null || _a === void 0 ? void 0 : _a._activateSignal(context);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flowGraphSignalConnection.js","sourceRoot":"","sources":["../../../../dev/core/src/FlowGraph/flowGraphSignalConnection.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAGrF;;;;;GAKG;AACH,MAAM,OAAO,yBAA0B,SAAQ,mBAAuE;IAClH;;;OAGG;IACI,qBAAqB;QACxB,OAAO,IAAI,CAAC,cAAc,KAAK,uBAAuB,CAAC,MAAM,CAAC;IAClE,CAAC;IAED;;OAEG;IACI,eAAe,CAAC,OAAyB;;QAC5C,IAAI,IAAI,CAAC,cAAc,KAAK,uBAAuB,CAAC,KAAK,EAAE;YACvD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"flowGraphSignalConnection.js","sourceRoot":"","sources":["../../../../dev/core/src/FlowGraph/flowGraphSignalConnection.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAGrF;;;;;GAKG;AACH,MAAM,OAAO,yBAA0B,SAAQ,mBAAuE;IAClH;;;OAGG;IACI,qBAAqB;QACxB,OAAO,IAAI,CAAC,cAAc,KAAK,uBAAuB,CAAC,MAAM,CAAC;IAClE,CAAC;IAED;;OAEG;IACI,eAAe,CAAC,OAAyB;;QAC5C,IAAI,IAAI,CAAC,cAAc,KAAK,uBAAuB,CAAC,KAAK,EAAE;YACvD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;SAC5C;aAAM;YACH,MAAA,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,0CAAE,eAAe,CAAC,OAAO,CAAC,CAAC;SACrD;IACL,CAAC;CACJ","sourcesContent":["import type { FlowGraphExecutionBlock } from \"./flowGraphExecutionBlock\";\r\nimport { FlowGraphConnection, FlowGraphConnectionType } from \"./flowGraphConnection\";\r\nimport type { FlowGraphContext } from \"./flowGraphContext\";\r\n\r\n/**\r\n * @experimental\r\n * Represents a connection point for a signal.\r\n * When an output point is activated, it will activate the connected input point.\r\n * When an input point is activated, it will execute the block it belongs to.\r\n */\r\nexport class FlowGraphSignalConnection extends FlowGraphConnection<FlowGraphExecutionBlock, FlowGraphSignalConnection> {\r\n /**\r\n * A signal input can be connected to more than one signal output,\r\n * but a signal output can only connect to one signal input\r\n */\r\n public _isSingularConnection(): boolean {\r\n return this.connectionType === FlowGraphConnectionType.Output;\r\n }\r\n\r\n /**\r\n * @internal\r\n */\r\n public _activateSignal(context: FlowGraphContext): void {\r\n if (this.connectionType === FlowGraphConnectionType.Input) {\r\n this._ownerBlock._execute(context, this);\r\n } else {\r\n this._connectedPoint[0]?._activateSignal(context);\r\n }\r\n }\r\n}\r\n"]}
|
|
@@ -178,7 +178,7 @@ export class CascadedShadowGenerator extends ShadowGenerator {
|
|
|
178
178
|
this._shadowMaxZ = value;
|
|
179
179
|
return;
|
|
180
180
|
}
|
|
181
|
-
if (this._shadowMaxZ === value || value < camera.minZ || value > camera.maxZ) {
|
|
181
|
+
if (this._shadowMaxZ === value || value < camera.minZ || (value > camera.maxZ && camera.maxZ !== 0)) {
|
|
182
182
|
return;
|
|
183
183
|
}
|
|
184
184
|
this._shadowMaxZ = value;
|