@babylonjs/smart-filters 1.0.12 → 8.18.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.map +1 -1
- package/dist/blockFoundation/customShaderBlock.js +4 -6
- 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 +14 -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 +3 -1
- package/dist/serialization/v1/defaultBlockSerializer.js.map +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 +5 -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 +14 -9
- 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 +312 -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 -214
- package/src/serialization/smartFilterSerializer.ts +110 -121
- package/src/serialization/v1/defaultBlockSerializer.ts +21 -19
- 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 -129
- 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 +17 -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,5 +1,6 @@
|
|
|
1
1
|
import { SmartFilter } from "../smartFilter.js";
|
|
2
|
-
import {
|
|
2
|
+
import { ShaderBlock } from "../blockFoundation/shaderBlock.js";
|
|
3
|
+
import { InputBlockDeserializer } from "../blockFoundation/inputBlock.deserializer.js";
|
|
3
4
|
import { OutputBlock } from "../blockFoundation/outputBlock.js";
|
|
4
5
|
import { InputBlock } from "../blockFoundation/inputBlock.js";
|
|
5
6
|
import { UniqueIdGenerator } from "../utils/uniqueIdGenerator.js";
|
|
@@ -24,6 +25,7 @@ export class SmartFilterDeserializer {
|
|
|
24
25
|
* @param smartFilterJson - The JSON object to deserialize
|
|
25
26
|
* @returns A promise that resolves to the deserialized SmartFilter
|
|
26
27
|
*/
|
|
28
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
27
29
|
async deserialize(engine, smartFilterJson) {
|
|
28
30
|
const serializedSmartFilter = smartFilterJson;
|
|
29
31
|
// Back-compat for the rename of version to formatVersion, didn't warrant a new version
|
|
@@ -32,10 +34,10 @@ export class SmartFilterDeserializer {
|
|
|
32
34
|
}
|
|
33
35
|
switch (serializedSmartFilter.formatVersion) {
|
|
34
36
|
case 1:
|
|
35
|
-
return await this.
|
|
37
|
+
return await this._deserializeV1Async(engine, serializedSmartFilter);
|
|
36
38
|
}
|
|
37
39
|
}
|
|
38
|
-
async
|
|
40
|
+
async _deserializeV1Async(engine, serializedSmartFilter) {
|
|
39
41
|
const smartFilter = new SmartFilter(serializedSmartFilter.name, serializedSmartFilter.namespace);
|
|
40
42
|
const blockIdMap = new Map();
|
|
41
43
|
// Only needed for smart filters saved before we started using uniqueIds for the maps, didn't warrant new version
|
|
@@ -47,7 +49,7 @@ export class SmartFilterDeserializer {
|
|
|
47
49
|
const blockDeserializationWork = [];
|
|
48
50
|
const blockDefinitionsWhichCouldNotBeDeserialized = [];
|
|
49
51
|
serializedSmartFilter.blocks.forEach((serializedBlock) => {
|
|
50
|
-
blockDeserializationWork.push(this.
|
|
52
|
+
blockDeserializationWork.push(this._deserializeBlockV1Async(smartFilter, serializedBlock, engine, blockDefinitionsWhichCouldNotBeDeserialized, blockIdMap, blockNameMap));
|
|
51
53
|
});
|
|
52
54
|
await Promise.all(blockDeserializationWork);
|
|
53
55
|
// If any block definitions could not be deserialized, throw an error
|
|
@@ -57,9 +59,7 @@ export class SmartFilterDeserializer {
|
|
|
57
59
|
// Deserialize the connections
|
|
58
60
|
serializedSmartFilter.connections.forEach((connection) => {
|
|
59
61
|
// Find the source block and its connection point's connectTo function
|
|
60
|
-
const sourceBlock = typeof connection.outputBlock === "string"
|
|
61
|
-
? blockNameMap.get(connection.outputBlock)
|
|
62
|
-
: blockIdMap.get(connection.outputBlock);
|
|
62
|
+
const sourceBlock = typeof connection.outputBlock === "string" ? blockNameMap.get(connection.outputBlock) : blockIdMap.get(connection.outputBlock);
|
|
63
63
|
if (!sourceBlock) {
|
|
64
64
|
throw new Error(`Source block ${connection.outputBlock} not found`);
|
|
65
65
|
}
|
|
@@ -69,9 +69,7 @@ export class SmartFilterDeserializer {
|
|
|
69
69
|
}
|
|
70
70
|
const sourceConnectToFunction = sourceConnectionPoint.connectTo.bind(sourceConnectionPoint);
|
|
71
71
|
// Find the target block and its connection point
|
|
72
|
-
const targetBlock = typeof connection.inputBlock === "string"
|
|
73
|
-
? blockNameMap.get(connection.inputBlock)
|
|
74
|
-
: blockIdMap.get(connection.inputBlock);
|
|
72
|
+
const targetBlock = typeof connection.inputBlock === "string" ? blockNameMap.get(connection.inputBlock) : blockIdMap.get(connection.inputBlock);
|
|
75
73
|
if (!targetBlock) {
|
|
76
74
|
throw new Error(`Target block ${connection.inputBlock} not found`);
|
|
77
75
|
}
|
|
@@ -84,7 +82,7 @@ export class SmartFilterDeserializer {
|
|
|
84
82
|
});
|
|
85
83
|
return smartFilter;
|
|
86
84
|
}
|
|
87
|
-
async
|
|
85
|
+
async _deserializeBlockV1Async(smartFilter, serializedBlock, engine, blockTypesWhichCouldNotBeDeserialized, blockIdMap, blockNameMap) {
|
|
88
86
|
let newBlock = null;
|
|
89
87
|
// Back compat for early Smart Filter V1 serialization where the blockType was stored in className
|
|
90
88
|
// Not worth creating a new version for this, as it's only used in the deserializer
|
|
@@ -103,7 +101,7 @@ export class SmartFilterDeserializer {
|
|
|
103
101
|
newBlock = await this._customInputBlockDeserializer(smartFilter, serializedBlock, engine);
|
|
104
102
|
}
|
|
105
103
|
if (newBlock === null) {
|
|
106
|
-
newBlock =
|
|
104
|
+
newBlock = InputBlockDeserializer(smartFilter, serializedBlock);
|
|
107
105
|
}
|
|
108
106
|
}
|
|
109
107
|
break;
|
|
@@ -128,6 +126,10 @@ export class SmartFilterDeserializer {
|
|
|
128
126
|
// blocks, and so each deserializer doesn't have to remember to do it.
|
|
129
127
|
newBlock.uniqueId = serializedBlock.uniqueId;
|
|
130
128
|
newBlock.comments = serializedBlock.comments;
|
|
129
|
+
// Deserializers are also not responsible for deserializing the outputTextureOptions of ShaderBlocks.
|
|
130
|
+
if (serializedBlock.outputTextureOptions && newBlock instanceof ShaderBlock) {
|
|
131
|
+
newBlock.outputTextureOptions = serializedBlock.outputTextureOptions;
|
|
132
|
+
}
|
|
131
133
|
// We need to ensure any uniqueIds generated in the future (e.g. a new block is added to the SmartFilter)
|
|
132
134
|
// are higher than this one.
|
|
133
135
|
UniqueIdGenerator.EnsureIdsGreaterThan(newBlock.uniqueId);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"smartFilterDeserializer.js","sourceRoot":"","sources":["../../src/serialization/smartFilterDeserializer.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,sBAAsB,EAAE,MAAM,+CAA+C,CAAC;AACvF,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAEhE,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"smartFilterDeserializer.js","sourceRoot":"","sources":["../../src/serialization/smartFilterDeserializer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { SmartFilter } from "../smartFilter";
|
|
2
|
-
import type { IBlockSerializerV1, SerializedSmartFilterV1 } from "./v1/smartFilterSerialization.types";
|
|
1
|
+
import type { SmartFilter } from "../smartFilter.js";
|
|
2
|
+
import type { IBlockSerializerV1, SerializedSmartFilterV1 } from "./v1/smartFilterSerialization.types.js";
|
|
3
3
|
/**
|
|
4
4
|
* Serializes SmartFilters using the latest SmartFilter serialization version.
|
|
5
5
|
* The caller passes in information necessary to serialize the blocks in the SmartFilter.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"smartFilterSerializer.d.ts","sourceRoot":"","sources":["../../src/serialization/smartFilterSerializer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"smartFilterSerializer.d.ts","sourceRoot":"","sources":["../../src/serialization/smartFilterSerializer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAMrD,OAAO,KAAK,EAAE,kBAAkB,EAAiE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AAgBzK;;;;GAIG;AACH,qBAAa,qBAAqB;IAC9B,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAA4C;IAE9E;;;;OAIG;gBACgB,+BAA+B,EAAE,MAAM,EAAE,EAAE,0BAA0B,EAAE,kBAAkB,EAAE;IAS9G;;;;OAIG;IACI,SAAS,CAAC,WAAW,EAAE,WAAW,GAAG,uBAAuB;CA4DtE"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { InputBlockSerializer } from "../blockFoundation/inputBlock.serializer.js";
|
|
2
|
+
import { DefaultBlockSerializer } from "./v1/defaultBlockSerializer.js";
|
|
3
3
|
import { OutputBlock } from "../blockFoundation/outputBlock.js";
|
|
4
4
|
import { CustomShaderBlock } from "../blockFoundation/customShaderBlock.js";
|
|
5
5
|
import { CustomAggregateBlock } from "../blockFoundation/customAggregateBlock.js";
|
|
@@ -9,11 +9,8 @@ import { CustomAggregateBlock } from "../blockFoundation/customAggregateBlock.js
|
|
|
9
9
|
* @param b - The second connection point to compare
|
|
10
10
|
* @returns True if the connection points are equivalent, false otherwise
|
|
11
11
|
*/
|
|
12
|
-
function
|
|
13
|
-
return (a.inputBlock === b.inputBlock &&
|
|
14
|
-
a.inputConnectionPoint === b.inputConnectionPoint &&
|
|
15
|
-
a.outputBlock === b.outputBlock &&
|
|
16
|
-
a.outputConnectionPoint === b.outputConnectionPoint);
|
|
12
|
+
function SerializedConnectionPointsEqual(a, b) {
|
|
13
|
+
return (a.inputBlock === b.inputBlock && a.inputConnectionPoint === b.inputConnectionPoint && a.outputBlock === b.outputBlock && a.outputConnectionPoint === b.outputConnectionPoint);
|
|
17
14
|
}
|
|
18
15
|
/**
|
|
19
16
|
* Serializes SmartFilters using the latest SmartFilter serialization version.
|
|
@@ -28,10 +25,10 @@ export class SmartFilterSerializer {
|
|
|
28
25
|
*/
|
|
29
26
|
constructor(blocksUsingDefaultSerialization, additionalBlockSerializers) {
|
|
30
27
|
this._blockSerializers = new Map();
|
|
31
|
-
this._blockSerializers.set(
|
|
32
|
-
this._blockSerializers.set(OutputBlock.ClassName,
|
|
28
|
+
this._blockSerializers.set(InputBlockSerializer.blockType, InputBlockSerializer.serialize);
|
|
29
|
+
this._blockSerializers.set(OutputBlock.ClassName, DefaultBlockSerializer);
|
|
33
30
|
blocksUsingDefaultSerialization.forEach((block) => {
|
|
34
|
-
this._blockSerializers.set(block,
|
|
31
|
+
this._blockSerializers.set(block, DefaultBlockSerializer);
|
|
35
32
|
});
|
|
36
33
|
additionalBlockSerializers.forEach((serializer) => this._blockSerializers.set(serializer.blockType, serializer.serialize));
|
|
37
34
|
}
|
|
@@ -46,7 +43,7 @@ export class SmartFilterSerializer {
|
|
|
46
43
|
// Serialize the block itself
|
|
47
44
|
const blockClassName = block.getClassName();
|
|
48
45
|
const serializeFn = blockClassName === CustomShaderBlock.ClassName || blockClassName === CustomAggregateBlock.ClassName
|
|
49
|
-
?
|
|
46
|
+
? DefaultBlockSerializer
|
|
50
47
|
: this._blockSerializers.get(block.blockType);
|
|
51
48
|
if (!serializeFn) {
|
|
52
49
|
throw new Error(`No serializer was provided for a block of type ${block.blockType}`);
|
|
@@ -62,7 +59,7 @@ export class SmartFilterSerializer {
|
|
|
62
59
|
outputBlock: connectedTo.ownerBlock.uniqueId,
|
|
63
60
|
outputConnectionPoint: connectedTo.name,
|
|
64
61
|
};
|
|
65
|
-
if (!connections.find((other) =>
|
|
62
|
+
if (!connections.find((other) => SerializedConnectionPointsEqual(newConnection, other))) {
|
|
66
63
|
connections.push(newConnection);
|
|
67
64
|
}
|
|
68
65
|
}
|
|
@@ -76,7 +73,7 @@ export class SmartFilterSerializer {
|
|
|
76
73
|
outputBlock: block.uniqueId,
|
|
77
74
|
outputConnectionPoint: output.name,
|
|
78
75
|
};
|
|
79
|
-
if (!connections.find((other) =>
|
|
76
|
+
if (!connections.find((other) => SerializedConnectionPointsEqual(newConnection, other))) {
|
|
80
77
|
connections.push(newConnection);
|
|
81
78
|
}
|
|
82
79
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"smartFilterSerializer.js","sourceRoot":"","sources":["../../src/serialization/smartFilterSerializer.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,oBAAoB,EAAE,MAAM,6CAA6C,CAAC;AAEnF,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;
|
|
1
|
+
{"version":3,"file":"smartFilterSerializer.js","sourceRoot":"","sources":["../../src/serialization/smartFilterSerializer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import type { SerializeBlockV1 } from "./smartFilterSerialization.types";
|
|
1
|
+
import type { SerializeBlockV1 } from "./smartFilterSerialization.types.js";
|
|
2
2
|
/**
|
|
3
3
|
* The default V1 block serializer which can be used for any block that relies only on ConnectionPoints
|
|
4
4
|
* and does not have any constructor parameters or class properties that need to be serialized.
|
|
5
5
|
* @param block - The block to serialize
|
|
6
6
|
* @returns The serialized block
|
|
7
7
|
*/
|
|
8
|
-
export declare const
|
|
8
|
+
export declare const DefaultBlockSerializer: SerializeBlockV1;
|
|
9
9
|
//# sourceMappingURL=defaultBlockSerializer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defaultBlockSerializer.d.ts","sourceRoot":"","sources":["../../../src/serialization/v1/defaultBlockSerializer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"defaultBlockSerializer.d.ts","sourceRoot":"","sources":["../../../src/serialization/v1/defaultBlockSerializer.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAsB,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AAEhG;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,EAAE,gBAUpC,CAAC"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
+
import { ShaderBlock } from "../../blockFoundation/shaderBlock.js";
|
|
1
2
|
/**
|
|
2
3
|
* The default V1 block serializer which can be used for any block that relies only on ConnectionPoints
|
|
3
4
|
* and does not have any constructor parameters or class properties that need to be serialized.
|
|
4
5
|
* @param block - The block to serialize
|
|
5
6
|
* @returns The serialized block
|
|
6
7
|
*/
|
|
7
|
-
export const
|
|
8
|
+
export const DefaultBlockSerializer = (block) => {
|
|
8
9
|
return {
|
|
9
10
|
name: block.name,
|
|
10
11
|
uniqueId: block.uniqueId,
|
|
@@ -12,6 +13,7 @@ export const defaultBlockSerializer = (block) => {
|
|
|
12
13
|
namespace: block.namespace,
|
|
13
14
|
comments: block.comments,
|
|
14
15
|
data: undefined,
|
|
16
|
+
outputTextureOptions: block instanceof ShaderBlock ? block.outputTextureOptions : undefined,
|
|
15
17
|
};
|
|
16
18
|
};
|
|
17
19
|
//# sourceMappingURL=defaultBlockSerializer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defaultBlockSerializer.js","sourceRoot":"","sources":["../../../src/serialization/v1/defaultBlockSerializer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"defaultBlockSerializer.js","sourceRoot":"","sources":["../../../src/serialization/v1/defaultBlockSerializer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AAInE;;;;;GAKG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAqB,CAAC,KAAgB,EAAsB,EAAE;IAC7F,OAAO;QACH,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,IAAI,EAAE,SAAS;QACf,oBAAoB,EAAE,KAAK,YAAY,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAC,SAAS;KAC9F,CAAC;AACN,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/serialization/v1/index.ts"],"names":[],"mappings":"AAAA,cAAc,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/serialization/v1/index.ts"],"names":[],"mappings":"AAAA,cAAc,6BAA6B,CAAC;AAE5C,OAAO,EAAE,sBAAsB,IAAI,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAC/F,cAAc,qCAAqC,CAAC"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
1
|
export * from "./defaultBlockSerializer.js";
|
|
2
|
+
// Back compat for when camelCase was used
|
|
3
|
+
export { DefaultBlockSerializer as defaultBlockSerializer } from "./defaultBlockSerializer.js";
|
|
2
4
|
export * from "./smartFilterSerialization.types.js";
|
|
3
5
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/serialization/v1/index.ts"],"names":[],"mappings":"AAAA,cAAc,6BAA6B,CAAC;AAC5C,cAAc,qCAAqC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/serialization/v1/index.ts"],"names":[],"mappings":"AAAA,cAAc,6BAA6B,CAAC;AAC5C,0CAA0C;AAC1C,OAAO,EAAE,sBAAsB,IAAI,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAC/F,cAAc,qCAAqC,CAAC"}
|
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
* Data Types Used For Block Serialization
|
|
4
4
|
* ----------------------------------------------------------------------------
|
|
5
5
|
*/
|
|
6
|
-
import type { Nullable } from "@babylonjs/core/types";
|
|
7
|
-
import type { AllConnectionPointTypes, ConnectionPointValue } from "../../connection/connectionPointType";
|
|
8
|
-
import type { ShaderProgram } from "../../utils/shaderCodeUtils";
|
|
6
|
+
import type { Nullable } from "@babylonjs/core/types.js";
|
|
7
|
+
import type { AllConnectionPointTypes, ConnectionPointValue } from "../../connection/connectionPointType.js";
|
|
8
|
+
import type { ShaderProgram } from "../../utils/shaderCodeUtils.js";
|
|
9
9
|
/**
|
|
10
10
|
* The V1 definition of a serialized shader block. This block definition is loaded by a CustomShaderBlock and defines how a
|
|
11
11
|
* blockType works. This should not be confused with an ISerializedBockV1, which is a serialized instance of a block in a
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shaderBlockSerialization.types.d.ts","sourceRoot":"","sources":["../../../src/serialization/v1/shaderBlockSerialization.types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,
|
|
1
|
+
{"version":3,"file":"shaderBlockSerialization.types.d.ts","sourceRoot":"","sources":["../../../src/serialization/v1/shaderBlockSerialization.types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,iCAAsB;AAC9C,OAAO,KAAK,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,MAAM,yCAAyC,CAAC;AAC7G,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAEpE;;;;GAIG;AACH,MAAM,MAAM,iCAAiC,GAAG;IAC5C;;OAEG;IACH,MAAM,EAAE,uBAAuB,CAAC;IAEhC;;OAEG;IACH,aAAa,EAAE,CAAC,CAAC;IAEjB;;;;;OAKG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAE5B;;OAEG;IACH,aAAa,EAAE,aAAa,CAAC;IAE7B;;OAEG;IACH,qBAAqB,EAAE,gCAAgC,EAAE,CAAC;IAE1D;;OAEG;IACH,mBAAmB,EAAE,OAAO,CAAC;CAChC,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,kBAAkB,GAAG,mBAAmB,CAAC;AAEvE;;GAEG;AACH,MAAM,MAAM,gCAAgC,CAAC,CAAC,SAAS,uBAAuB,GAAG,uBAAuB,IAAI;IACxG;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,IAAI,EAAE,CAAC,CAAC;IAER;;OAEG;IACH,YAAY,CAAC,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAAC;IAEvC;;OAEG;IACH,QAAQ,CAAC,EAAE,eAAe,CAAC;CAC9B,CAAC"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import type { Nullable } from "@babylonjs/core/types.js";
|
|
2
2
|
import type { BaseBlock } from "../../blockFoundation/baseBlock.js";
|
|
3
3
|
import type { SmartFilter } from "../../smartFilter.js";
|
|
4
|
-
import type { ThinEngine } from "@babylonjs/core/Engines/thinEngine";
|
|
5
|
-
import type { IEditorData } from "
|
|
4
|
+
import type { ThinEngine } from "@babylonjs/core/Engines/thinEngine.js";
|
|
5
|
+
import type { IEditorData } from "shared-ui-components/nodeGraphSystem/interfaces/nodeLocationInfo.js";
|
|
6
6
|
import type { SmartFilterDeserializer } from "../smartFilterDeserializer.js";
|
|
7
|
+
import type { OutputTextureOptions } from "../../blockFoundation/textureOptions.js";
|
|
7
8
|
/**
|
|
8
9
|
* ----------------------------------------------------------------------------
|
|
9
10
|
* Serialized Data Types
|
|
@@ -45,6 +46,8 @@ export interface ISerializedBlockV1 {
|
|
|
45
46
|
blockType: string;
|
|
46
47
|
/** The comments for the block */
|
|
47
48
|
comments: Nullable<string>;
|
|
49
|
+
/** The OutputTextureOptions for serialized ShaderBlocks */
|
|
50
|
+
outputTextureOptions?: OutputTextureOptions;
|
|
48
51
|
/** Block specific serialized data */
|
|
49
52
|
data: any;
|
|
50
53
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"smartFilterSerialization.types.d.ts","sourceRoot":"","sources":["../../../src/serialization/v1/smartFilterSerialization.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,
|
|
1
|
+
{"version":3,"file":"smartFilterSerialization.types.d.ts","sourceRoot":"","sources":["../../../src/serialization/v1/smartFilterSerialization.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,iCAAsB;AAC9C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oCAAoC,CAAC;AACpE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,EAAE,UAAU,EAAE,8CAAmC;AAC7D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qEAAqE,CAAC;AACvG,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAC7E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,yCAAyC,CAAC;AAEpF;;;;GAIG;AAEH;;GAEG;AACH,MAAM,MAAM,uBAAuB,GAAG;IAClC,6CAA6C;IAC7C,MAAM,EAAE,aAAa,CAAC;IAEtB,4FAA4F;IAC5F,aAAa,EAAE,CAAC,CAAC;IAEjB,2BAA2B;IAC3B,IAAI,EAAE,MAAM,CAAC;IAEb,uCAAuC;IACvC,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAE5B,+BAA+B;IAC/B,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAE3B,0CAA0C;IAC1C,UAAU,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC;IAElC,4BAA4B;IAC5B,MAAM,EAAE,kBAAkB,EAAE,CAAC;IAE7B,iCAAiC;IACjC,WAAW,EAAE,uBAAuB,EAAE,CAAC;CAC1C,CAAC;AAEF;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IAC/B,4BAA4B;IAC5B,IAAI,EAAE,MAAM,CAAC;IAEb,iCAAiC;IACjC,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAE5B,qGAAqG;IACrG,QAAQ,EAAE,MAAM,CAAC;IAEjB,yGAAyG;IACzG,SAAS,EAAE,MAAM,CAAC;IAElB,iCAAiC;IACjC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAE3B,2DAA2D;IAC3D,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;IAE5C,qCAAqC;IACrC,IAAI,EAAE,GAAG,CAAC;CACb;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACpC,0DAA0D;IAC1D,WAAW,EAAE,MAAM,CAAC;IAEpB,yDAAyD;IACzD,qBAAqB,EAAE,MAAM,CAAC;IAE9B,4DAA4D;IAC5D,UAAU,EAAE,MAAM,CAAC;IAEnB,wDAAwD;IACxD,oBAAoB,EAAE,MAAM,CAAC;CAChC;AAED;;;;GAIG;AAEH;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,KAAK,EAAE,SAAS,KAAK,kBAAkB,CAAC;AAExE;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAC/B,oEAAoE;IACpE,SAAS,EAAE,MAAM,CAAC;IAElB,iEAAiE;IACjE,SAAS,EAAE,gBAAgB,CAAC;CAC/B;AAED;;;;GAIG;AAEH;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,CAC7B,WAAW,EAAE,WAAW,EACxB,eAAe,EAAE,kBAAkB,EACnC,MAAM,EAAE,UAAU,EAClB,uBAAuB,EAAE,uBAAuB,KAC/C,OAAO,CAAC,SAAS,CAAC,CAAC;AAExB;;GAEG;AACH,MAAM,MAAM,2BAA2B,GAAG,CAAC,WAAW,EAAE,WAAW,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,EAAE,UAAU,KAAK,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC"}
|
package/dist/smartFilter.d.ts
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import type { ThinEngine } from "@babylonjs/core/Engines/thinEngine";
|
|
2
|
-
import type { Nullable } from "@babylonjs/core/types";
|
|
3
|
-
import type { SmartFilterRuntime } from "./runtime/smartFilterRuntime";
|
|
4
|
-
import type { BaseBlock } from "./blockFoundation/baseBlock";
|
|
5
|
-
import type { ConnectionPointType } from "./connection/connectionPointType";
|
|
6
|
-
import type { ConnectionPoint } from "./connection/connectionPoint";
|
|
1
|
+
import type { ThinEngine } from "@babylonjs/core/Engines/thinEngine.js";
|
|
2
|
+
import type { Nullable } from "@babylonjs/core/types.js";
|
|
3
|
+
import type { SmartFilterRuntime } from "./runtime/smartFilterRuntime.js";
|
|
4
|
+
import type { BaseBlock } from "./blockFoundation/baseBlock.js";
|
|
5
|
+
import type { ConnectionPointType } from "./connection/connectionPointType.js";
|
|
6
|
+
import type { ConnectionPoint } from "./connection/connectionPoint.js";
|
|
7
7
|
import { OutputBlock } from "./blockFoundation/outputBlock.js";
|
|
8
8
|
import { InternalSmartFilterRuntime } from "./runtime/smartFilterRuntime.js";
|
|
9
9
|
import { RenderTargetGenerator } from "./runtime/renderTargetGenerator.js";
|
|
10
|
-
import type { IEditorData } from "
|
|
11
|
-
import type { IDisposable } from "./IDisposable";
|
|
10
|
+
import type { IEditorData } from "shared-ui-components/nodeGraphSystem/interfaces/nodeLocationInfo.js";
|
|
11
|
+
import type { IDisposable } from "./IDisposable.js";
|
|
12
12
|
/**
|
|
13
13
|
* Data passed to the initialize function of the blocks.
|
|
14
14
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"smartFilter.d.ts","sourceRoot":"","sources":["../src/smartFilter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"smartFilter.d.ts","sourceRoot":"","sources":["../src/smartFilter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,8CAAmC;AAC7D,OAAO,KAAK,EAAE,QAAQ,EAAE,iCAAsB;AAC9C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC/E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAC/D,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAC7E,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAE3E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qEAAqE,CAAC;AACvG,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAUpD;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC7B;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,0BAA0B,CAAC;IAE7C;;;;OAIG;IACH,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAElC;;OAEG;IACH,QAAQ,CAAC,sBAAsB,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;IAEjD;;OAEG;IACH,QAAQ,CAAC,mBAAmB,EAAE,WAAW,EAAE,CAAC;CAC/C,CAAC;AAEF;;;;;;GAMG;AACH,qBAAa,WAAW;IACpB;;OAEG;IACH,SAAgB,IAAI,EAAE,MAAM,CAAC;IAE7B;;OAEG;IACH,SAAgB,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAE5C;;;;OAIG;IACH,SAAgB,MAAM,EAAE,eAAe,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAErE;;OAEG;IACH,SAAgB,WAAW,EAAE,WAAW,CAAC;IAEzC;;OAEG;IACI,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAQ;IAEzC;;OAEG;IACI,UAAU,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAQ;IAEhD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAmB;IACnD;;;;OAIG;gBACS,IAAI,EAAE,MAAM,EAAE,SAAS,GAAE,QAAQ,CAAC,MAAM,CAAQ;IAS5D;;OAEG;IACH,IAAW,cAAc,IAAI,aAAa,CAAC,SAAS,CAAC,CAEpD;IAED;;OAEG;IACI,YAAY,IAAI,MAAM;IAI7B;;;;;OAKG;IACI,aAAa,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;IAe5C;;;;;OAKG;IACI,WAAW,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;IAc1C,OAAO,CAAC,sCAAsC;IAQ9C;;;;;OAKG;IACU,kBAAkB,CAAC,MAAM,EAAE,UAAU,EAAE,qBAAqB,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAsC/H;;;OAGG;IACI,MAAM,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI;IAevC;;;;OAIG;IACI,2BAA2B,CAAC,IAAI,EAAE,MAAM,IAAI,GAAG,IAAI;CAoB7D"}
|
package/dist/smartFilter.js
CHANGED
|
@@ -3,7 +3,7 @@ import { InternalSmartFilterRuntime } from "./runtime/smartFilterRuntime.js";
|
|
|
3
3
|
import { RenderTargetGenerator } from "./runtime/renderTargetGenerator.js";
|
|
4
4
|
import { AggregateBlock } from "./blockFoundation/aggregateBlock.js";
|
|
5
5
|
import { ShaderBlock } from "./blockFoundation/shaderBlock.js";
|
|
6
|
-
import {
|
|
6
|
+
import { GetBlockOutputTextureSize } from "./utils/textureUtils.js";
|
|
7
7
|
/**
|
|
8
8
|
* How long to wait for shader compilation and texture loading to complete before erroring out.
|
|
9
9
|
*/
|
|
@@ -86,8 +86,7 @@ export class SmartFilter {
|
|
|
86
86
|
_generateCommandsAndGatherInitPromises(initializationData) {
|
|
87
87
|
const outputBlock = this.outputBlock;
|
|
88
88
|
outputBlock.visit(initializationData, (block, initializationData) => {
|
|
89
|
-
|
|
90
|
-
block.generateCommandsAndGatherInitPromises(initializationData, ((_a = outputBlock.input.connectedTo) === null || _a === void 0 ? void 0 : _a.ownerBlock) === block);
|
|
89
|
+
block.generateCommandsAndGatherInitPromises(initializationData, outputBlock.input.connectedTo?.ownerBlock === block);
|
|
91
90
|
});
|
|
92
91
|
}
|
|
93
92
|
/**
|
|
@@ -106,7 +105,7 @@ export class SmartFilter {
|
|
|
106
105
|
};
|
|
107
106
|
this._workWithAggregateFreeGraph(() => {
|
|
108
107
|
this.outputBlock.prepareForRuntime();
|
|
109
|
-
renderTargetGenerator = renderTargetGenerator
|
|
108
|
+
renderTargetGenerator = renderTargetGenerator ?? new RenderTargetGenerator(false);
|
|
110
109
|
renderTargetGenerator.setOutputTextures(this, initializationData);
|
|
111
110
|
this.outputBlock.propagateRuntimeData();
|
|
112
111
|
this._generateCommandsAndGatherInitPromises(initializationData);
|
|
@@ -114,6 +113,7 @@ export class SmartFilter {
|
|
|
114
113
|
// Wait for all the blocks to be initialized
|
|
115
114
|
if (initializationData.initializationPromises.length > 0) {
|
|
116
115
|
const timeoutPromise = new Promise((resolve) => setTimeout(resolve, InitializationTimeout, true));
|
|
116
|
+
// eslint-disable-next-line github/no-then
|
|
117
117
|
const initializationPromises = Promise.all(initializationData.initializationPromises).then(() => false);
|
|
118
118
|
const timedOut = await Promise.race([initializationPromises, timeoutPromise]);
|
|
119
119
|
if (timedOut) {
|
|
@@ -131,12 +131,11 @@ export class SmartFilter {
|
|
|
131
131
|
resize(engine) {
|
|
132
132
|
this._workWithAggregateFreeGraph(() => {
|
|
133
133
|
this.outputBlock.visit({}, (block) => {
|
|
134
|
-
var _a;
|
|
135
134
|
if (!(block instanceof ShaderBlock)) {
|
|
136
135
|
return;
|
|
137
136
|
}
|
|
138
|
-
if (
|
|
139
|
-
const size =
|
|
137
|
+
if (block.output.runtimeData?.value) {
|
|
138
|
+
const size = GetBlockOutputTextureSize(this, engine, block.outputTextureOptions);
|
|
140
139
|
block.output.runtimeData.value.resize(size);
|
|
141
140
|
}
|
|
142
141
|
});
|
package/dist/smartFilter.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"smartFilter.js","sourceRoot":"","sources":["../src/smartFilter.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAC/D,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAC7E,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AAGrE,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAE/D,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AAEpE;;GAEG;AACH,MAAM,qBAAqB,GAAG,KAAK,CAAC;AA6BpC;;;;;;GAMG;AACH,MAAM,OAAO,WAAW;IAkCpB;;;;OAIG;IACH,YAAY,IAAY,EAAE,YAA8B,IAAI;QAhB5D;;WAEG;QACI,aAAQ,GAAqB,IAAI,CAAC;QAEzC;;WAEG;QACI,eAAU,GAA0B,IAAI,CAAC;QAS5C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAE3B,IAAI,CAAC,eAAe,GAAG,IAAI,KAAK,EAAa,CAAC;QAC9C,IAAI,CAAC,WAAW,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;IACzC,CAAC;IAED;;OAEG;IACH,IAAW,cAAc;QACrB,OAAO,IAAI,CAAC,eAAe,CAAC;IAChC,CAAC;IAED;;OAEG;IACI,YAAY;QACf,OAAO,aAAa,CAAC;IACzB,CAAC;IAED;;;;;OAKG;IACI,aAAa,CAAC,KAAgB;QACjC,yDAAyD;QACzD,IAAI,KAAK,CAAC,WAAW,KAAK,IAAI,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;QAC9D,CAAC;QAED,0CAA0C;QAC1C,IAAI,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YAC7C,OAAO;QACX,CAAC;QAED,+CAA+C;QAC/C,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC;IAED;;;;;OAKG;IACI,WAAW,CAAC,KAAgB;QAC/B,MAAM,kBAAkB,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAE/D,8DAA8D;QAC9D,4CAA4C;QAC5C,IAAI,kBAAkB,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;YAC7C,+CAA+C;YAC/C,KAAK,CAAC,UAAU,EAAE,CAAC;YAEnB,qDAAqD;YACrD,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC;QACvD,CAAC;IACL,CAAC;IAEO,sCAAsC,CAAC,kBAAsC;QACjF,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QAErC,WAAW,CAAC,KAAK,CAAC,kBAAkB,EAAE,CAAC,KAAgB,EAAE,kBAAsC,EAAE,EAAE
|
|
1
|
+
{"version":3,"file":"smartFilter.js","sourceRoot":"","sources":["../src/smartFilter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Builds all .glsl files under <shaderPath>.
|
|
3
3
|
* @param shaderPath - The path to the shaders to watch
|
|
4
|
-
* @param
|
|
5
|
-
* @
|
|
4
|
+
* @param smartFiltersCorePath - The path to import the Smart Filters core from
|
|
5
|
+
* @param babylonCorePath - The path to import the Babylon core from (optional)
|
|
6
|
+
* @example node buildShaders.js <shaderPath> @babylonjs/smart-filters
|
|
6
7
|
*/
|
|
7
8
|
export {};
|
|
8
9
|
//# sourceMappingURL=buildShaders.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildShaders.d.ts","sourceRoot":"","sources":["../../../src/utils/buildTools/buildShaders.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"buildShaders.d.ts","sourceRoot":"","sources":["../../../src/utils/buildTools/buildShaders.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG"}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Builds all .glsl files under <shaderPath>.
|
|
3
3
|
* @param shaderPath - The path to the shaders to watch
|
|
4
|
-
* @param
|
|
5
|
-
* @
|
|
4
|
+
* @param smartFiltersCorePath - The path to import the Smart Filters core from
|
|
5
|
+
* @param babylonCorePath - The path to import the Babylon core from (optional)
|
|
6
|
+
* @example node buildShaders.js <shaderPath> @babylonjs/smart-filters
|
|
6
7
|
*/
|
|
7
|
-
import {
|
|
8
|
-
const
|
|
9
|
-
if (
|
|
10
|
-
|
|
8
|
+
import { ConvertShaders } from "./convertShaders.js";
|
|
9
|
+
const ExternalArguments = process.argv.slice(2);
|
|
10
|
+
if (ExternalArguments.length >= 2 && ExternalArguments[0] && ExternalArguments[1]) {
|
|
11
|
+
ConvertShaders(ExternalArguments[0], ExternalArguments[1], ExternalArguments[2]);
|
|
11
12
|
}
|
|
12
13
|
//# sourceMappingURL=buildShaders.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildShaders.js","sourceRoot":"","sources":["../../../src/utils/buildTools/buildShaders.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"buildShaders.js","sourceRoot":"","sources":["../../../src/utils/buildTools/buildShaders.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,MAAM,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAChD,IAAI,iBAAiB,CAAC,MAAM,IAAI,CAAC,IAAI,iBAAiB,CAAC,CAAC,CAAC,IAAI,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC;IAChF,cAAc,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;AACrF,CAAC"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Converts a single shader to a .ts file which exports a Smart Filter block
|
|
3
3
|
* @param fragmentShaderPath - The path to the fragment file for the shader
|
|
4
|
-
* @param
|
|
4
|
+
* @param smartFiltersCorePath - The path to import the Smart Filters core from
|
|
5
|
+
* @param babylonCorePath - The path to import the Babylon core from (optional)
|
|
6
|
+
|
|
5
7
|
*/
|
|
6
|
-
export declare function
|
|
8
|
+
export declare function ConvertGlslIntoBlock(fragmentShaderPath: string, smartFiltersCorePath: string, babylonCorePath?: string): void;
|
|
7
9
|
//# sourceMappingURL=convertGlslIntoBlock.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"convertGlslIntoBlock.d.ts","sourceRoot":"","sources":["../../../src/utils/buildTools/convertGlslIntoBlock.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"convertGlslIntoBlock.d.ts","sourceRoot":"","sources":["../../../src/utils/buildTools/convertGlslIntoBlock.ts"],"names":[],"mappings":"AAsJA;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,kBAAkB,EAAE,MAAM,EAAE,oBAAoB,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAwK7H"}
|