@babylonjs/smart-filters 1.0.13 → 8.19.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.
- package/dist/blockFoundation/aggregateBlock.d.ts +3 -3
- package/dist/blockFoundation/aggregateBlock.d.ts.map +1 -1
- package/dist/blockFoundation/aggregateBlock.js +1 -2
- package/dist/blockFoundation/aggregateBlock.js.map +1 -1
- package/dist/blockFoundation/baseBlock.d.ts +2 -2
- package/dist/blockFoundation/baseBlock.d.ts.map +1 -1
- package/dist/blockFoundation/baseBlock.js +5 -6
- package/dist/blockFoundation/baseBlock.js.map +1 -1
- package/dist/blockFoundation/customAggregateBlock.d.ts.map +1 -1
- package/dist/blockFoundation/customAggregateBlock.js +2 -2
- package/dist/blockFoundation/customAggregateBlock.js.map +1 -1
- package/dist/blockFoundation/customShaderBlock.d.ts +9 -0
- package/dist/blockFoundation/customShaderBlock.d.ts.map +1 -1
- package/dist/blockFoundation/customShaderBlock.js +47 -7
- package/dist/blockFoundation/customShaderBlock.js.map +1 -1
- package/dist/blockFoundation/disableableShaderBlock.d.ts.map +1 -1
- package/dist/blockFoundation/disableableShaderBlock.js +4 -4
- package/dist/blockFoundation/disableableShaderBlock.js.map +1 -1
- package/dist/blockFoundation/index.js +0 -2
- package/dist/blockFoundation/index.js.map +1 -1
- package/dist/blockFoundation/inputBlock.d.ts +8 -8
- package/dist/blockFoundation/inputBlock.d.ts.map +1 -1
- package/dist/blockFoundation/inputBlock.deserializer.d.ts +1 -1
- package/dist/blockFoundation/inputBlock.deserializer.d.ts.map +1 -1
- package/dist/blockFoundation/inputBlock.deserializer.js +1 -1
- package/dist/blockFoundation/inputBlock.deserializer.js.map +1 -1
- package/dist/blockFoundation/inputBlock.js +7 -7
- package/dist/blockFoundation/inputBlock.js.map +1 -1
- package/dist/blockFoundation/inputBlock.serialization.types.d.ts.map +1 -1
- package/dist/blockFoundation/inputBlock.serializer.d.ts +1 -1
- package/dist/blockFoundation/inputBlock.serializer.js +26 -28
- package/dist/blockFoundation/inputBlock.serializer.js.map +1 -1
- package/dist/blockFoundation/outputBlock.d.ts +4 -9
- package/dist/blockFoundation/outputBlock.d.ts.map +1 -1
- package/dist/blockFoundation/outputBlock.js +13 -14
- package/dist/blockFoundation/outputBlock.js.map +1 -1
- package/dist/blockFoundation/shaderBlock.d.ts +4 -4
- package/dist/blockFoundation/shaderBlock.d.ts.map +1 -1
- package/dist/blockFoundation/shaderBlock.js +13 -19
- package/dist/blockFoundation/shaderBlock.js.map +1 -1
- package/dist/blockFoundation/textureOptions.d.ts +1 -1
- package/dist/blockFoundation/textureOptions.js +1 -1
- package/dist/command/command.d.ts +1 -1
- package/dist/command/command.js +1 -1
- package/dist/command/commandBuffer.d.ts +1 -1
- package/dist/command/commandBuffer.d.ts.map +1 -1
- package/dist/command/commandBuffer.js +2 -2
- package/dist/command/commandBufferDebugger.d.ts +2 -2
- package/dist/command/commandBufferDebugger.d.ts.map +1 -1
- package/dist/command/commandBufferDebugger.js +1 -1
- package/dist/command/commandBufferDebugger.js.map +1 -1
- package/dist/command/index.d.ts +3 -1
- package/dist/command/index.d.ts.map +1 -1
- package/dist/command/index.js +5 -1
- package/dist/command/index.js.map +1 -1
- package/dist/connection/connectionPoint.d.ts +3 -3
- package/dist/connection/connectionPoint.d.ts.map +1 -1
- package/dist/connection/connectionPoint.js +2 -2
- package/dist/connection/connectionPoint.js.map +1 -1
- package/dist/connection/connectionPointCompatibilityState.d.ts +1 -1
- package/dist/connection/connectionPointCompatibilityState.js +1 -1
- package/dist/connection/connectionPointType.d.ts +3 -3
- package/dist/connection/connectionPointType.d.ts.map +1 -1
- package/dist/connection/connectionPointWithDefault.d.ts +3 -3
- package/dist/connection/connectionPointWithDefault.d.ts.map +1 -1
- package/dist/connection/connectionPointWithDefault.js.map +1 -1
- package/dist/connection/index.d.ts +2 -1
- package/dist/connection/index.d.ts.map +1 -1
- package/dist/connection/index.js +3 -3
- package/dist/connection/index.js.map +1 -1
- package/dist/editorUtils/editableInPropertyPage.d.ts +2 -2
- package/dist/editorUtils/editableInPropertyPage.d.ts.map +1 -1
- package/dist/editorUtils/editableInPropertyPage.js +2 -2
- package/dist/editorUtils/editableInPropertyPage.js.map +1 -1
- package/dist/editorUtils/index.d.ts +1 -0
- package/dist/editorUtils/index.d.ts.map +1 -1
- package/dist/editorUtils/index.js +2 -0
- package/dist/editorUtils/index.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/optimization/dependencyGraph.js.map +1 -1
- package/dist/optimization/optimizedShaderBlock.d.ts +4 -4
- package/dist/optimization/optimizedShaderBlock.d.ts.map +1 -1
- package/dist/optimization/optimizedShaderBlock.js.map +1 -1
- package/dist/optimization/smartFilterOptimizer.d.ts +2 -2
- package/dist/optimization/smartFilterOptimizer.d.ts.map +1 -1
- package/dist/optimization/smartFilterOptimizer.js +34 -57
- package/dist/optimization/smartFilterOptimizer.js.map +1 -1
- package/dist/runtime/index.d.ts +2 -1
- package/dist/runtime/index.d.ts.map +1 -1
- package/dist/runtime/index.js +3 -3
- package/dist/runtime/index.js.map +1 -1
- package/dist/runtime/renderTargetGenerator.d.ts +1 -1
- package/dist/runtime/renderTargetGenerator.d.ts.map +1 -1
- package/dist/runtime/renderTargetGenerator.js +5 -7
- package/dist/runtime/renderTargetGenerator.js.map +1 -1
- package/dist/runtime/shaderRuntime.d.ts +7 -7
- package/dist/runtime/shaderRuntime.d.ts.map +1 -1
- package/dist/runtime/shaderRuntime.js +7 -8
- package/dist/runtime/shaderRuntime.js.map +1 -1
- package/dist/runtime/smartFilterRuntime.d.ts +3 -3
- package/dist/runtime/smartFilterRuntime.d.ts.map +1 -1
- package/dist/runtime/smartFilterRuntime.js.map +1 -1
- package/dist/runtime/strongRef.d.ts +1 -1
- package/dist/runtime/strongRef.js +1 -1
- package/dist/serialization/importCustomBlockDefinition.d.ts +1 -1
- package/dist/serialization/importCustomBlockDefinition.js +8 -9
- package/dist/serialization/importCustomBlockDefinition.js.map +1 -1
- package/dist/serialization/index.d.ts +1 -0
- package/dist/serialization/index.d.ts.map +1 -1
- package/dist/serialization/index.js +3 -0
- package/dist/serialization/index.js.map +1 -1
- package/dist/serialization/serializedBlockDefinition.d.ts +2 -2
- package/dist/serialization/serializedBlockDefinition.d.ts.map +1 -1
- package/dist/serialization/serializedShaderBlockDefinition.d.ts +1 -1
- package/dist/serialization/serializedShaderBlockDefinition.d.ts.map +1 -1
- package/dist/serialization/serializedSmartFilter.d.ts +1 -1
- package/dist/serialization/serializedSmartFilter.d.ts.map +1 -1
- package/dist/serialization/smartFilterDeserializer.d.ts +6 -6
- package/dist/serialization/smartFilterDeserializer.d.ts.map +1 -1
- package/dist/serialization/smartFilterDeserializer.js +9 -12
- package/dist/serialization/smartFilterDeserializer.js.map +1 -1
- package/dist/serialization/smartFilterSerializer.d.ts +2 -2
- package/dist/serialization/smartFilterSerializer.d.ts.map +1 -1
- package/dist/serialization/smartFilterSerializer.js +10 -13
- package/dist/serialization/smartFilterSerializer.js.map +1 -1
- package/dist/serialization/v1/defaultBlockSerializer.d.ts +2 -2
- package/dist/serialization/v1/defaultBlockSerializer.d.ts.map +1 -1
- package/dist/serialization/v1/defaultBlockSerializer.js +1 -1
- package/dist/serialization/v1/index.d.ts +1 -0
- package/dist/serialization/v1/index.d.ts.map +1 -1
- package/dist/serialization/v1/index.js +2 -0
- package/dist/serialization/v1/index.js.map +1 -1
- package/dist/serialization/v1/shaderBlockSerialization.types.d.ts +3 -3
- package/dist/serialization/v1/shaderBlockSerialization.types.d.ts.map +1 -1
- package/dist/serialization/v1/smartFilterSerialization.types.d.ts +2 -2
- package/dist/serialization/v1/smartFilterSerialization.types.d.ts.map +1 -1
- package/dist/smartFilter.d.ts +8 -8
- package/dist/smartFilter.d.ts.map +1 -1
- package/dist/smartFilter.js +6 -7
- package/dist/smartFilter.js.map +1 -1
- package/dist/utils/buildTools/buildShaders.d.ts +3 -2
- package/dist/utils/buildTools/buildShaders.d.ts.map +1 -1
- package/dist/utils/buildTools/buildShaders.js +7 -6
- package/dist/utils/buildTools/buildShaders.js.map +1 -1
- package/dist/utils/buildTools/convertGlslIntoBlock.d.ts +4 -2
- package/dist/utils/buildTools/convertGlslIntoBlock.d.ts.map +1 -1
- package/dist/utils/buildTools/convertGlslIntoBlock.js +136 -141
- package/dist/utils/buildTools/convertGlslIntoBlock.js.map +1 -1
- package/dist/utils/buildTools/convertGlslIntoShaderProgram.d.ts +4 -4
- package/dist/utils/buildTools/convertGlslIntoShaderProgram.d.ts.map +1 -1
- package/dist/utils/buildTools/convertGlslIntoShaderProgram.js +55 -48
- package/dist/utils/buildTools/convertGlslIntoShaderProgram.js.map +1 -1
- package/dist/utils/buildTools/convertShaders.d.ts +8 -5
- package/dist/utils/buildTools/convertShaders.d.ts.map +1 -1
- package/dist/utils/buildTools/convertShaders.js +38 -14
- package/dist/utils/buildTools/convertShaders.js.map +1 -1
- package/dist/utils/buildTools/shaderConverter.d.ts +4 -4
- package/dist/utils/buildTools/shaderConverter.d.ts.map +1 -1
- package/dist/utils/buildTools/shaderConverter.js +17 -21
- package/dist/utils/buildTools/shaderConverter.js.map +1 -1
- package/dist/utils/buildTools/watchShaders.d.ts +3 -2
- package/dist/utils/buildTools/watchShaders.d.ts.map +1 -1
- package/dist/utils/buildTools/watchShaders.js +10 -8
- package/dist/utils/buildTools/watchShaders.js.map +1 -1
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +2 -1
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/renderTargetUtils.d.ts +3 -3
- package/dist/utils/renderTargetUtils.d.ts.map +1 -1
- package/dist/utils/renderTargetUtils.js +4 -4
- package/dist/utils/renderTargetUtils.js.map +1 -1
- package/dist/utils/shaderCodeUtils.d.ts +8 -8
- package/dist/utils/shaderCodeUtils.d.ts.map +1 -1
- package/dist/utils/shaderCodeUtils.js +16 -28
- package/dist/utils/shaderCodeUtils.js.map +1 -1
- package/dist/utils/textureLoaders.d.ts +2 -2
- package/dist/utils/textureLoaders.d.ts.map +1 -1
- package/dist/utils/textureLoaders.js +2 -3
- package/dist/utils/textureLoaders.js.map +1 -1
- package/dist/utils/textureUtils.d.ts +5 -5
- package/dist/utils/textureUtils.d.ts.map +1 -1
- package/dist/utils/textureUtils.js +1 -1
- package/dist/utils/textureUtils.js.map +1 -1
- package/dist/version.d.ts +2 -2
- package/dist/version.js +2 -2
- package/license.md +21 -21
- package/package.json +13 -8
- package/src/blockFoundation/aggregateBlock.ts +148 -151
- package/src/blockFoundation/baseBlock.ts +339 -364
- package/src/blockFoundation/customAggregateBlock.ts +88 -104
- package/src/blockFoundation/customShaderBlock.ts +362 -326
- package/src/blockFoundation/disableableShaderBlock.ts +91 -100
- package/src/blockFoundation/index.ts +9 -9
- package/src/blockFoundation/inputBlock.deserializer.ts +72 -97
- package/src/blockFoundation/inputBlock.serialization.types.ts +126 -132
- package/src/blockFoundation/inputBlock.serializer.ts +150 -150
- package/src/blockFoundation/inputBlock.ts +181 -192
- package/src/blockFoundation/outputBlock.ts +144 -151
- package/src/blockFoundation/shaderBlock.ts +156 -163
- package/src/blockFoundation/textureOptions.ts +57 -57
- package/src/command/command.ts +59 -59
- package/src/command/commandBuffer.ts +71 -71
- package/src/command/commandBufferDebugger.ts +14 -14
- package/src/command/index.ts +7 -3
- package/src/connection/connectionPoint.ts +205 -214
- package/src/connection/connectionPointCompatibilityState.ts +31 -31
- package/src/connection/connectionPointType.ts +45 -45
- package/src/connection/connectionPointWithDefault.ts +27 -35
- package/src/connection/index.ts +8 -9
- package/src/editorUtils/editableInPropertyPage.ts +106 -106
- package/src/editorUtils/index.ts +3 -1
- package/src/index.ts +16 -15
- package/src/optimization/dependencyGraph.ts +96 -96
- package/src/optimization/index.ts +1 -1
- package/src/optimization/optimizedShaderBlock.ts +131 -134
- package/src/optimization/smartFilterOptimizer.ts +757 -825
- package/src/runtime/index.ts +8 -6
- package/src/runtime/renderTargetGenerator.ts +222 -248
- package/src/runtime/shaderRuntime.ts +174 -173
- package/src/runtime/smartFilterRuntime.ts +112 -112
- package/src/runtime/strongRef.ts +18 -18
- package/src/serialization/importCustomBlockDefinition.ts +86 -86
- package/src/serialization/index.ts +10 -7
- package/src/serialization/serializedBlockDefinition.ts +12 -12
- package/src/serialization/serializedShaderBlockDefinition.ts +7 -7
- package/src/serialization/serializedSmartFilter.ts +6 -6
- package/src/serialization/smartFilterDeserializer.ts +190 -220
- package/src/serialization/smartFilterSerializer.ts +110 -121
- package/src/serialization/v1/defaultBlockSerializer.ts +21 -21
- package/src/serialization/v1/index.ts +4 -2
- package/src/serialization/v1/shaderBlockSerialization.types.ts +85 -85
- package/src/serialization/v1/smartFilterSerialization.types.ts +129 -133
- package/src/smartFilter.ts +255 -260
- package/src/utils/buildTools/buildShaders.ts +14 -13
- package/src/utils/buildTools/convertGlslIntoBlock.ts +370 -385
- package/src/utils/buildTools/convertGlslIntoShaderProgram.ts +173 -172
- package/src/utils/buildTools/convertShaders.ts +65 -43
- package/src/utils/buildTools/recordVersionNumber.js +24 -0
- package/src/utils/buildTools/shaderConverter.ts +466 -478
- package/src/utils/buildTools/watchShaders.ts +44 -42
- package/src/utils/index.ts +4 -2
- package/src/utils/renderTargetUtils.ts +30 -35
- package/src/utils/shaderCodeUtils.ts +192 -207
- package/src/utils/textureLoaders.ts +31 -43
- package/src/utils/textureUtils.ts +28 -32
- package/src/version.ts +2 -2
- package/dist/utils/buildTools/determineVersion.d.ts +0 -36
- package/dist/utils/buildTools/determineVersion.d.ts.map +0 -1
- package/dist/utils/buildTools/determineVersion.js +0 -109
- package/dist/utils/buildTools/determineVersion.js.map +0 -1
- package/dist/utils/buildTools/versionUp.d.ts +0 -2
- package/dist/utils/buildTools/versionUp.d.ts.map +0 -1
- package/dist/utils/buildTools/versionUp.js +0 -53
- package/dist/utils/buildTools/versionUp.js.map +0 -1
- package/src/utils/buildTools/determineVersion.ts +0 -128
- package/src/utils/buildTools/versionUp.ts +0 -61
|
@@ -1,133 +1,129 @@
|
|
|
1
|
-
import type { Nullable } from "
|
|
2
|
-
import type { BaseBlock } from "../../blockFoundation/baseBlock.js";
|
|
3
|
-
import type { SmartFilter } from "../../smartFilter.js";
|
|
4
|
-
import type { ThinEngine } from "
|
|
5
|
-
import type { IEditorData } from "
|
|
6
|
-
import type { SmartFilterDeserializer } from "../smartFilterDeserializer.js";
|
|
7
|
-
import type { OutputTextureOptions } from "../../blockFoundation/textureOptions.js";
|
|
8
|
-
|
|
9
|
-
/**
|
|
10
|
-
* ----------------------------------------------------------------------------
|
|
11
|
-
* Serialized Data Types
|
|
12
|
-
* ----------------------------------------------------------------------------
|
|
13
|
-
*/
|
|
14
|
-
|
|
15
|
-
/**
|
|
16
|
-
* V1 Serialized Smart Filter
|
|
17
|
-
*/
|
|
18
|
-
export type SerializedSmartFilterV1 = {
|
|
19
|
-
/** Which type of serialized data this is. */
|
|
20
|
-
format: "smartFilter";
|
|
21
|
-
|
|
22
|
-
/** The format version of the serialized data (not the version of the SmartFilter itself).*/
|
|
23
|
-
formatVersion: 1;
|
|
24
|
-
|
|
25
|
-
/** The SmartFilter name */
|
|
26
|
-
name: string;
|
|
27
|
-
|
|
28
|
-
/** The namespace of the SmartFilter */
|
|
29
|
-
namespace: Nullable<string>;
|
|
30
|
-
|
|
31
|
-
/** The SmartFilter comments */
|
|
32
|
-
comments: Nullable<string>;
|
|
33
|
-
|
|
34
|
-
/** The editor data for the SmartFilter */
|
|
35
|
-
editorData: Nullable<IEditorData>;
|
|
36
|
-
|
|
37
|
-
/** The serialized blocks */
|
|
38
|
-
blocks: ISerializedBlockV1[];
|
|
39
|
-
|
|
40
|
-
/** The serialized connections */
|
|
41
|
-
connections: ISerializedConnectionV1[];
|
|
42
|
-
};
|
|
43
|
-
|
|
44
|
-
/**
|
|
45
|
-
* V1 format of a block in a serialized Smart Filter.
|
|
46
|
-
* Not to be confused with a SerializedBlockDefinitionV1 which serializes the definition of a CustomShaderBlock.
|
|
47
|
-
*/
|
|
48
|
-
export interface ISerializedBlockV1 {
|
|
49
|
-
/** The name of the block */
|
|
50
|
-
name: string;
|
|
51
|
-
|
|
52
|
-
/** The namespace of the block */
|
|
53
|
-
namespace: Nullable<string>;
|
|
54
|
-
|
|
55
|
-
/** The unique ID of the block - correlates with the ID in the editorData for block position, etc. */
|
|
56
|
-
uniqueId: number;
|
|
57
|
-
|
|
58
|
-
/** The blockType of the block - used to determine how to instantiate the block during deserialization */
|
|
59
|
-
blockType: string;
|
|
60
|
-
|
|
61
|
-
/** The comments for the block */
|
|
62
|
-
comments: Nullable<string>;
|
|
63
|
-
|
|
64
|
-
/** The OutputTextureOptions for serialized ShaderBlocks */
|
|
65
|
-
outputTextureOptions?: OutputTextureOptions;
|
|
66
|
-
|
|
67
|
-
/** Block specific serialized data */
|
|
68
|
-
data: any;
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
/**
|
|
72
|
-
* V1 Serialized Connection
|
|
73
|
-
*/
|
|
74
|
-
export interface ISerializedConnectionV1 {
|
|
75
|
-
/** The uniqueId of the block that the connection is to */
|
|
76
|
-
outputBlock: number;
|
|
77
|
-
|
|
78
|
-
/** The name of the connectionPoint on the outputBlock */
|
|
79
|
-
outputConnectionPoint: string;
|
|
80
|
-
|
|
81
|
-
/** The uniqueId of the block that the connection is from */
|
|
82
|
-
inputBlock: number;
|
|
83
|
-
|
|
84
|
-
/** The name of the connectionPoint on the inputBlock */
|
|
85
|
-
inputConnectionPoint: string;
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
/**
|
|
89
|
-
* ----------------------------------------------------------------------------
|
|
90
|
-
* Serializer Types
|
|
91
|
-
* ----------------------------------------------------------------------------
|
|
92
|
-
*/
|
|
93
|
-
|
|
94
|
-
/**
|
|
95
|
-
* A function that serializes a block to a V1 serialized block object
|
|
96
|
-
*/
|
|
97
|
-
export type SerializeBlockV1 = (block: BaseBlock) => ISerializedBlockV1;
|
|
98
|
-
|
|
99
|
-
/**
|
|
100
|
-
* A V1 serializer for blocks in a SmartFilter
|
|
101
|
-
*/
|
|
102
|
-
export interface IBlockSerializerV1 {
|
|
103
|
-
/** The blockType of the block that this serializer can serialize */
|
|
104
|
-
blockType: string;
|
|
105
|
-
|
|
106
|
-
/** The function that serializes the block in the Smart Filter */
|
|
107
|
-
serialize: SerializeBlockV1;
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
/**
|
|
111
|
-
* ----------------------------------------------------------------------------
|
|
112
|
-
* Deserializer Types
|
|
113
|
-
* ----------------------------------------------------------------------------
|
|
114
|
-
*/
|
|
115
|
-
|
|
116
|
-
/**
|
|
117
|
-
* A function that deserializes a V1 block in a SmartFilter
|
|
118
|
-
*/
|
|
119
|
-
export type DeserializeBlockV1 = (
|
|
120
|
-
smartFilter: SmartFilter,
|
|
121
|
-
serializedBlock: ISerializedBlockV1,
|
|
122
|
-
engine: ThinEngine,
|
|
123
|
-
smartFilterDeserializer: SmartFilterDeserializer
|
|
124
|
-
) => Promise<BaseBlock>;
|
|
125
|
-
|
|
126
|
-
/**
|
|
127
|
-
* A function that optionally deserializes a block from a V1 serialized block object, returning null if it cannot
|
|
128
|
-
*/
|
|
129
|
-
export type OptionalBlockDeserializerV1 = (
|
|
130
|
-
smartFilter: SmartFilter,
|
|
131
|
-
serializedBlock: ISerializedBlockV1,
|
|
132
|
-
engine: ThinEngine
|
|
133
|
-
) => Promise<Nullable<BaseBlock>>;
|
|
1
|
+
import type { Nullable } from "core/types.js";
|
|
2
|
+
import type { BaseBlock } from "../../blockFoundation/baseBlock.js";
|
|
3
|
+
import type { SmartFilter } from "../../smartFilter.js";
|
|
4
|
+
import type { ThinEngine } from "core/Engines/thinEngine.js";
|
|
5
|
+
import type { IEditorData } from "shared-ui-components/nodeGraphSystem/interfaces/nodeLocationInfo.js";
|
|
6
|
+
import type { SmartFilterDeserializer } from "../smartFilterDeserializer.js";
|
|
7
|
+
import type { OutputTextureOptions } from "../../blockFoundation/textureOptions.js";
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* ----------------------------------------------------------------------------
|
|
11
|
+
* Serialized Data Types
|
|
12
|
+
* ----------------------------------------------------------------------------
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* V1 Serialized Smart Filter
|
|
17
|
+
*/
|
|
18
|
+
export type SerializedSmartFilterV1 = {
|
|
19
|
+
/** Which type of serialized data this is. */
|
|
20
|
+
format: "smartFilter";
|
|
21
|
+
|
|
22
|
+
/** The format version of the serialized data (not the version of the SmartFilter itself).*/
|
|
23
|
+
formatVersion: 1;
|
|
24
|
+
|
|
25
|
+
/** The SmartFilter name */
|
|
26
|
+
name: string;
|
|
27
|
+
|
|
28
|
+
/** The namespace of the SmartFilter */
|
|
29
|
+
namespace: Nullable<string>;
|
|
30
|
+
|
|
31
|
+
/** The SmartFilter comments */
|
|
32
|
+
comments: Nullable<string>;
|
|
33
|
+
|
|
34
|
+
/** The editor data for the SmartFilter */
|
|
35
|
+
editorData: Nullable<IEditorData>;
|
|
36
|
+
|
|
37
|
+
/** The serialized blocks */
|
|
38
|
+
blocks: ISerializedBlockV1[];
|
|
39
|
+
|
|
40
|
+
/** The serialized connections */
|
|
41
|
+
connections: ISerializedConnectionV1[];
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* V1 format of a block in a serialized Smart Filter.
|
|
46
|
+
* Not to be confused with a SerializedBlockDefinitionV1 which serializes the definition of a CustomShaderBlock.
|
|
47
|
+
*/
|
|
48
|
+
export interface ISerializedBlockV1 {
|
|
49
|
+
/** The name of the block */
|
|
50
|
+
name: string;
|
|
51
|
+
|
|
52
|
+
/** The namespace of the block */
|
|
53
|
+
namespace: Nullable<string>;
|
|
54
|
+
|
|
55
|
+
/** The unique ID of the block - correlates with the ID in the editorData for block position, etc. */
|
|
56
|
+
uniqueId: number;
|
|
57
|
+
|
|
58
|
+
/** The blockType of the block - used to determine how to instantiate the block during deserialization */
|
|
59
|
+
blockType: string;
|
|
60
|
+
|
|
61
|
+
/** The comments for the block */
|
|
62
|
+
comments: Nullable<string>;
|
|
63
|
+
|
|
64
|
+
/** The OutputTextureOptions for serialized ShaderBlocks */
|
|
65
|
+
outputTextureOptions?: OutputTextureOptions;
|
|
66
|
+
|
|
67
|
+
/** Block specific serialized data */
|
|
68
|
+
data: any;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
/**
|
|
72
|
+
* V1 Serialized Connection
|
|
73
|
+
*/
|
|
74
|
+
export interface ISerializedConnectionV1 {
|
|
75
|
+
/** The uniqueId of the block that the connection is to */
|
|
76
|
+
outputBlock: number;
|
|
77
|
+
|
|
78
|
+
/** The name of the connectionPoint on the outputBlock */
|
|
79
|
+
outputConnectionPoint: string;
|
|
80
|
+
|
|
81
|
+
/** The uniqueId of the block that the connection is from */
|
|
82
|
+
inputBlock: number;
|
|
83
|
+
|
|
84
|
+
/** The name of the connectionPoint on the inputBlock */
|
|
85
|
+
inputConnectionPoint: string;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
/**
|
|
89
|
+
* ----------------------------------------------------------------------------
|
|
90
|
+
* Serializer Types
|
|
91
|
+
* ----------------------------------------------------------------------------
|
|
92
|
+
*/
|
|
93
|
+
|
|
94
|
+
/**
|
|
95
|
+
* A function that serializes a block to a V1 serialized block object
|
|
96
|
+
*/
|
|
97
|
+
export type SerializeBlockV1 = (block: BaseBlock) => ISerializedBlockV1;
|
|
98
|
+
|
|
99
|
+
/**
|
|
100
|
+
* A V1 serializer for blocks in a SmartFilter
|
|
101
|
+
*/
|
|
102
|
+
export interface IBlockSerializerV1 {
|
|
103
|
+
/** The blockType of the block that this serializer can serialize */
|
|
104
|
+
blockType: string;
|
|
105
|
+
|
|
106
|
+
/** The function that serializes the block in the Smart Filter */
|
|
107
|
+
serialize: SerializeBlockV1;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
/**
|
|
111
|
+
* ----------------------------------------------------------------------------
|
|
112
|
+
* Deserializer Types
|
|
113
|
+
* ----------------------------------------------------------------------------
|
|
114
|
+
*/
|
|
115
|
+
|
|
116
|
+
/**
|
|
117
|
+
* A function that deserializes a V1 block in a SmartFilter
|
|
118
|
+
*/
|
|
119
|
+
export type DeserializeBlockV1 = (
|
|
120
|
+
smartFilter: SmartFilter,
|
|
121
|
+
serializedBlock: ISerializedBlockV1,
|
|
122
|
+
engine: ThinEngine,
|
|
123
|
+
smartFilterDeserializer: SmartFilterDeserializer
|
|
124
|
+
) => Promise<BaseBlock>;
|
|
125
|
+
|
|
126
|
+
/**
|
|
127
|
+
* A function that optionally deserializes a block from a V1 serialized block object, returning null if it cannot
|
|
128
|
+
*/
|
|
129
|
+
export type OptionalBlockDeserializerV1 = (smartFilter: SmartFilter, serializedBlock: ISerializedBlockV1, engine: ThinEngine) => Promise<Nullable<BaseBlock>>;
|