@onerjs/smart-filters 8.53.4 → 8.53.6
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.map +1 -1
- package/dist/blockFoundation/customShaderBlock.js +2 -1
- package/dist/blockFoundation/customShaderBlock.js.map +1 -1
- package/dist/blockFoundation/shaderBlock.js +116 -105
- package/dist/blockFoundation/shaderBlock.js.map +1 -1
- package/dist/editorUtils/editableInPropertyPage.d.ts +11 -1
- package/dist/editorUtils/editableInPropertyPage.d.ts.map +1 -1
- package/dist/editorUtils/editableInPropertyPage.js +45 -6
- package/dist/editorUtils/editableInPropertyPage.js.map +1 -1
- package/dist/utils/buildTools/convertShaders.d.ts.map +1 -1
- package/dist/utils/buildTools/convertShaders.js +5 -13
- package/dist/utils/buildTools/convertShaders.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 +2 -1
- package/src/editorUtils/editableInPropertyPage.ts +50 -6
- package/src/utils/buildTools/convertShaders.ts +6 -14
- package/src/version.ts +1 -1
|
@@ -1 +1 @@
|
|
|
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,EAAE,KAAK,+BAA+B,EAAE,MAAM,qDAAqD,CAAC;AAE3G,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAsB,KAAK,aAAa,EAAE,MAAM,6BAA6B,CAAC;AACrF,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,eAAe,CAAC;AA+E9C;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,WAAW;IAC9C;;;;;;;OAOG;WACW,MAAM,CAAC,WAAW,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,eAAe,EAAE,+BAA+B,EAAE,IAAI,CAAC,EAAE,GAAG,GAAG,iBAAiB;IA0B7I;;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,QAAQ,CAAC,wBAAwB,CAA0B;IACnE,OAAO,CAAC,gBAAgB,CAAsD;IAE9E;;;;OAIG;IACH,SAAgB,oBAAoB,EAAE,MAAM,EAAE,CAAM;IAEpD;;OAEG;IACH,IAAoB,SAAS,IAAI,MAAM,CAEtC;IAED;;;OAGG;IACH,IAAoB,SAAS,IAAI,QAAQ,CAAC,MAAM,CAAC,CAEhD;IAED;;;;;;;;;;OAUG;IACH,OAAO;IAyBP;;;OAGG;IACa,gBAAgB;IAuBhC;;;OAGG;IACH,OAAO,CAAC,oBAAoB;
|
|
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,EAAE,KAAK,+BAA+B,EAAE,MAAM,qDAAqD,CAAC;AAE3G,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAsB,KAAK,aAAa,EAAE,MAAM,6BAA6B,CAAC;AACrF,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,eAAe,CAAC;AA+E9C;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,WAAW;IAC9C;;;;;;;OAOG;WACW,MAAM,CAAC,WAAW,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,eAAe,EAAE,+BAA+B,EAAE,IAAI,CAAC,EAAE,GAAG,GAAG,iBAAiB;IA0B7I;;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,QAAQ,CAAC,wBAAwB,CAA0B;IACnE,OAAO,CAAC,gBAAgB,CAAsD;IAE9E;;;;OAIG;IACH,SAAgB,oBAAoB,EAAE,MAAM,EAAE,CAAM;IAEpD;;OAEG;IACH,IAAoB,SAAS,IAAI,MAAM,CAEtC;IAED;;;OAGG;IACH,IAAoB,SAAS,IAAI,QAAQ,CAAC,MAAM,CAAC,CAEhD;IAED;;;;;;;;;;OAUG;IACH,OAAO;IAyBP;;;OAGG;IACa,gBAAgB;IAuBhC;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAuB5B;;;;OAIG;IACH,OAAO,CAAC,yCAAyC;IAkBjD;;;OAGG;IACa,gBAAgB,IAAI,aAAa;IAgCjD;;;;;;;OAOG;IACH,OAAO,CAAC,qBAAqB;CAuChC"}
|
|
@@ -191,7 +191,8 @@ export class CustomShaderBlock extends ShaderBlock {
|
|
|
191
191
|
}
|
|
192
192
|
const propertyType = constProperty.options ? PropertyTypeForEdition.List : PropertyTypeForEdition.Float;
|
|
193
193
|
const decoratorApplier = EditableInPropertyPage(constProperty.friendlyName, propertyType, "PROPERTIES", editablePropertyOptions);
|
|
194
|
-
|
|
194
|
+
const metadata = this.constructor[Symbol.metadata] ?? (this.constructor[Symbol.metadata] = Object.create(null));
|
|
195
|
+
decoratorApplier(undefined, { name: constProperty.friendlyName, metadata });
|
|
195
196
|
}
|
|
196
197
|
/**
|
|
197
198
|
* Checks a specific input connection point type to see if it has a default value, and registers the input
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"customShaderBlock.js","sourceRoot":"","sources":["../../src/blockFoundation/customShaderBlock.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"customShaderBlock.js","sourceRoot":"","sources":["../../src/blockFoundation/customShaderBlock.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAE7C,OAAO,EAAE,mBAAmB,EAA6B,MAAM,sCAAsC,CAAC;AACtG,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAI1D,OAAO,EAAE,kBAAkB,EAAsB,MAAM,6BAA6B,CAAC;AACrF,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAG/C,OAAO,EAAE,sBAAsB,EAAgC,sBAAsB,EAAE,MAAM,0CAA0C,CAAC;AAGxI;;GAEG;AACH,MAAM,wBAAyB,SAAQ,aAAa;IAGhD;;;OAGG;IACH,YAAmB,qBAAgD;QAC/D,KAAK,EAAE,CAAC;QAPK,eAAU,GAAgE,EAAE,CAAC;QAS1F,KAAK,MAAM,KAAK,IAAI,qBAAqB,EAAE,CAAC;YACxC,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;gBACjB,KAAK,mBAAmB,CAAC,KAAK;oBAC1B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;wBAC5B,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;oBAC/E,CAAC,CAAC,CAAC;oBACH,MAAM;gBACV,KAAK,mBAAmB,CAAC,OAAO;oBAC5B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;wBAC5B,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;oBACjF,CAAC,CAAC,CAAC;oBACH,MAAM;gBACV,KAAK,mBAAmB,CAAC,MAAM;oBAC3B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;wBAC5B,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;oBAChF,CAAC,CAAC,CAAC;oBACH,MAAM;gBACV,KAAK,mBAAmB,CAAC,MAAM;oBAC3B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;wBAC5B,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;oBACtF,CAAC,CAAC,CAAC;oBACH,MAAM;gBACV,KAAK,mBAAmB,CAAC,OAAO;oBAC5B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;wBAC5B,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;oBAC9E,CAAC,CAAC,CAAC;oBACH,MAAM;gBACV,KAAK,mBAAmB,CAAC,OAAO;oBAC5B,QAAQ,KAAK,CAAC,QAAQ,EAAE,CAAC;wBACrB,KAAK,kBAAkB;4BACnB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;gCAC3C,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;4BACtE,CAAC,CAAC,CAAC;4BACH,MAAM;wBACV,KAAK,mBAAmB;4BACpB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;gCAC3C,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,GAAG,MAAM,EAAE,MAAM,GAAG,KAAK,CAAC,CAAC;4BACvF,CAAC,CAAC,CAAC;4BACH,MAAM;wBACV;4BACI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;gCAC5B,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;4BACjF,CAAC,CAAC,CAAC;oBACX,CAAC;oBACD,MAAM;YACd,CAAC;QACL,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACa,IAAI,CAAC,MAAc,EAAE,KAAa,EAAE,MAAc;QAC9D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC9C,IAAI,CAAC,UAAU,CAAC,CAAC,CAAE,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QAC/C,CAAC;IACL,CAAC;CACJ;AAED;;GAEG;AACH,MAAM,OAAO,iBAAkB,SAAQ,WAAW;IAC9C;;;;;;;OAOG;IACI,MAAM,CAAC,MAAM,CAAC,WAAwB,EAAE,IAAY,EAAE,eAAgD,EAAE,IAAU;QACrH,4HAA4H;QAE5H,MAAM,QAAQ,GAAG,IAAI,iBAAiB,CAClC,WAAW,EACX,IAAI,EACJ,eAAe,CAAC,mBAAmB,EACnC,eAAe,CAAC,SAAS,EACzB,eAAe,CAAC,SAAS,EACzB,eAAe,CAAC,qBAAqB,EACrC,eAAe,CAAC,uBAAuB,IAAI,EAAE,EAC7C,eAAe,CAAC,aAAa,CAChC,CAAC;QAEF,IAAI,IAAI,IAAK,IAA8B,CAAC,gBAAgB,EAAE,CAAC;YAC3D,MAAM,gBAAgB,GAAI,IAA8B,CAAC,gBAAgB,CAAC;YAC1E,KAAK,MAAM,cAAc,IAAI,gBAAgB,EAAE,CAAC;gBAC5C,IAAI,QAAQ,CAAC,oBAAoB,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;oBACnE,QAAgB,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,KAAK,CAAC;gBAClE,CAAC;YACL,CAAC;QACL,CAAC;QAED,OAAO,QAAQ,CAAC;IACpB,CAAC;IAoBD;;OAEG;IACH,IAAoB,SAAS;QACzB,OAAO,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;IAED;;;OAGG;IACH,IAAoB,SAAS;QACzB,OAAO,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;IAED;;;;;;;;;;OAUG;IACH,YACI,WAAwB,EACxB,IAAY,EACZ,mBAA4B,EAC5B,SAAiB,EACjB,SAA2B,EAC3B,qBAAyD,EACzD,uBAAgD,EAChD,aAA4B;QAE5B,KAAK,CAAC,WAAW,EAAE,IAAI,EAAE,mBAAmB,CAAC,CAAC;QA7C1C,qBAAgB,GAAiD,IAAI,CAAC;QAE9E;;;;WAIG;QACa,yBAAoB,GAAa,EAAE,CAAC;QAuChD,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC;QACpC,IAAI,CAAC,wBAAwB,GAAG,uBAAuB,CAAC;QAExD,KAAK,MAAM,KAAK,IAAI,qBAAqB,EAAE,CAAC;YACxC,IAAI,CAAC,yCAAyC,CAAC,KAAK,CAAC,CAAC;QAC1D,CAAC;QAED,KAAK,MAAM,aAAa,IAAI,uBAAuB,EAAE,CAAC;YAClD,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC;QAC7C,CAAC;IACL,CAAC;IAED;;;OAGG;IACa,gBAAgB;QAC5B,IAAI,IAAI,CAAC,wBAAwB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7C,OAAO,IAAI,CAAC,cAAc,CAAC;QAC/B,CAAC;aAAM,CAAC;YACJ,8FAA8F;YAC9F,MAAM,4BAA4B,GAAG,kBAAkB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAC7E,4BAA4B,CAAC,QAAQ,CAAC,gBAAgB;gBAClD,IAAI,CAAC,wBAAwB;qBACxB,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE;oBACd,QAAQ,QAAQ,CAAC,IAAI,EAAE,CAAC;wBACpB,KAAK,OAAO,CAAC,CAAC,CAAC;4BACX,MAAM,KAAK,GAAI,IAAY,CAAC,QAAQ,CAAC,YAAY,CAAW,CAAC;4BAC7D,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;4BACrF,OAAO,eAAe,QAAQ,CAAC,IAAI,MAAM,QAAQ,GAAG,CAAC;wBACzD,CAAC;oBACL,CAAC;gBACL,CAAC,CAAC;qBACD,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;YAE3B,OAAO,4BAA4B,CAAC;QACxC,CAAC;IACL,CAAC;IAED;;;OAGG;IACK,oBAAoB,CAAC,aAAoC;QAC7D,mDAAmD;QAClD,IAAY,CAAC,aAAa,CAAC,YAAY,CAAC,GAAG,aAAa,CAAC,YAAY,CAAC;QACvE,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;QAE3D,qGAAqG;QACrG,MAAM,uBAAuB,GAA4B;YACrD,SAAS,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;YAC5B,SAAS,EAAE,IAAI,CAAC,UAAU;SAC7B,CAAC;QACF,IAAI,aAAa,CAAC,OAAO,EAAE,CAAC;YACxB,uBAAuB,CAAC,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;gBAC7E,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAG,aAAa,CAAC,OAAe,CAAC,GAAG,CAAC,EAAE,CAAC;YACtE,CAAC,CAAC,CAAC;QACP,CAAC;QAED,MAAM,YAAY,GAA2B,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC,sBAAsB,CAAC,KAAK,CAAC;QAEhI,MAAM,gBAAgB,GAAG,sBAAsB,CAAC,aAAa,CAAC,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,uBAAuB,CAAC,CAAC;QACjI,MAAM,QAAQ,GAAI,IAAI,CAAC,WAAmB,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAE,IAAI,CAAC,WAAmB,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QAClI,gBAAgB,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,aAAa,CAAC,YAAY,EAAE,QAAQ,EAAE,CAAC,CAAC;IAChF,CAAC;IAED;;;;OAIG;IACK,yCAAyC,CAAgC,eAAoD;QACjI,IAAI,eAAe,CAAC,QAAQ,EAAE,CAAC;YAC3B,kEAAkE;YAClE,IAAI,IAAI,CAAC,gBAAgB,KAAK,IAAI,EAAE,CAAC;gBACjC,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;YAC/B,CAAC;YACD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAChD,CAAC;aAAM,CAAC;YACJ,2DAA2D;YAC3D,MAAM,YAAY,GAAG,IAAI,CAAC,qBAAqB,CAAC,eAAe,CAAC,IAAI,EAAE,eAAe,CAAC,IAAI,EAAE,eAAe,CAAC,YAAY,CAAC,CAAC;YAC1H,IAAI,YAAY,IAAI,IAAI,EAAE,CAAC;gBACvB,IAAI,CAAC,sBAAsB,CAAC,eAAe,CAAC,IAAI,EAAE,eAAe,CAAC,IAAI,EAAE,eAAe,CAAC,YAAY,CAAC,CAAC,CAAC;YAC3G,CAAC;iBAAM,CAAC;gBACJ,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,IAAI,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC;YACpE,CAAC;QACL,CAAC;IACL,CAAC;IAED;;;OAGG;IACa,gBAAgB;QAC5B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAE3B,MAAM,YAAY,GAA8B,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YACjE,OAAO;gBACH,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,WAAW,EAAE,IAAI,CAAC,2BAA2B,CAAC,KAAK,CAAC;gBACpD,QAAQ,EAAE,SAAS;aACtB,CAAC;QACN,CAAC,CAAC,CAAC;QAEH,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACxB,KAAK,MAAM,cAAc,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACjD,IACI,CAAC,cAAc,CAAC,QAAQ,KAAK,kBAAkB,IAAI,cAAc,CAAC,IAAI,IAAI,mBAAmB,CAAC,OAAO,CAAC;oBACtG,CAAC,cAAc,CAAC,QAAQ,KAAK,mBAAmB,IAAI,cAAc,CAAC,IAAI,IAAI,mBAAmB,CAAC,OAAO,CAAC,EACzG,CAAC;oBACC,YAAY,CAAC,IAAI,CAAC;wBACd,IAAI,EAAE,cAAc,CAAC,IAAI;wBACzB,IAAI,EAAE,cAAc,CAAC,IAAI;wBACzB,QAAQ,EAAE,cAAc,CAAC,QAAQ;qBACpC,CAAC,CAAC;gBACP,CAAC;qBAAM,CAAC;oBACJ,MAAM,IAAI,KAAK,CAAC,oBAAoB,cAAc,CAAC,IAAI,6CAA6C,CAAC,CAAC;gBAC1G,CAAC;YACL,CAAC;QACL,CAAC;QAED,OAAO,IAAI,wBAAwB,CAAC,YAAY,CAAC,CAAC;IACtD,CAAC;IAED;;;;;;;OAOG;IACK,qBAAqB,CACzB,mBAAsB,EACtB,mBAA2B,EAC3B,YAAsC;QAEtC,IAAI,YAAY,KAAK,SAAS,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;YACtD,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,gEAAgE;QAChE,IAAI,WAA8C,CAAC;QACnD,QAAQ,mBAAmB,EAAE,CAAC;YAC1B,KAAK,mBAAmB,CAAC,KAAK;gBAC1B,WAAW,GAAG,OAAO,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC;gBACrE,MAAM;YACV,KAAK,mBAAmB,CAAC,MAAM;gBAC3B,WAAW,GAAG,OAAO,YAAY,KAAK,QAAQ,IAAI,GAAG,IAAI,YAAY,IAAI,GAAG,IAAI,YAAY,IAAI,GAAG,IAAI,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC;gBAC1I,MAAM;YACV,KAAK,mBAAmB,CAAC,MAAM;gBAC3B,WAAW,GAAG,OAAO,YAAY,KAAK,QAAQ,IAAI,GAAG,IAAI,YAAY,IAAI,GAAG,IAAI,YAAY,IAAI,GAAG,IAAI,YAAY,IAAI,GAAG,IAAI,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC;gBACjK,MAAM;YACV,KAAK,mBAAmB,CAAC,OAAO;gBAC5B,WAAW,GAAG,OAAO,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC;gBACtE,MAAM;YACV,KAAK,mBAAmB,CAAC,OAAO;gBAC5B,WAAW,GAAG,OAAO,YAAY,KAAK,QAAQ,IAAI,GAAG,IAAI,YAAY,IAAI,GAAG,IAAI,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC;gBACnH,MAAM;YACV,OAAO,CAAC,CAAC,CAAC;gBACN,MAAM,CAAC,IAAI,CAAC,yDAAyD,IAAI,CAAC,SAAS,wBAAwB,mBAAmB,GAAG,CAAC,CAAC;gBACnI,OAAO,IAAI,CAAC;YAChB,CAAC;QACL,CAAC;QAED,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;YACvB,MAAM,CAAC,IAAI,CAAC,uCAAuC,IAAI,CAAC,SAAS,wBAAwB,mBAAmB,GAAG,CAAC,CAAC;QACrH,CAAC;QAED,OAAO,WAAW,CAAC;IACvB,CAAC;;AApOD;;GAEG;AACoB,2BAAS,GAAG,mBAAmB,AAAtB,CAAuB"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { __esDecorate, __runInitializers } from "@onerjs/core/tslib.es6.js";
|
|
2
2
|
import "@onerjs/core/Engines/Extensions/engine.renderTarget.js";
|
|
3
3
|
import { UndecorateSymbol } from "../utils/shaderCodeUtils.js";
|
|
4
4
|
import { ShaderRuntime } from "../runtime/shaderRuntime.js";
|
|
@@ -16,110 +16,121 @@ const OutputTexturePropertiesGroupName = "OUTPUT TEXTURE PROPERTIES";
|
|
|
16
16
|
*
|
|
17
17
|
* The only required function to implement is the bind function.
|
|
18
18
|
*/
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
19
|
+
let ShaderBlock = (() => {
|
|
20
|
+
var _a;
|
|
21
|
+
let _classSuper = BaseBlock;
|
|
22
|
+
let _outputTextureOptions_decorators;
|
|
23
|
+
let _outputTextureOptions_initializers = [];
|
|
24
|
+
let _outputTextureOptions_extraInitializers = [];
|
|
25
|
+
return _a = class ShaderBlock extends _classSuper {
|
|
26
|
+
/**
|
|
27
|
+
* Disconnects the block from the graph.
|
|
28
|
+
* @param disconnectedConnections - Stores the connections that have been broken in the process. You can reconnect them later if needed.
|
|
29
|
+
*/
|
|
30
|
+
disconnectFromGraph(disconnectedConnections) {
|
|
31
|
+
const input = this._getConnectionForMainInputTexture();
|
|
32
|
+
for (const endpoint of this.output.endpoints) {
|
|
33
|
+
disconnectedConnections?.push([endpoint, this.output]);
|
|
34
|
+
input.connectTo(endpoint);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
_getConnectionForMainInputTexture() {
|
|
38
|
+
const mainInputTextureName = this.getShaderProgram().fragment.mainInputTexture;
|
|
39
|
+
if (!mainInputTextureName) {
|
|
40
|
+
throw `The block named "${this.name}" does not have a main input texture defined!`;
|
|
41
|
+
}
|
|
42
|
+
const mainInputTexture = this.findInput(UndecorateSymbol(mainInputTextureName));
|
|
43
|
+
if (!mainInputTexture || !mainInputTexture.connectedTo) {
|
|
44
|
+
throw `The main input texture "${mainInputTextureName}" of block named "${this.name}" is not connected!`;
|
|
45
|
+
}
|
|
46
|
+
return mainInputTexture.connectedTo;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Instantiates a new block.
|
|
50
|
+
* @param smartFilter - Defines the smart filter the block belongs to
|
|
51
|
+
* @param name - Defines the name of the block
|
|
52
|
+
* @param disableOptimization - Defines if the block should not be optimized (default: false)
|
|
53
|
+
*/
|
|
54
|
+
constructor(smartFilter, name, disableOptimization = false) {
|
|
55
|
+
super(smartFilter, name, disableOptimization);
|
|
56
|
+
/**
|
|
57
|
+
* The output connection point of the block.
|
|
58
|
+
*/
|
|
59
|
+
this.output = this._registerOutput("output", ConnectionPointType.Texture);
|
|
60
|
+
/**
|
|
61
|
+
* The options used when creating the texture this block outputs to
|
|
62
|
+
*/
|
|
63
|
+
this.outputTextureOptions = __runInitializers(this, _outputTextureOptions_initializers, {
|
|
64
|
+
ratio: 1,
|
|
65
|
+
format: TextureFormat.RGBA,
|
|
66
|
+
type: TextureType.UNSIGNED_BYTE,
|
|
67
|
+
});
|
|
68
|
+
__runInitializers(this, _outputTextureOptions_extraInitializers);
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Gets the shader program to use to render the block.
|
|
72
|
+
* @returns The shader program to use to render the block
|
|
73
|
+
*/
|
|
74
|
+
getShaderProgram() {
|
|
75
|
+
return this.constructor.ShaderCode;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Generates the commands needed to execute the block at runtime and gathers promises for initialization work
|
|
79
|
+
* @param initializationData - The initialization data to use
|
|
80
|
+
* @param finalOutput - Defines if the block is the final output of the smart filter
|
|
81
|
+
*/
|
|
82
|
+
generateCommandsAndGatherInitPromises(initializationData, finalOutput) {
|
|
83
|
+
const runtime = initializationData.runtime;
|
|
84
|
+
const shaderBlockRuntime = new ShaderRuntime(runtime.effectRenderer, this.getShaderProgram(), this.getShaderBinding());
|
|
85
|
+
initializationData.initializationPromises.push(shaderBlockRuntime.onReadyAsync);
|
|
86
|
+
runtime.registerResource(shaderBlockRuntime);
|
|
87
|
+
if (finalOutput) {
|
|
88
|
+
RegisterFinalRenderCommand(initializationData.outputBlock, runtime, this, shaderBlockRuntime);
|
|
89
|
+
}
|
|
90
|
+
else {
|
|
91
|
+
const renderTargetTexture = this.output.runtimeData?.value;
|
|
92
|
+
if (!renderTargetTexture) {
|
|
93
|
+
throw new Error(`${this.blockType} did not have a render target texture.`);
|
|
94
|
+
}
|
|
95
|
+
runtime.registerCommand(CreateCommand(`${this.blockType}.render`, this, () => {
|
|
96
|
+
shaderBlockRuntime.renderToTargetTexture(renderTargetTexture);
|
|
97
|
+
}));
|
|
98
|
+
}
|
|
99
|
+
super.generateCommandsAndGatherInitPromises(initializationData, finalOutput);
|
|
100
|
+
}
|
|
101
|
+
},
|
|
102
|
+
(() => {
|
|
103
|
+
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
104
|
+
_outputTextureOptions_decorators = [EditableInPropertyPage("Ratio", PropertyTypeForEdition.Float, OutputTexturePropertiesGroupName, {
|
|
105
|
+
min: 0.1,
|
|
106
|
+
max: 10.0,
|
|
107
|
+
notifiers: { rebuild: true },
|
|
108
|
+
subPropertyName: "ratio",
|
|
109
|
+
}), EditableInPropertyPage("Format", PropertyTypeForEdition.List, OutputTexturePropertiesGroupName, {
|
|
110
|
+
notifiers: { rebuild: true },
|
|
111
|
+
subPropertyName: "format",
|
|
112
|
+
options: [
|
|
113
|
+
{ label: "R", value: TextureFormat.R },
|
|
114
|
+
{ label: "RG", value: TextureFormat.RG },
|
|
115
|
+
{ label: "RGBA", value: TextureFormat.RGBA },
|
|
116
|
+
],
|
|
117
|
+
}), EditableInPropertyPage("Type", PropertyTypeForEdition.List, OutputTexturePropertiesGroupName, {
|
|
118
|
+
notifiers: { rebuild: true },
|
|
119
|
+
subPropertyName: "type",
|
|
120
|
+
options: [
|
|
121
|
+
{ label: "UByte", value: TextureType.UNSIGNED_BYTE },
|
|
122
|
+
{ label: "Float", value: TextureType.FLOAT },
|
|
123
|
+
{ label: "Half Float", value: TextureType.HALF_FLOAT },
|
|
124
|
+
],
|
|
125
|
+
})];
|
|
126
|
+
__esDecorate(null, null, _outputTextureOptions_decorators, { kind: "field", name: "outputTextureOptions", static: false, private: false, access: { has: obj => "outputTextureOptions" in obj, get: obj => obj.outputTextureOptions, set: (obj, value) => { obj.outputTextureOptions = value; } }, metadata: _metadata }, _outputTextureOptions_initializers, _outputTextureOptions_extraInitializers);
|
|
127
|
+
if (_metadata) Object.defineProperty(_a, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
128
|
+
})(),
|
|
54
129
|
/**
|
|
55
|
-
* The
|
|
130
|
+
* The class name of the block.
|
|
56
131
|
*/
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
};
|
|
62
|
-
}
|
|
63
|
-
/**
|
|
64
|
-
* Gets the shader program to use to render the block.
|
|
65
|
-
* @returns The shader program to use to render the block
|
|
66
|
-
*/
|
|
67
|
-
getShaderProgram() {
|
|
68
|
-
return this.constructor.ShaderCode;
|
|
69
|
-
}
|
|
70
|
-
/**
|
|
71
|
-
* Generates the commands needed to execute the block at runtime and gathers promises for initialization work
|
|
72
|
-
* @param initializationData - The initialization data to use
|
|
73
|
-
* @param finalOutput - Defines if the block is the final output of the smart filter
|
|
74
|
-
*/
|
|
75
|
-
generateCommandsAndGatherInitPromises(initializationData, finalOutput) {
|
|
76
|
-
const runtime = initializationData.runtime;
|
|
77
|
-
const shaderBlockRuntime = new ShaderRuntime(runtime.effectRenderer, this.getShaderProgram(), this.getShaderBinding());
|
|
78
|
-
initializationData.initializationPromises.push(shaderBlockRuntime.onReadyAsync);
|
|
79
|
-
runtime.registerResource(shaderBlockRuntime);
|
|
80
|
-
if (finalOutput) {
|
|
81
|
-
RegisterFinalRenderCommand(initializationData.outputBlock, runtime, this, shaderBlockRuntime);
|
|
82
|
-
}
|
|
83
|
-
else {
|
|
84
|
-
const renderTargetTexture = this.output.runtimeData?.value;
|
|
85
|
-
if (!renderTargetTexture) {
|
|
86
|
-
throw new Error(`${this.blockType} did not have a render target texture.`);
|
|
87
|
-
}
|
|
88
|
-
runtime.registerCommand(CreateCommand(`${this.blockType}.render`, this, () => {
|
|
89
|
-
shaderBlockRuntime.renderToTargetTexture(renderTargetTexture);
|
|
90
|
-
}));
|
|
91
|
-
}
|
|
92
|
-
super.generateCommandsAndGatherInitPromises(initializationData, finalOutput);
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
/**
|
|
96
|
-
* The class name of the block.
|
|
97
|
-
*/
|
|
98
|
-
ShaderBlock.ClassName = "ShaderBlock";
|
|
99
|
-
__decorate([
|
|
100
|
-
EditableInPropertyPage("Ratio", PropertyTypeForEdition.Float, OutputTexturePropertiesGroupName, {
|
|
101
|
-
min: 0.1,
|
|
102
|
-
max: 10.0,
|
|
103
|
-
notifiers: { rebuild: true },
|
|
104
|
-
subPropertyName: "ratio",
|
|
105
|
-
}),
|
|
106
|
-
EditableInPropertyPage("Format", PropertyTypeForEdition.List, OutputTexturePropertiesGroupName, {
|
|
107
|
-
notifiers: { rebuild: true },
|
|
108
|
-
subPropertyName: "format",
|
|
109
|
-
options: [
|
|
110
|
-
{ label: "R", value: TextureFormat.R },
|
|
111
|
-
{ label: "RG", value: TextureFormat.RG },
|
|
112
|
-
{ label: "RGBA", value: TextureFormat.RGBA },
|
|
113
|
-
],
|
|
114
|
-
}),
|
|
115
|
-
EditableInPropertyPage("Type", PropertyTypeForEdition.List, OutputTexturePropertiesGroupName, {
|
|
116
|
-
notifiers: { rebuild: true },
|
|
117
|
-
subPropertyName: "type",
|
|
118
|
-
options: [
|
|
119
|
-
{ label: "UByte", value: TextureType.UNSIGNED_BYTE },
|
|
120
|
-
{ label: "Float", value: TextureType.FLOAT },
|
|
121
|
-
{ label: "Half Float", value: TextureType.HALF_FLOAT },
|
|
122
|
-
],
|
|
123
|
-
})
|
|
124
|
-
], ShaderBlock.prototype, "outputTextureOptions", void 0);
|
|
132
|
+
_a.ClassName = "ShaderBlock",
|
|
133
|
+
_a;
|
|
134
|
+
})();
|
|
135
|
+
export { ShaderBlock };
|
|
125
136
|
//# sourceMappingURL=shaderBlock.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shaderBlock.js","sourceRoot":"","sources":["../../src/blockFoundation/shaderBlock.ts"],"names":[],"mappings":";AACA,OAAO,gDAAgD,CAAC;AAGxD,OAAO,EAAsB,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AACnF,OAAO,EAAsB,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAEhF,OAAO,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAC3E,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAC;AAC3E,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,WAAW,EAA6B,MAAM,qBAAqB,CAAC;AAC5F,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,0CAA0C,CAAC;AAG1G,MAAM,gCAAgC,GAAG,2BAA2B,CAAC;AAErE;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"shaderBlock.js","sourceRoot":"","sources":["../../src/blockFoundation/shaderBlock.ts"],"names":[],"mappings":"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"}
|
|
@@ -81,5 +81,15 @@ export interface IPropertyDescriptionForEdition {
|
|
|
81
81
|
* @param options - the options of the property
|
|
82
82
|
* @returns the decorator
|
|
83
83
|
*/
|
|
84
|
-
export declare function EditableInPropertyPage(displayName: string, propertyType?: PropertyTypeForEdition, groupName?: string, options?: IEditablePropertyOption): (
|
|
84
|
+
export declare function EditableInPropertyPage(displayName: string, propertyType?: PropertyTypeForEdition, groupName?: string, options?: IEditablePropertyOption): (_value: unknown, context: {
|
|
85
|
+
name: string | symbol;
|
|
86
|
+
metadata: DecoratorMetadataObject;
|
|
87
|
+
}) => void;
|
|
88
|
+
/**
|
|
89
|
+
* Gets the editable properties for a given target using TC39 decorator metadata.
|
|
90
|
+
* Walks the metadata prototype chain to include properties from parent classes.
|
|
91
|
+
* @param target - the target object (instance or constructor)
|
|
92
|
+
* @returns array of property descriptions
|
|
93
|
+
*/
|
|
94
|
+
export declare function GetSmartFilterEditableProperties(target: any): IPropertyDescriptionForEdition[];
|
|
85
95
|
//# sourceMappingURL=editableInPropertyPage.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"editableInPropertyPage.d.ts","sourceRoot":"","sources":["../../src/editorUtils/editableInPropertyPage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"editableInPropertyPage.d.ts","sourceRoot":"","sources":["../../src/editorUtils/editableInPropertyPage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAG1D;;GAEG;AACH,oBAAY,sBAAsB;IAC9B,4BAA4B;IAC5B,OAAO,IAAA;IACP,0BAA0B;IAC1B,KAAK,IAAA;IACL,wBAAwB;IACxB,GAAG,IAAA;IACH,4BAA4B;IAC5B,OAAO,IAAA;IACP,mCAAmC;IACnC,IAAI,IAAA;CACP;AAED;;GAEG;AACH,MAAM,WAAW,2BAA2B;IACxC,0BAA0B;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,0BAA0B;IAC1B,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACpC,gBAAgB;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,gBAAgB;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,8EAA8E;IAC9E,SAAS,CAAC,EAAE;QACR,mCAAmC;QACnC,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,oCAAoC;QACpC,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,wFAAwF;QACxF,sBAAsB,CAAC,EAAE,OAAO,CAAC;QACjC,4BAA4B;QAC5B,QAAQ,CAAC,EAAE,MAAM,OAAO,GAAG,SAAS,GAAG,IAAI,CAAC;QAC5C,wJAAwJ;QACxJ,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC;KAChE,CAAC;IACF,wDAAwD;IACxD,OAAO,CAAC,EAAE,2BAA2B,EAAE,GAAG,UAAU,CAAC,2BAA2B,EAAE,CAAC,CAAC;IACpF,+DAA+D;IAC/D,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,kDAAkD;IAClD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,8BAA8B;IAC3C,2BAA2B;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,mCAAmC;IACnC,WAAW,EAAE,MAAM,CAAC;IACpB,2BAA2B;IAC3B,IAAI,EAAE,sBAAsB,CAAC;IAC7B,+GAA+G;IAC/G,SAAS,EAAE,MAAM,CAAC;IAClB,+BAA+B;IAC/B,OAAO,EAAE,uBAAuB,CAAC;IACjC,mDAAmD;IACnD,SAAS,EAAE,MAAM,CAAC;CACrB;AAMD;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CAClC,WAAW,EAAE,MAAM,EACnB,YAAY,GAAE,sBAAuD,EACrE,SAAS,GAAE,MAAqB,EAChC,OAAO,CAAC,EAAE,uBAAuB,IAEzB,QAAQ,OAAO,EAAE,SAAS;IAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IAAC,QAAQ,EAAE,uBAAuB,CAAA;CAAE,UAuCjG;AAED;;;;;GAKG;AACH,wBAAgB,gCAAgC,CAAC,MAAM,EAAE,GAAG,GAAG,8BAA8B,EAAE,CAiB9F"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { MetadataSymbol } from "@onerjs/core/Misc/decorators.functions.js";
|
|
1
2
|
/**
|
|
2
3
|
* Enum defining the type of properties that can be edited in the property pages in the node editor
|
|
3
4
|
*/
|
|
@@ -14,6 +15,9 @@ export var PropertyTypeForEdition;
|
|
|
14
15
|
/** property is a list of values */
|
|
15
16
|
PropertyTypeForEdition[PropertyTypeForEdition["List"] = 4] = "List";
|
|
16
17
|
})(PropertyTypeForEdition || (PropertyTypeForEdition = {}));
|
|
18
|
+
/** @internal */
|
|
19
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
20
|
+
const __bjsSmartFilterPropStoreKey = "__bjs_sf_prop_store__";
|
|
17
21
|
/**
|
|
18
22
|
* Decorator that flags a property in a node block as being editable
|
|
19
23
|
* @param displayName - the display name of the property
|
|
@@ -23,23 +27,35 @@ export var PropertyTypeForEdition;
|
|
|
23
27
|
* @returns the decorator
|
|
24
28
|
*/
|
|
25
29
|
export function EditableInPropertyPage(displayName, propertyType = PropertyTypeForEdition.Boolean, groupName = "PROPERTIES", options) {
|
|
26
|
-
return (
|
|
27
|
-
|
|
28
|
-
if (!
|
|
30
|
+
return (_value, context) => {
|
|
31
|
+
const meta = context.metadata;
|
|
32
|
+
if (!meta) {
|
|
33
|
+
// `context.metadata` is `void 0` when `Symbol.metadata` was not installed before this class
|
|
34
|
+
// was evaluated. Importing `MetadataSymbol` from core runs the polyfill at module load (before
|
|
35
|
+
// this class body), so this should never happen; referencing it here also keeps that
|
|
36
|
+
// module-load polyfill anchored against bundler tree-shaking.
|
|
37
|
+
throw new Error(`EditableInPropertyPage: decorator metadata is unavailable; the Symbol.metadata (${String(MetadataSymbol)}) polyfill must run before decorated classes are evaluated.`);
|
|
38
|
+
}
|
|
39
|
+
let propStore;
|
|
40
|
+
if (Object.prototype.hasOwnProperty.call(meta, __bjsSmartFilterPropStoreKey)) {
|
|
41
|
+
propStore = meta[__bjsSmartFilterPropStoreKey];
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
29
44
|
propStore = [];
|
|
30
|
-
|
|
45
|
+
meta[__bjsSmartFilterPropStoreKey] = propStore;
|
|
31
46
|
}
|
|
47
|
+
const propertyKey = String(context.name);
|
|
32
48
|
const propToAdd = {
|
|
33
49
|
propertyName: propertyKey,
|
|
34
50
|
displayName: displayName,
|
|
35
51
|
type: propertyType,
|
|
36
52
|
groupName: groupName,
|
|
37
53
|
options: options ?? {},
|
|
38
|
-
className:
|
|
54
|
+
className: "",
|
|
39
55
|
};
|
|
40
56
|
// If the property already exists, overwrite it, otherwise add it
|
|
41
57
|
// Note: It may have been redefined since the application started
|
|
42
|
-
const existingIndex = propStore.findIndex((p) => p.propertyName === propertyKey &&
|
|
58
|
+
const existingIndex = propStore.findIndex((p) => p.propertyName === propertyKey && options?.blockType === p.options?.blockType);
|
|
43
59
|
if (existingIndex !== -1) {
|
|
44
60
|
propStore[existingIndex] = propToAdd;
|
|
45
61
|
}
|
|
@@ -48,4 +64,27 @@ export function EditableInPropertyPage(displayName, propertyType = PropertyTypeF
|
|
|
48
64
|
}
|
|
49
65
|
};
|
|
50
66
|
}
|
|
67
|
+
/**
|
|
68
|
+
* Gets the editable properties for a given target using TC39 decorator metadata.
|
|
69
|
+
* Walks the metadata prototype chain to include properties from parent classes.
|
|
70
|
+
* @param target - the target object (instance or constructor)
|
|
71
|
+
* @returns array of property descriptions
|
|
72
|
+
*/
|
|
73
|
+
export function GetSmartFilterEditableProperties(target) {
|
|
74
|
+
const ctor = typeof target === "function" ? target : target?.constructor;
|
|
75
|
+
const metadata = ctor?.[MetadataSymbol];
|
|
76
|
+
if (!metadata) {
|
|
77
|
+
return [];
|
|
78
|
+
}
|
|
79
|
+
const result = [];
|
|
80
|
+
let currentMeta = metadata;
|
|
81
|
+
while (currentMeta) {
|
|
82
|
+
if (Object.prototype.hasOwnProperty.call(currentMeta, __bjsSmartFilterPropStoreKey)) {
|
|
83
|
+
const store = currentMeta[__bjsSmartFilterPropStoreKey];
|
|
84
|
+
result.push(...store);
|
|
85
|
+
}
|
|
86
|
+
currentMeta = Object.getPrototypeOf(currentMeta);
|
|
87
|
+
}
|
|
88
|
+
return result;
|
|
89
|
+
}
|
|
51
90
|
//# sourceMappingURL=editableInPropertyPage.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"editableInPropertyPage.js","sourceRoot":"","sources":["../../src/editorUtils/editableInPropertyPage.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"editableInPropertyPage.js","sourceRoot":"","sources":["../../src/editorUtils/editableInPropertyPage.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"convertShaders.d.ts","sourceRoot":"","sources":["../../../src/utils/buildTools/convertShaders.ts"],"names":[],"mappings":"AAMA;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,oBAAoB,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"convertShaders.d.ts","sourceRoot":"","sources":["../../../src/utils/buildTools/convertShaders.ts"],"names":[],"mappings":"AAMA;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,oBAAoB,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,MAAM,QAyBxG;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,mBAAmB,EAAE,MAAM,EAAE,oBAAoB,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAUvH"}
|
|
@@ -14,23 +14,15 @@ export function ConvertShaders(shaderPath, smartFiltersCorePath, babylonCorePath
|
|
|
14
14
|
const stats = fs.statSync(shaderPath);
|
|
15
15
|
let shaderFiles;
|
|
16
16
|
if (stats.isFile()) {
|
|
17
|
-
|
|
18
|
-
const fileName = path.basename(shaderPath);
|
|
19
|
-
const dirPath = path.dirname(shaderPath);
|
|
20
|
-
shaderFiles = [
|
|
21
|
-
{
|
|
22
|
-
name: fileName,
|
|
23
|
-
parentPath: dirPath,
|
|
24
|
-
isFile: () => true,
|
|
25
|
-
isDirectory: () => false,
|
|
26
|
-
},
|
|
27
|
-
];
|
|
17
|
+
shaderFiles = [{ name: path.basename(shaderPath), dir: path.dirname(shaderPath) }];
|
|
28
18
|
}
|
|
29
19
|
else if (stats.isDirectory()) {
|
|
30
20
|
// Get all files in the directory
|
|
31
21
|
const allFiles = fs.readdirSync(shaderPath, { withFileTypes: true, recursive: true });
|
|
32
22
|
// Find all shaders (files with .fragment.glsl or .block.glsl extensions)
|
|
33
|
-
shaderFiles = allFiles
|
|
23
|
+
shaderFiles = allFiles
|
|
24
|
+
.filter((file) => file.isFile() && (file.name.endsWith(".fragment.glsl") || file.name.endsWith(".block.glsl")))
|
|
25
|
+
.map((file) => ({ name: file.name, dir: file.parentPath }));
|
|
34
26
|
}
|
|
35
27
|
else {
|
|
36
28
|
error(`Error: ${shaderPath} is neither a file nor a directory.`);
|
|
@@ -38,7 +30,7 @@ export function ConvertShaders(shaderPath, smartFiltersCorePath, babylonCorePath
|
|
|
38
30
|
}
|
|
39
31
|
// Convert all shaders
|
|
40
32
|
for (const shaderFile of shaderFiles) {
|
|
41
|
-
const fullPathAndFileName = path.join(shaderFile.
|
|
33
|
+
const fullPathAndFileName = path.join(shaderFile.dir, shaderFile.name);
|
|
42
34
|
ConvertShader(fullPathAndFileName, smartFiltersCorePath, babylonCorePath);
|
|
43
35
|
}
|
|
44
36
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"convertShaders.js","sourceRoot":"","sources":["../../../src/utils/buildTools/convertShaders.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,4BAA4B,EAAE,MAAM,mCAAmC,CAAC;AACjF,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAEnD;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAAC,UAAkB,EAAE,oBAA4B,EAAE,eAAwB;IACrG,MAAM,KAAK,GAAG,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IAEtC,IAAI,
|
|
1
|
+
{"version":3,"file":"convertShaders.js","sourceRoot":"","sources":["../../../src/utils/buildTools/convertShaders.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,4BAA4B,EAAE,MAAM,mCAAmC,CAAC;AACjF,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAEnD;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAAC,UAAkB,EAAE,oBAA4B,EAAE,eAAwB;IACrG,MAAM,KAAK,GAAG,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IAEtC,IAAI,WAA4C,CAAC;IAEjD,IAAI,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;QACjB,WAAW,GAAG,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;IACvF,CAAC;SAAM,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;QAC7B,iCAAiC;QACjC,MAAM,QAAQ,GAAG,EAAE,CAAC,WAAW,CAAC,UAAU,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAEtF,yEAAyE;QACzE,WAAW,GAAG,QAAQ;aACjB,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC;aAC9G,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;IACpE,CAAC;SAAM,CAAC;QACJ,KAAK,CAAC,UAAU,UAAU,qCAAqC,CAAC,CAAC;QACjE,OAAO;IACX,CAAC;IAED,sBAAsB;IACtB,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;QACnC,MAAM,mBAAmB,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;QACvE,aAAa,CAAC,mBAAmB,EAAE,oBAAoB,EAAE,eAAe,CAAC,CAAC;IAC9E,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAAC,mBAA2B,EAAE,oBAA4B,EAAE,eAAwB;IAC7G,GAAG,CAAC,wBAAwB,mBAAmB,EAAE,CAAC,CAAC;IAEnD,IAAI,mBAAmB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACjD,GAAG,CAAC,qDAAqD,CAAC,CAAC;QAC3D,4BAA4B,CAAC,mBAAmB,EAAE,oBAAoB,CAAC,CAAC;IAC5E,CAAC;SAAM,IAAI,mBAAmB,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;QACrD,GAAG,CAAC,0DAA0D,CAAC,CAAC;QAChE,oBAAoB,CAAC,mBAAmB,EAAE,oBAAoB,EAAE,eAAe,CAAC,CAAC;IACrF,CAAC;AACL,CAAC"}
|
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.53.
|
|
4
|
+
export declare const SmartFilterCoreVersion = "8.53.6";
|
|
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.53.
|
|
4
|
+
export const SmartFilterCoreVersion = "8.53.6";
|
|
5
5
|
//# sourceMappingURL=version.js.map
|
package/package.json
CHANGED
|
@@ -245,7 +245,8 @@ export class CustomShaderBlock extends ShaderBlock {
|
|
|
245
245
|
const propertyType: PropertyTypeForEdition = constProperty.options ? PropertyTypeForEdition.List : PropertyTypeForEdition.Float;
|
|
246
246
|
|
|
247
247
|
const decoratorApplier = EditableInPropertyPage(constProperty.friendlyName, propertyType, "PROPERTIES", editablePropertyOptions);
|
|
248
|
-
|
|
248
|
+
const metadata = (this.constructor as any)[Symbol.metadata] ?? ((this.constructor as any)[Symbol.metadata] = Object.create(null));
|
|
249
|
+
decoratorApplier(undefined, { name: constProperty.friendlyName, metadata });
|
|
249
250
|
}
|
|
250
251
|
|
|
251
252
|
/**
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { type Observable } from "core/Misc/observable.js";
|
|
2
|
+
import { MetadataSymbol } from "core/Misc/decorators.functions.js";
|
|
2
3
|
|
|
3
4
|
/**
|
|
4
5
|
* Enum defining the type of properties that can be edited in the property pages in the node editor
|
|
@@ -78,6 +79,10 @@ export interface IPropertyDescriptionForEdition {
|
|
|
78
79
|
className: string;
|
|
79
80
|
}
|
|
80
81
|
|
|
82
|
+
/** @internal */
|
|
83
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
84
|
+
const __bjsSmartFilterPropStoreKey = "__bjs_sf_prop_store__";
|
|
85
|
+
|
|
81
86
|
/**
|
|
82
87
|
* Decorator that flags a property in a node block as being editable
|
|
83
88
|
* @param displayName - the display name of the property
|
|
@@ -92,25 +97,39 @@ export function EditableInPropertyPage(
|
|
|
92
97
|
groupName: string = "PROPERTIES",
|
|
93
98
|
options?: IEditablePropertyOption
|
|
94
99
|
) {
|
|
95
|
-
return (
|
|
96
|
-
|
|
97
|
-
if (!
|
|
100
|
+
return (_value: unknown, context: { name: string | symbol; metadata: DecoratorMetadataObject }) => {
|
|
101
|
+
const meta = context.metadata as DecoratorMetadataObject | undefined;
|
|
102
|
+
if (!meta) {
|
|
103
|
+
// `context.metadata` is `void 0` when `Symbol.metadata` was not installed before this class
|
|
104
|
+
// was evaluated. Importing `MetadataSymbol` from core runs the polyfill at module load (before
|
|
105
|
+
// this class body), so this should never happen; referencing it here also keeps that
|
|
106
|
+
// module-load polyfill anchored against bundler tree-shaking.
|
|
107
|
+
throw new Error(
|
|
108
|
+
`EditableInPropertyPage: decorator metadata is unavailable; the Symbol.metadata (${String(MetadataSymbol)}) polyfill must run before decorated classes are evaluated.`
|
|
109
|
+
);
|
|
110
|
+
}
|
|
111
|
+
let propStore: IPropertyDescriptionForEdition[];
|
|
112
|
+
if (Object.prototype.hasOwnProperty.call(meta, __bjsSmartFilterPropStoreKey)) {
|
|
113
|
+
propStore = meta[__bjsSmartFilterPropStoreKey] as IPropertyDescriptionForEdition[];
|
|
114
|
+
} else {
|
|
98
115
|
propStore = [];
|
|
99
|
-
|
|
116
|
+
meta[__bjsSmartFilterPropStoreKey] = propStore;
|
|
100
117
|
}
|
|
101
118
|
|
|
119
|
+
const propertyKey = String(context.name);
|
|
120
|
+
|
|
102
121
|
const propToAdd: IPropertyDescriptionForEdition = {
|
|
103
122
|
propertyName: propertyKey,
|
|
104
123
|
displayName: displayName,
|
|
105
124
|
type: propertyType,
|
|
106
125
|
groupName: groupName,
|
|
107
126
|
options: options ?? {},
|
|
108
|
-
className:
|
|
127
|
+
className: "",
|
|
109
128
|
};
|
|
110
129
|
|
|
111
130
|
// If the property already exists, overwrite it, otherwise add it
|
|
112
131
|
// Note: It may have been redefined since the application started
|
|
113
|
-
const existingIndex = propStore.findIndex((p) => p.propertyName === propertyKey &&
|
|
132
|
+
const existingIndex = propStore.findIndex((p) => p.propertyName === propertyKey && options?.blockType === p.options?.blockType);
|
|
114
133
|
if (existingIndex !== -1) {
|
|
115
134
|
propStore[existingIndex] = propToAdd;
|
|
116
135
|
} else {
|
|
@@ -118,3 +137,28 @@ export function EditableInPropertyPage(
|
|
|
118
137
|
}
|
|
119
138
|
};
|
|
120
139
|
}
|
|
140
|
+
|
|
141
|
+
/**
|
|
142
|
+
* Gets the editable properties for a given target using TC39 decorator metadata.
|
|
143
|
+
* Walks the metadata prototype chain to include properties from parent classes.
|
|
144
|
+
* @param target - the target object (instance or constructor)
|
|
145
|
+
* @returns array of property descriptions
|
|
146
|
+
*/
|
|
147
|
+
export function GetSmartFilterEditableProperties(target: any): IPropertyDescriptionForEdition[] {
|
|
148
|
+
const ctor = typeof target === "function" ? target : target?.constructor;
|
|
149
|
+
const metadata: DecoratorMetadataObject | undefined = ctor?.[MetadataSymbol];
|
|
150
|
+
if (!metadata) {
|
|
151
|
+
return [];
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
const result: IPropertyDescriptionForEdition[] = [];
|
|
155
|
+
let currentMeta: any = metadata;
|
|
156
|
+
while (currentMeta) {
|
|
157
|
+
if (Object.prototype.hasOwnProperty.call(currentMeta, __bjsSmartFilterPropStoreKey)) {
|
|
158
|
+
const store = currentMeta[__bjsSmartFilterPropStoreKey] as IPropertyDescriptionForEdition[];
|
|
159
|
+
result.push(...store);
|
|
160
|
+
}
|
|
161
|
+
currentMeta = Object.getPrototypeOf(currentMeta);
|
|
162
|
+
}
|
|
163
|
+
return result;
|
|
164
|
+
}
|
|
@@ -14,26 +14,18 @@ import { log, error } from "./buildToolsLogger.js";
|
|
|
14
14
|
export function ConvertShaders(shaderPath: string, smartFiltersCorePath: string, babylonCorePath?: string) {
|
|
15
15
|
const stats = fs.statSync(shaderPath);
|
|
16
16
|
|
|
17
|
-
let shaderFiles:
|
|
17
|
+
let shaderFiles: { name: string; dir: string }[];
|
|
18
18
|
|
|
19
19
|
if (stats.isFile()) {
|
|
20
|
-
|
|
21
|
-
const fileName = path.basename(shaderPath);
|
|
22
|
-
const dirPath = path.dirname(shaderPath);
|
|
23
|
-
shaderFiles = [
|
|
24
|
-
{
|
|
25
|
-
name: fileName,
|
|
26
|
-
parentPath: dirPath,
|
|
27
|
-
isFile: () => true,
|
|
28
|
-
isDirectory: () => false,
|
|
29
|
-
} as unknown as fs.Dirent,
|
|
30
|
-
];
|
|
20
|
+
shaderFiles = [{ name: path.basename(shaderPath), dir: path.dirname(shaderPath) }];
|
|
31
21
|
} else if (stats.isDirectory()) {
|
|
32
22
|
// Get all files in the directory
|
|
33
23
|
const allFiles = fs.readdirSync(shaderPath, { withFileTypes: true, recursive: true });
|
|
34
24
|
|
|
35
25
|
// Find all shaders (files with .fragment.glsl or .block.glsl extensions)
|
|
36
|
-
shaderFiles = allFiles
|
|
26
|
+
shaderFiles = allFiles
|
|
27
|
+
.filter((file) => file.isFile() && (file.name.endsWith(".fragment.glsl") || file.name.endsWith(".block.glsl")))
|
|
28
|
+
.map((file) => ({ name: file.name, dir: file.parentPath }));
|
|
37
29
|
} else {
|
|
38
30
|
error(`Error: ${shaderPath} is neither a file nor a directory.`);
|
|
39
31
|
return;
|
|
@@ -41,7 +33,7 @@ export function ConvertShaders(shaderPath: string, smartFiltersCorePath: string,
|
|
|
41
33
|
|
|
42
34
|
// Convert all shaders
|
|
43
35
|
for (const shaderFile of shaderFiles) {
|
|
44
|
-
const fullPathAndFileName = path.join(shaderFile.
|
|
36
|
+
const fullPathAndFileName = path.join(shaderFile.dir, shaderFile.name);
|
|
45
37
|
ConvertShader(fullPathAndFileName, smartFiltersCorePath, babylonCorePath);
|
|
46
38
|
}
|
|
47
39
|
}
|
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.53.
|
|
4
|
+
export const SmartFilterCoreVersion = "8.53.6";
|