@babylonjs/smart-filters 8.18.0 → 8.19.1
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/customShaderBlock.d.ts +9 -0
- package/dist/blockFoundation/customShaderBlock.d.ts.map +1 -1
- package/dist/blockFoundation/customShaderBlock.js +44 -2
- package/dist/blockFoundation/customShaderBlock.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +1 -1
- package/src/blockFoundation/customShaderBlock.ts +53 -3
- package/src/utils/buildTools/recordVersionNumber.js +8 -1
- package/src/version.ts +1 -1
|
@@ -60,5 +60,14 @@ export declare class CustomShaderBlock extends ShaderBlock {
|
|
|
60
60
|
* @returns The shader binding for the custom shader block
|
|
61
61
|
*/
|
|
62
62
|
getShaderBinding(): ShaderBinding;
|
|
63
|
+
/**
|
|
64
|
+
* Validates the default value of a connection point and returns it if valid.
|
|
65
|
+
* If the default value is not provided or is invalid, this returns null.
|
|
66
|
+
* @param connectionPointType - The type of the connection point
|
|
67
|
+
* @param connectionPointName - The name of the connection point
|
|
68
|
+
* @param defaultValue - The default value of the connection point
|
|
69
|
+
* @returns The default value, or null if no default value is provided or it was invalid
|
|
70
|
+
*/
|
|
71
|
+
private _validateDefaultValue;
|
|
63
72
|
}
|
|
64
73
|
//# sourceMappingURL=customShaderBlock.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"customShaderBlock.d.ts","sourceRoot":"","sources":["../../src/blockFoundation/customShaderBlock.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"customShaderBlock.d.ts","sourceRoot":"","sources":["../../src/blockFoundation/customShaderBlock.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAE5D,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,qDAAqD,CAAC;AAE3G,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,KAAK,EAAE,QAAQ,EAAE,iCAAsB;AA6E9C;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,WAAW;IAC9C;;;;;;OAMG;WACW,MAAM,CAAC,WAAW,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,eAAe,EAAE,+BAA+B,GAAG,iBAAiB;IAcjI;;OAEG;IACH,OAAuB,SAAS,SAAuB;IAEvD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAgB;IAC/C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAmB;IAC9C,OAAO,CAAC,gBAAgB,CAAsD;IAE9E;;OAEG;IACH,IAAoB,SAAS,IAAI,MAAM,CAEtC;IAED;;;OAGG;IACH,IAAoB,SAAS,IAAI,QAAQ,CAAC,MAAM,CAAC,CAEhD;IAED;;;;;;;;;OASG;IACH,OAAO;IAoBP;;;OAGG;IACa,gBAAgB;IAIhC;;;;OAIG;IACH,OAAO,CAAC,yCAAyC;IAkBjD;;;OAGG;IACa,gBAAgB,IAAI,aAAa;IAgCjD;;;;;;;OAOG;IACH,OAAO,CAAC,qBAAqB;CAuChC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { Logger } from "@babylonjs/core/Misc/logger.js";
|
|
1
2
|
import { ConnectionPointType } from "../connection/connectionPointType.js";
|
|
2
3
|
import { ShaderBinding } from "../runtime/shaderRuntime.js";
|
|
3
4
|
import { CreateStrongRef } from "../runtime/strongRef.js";
|
|
@@ -143,8 +144,9 @@ export class CustomShaderBlock extends ShaderBlock {
|
|
|
143
144
|
}
|
|
144
145
|
else {
|
|
145
146
|
// If not auto bound, register as an input connection point
|
|
146
|
-
|
|
147
|
-
|
|
147
|
+
const defaultValue = this._validateDefaultValue(connectionPoint.type, connectionPoint.name, connectionPoint.defaultValue);
|
|
148
|
+
if (defaultValue != null) {
|
|
149
|
+
this._registerOptionalInput(connectionPoint.name, connectionPoint.type, CreateStrongRef(defaultValue));
|
|
148
150
|
}
|
|
149
151
|
else {
|
|
150
152
|
this._registerInput(connectionPoint.name, connectionPoint.type);
|
|
@@ -182,6 +184,46 @@ export class CustomShaderBlock extends ShaderBlock {
|
|
|
182
184
|
}
|
|
183
185
|
return new CustomShaderBlockBinding(inputsToBind);
|
|
184
186
|
}
|
|
187
|
+
/**
|
|
188
|
+
* Validates the default value of a connection point and returns it if valid.
|
|
189
|
+
* If the default value is not provided or is invalid, this returns null.
|
|
190
|
+
* @param connectionPointType - The type of the connection point
|
|
191
|
+
* @param connectionPointName - The name of the connection point
|
|
192
|
+
* @param defaultValue - The default value of the connection point
|
|
193
|
+
* @returns The default value, or null if no default value is provided or it was invalid
|
|
194
|
+
*/
|
|
195
|
+
_validateDefaultValue(connectionPointType, connectionPointName, defaultValue) {
|
|
196
|
+
if (defaultValue === undefined || defaultValue === null) {
|
|
197
|
+
return null;
|
|
198
|
+
}
|
|
199
|
+
// Validate the default value based on the connection point type
|
|
200
|
+
let returnValue = null;
|
|
201
|
+
switch (connectionPointType) {
|
|
202
|
+
case ConnectionPointType.Float:
|
|
203
|
+
returnValue = typeof defaultValue === "number" ? defaultValue : null;
|
|
204
|
+
break;
|
|
205
|
+
case ConnectionPointType.Color3:
|
|
206
|
+
returnValue = typeof defaultValue === "object" && "r" in defaultValue && "g" in defaultValue && "b" in defaultValue ? defaultValue : null;
|
|
207
|
+
break;
|
|
208
|
+
case ConnectionPointType.Color4:
|
|
209
|
+
returnValue = typeof defaultValue === "object" && "r" in defaultValue && "g" in defaultValue && "b" in defaultValue && "a" in defaultValue ? defaultValue : null;
|
|
210
|
+
break;
|
|
211
|
+
case ConnectionPointType.Boolean:
|
|
212
|
+
returnValue = typeof defaultValue === "boolean" ? defaultValue : null;
|
|
213
|
+
break;
|
|
214
|
+
case ConnectionPointType.Vector2:
|
|
215
|
+
returnValue = typeof defaultValue === "object" && "x" in defaultValue && "y" in defaultValue ? defaultValue : null;
|
|
216
|
+
break;
|
|
217
|
+
default: {
|
|
218
|
+
Logger.Warn(`Default value supplied when unsupported. Block Type: "${this.blockType}" Connection Point: "${connectionPointName}"`);
|
|
219
|
+
return null;
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
if (returnValue === null) {
|
|
223
|
+
Logger.Warn(`Invalid default value. Block Type: "${this.blockType}" Connection Point: "${connectionPointName}"`);
|
|
224
|
+
}
|
|
225
|
+
return returnValue;
|
|
226
|
+
}
|
|
185
227
|
}
|
|
186
228
|
/**
|
|
187
229
|
* The class name of the block.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"customShaderBlock.js","sourceRoot":"","sources":["../../src/blockFoundation/customShaderBlock.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"customShaderBlock.js","sourceRoot":"","sources":["../../src/blockFoundation/customShaderBlock.ts"],"names":[],"mappings":"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"}
|
package/dist/version.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* The version of the SmartFilter core. During publish, this file is overwritten by recordVersionNumber.ts with the same version that is used for the NPM publish.
|
|
3
3
|
*/
|
|
4
|
-
export declare const SmartFilterCoreVersion = "8.
|
|
4
|
+
export declare const SmartFilterCoreVersion = "8.19.1";
|
|
5
5
|
//# sourceMappingURL=version.d.ts.map
|
package/dist/version.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* The version of the SmartFilter core. During publish, this file is overwritten by recordVersionNumber.ts with the same version that is used for the NPM publish.
|
|
3
3
|
*/
|
|
4
|
-
export const SmartFilterCoreVersion = "8.
|
|
4
|
+
export const SmartFilterCoreVersion = "8.19.1";
|
|
5
5
|
//# sourceMappingURL=version.js.map
|
package/package.json
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
import { Logger } from "core/Misc/logger.js";
|
|
1
2
|
import type { Effect } from "core/Materials/effect.js";
|
|
2
|
-
import { ConnectionPointType } from "../connection/connectionPointType.js";
|
|
3
|
+
import { ConnectionPointType, type ConnectionPointValue } from "../connection/connectionPointType.js";
|
|
3
4
|
import { ShaderBinding } from "../runtime/shaderRuntime.js";
|
|
4
5
|
import { CreateStrongRef } from "../runtime/strongRef.js";
|
|
5
6
|
import type { SerializedShaderBlockDefinition } from "../serialization/serializedShaderBlockDefinition.js";
|
|
@@ -187,8 +188,9 @@ export class CustomShaderBlock extends ShaderBlock {
|
|
|
187
188
|
this._autoBoundInputs.push(connectionPoint);
|
|
188
189
|
} else {
|
|
189
190
|
// If not auto bound, register as an input connection point
|
|
190
|
-
|
|
191
|
-
|
|
191
|
+
const defaultValue = this._validateDefaultValue(connectionPoint.type, connectionPoint.name, connectionPoint.defaultValue);
|
|
192
|
+
if (defaultValue != null) {
|
|
193
|
+
this._registerOptionalInput(connectionPoint.name, connectionPoint.type, CreateStrongRef(defaultValue));
|
|
192
194
|
} else {
|
|
193
195
|
this._registerInput(connectionPoint.name, connectionPoint.type);
|
|
194
196
|
}
|
|
@@ -230,6 +232,54 @@ export class CustomShaderBlock extends ShaderBlock {
|
|
|
230
232
|
|
|
231
233
|
return new CustomShaderBlockBinding(inputsToBind);
|
|
232
234
|
}
|
|
235
|
+
|
|
236
|
+
/**
|
|
237
|
+
* Validates the default value of a connection point and returns it if valid.
|
|
238
|
+
* If the default value is not provided or is invalid, this returns null.
|
|
239
|
+
* @param connectionPointType - The type of the connection point
|
|
240
|
+
* @param connectionPointName - The name of the connection point
|
|
241
|
+
* @param defaultValue - The default value of the connection point
|
|
242
|
+
* @returns The default value, or null if no default value is provided or it was invalid
|
|
243
|
+
*/
|
|
244
|
+
private _validateDefaultValue<U extends ConnectionPointType>(
|
|
245
|
+
connectionPointType: U,
|
|
246
|
+
connectionPointName: string,
|
|
247
|
+
defaultValue?: ConnectionPointValue<U>
|
|
248
|
+
): Nullable<ConnectionPointValue<U>> {
|
|
249
|
+
if (defaultValue === undefined || defaultValue === null) {
|
|
250
|
+
return null;
|
|
251
|
+
}
|
|
252
|
+
|
|
253
|
+
// Validate the default value based on the connection point type
|
|
254
|
+
let returnValue: Nullable<ConnectionPointValue<U>> = null;
|
|
255
|
+
switch (connectionPointType) {
|
|
256
|
+
case ConnectionPointType.Float:
|
|
257
|
+
returnValue = typeof defaultValue === "number" ? defaultValue : null;
|
|
258
|
+
break;
|
|
259
|
+
case ConnectionPointType.Color3:
|
|
260
|
+
returnValue = typeof defaultValue === "object" && "r" in defaultValue && "g" in defaultValue && "b" in defaultValue ? defaultValue : null;
|
|
261
|
+
break;
|
|
262
|
+
case ConnectionPointType.Color4:
|
|
263
|
+
returnValue = typeof defaultValue === "object" && "r" in defaultValue && "g" in defaultValue && "b" in defaultValue && "a" in defaultValue ? defaultValue : null;
|
|
264
|
+
break;
|
|
265
|
+
case ConnectionPointType.Boolean:
|
|
266
|
+
returnValue = typeof defaultValue === "boolean" ? defaultValue : null;
|
|
267
|
+
break;
|
|
268
|
+
case ConnectionPointType.Vector2:
|
|
269
|
+
returnValue = typeof defaultValue === "object" && "x" in defaultValue && "y" in defaultValue ? defaultValue : null;
|
|
270
|
+
break;
|
|
271
|
+
default: {
|
|
272
|
+
Logger.Warn(`Default value supplied when unsupported. Block Type: "${this.blockType}" Connection Point: "${connectionPointName}"`);
|
|
273
|
+
return null;
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
|
|
277
|
+
if (returnValue === null) {
|
|
278
|
+
Logger.Warn(`Invalid default value. Block Type: "${this.blockType}" Connection Point: "${connectionPointName}"`);
|
|
279
|
+
}
|
|
280
|
+
|
|
281
|
+
return returnValue;
|
|
282
|
+
}
|
|
233
283
|
}
|
|
234
284
|
|
|
235
285
|
/**
|
|
@@ -1,7 +1,14 @@
|
|
|
1
1
|
/* eslint-disable no-console */
|
|
2
2
|
import * as fs from "fs";
|
|
3
|
+
import * as path from "path";
|
|
3
4
|
|
|
4
|
-
|
|
5
|
+
// Get package.json path from command line argument or default to current directory
|
|
6
|
+
const packageJsonDirectory = process.argv[2] || ".";
|
|
7
|
+
const packageJsonFullPath = path.resolve(path.join(packageJsonDirectory, "package.json"));
|
|
8
|
+
|
|
9
|
+
console.log("Reading package.json from:", packageJsonFullPath);
|
|
10
|
+
|
|
11
|
+
const PackageText = fs.readFileSync(packageJsonFullPath);
|
|
5
12
|
const PackageJSON = JSON.parse(PackageText.toString());
|
|
6
13
|
|
|
7
14
|
const PackageName = PackageJSON.name;
|
package/src/version.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* The version of the SmartFilter core. During publish, this file is overwritten by recordVersionNumber.ts with the same version that is used for the NPM publish.
|
|
3
3
|
*/
|
|
4
|
-
export const SmartFilterCoreVersion = "8.
|
|
4
|
+
export const SmartFilterCoreVersion = "8.19.1";
|