@babylonjs/smart-filters 0.7.13-alpha → 0.7.14-alpha
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/command/commandBufferDebugger.d.ts.map +1 -1
- package/dist/command/commandBufferDebugger.js +4 -3
- package/dist/command/commandBufferDebugger.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/optimization/dependencyGraph.d.ts.map +1 -1
- package/dist/optimization/dependencyGraph.js +2 -1
- package/dist/optimization/dependencyGraph.js.map +1 -1
- package/dist/optimization/smartFilterOptimizer.d.ts.map +1 -1
- package/dist/optimization/smartFilterOptimizer.js +7 -6
- package/dist/optimization/smartFilterOptimizer.js.map +1 -1
- package/dist/utils/buildTools/convertGlslIntoShaderProgram.d.ts.map +1 -1
- package/dist/utils/buildTools/convertGlslIntoShaderProgram.js +2 -1
- package/dist/utils/buildTools/convertGlslIntoShaderProgram.js.map +1 -1
- package/dist/utils/buildTools/convertShaders.d.ts.map +1 -1
- package/dist/utils/buildTools/convertShaders.js +4 -3
- package/dist/utils/buildTools/convertShaders.js.map +1 -1
- package/dist/utils/buildTools/determineVersion.d.ts.map +1 -1
- package/dist/utils/buildTools/determineVersion.js.map +1 -1
- package/dist/utils/buildTools/shaderConverter.d.ts.map +1 -1
- package/dist/utils/buildTools/shaderConverter.js +6 -5
- package/dist/utils/buildTools/shaderConverter.js.map +1 -1
- package/dist/utils/buildTools/versionUp.js +1 -0
- package/dist/utils/buildTools/versionUp.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +1 -1
- package/readme.md +1 -171
- package/src/command/commandBufferDebugger.ts +4 -3
- package/src/index.ts +3 -0
- package/src/optimization/dependencyGraph.ts +3 -1
- package/src/optimization/smartFilterOptimizer.ts +7 -6
- package/src/utils/buildTools/convertGlslIntoShaderProgram.ts +2 -1
- package/src/utils/buildTools/convertShaders.ts +4 -3
- package/src/utils/buildTools/determineVersion.ts +1 -0
- package/src/utils/buildTools/shaderConverter.ts +6 -5
- package/src/utils/buildTools/versionUp.ts +1 -0
- package/src/version.ts +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commandBufferDebugger.d.ts","sourceRoot":"","sources":["../../src/command/commandBufferDebugger.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"commandBufferDebugger.d.ts","sourceRoot":"","sources":["../../src/command/commandBufferDebugger.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD;;;GAGG;AACH,wBAAgB,WAAW,CAAC,aAAa,EAAE,QAAQ,CAAC,aAAa,CAAC,QAMjE"}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
|
+
import { Logger } from "@babylonjs/core/Misc/logger.js";
|
|
1
2
|
/**
|
|
2
3
|
* Logs all the commands associated to a command buffer.
|
|
3
4
|
* @param commandBuffer - The command buffer to log
|
|
4
5
|
*/
|
|
5
6
|
export function logCommands(commandBuffer) {
|
|
6
|
-
|
|
7
|
+
Logger.Log("----- Command buffer commands -----");
|
|
7
8
|
commandBuffer.visitCommands((command) => {
|
|
8
|
-
|
|
9
|
+
Logger.Log(` Owner: ${command.owner.blockType} (${command.owner.name}) - Command: ${command.name}`);
|
|
9
10
|
});
|
|
10
|
-
|
|
11
|
+
Logger.Log("-----------------------------------");
|
|
11
12
|
}
|
|
12
13
|
//# sourceMappingURL=commandBufferDebugger.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commandBufferDebugger.js","sourceRoot":"","sources":["../../src/command/commandBufferDebugger.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"commandBufferDebugger.js","sourceRoot":"","sources":["../../src/command/commandBufferDebugger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAC;AAGxD;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAC,aAAsC;IAC9D,MAAM,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;IAClD,aAAa,CAAC,aAAa,CAAC,CAAC,OAAO,EAAE,EAAE;QACpC,MAAM,CAAC,GAAG,CAAC,YAAY,OAAO,CAAC,KAAK,CAAC,SAAS,KAAK,OAAO,CAAC,KAAK,CAAC,IAAI,gBAAgB,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IACzG,CAAC,CAAC,CAAC;IACH,MAAM,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;AACtD,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -9,4 +9,5 @@ export * from "./utils/index.js";
|
|
|
9
9
|
export { type IDisposable } from "./IDisposable.js";
|
|
10
10
|
export { SmartFilter, type InitializationData } from "./smartFilter.js";
|
|
11
11
|
export * from "./version.js";
|
|
12
|
+
export { Logger } from "@babylonjs/core/Misc/logger.js";
|
|
12
13
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,kBAAkB,CAAC;AAEjC,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,KAAK,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACxE,cAAc,cAAc,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,kBAAkB,CAAC;AAEjC,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,KAAK,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACxE,cAAc,cAAc,CAAC;AAG7B,OAAO,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -9,4 +9,6 @@ export * from "./utils/index.js";
|
|
|
9
9
|
export {} from "./IDisposable.js";
|
|
10
10
|
export { SmartFilter } from "./smartFilter.js";
|
|
11
11
|
export * from "./version.js";
|
|
12
|
+
// So that users of the Smart Filters core can easily modify the logger settings (e.g. to change the logging level)
|
|
13
|
+
export { Logger } from "@babylonjs/core/Misc/logger.js";
|
|
12
14
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,kBAAkB,CAAC;AAEjC,OAAO,EAAoB,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,WAAW,EAA2B,MAAM,kBAAkB,CAAC;AACxE,cAAc,cAAc,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,kBAAkB,CAAC;AAEjC,OAAO,EAAoB,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,WAAW,EAA2B,MAAM,kBAAkB,CAAC;AACxE,cAAc,cAAc,CAAC;AAE7B,mHAAmH;AACnH,OAAO,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dependencyGraph.d.ts","sourceRoot":"","sources":["../../src/optimization/dependencyGraph.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"dependencyGraph.d.ts","sourceRoot":"","sources":["../../src/optimization/dependencyGraph.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,qBAAa,eAAe,CAAC,CAAC;IAC1B,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,SAAS,CAAiB;IAClC,OAAO,CAAC,WAAW,CAAiB;IAEpC;;OAEG;;IAOH;;;OAGG;IACI,UAAU,CAAC,OAAO,EAAE,CAAC;IAQ5B;;;;OAIG;IACI,aAAa,CAAC,OAAO,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC;IAa9C;;;;;OAKG;IACI,IAAI,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,IAAI;CAwC7C"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { Logger } from "@babylonjs/core/Misc/logger.js";
|
|
1
2
|
/**
|
|
2
3
|
* Implementation of a dependency graph.
|
|
3
4
|
*/
|
|
@@ -69,7 +70,7 @@ export class DependencyGraph {
|
|
|
69
70
|
}
|
|
70
71
|
}
|
|
71
72
|
if (this._list.size > 0) {
|
|
72
|
-
|
|
73
|
+
Logger.Error(JSON.stringify(this._list));
|
|
73
74
|
throw new Error("Circular dependency detected!");
|
|
74
75
|
}
|
|
75
76
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dependencyGraph.js","sourceRoot":"","sources":["../../src/optimization/dependencyGraph.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,OAAO,eAAe;IAKxB;;OAEG;IACH;QACI,IAAI,CAAC,KAAK,GAAG,IAAI,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,SAAS,GAAG,IAAI,GAAG,EAAE,CAAC;QAC3B,IAAI,CAAC,WAAW,GAAG,IAAI,GAAG,EAAE,CAAC;IACjC,CAAC;IAED;;;OAGG;IACI,UAAU,CAAC,OAAU;QACxB,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,YAAY,OAAO,+BAA+B,CAAC,CAAC;QACxE,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC5B,CAAC;IAED;;;;OAIG;IACI,aAAa,CAAC,OAAU,EAAE,UAAa;QAC1C,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YAC/B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;QAC3C,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;YACpC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;QAChD,CAAC;QAED,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAE,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC7C,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAE,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACnD,CAAC;IAED;;;;;OAKG;IACI,IAAI,CAAC,QAA8B;QACtC,MAAM,OAAO,GAAQ,EAAE,CAAC;QAExB,+CAA+C;QAC/C,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC/B,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC/B,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACtB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC/B,CAAC;QACL,CAAC;QAED,iDAAiD;QACjD,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,EAAG,CAAC;YAEjC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAElB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAE3B,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACjD,IAAI,UAAU,EAAE,CAAC;gBACb,KAAK,MAAM,gBAAgB,IAAI,UAAU,EAAE,CAAC;oBACxC,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;oBAE1D,IAAI,YAAY,EAAE,CAAC;wBACf,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;wBAE7B,IAAI,YAAY,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;4BAC1B,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;wBACnC,CAAC;oBACL,CAAC;gBACL,CAAC;YACL,CAAC;QACL,CAAC;QAED,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YACtB,
|
|
1
|
+
{"version":3,"file":"dependencyGraph.js","sourceRoot":"","sources":["../../src/optimization/dependencyGraph.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"smartFilterOptimizer.d.ts","sourceRoot":"","sources":["../../src/optimization/smartFilterOptimizer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"smartFilterOptimizer.d.ts","sourceRoot":"","sources":["../../src/optimization/smartFilterOptimizer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAGtD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAIrE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAqDhD;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG;IACpB;;OAEG;IACH,iBAAiB,EAAE,eAAe,EAAE,CAAC;IAErC;;OAEG;IACH,qBAAqB,EAAE,eAAe,CAAC;CAC1C,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,4BAA4B;IACzC;;OAEG;IACH,2BAA2B,CAAC,EAAE,MAAM,CAAC;IAErC;;;OAGG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAClC;AAED;;GAEG;AACH,qBAAa,oBAAoB;IAC7B,OAAO,CAAC,kBAAkB,CAAc;IACxC,OAAO,CAAC,QAAQ,CAA+B;IAC/C,OAAO,CAAC,WAAW,CAAmB;IACtC,OAAO,CAAC,iBAAiB,CAAwC;IACjE,OAAO,CAAC,gBAAgB,CAAmB;IAC3C,OAAO,CAAC,sBAAsB,CAAwC;IAEtE,OAAO,CAAC,kBAAkB,CAAkC;IAC5D,OAAO,CAAC,gBAAgB,CAA6B;IACrD,OAAO,CAAC,wBAAwB,CAAqC;IACrE,OAAO,CAAC,uBAAuB,CAAkC;IACjE,OAAO,CAAC,gBAAgB,CAA0D;IAClF,OAAO,CAAC,iBAAiB,CAAqB;IAC9C,OAAO,CAAC,4BAA4B,CAAmC;IACvE,OAAO,CAAC,iBAAiB,CAAkB;IAE3C;;;;OAIG;gBACS,WAAW,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,4BAA4B;IAQ5E;;;OAGG;IACI,QAAQ,IAAI,QAAQ,CAAC,WAAW,CAAC;IAqExC,OAAO,CAAC,yBAAyB;IAwBjC,OAAO,CAAC,WAAW;IAWnB,OAAO,CAAC,iBAAiB;IAYzB,OAAO,CAAC,uBAAuB;IAuD/B,OAAO,CAAC,iBAAiB;IAsEzB,OAAO,CAAC,qBAAqB;IAiD7B,OAAO,CAAC,eAAe;IAoBvB,OAAO,CAAC,cAAc;IA+JtB,OAAO,CAAC,oBAAoB;IAU5B,OAAO,CAAC,uBAAuB;IAU/B,OAAO,CAAC,aAAa;IA4GrB;;;;;;;;OAQG;IACH,OAAO,CAAC,wBAAwB;CAWnC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { Logger } from "@babylonjs/core/Misc/logger.js";
|
|
1
2
|
import { SmartFilter } from "../smartFilter.js";
|
|
2
3
|
import { ConnectionPointType } from "../connection/connectionPointType.js";
|
|
3
4
|
import { ShaderBlock } from "../blockFoundation/shaderBlock.js";
|
|
@@ -459,12 +460,12 @@ export class SmartFilterOptimizer {
|
|
|
459
460
|
code = code.replace(/^ {16}/gm, "");
|
|
460
461
|
code = code.replace(/\r/g, "");
|
|
461
462
|
code = code.replace(/\n(\n)*/g, "\n");
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
463
|
+
Logger.Log(`=================== BLOCK (forceUnoptimized=${this._forceUnoptimized}) ===================`);
|
|
464
|
+
Logger.Log(codeUniforms);
|
|
465
|
+
Logger.Log(codeConsts);
|
|
466
|
+
Logger.Log(code);
|
|
467
|
+
Logger.Log(`remappedSymbols=${this._remappedSymbols}`);
|
|
468
|
+
Logger.Log(`samplers=${samplers}`);
|
|
468
469
|
}
|
|
469
470
|
optimizedBlock.setShaderProgram({
|
|
470
471
|
vertex: this._vertexShaderCode,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"smartFilterOptimizer.js","sourceRoot":"","sources":["../../src/optimization/smartFilterOptimizer.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"smartFilterOptimizer.js","sourceRoot":"","sources":["../../src/optimization/smartFilterOptimizer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"convertGlslIntoShaderProgram.d.ts","sourceRoot":"","sources":["../../../src/utils/buildTools/convertGlslIntoShaderProgram.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"convertGlslIntoShaderProgram.d.ts","sourceRoot":"","sources":["../../../src/utils/buildTools/convertGlslIntoShaderProgram.ts"],"names":[],"mappings":"AAEA,OAAO,EAAuB,KAAK,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AA2DpF;;;;GAIG;AACH,wBAAgB,4BAA4B,CAAC,kBAAkB,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAIjG;AAED;;;;;;;GAOG;AACH,wBAAgB,4BAA4B,CACxC,kBAAkB,EAAE,MAAM,EAC1B,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,OAAO,EACtB,cAAc,EAAE,OAAO,GACxB;IACC;;OAEG;IACH,iBAAiB,EAAE,MAAM,CAAC;IAE1B;;OAEG;IACH,kBAAkB,EAAE,kBAAkB,CAAC;CAC1C,CA8DA"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import * as fs from "fs";
|
|
2
|
+
import { Logger } from "@babylonjs/core/Misc/logger.js";
|
|
2
3
|
import { parseFragmentShader } from "./shaderConverter.js";
|
|
3
4
|
const TYPE_IMPORT_PATH = "@TYPE_IMPORT_PATH@";
|
|
4
5
|
const VERTEX_SHADER = "@VERTEX_SHADER@";
|
|
@@ -87,7 +88,7 @@ export function extractShaderProgramFromGlsl(fragmentShaderPath, importPath, exp
|
|
|
87
88
|
vertexShader = fs.readFileSync(vertexShaderPath, "utf8");
|
|
88
89
|
}
|
|
89
90
|
if (vertexShader) {
|
|
90
|
-
|
|
91
|
+
Logger.Log("Found vertex shader");
|
|
91
92
|
}
|
|
92
93
|
// Read the fragment shader
|
|
93
94
|
const fragmentShader = fs.readFileSync(fragmentShaderPath, "utf8");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"convertGlslIntoShaderProgram.js","sourceRoot":"","sources":["../../../src/utils/buildTools/convertGlslIntoShaderProgram.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,EAAE,mBAAmB,EAA2B,MAAM,sBAAsB,CAAC;AAEpF,MAAM,gBAAgB,GAAG,oBAAoB,CAAC;AAC9C,MAAM,aAAa,GAAG,iBAAiB,CAAC;AACxC,MAAM,QAAQ,GAAG,YAAY,CAAC;AAC9B,MAAM,YAAY,GAAG,UAAU,CAAC;AAChC,MAAM,eAAe,GAAG,mBAAmB,CAAC;AAC5C,MAAM,eAAe,GAAG,mBAAmB,CAAC;AAC5C,MAAM,kBAAkB,GAAG,sBAAsB,CAAC;AAClD,MAAM,SAAS,GAAG,aAAa,CAAC;AAChC,MAAM,aAAa,GAAG,iBAAiB,CAAC;AACxC,MAAM,aAAa,GAAG,iBAAiB,CAAC;AACxC,MAAM,aAAa,GAAG,iBAAiB,CAAC;AACxC,MAAM,MAAM,GAAG,yBAAyB,CAAC;AACzC,MAAM,OAAO,GAAG,UAAU,CAAC;AAE3B,MAAM,cAAc,GAAG;mBACJ,YAAY,KAAK,CAAC;AAErC,MAAM,gBAAgB,GAAG;;yBAEA,aAAa;;EAEpC,aAAa;;eAEA,CAAC;AAEhB,MAAM,cAAc,GAAG,sBAAsB,CAAC;AAC9C,MAAM,iBAAiB,GAAG,cAAc,CAAC;AACzC,MAAM,eAAe,GAAG,cAAc,CAAC;AAEvC,MAAM,cAAc,GAAG,uCAAuC,gBAAgB,IAAI,CAAC;AACnF,MAAM,cAAc,GAAG,GAAG,OAAO;;;;;EAK/B,MAAM;cACM,aAAa;;qBAEN,QAAQ,MAAM,eAAe;6BACrB,eAAe;6BACf,kBAAkB;sBACzB,SAAS;;;;;;;;;EAS7B,MAAM;EACN,aAAa;;CAEd,CAAC;AAEF,MAAM,qBAAqB,GAAG,MAAM,CAAC;AAErC;;;;GAIG;AACH,MAAM,UAAU,4BAA4B,CAAC,kBAA0B,EAAE,UAAkB;IACvF,MAAM,EAAE,iBAAiB,EAAE,GAAG,4BAA4B,CAAC,kBAAkB,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACvG,MAAM,UAAU,GAAG,kBAAkB,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC9D,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC;AACpD,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,4BAA4B,CACxC,kBAA0B,EAC1B,UAAkB,EAClB,aAAsB,EACtB,cAAuB;IAYvB,gDAAgD;IAChD,IAAI,YAAY,GAAuB,SAAS,CAAC;IACjD,IAAI,eAAuB,CAAC;IAC5B,IAAI,kBAAkB,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;QAC7C,eAAe,GAAG,aAAa,CAAC;IACpC,CAAC;SAAM,IAAI,kBAAkB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACvD,eAAe,GAAG,gBAAgB,CAAC;IACvC,CAAC;SAAM,CAAC;QACJ,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;IACnF,CAAC;IACD,MAAM,gBAAgB,GAAG,kBAAkB,CAAC,OAAO,CAAC,eAAe,EAAE,cAAc,CAAC,CAAC;IACrF,IAAI,EAAE,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;QAClC,YAAY,GAAG,EAAE,CAAC,YAAY,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;IAC7D,CAAC;IACD,IAAI,YAAY,EAAE,CAAC;QACf,
|
|
1
|
+
{"version":3,"file":"convertGlslIntoShaderProgram.js","sourceRoot":"","sources":["../../../src/utils/buildTools/convertGlslIntoShaderProgram.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":"
|
|
1
|
+
{"version":3,"file":"convertShaders.d.ts","sourceRoot":"","sources":["../../../src/utils/buildTools/convertShaders.ts"],"names":[],"mappings":"AAMA;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,QAcpE;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,mBAAmB,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAUnF"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as fs from "fs";
|
|
2
2
|
import * as path from "path";
|
|
3
|
+
import { Logger } from "@babylonjs/core/Misc/logger.js";
|
|
3
4
|
import { convertGlslIntoShaderProgram } from "./convertGlslIntoShaderProgram.js";
|
|
4
5
|
import { convertGlslIntoBlock } from "./convertGlslIntoBlock.js";
|
|
5
6
|
/**
|
|
@@ -24,13 +25,13 @@ export function convertShaders(shaderPath, importPath) {
|
|
|
24
25
|
* @param importPath - The path to import the ShaderProgram type from.
|
|
25
26
|
*/
|
|
26
27
|
export function convertShader(fullPathAndFileName, importPath) {
|
|
27
|
-
|
|
28
|
+
Logger.Log(`\nProcessing shader: ${fullPathAndFileName}`);
|
|
28
29
|
if (fullPathAndFileName.endsWith(".fragment.glsl")) {
|
|
29
|
-
|
|
30
|
+
Logger.Log("Generating a .ts file that exports a ShaderProgram.");
|
|
30
31
|
convertGlslIntoShaderProgram(fullPathAndFileName, importPath);
|
|
31
32
|
}
|
|
32
33
|
else if (fullPathAndFileName.endsWith(".block.glsl")) {
|
|
33
|
-
|
|
34
|
+
Logger.Log("Generating a .ts file that exports the block as a class.");
|
|
34
35
|
convertGlslIntoBlock(fullPathAndFileName, importPath);
|
|
35
36
|
}
|
|
36
37
|
}
|
|
@@ -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;AAEjE;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,UAAkB,EAAE,UAAkB;IACjE,4BAA4B;IAC5B,MAAM,QAAQ,GAAG,EAAE,CAAC,WAAW,CAAC,UAAU,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAEtF,yEAAyE;IACzE,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,CAC/B,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,CACzG,CAAC;IAEF,sBAAsB;IACtB,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;QACnC,MAAM,mBAAmB,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;QACxE,aAAa,CAAC,mBAAmB,EAAE,UAAU,CAAC,CAAC;IACnD,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAC,mBAA2B,EAAE,UAAkB;IACzE,
|
|
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,MAAM,EAAE,MAAM,gCAAgC,CAAC;AACxD,OAAO,EAAE,4BAA4B,EAAE,MAAM,mCAAmC,CAAC;AACjF,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEjE;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,UAAkB,EAAE,UAAkB;IACjE,4BAA4B;IAC5B,MAAM,QAAQ,GAAG,EAAE,CAAC,WAAW,CAAC,UAAU,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAEtF,yEAAyE;IACzE,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,CAC/B,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,CACzG,CAAC;IAEF,sBAAsB;IACtB,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;QACnC,MAAM,mBAAmB,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;QACxE,aAAa,CAAC,mBAAmB,EAAE,UAAU,CAAC,CAAC;IACnD,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAC,mBAA2B,EAAE,UAAkB;IACzE,MAAM,CAAC,GAAG,CAAC,wBAAwB,mBAAmB,EAAE,CAAC,CAAC;IAE1D,IAAI,mBAAmB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACjD,MAAM,CAAC,GAAG,CAAC,qDAAqD,CAAC,CAAC;QAClE,4BAA4B,CAAC,mBAAmB,EAAE,UAAU,CAAC,CAAC;IAClE,CAAC;SAAM,IAAI,mBAAmB,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;QACrD,MAAM,CAAC,GAAG,CAAC,0DAA0D,CAAC,CAAC;QACvE,oBAAoB,CAAC,mBAAmB,EAAE,UAAU,CAAC,CAAC;IAC1D,CAAC;AACL,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"determineVersion.d.ts","sourceRoot":"","sources":["../../../src/utils/buildTools/determineVersion.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"determineVersion.d.ts","sourceRoot":"","sources":["../../../src/utils/buildTools/determineVersion.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AA6BnD;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAO7D;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,kBAAkB,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,MAAM,CAmBjH;AAED;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,QAAQ,CAAC;AAE/C;;;;;;GAMG;AACH,wBAAgB,aAAa,CACzB,WAAW,EAAE,WAAW,EACxB,GAAG,EAAE,QAAQ,CAAC,aAAa,CAAC,EAC5B,MAAM,EAAE,MAAM,GACf,QAAQ,CAAC,MAAM,CAAC,CAWlB;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAmB1E"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"determineVersion.js","sourceRoot":"","sources":["../../../src/utils/buildTools/determineVersion.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"determineVersion.js","sourceRoot":"","sources":["../../../src/utils/buildTools/determineVersion.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shaderConverter.d.ts","sourceRoot":"","sources":["../../../src/utils/buildTools/shaderConverter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"shaderConverter.d.ts","sourceRoot":"","sources":["../../../src/utils/buildTools/shaderConverter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEtD,OAAO,KAAK,EAAE,UAAU,EAAkB,MAAM,oBAAoB,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,yCAAyC,CAAC;AAI9E;;GAEG;AACH,MAAM,MAAM,yBAAyB,GAAG;IACpC;;OAEG;IACH,OAAO,CAAC,EAAE,GAAG,CAAC;IAEd;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG;IAC1B;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,IAAI,EAAE,mBAAmB,CAAC;IAE1B;;OAEG;IACH,UAAU,CAAC,EAAE,yBAAyB,CAAC;CAC1C,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC7B;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAE5B;;OAEG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAE9B;;OAEG;IACH,UAAU,EAAE,UAAU,CAAC;IAEvB;;OAEG;IACH,QAAQ,EAAE,eAAe,EAAE,CAAC;CAC/B,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,cAAc,EAAE,MAAM,GAAG,kBAAkB,CAiI9E;AAsMD;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAE7D"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { Logger } from "@babylonjs/core/Misc/logger.js";
|
|
1
2
|
import { ConnectionPointType } from "../../connection/connectionPointType.js";
|
|
2
3
|
const GetFunctionNamesRegEx = /\S*\w+\s+(\w+)\s*\(/g;
|
|
3
4
|
/**
|
|
@@ -70,11 +71,11 @@ export function parseFragmentShader(fragmentShader) {
|
|
|
70
71
|
// Collect uniform, const, and function names which need to be decorated
|
|
71
72
|
// eslint-disable-next-line prettier/prettier
|
|
72
73
|
const uniformNames = uniforms.map((uniform) => uniform.name);
|
|
73
|
-
|
|
74
|
+
Logger.Log(`Uniforms found: ${JSON.stringify(uniforms)}`);
|
|
74
75
|
const consts = [...fragmentShader.matchAll(/\S*const\s+\w*\s+(\w*)\s*=.*;/g)].map((match) => match[1]);
|
|
75
|
-
|
|
76
|
+
Logger.Log(`Consts found: ${JSON.stringify(consts)}`);
|
|
76
77
|
const functionNames = [...fragmentShaderWithNoFunctionBodies.matchAll(GetFunctionNamesRegEx)].map((match) => match[1]);
|
|
77
|
-
|
|
78
|
+
Logger.Log(`Functions found: ${JSON.stringify(functionNames)}`);
|
|
78
79
|
// Decorate the uniforms, consts, and functions
|
|
79
80
|
const symbolsToDecorate = [...uniformNames, ...consts, ...functionNames];
|
|
80
81
|
let fragmentShaderWithRenamedSymbols = fragmentShader;
|
|
@@ -82,7 +83,7 @@ export function parseFragmentShader(fragmentShader) {
|
|
|
82
83
|
const regex = new RegExp(`(?<=\\W+)${symbol}(?=\\W+)`, "gs");
|
|
83
84
|
fragmentShaderWithRenamedSymbols = fragmentShaderWithRenamedSymbols.replace(regex, `_${symbol}_`);
|
|
84
85
|
}
|
|
85
|
-
|
|
86
|
+
Logger.Log(`${symbolsToDecorate.length} symbol(s) renamed`);
|
|
86
87
|
// Extract all the uniforms
|
|
87
88
|
const finalUniforms = [...fragmentShaderWithRenamedSymbols.matchAll(/^\s*(uniform\s.*)/gm)].map((match) => match[1]);
|
|
88
89
|
// Extract all the consts
|
|
@@ -206,7 +207,7 @@ function removeFunctionBodies(input) {
|
|
|
206
207
|
}
|
|
207
208
|
}
|
|
208
209
|
if (depth !== 0) {
|
|
209
|
-
|
|
210
|
+
Logger.Error("Unbalanced curly braces in shader code");
|
|
210
211
|
}
|
|
211
212
|
return output;
|
|
212
213
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shaderConverter.js","sourceRoot":"","sources":["../../../src/utils/buildTools/shaderConverter.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"shaderConverter.js","sourceRoot":"","sources":["../../../src/utils/buildTools/shaderConverter.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAC;AAExD,OAAO,EAAE,mBAAmB,EAAE,MAAM,yCAAyC,CAAC;AAE9E,MAAM,qBAAqB,GAAG,sBAAsB,CAAC;AAoErD;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,cAAsB;IACtD,MAAM,EAAE,MAAM,EAAE,2BAA2B,EAAE,GAAG,UAAU,CAAC,cAAc,CAAC,CAAC;IAC3E,cAAc,GAAG,2BAA2B,CAAC;IAC7C,MAAM,SAAS,GAAG,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAG,uBAAuB,CAAC,KAAI,SAAS,CAAC;IACjE,MAAM,SAAS,GAAG,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,SAAS,KAAI,IAAI,CAAC;IAE5C,oBAAoB;IACpB,MAAM,QAAQ,GAAsB,EAAE,CAAC;IACvC,MAAM,aAAa,GAAG,IAAI,MAAM,CAAC,kDAAkD,CAAC,CAAC;IACrF,MAAM,aAAa,GAAG,cAAc,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;IAC7D,KAAK,MAAM,OAAO,IAAI,aAAa,EAAE,CAAC;QAClC,MAAM,cAAc,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QAClC,MAAM,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QAE/B,IAAI,CAAC,WAAW,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAC9C,CAAC;QAED,MAAM,kBAAkB,GAAG,IAAI,MAAM,CAAC,iCAAiC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC3F,IAAI,CAAC,kBAAkB,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvD,MAAM,IAAI,KAAK,CAAC,0CAA0C,WAAW,GAAG,CAAC,CAAC;QAC9E,CAAC;QACD,MAAM,iBAAiB,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC;QAChD,MAAM,WAAW,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC;QAE1C,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,+BAA+B,WAAW,GAAG,CAAC,CAAC;QACnE,CAAC;QACD,IAAI,CAAC,WAAW,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,+BAA+B,WAAW,GAAG,CAAC,CAAC;QACnE,CAAC;QAED,iCAAiC;QACjC,IAAI,IAAyB,CAAC;QAC9B,QAAQ,iBAAiB,EAAE,CAAC;YACxB,KAAK,OAAO;gBACR,IAAI,GAAG,mBAAmB,CAAC,KAAK,CAAC;gBACjC,MAAM;YACV,KAAK,WAAW;gBACZ,IAAI,GAAG,mBAAmB,CAAC,OAAO,CAAC;gBACnC,MAAM;YACV,KAAK,MAAM;gBACP,IAAI,GAAG,mBAAmB,CAAC,MAAM,CAAC;gBAClC,MAAM;YACV,KAAK,MAAM;gBACP,IAAI,GAAG,mBAAmB,CAAC,MAAM,CAAC;gBAClC,MAAM;YACV,KAAK,MAAM;gBACP,IAAI,GAAG,mBAAmB,CAAC,OAAO,CAAC;gBACnC,MAAM;YACV,KAAK,MAAM;gBACP,IAAI,GAAG,mBAAmB,CAAC,OAAO,CAAC;gBACnC,MAAM;YACV;gBACI,MAAM,IAAI,KAAK,CAAC,8BAA8B,iBAAiB,GAAG,CAAC,CAAC;QAC5E,CAAC;QAED,QAAQ,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,WAAW;YACjB,IAAI;YACJ,UAAU,EAAE,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS;SAC/F,CAAC,CAAC;QAEH,IAAI,cAAc,EAAE,CAAC;YACjB,oEAAoE;YACpE,cAAc,GAAG,cAAc,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;QAChE,CAAC;IACL,CAAC;IAED,MAAM,kCAAkC,GAAG,oBAAoB,CAAC,cAAc,CAAC,CAAC;IAEhF,wEAAwE;IACxE,6CAA6C;IAC7C,MAAM,YAAY,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7D,MAAM,CAAC,GAAG,CAAC,mBAAmB,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC1D,MAAM,MAAM,GAAG,CAAC,GAAG,cAAc,CAAC,QAAQ,CAAC,gCAAgC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACvG,MAAM,CAAC,GAAG,CAAC,iBAAiB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACtD,MAAM,aAAa,GAAG,CAAC,GAAG,kCAAkC,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,CAAC,GAAG,CAC7F,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CACtB,CAAC;IACF,MAAM,CAAC,GAAG,CAAC,oBAAoB,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;IAEhE,+CAA+C;IAC/C,MAAM,iBAAiB,GAAG,CAAC,GAAG,YAAY,EAAE,GAAG,MAAM,EAAE,GAAG,aAAa,CAAC,CAAC;IACzE,IAAI,gCAAgC,GAAG,cAAc,CAAC;IACtD,KAAK,MAAM,MAAM,IAAI,iBAAiB,EAAE,CAAC;QACrC,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,YAAY,MAAM,UAAU,EAAE,IAAI,CAAC,CAAC;QAC7D,gCAAgC,GAAG,gCAAgC,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,MAAM,GAAG,CAAC,CAAC;IACtG,CAAC;IACD,MAAM,CAAC,GAAG,CAAC,GAAG,iBAAiB,CAAC,MAAM,oBAAoB,CAAC,CAAC;IAE5D,2BAA2B;IAC3B,MAAM,aAAa,GAAG,CAAC,GAAG,gCAAgC,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,CAAC,GAAG,CAC3F,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CACtB,CAAC;IAEF,yBAAyB;IACzB,MAAM,WAAW,GAAG,CAAC,GAAG,gCAAgC,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAEjH,sBAAsB;IACtB,MAAM,UAAU,GAAG,CAAC,GAAG,gCAAgC,CAAC,QAAQ,CAAC,sCAAsC,CAAC,CAAC,CAAC,GAAG,CACzG,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CACtB,CAAC;IACF,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;IAClE,CAAC;IACD,MAAM,gBAAgB,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;IAEvC,4BAA4B;IAC5B,MAAM,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,GAAG,gBAAgB,CAAC,gCAAgC,CAAC,CAAC;IAEpG,MAAM,UAAU,GAAe;QAC3B,OAAO,EAAE,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC;QACjC,gBAAgB;QAChB,gBAAgB;QAChB,SAAS,EAAE,kBAAkB;KAChC,CAAC;IAEF,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,UAAU,CAAC,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9C,CAAC;IAED,OAAO;QACH,SAAS;QACT,SAAS;QACT,UAAU;QACV,QAAQ;QACR,mBAAmB,EAAE,CAAC,CAAC,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,gBAAgB,CAAA;KAClD,CAAC;AACN,CAAC;AAED;;;;GAIG;AACH,SAAS,gBAAgB,CAAC,QAAgB;IAWtC,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACnC,MAAM,kBAAkB,GAAqB,EAAE,CAAC;IAChD,IAAI,gBAAoC,CAAC;IACzC,IAAI,UAAU,GAAG,KAAK,CAAC;IACvB,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,eAAe,GAAG,EAAE,CAAC;IAEzB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACvB,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACpC,UAAU,GAAG,IAAI,CAAC;QACtB,CAAC;QACD,IAAI,UAAU,EAAE,CAAC;YACb,eAAe,IAAI,IAAI,GAAG,IAAI,CAAC;QACnC,CAAC;QACD,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC;YACzC,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,EAAE,CAAC;gBACpB,KAAK,EAAE,CAAC;YACZ,CAAC;iBAAM,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,EAAE,CAAC;gBAC3B,KAAK,EAAE,CAAC;YACZ,CAAC;QACL,CAAC;QACD,IAAI,UAAU,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;YAC5B,UAAU,GAAG,KAAK,CAAC;YACnB,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,GAAG,mBAAmB,CAAC,eAAe,CAAC,CAAC;YAE5F,kBAAkB,CAAC,IAAI,CAAC;gBACpB,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,YAAY;aACrB,CAAC,CAAC;YAEH,IAAI,cAAc,EAAE,CAAC;gBACjB,IAAI,gBAAgB,EAAE,CAAC;oBACnB,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;gBACpE,CAAC;gBACD,gBAAgB,GAAG,YAAY,CAAC;YACpC,CAAC;YACD,eAAe,GAAG,EAAE,CAAC;QACzB,CAAC;IACL,CAAC;IAED,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;IAC7D,CAAC;IAED,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,CAAC;AACpD,CAAC;AAED;;;;GAIG;AACH,SAAS,mBAAmB,CAAC,YAAoB;IAgB7C,4BAA4B;IAC5B,MAAM,kBAAkB,GAAG,CAAC,GAAG,YAAY,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACtG,MAAM,YAAY,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC;IAC3C,IAAI,CAAC,YAAY,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;IAC7D,CAAC;IAED,MAAM,cAAc,GAAG,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAExD,IAAI,cAAc,EAAE,CAAC;QACjB,YAAY,GAAG,YAAY,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IACvD,CAAC;IAED,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,CAAC;AAC1D,CAAC;AAED;;;;GAIG;AACH,SAAS,oBAAoB,CAAC,KAAa;IACvC,IAAI,MAAM,GAAW,EAAE,CAAC;IACxB,IAAI,KAAK,GAAW,CAAC,CAAC;IAEtB,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,KAAK,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC;QAC1C,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,GAAG,EAAE,CAAC;YACrB,KAAK,EAAE,CAAC;YACR,4DAA4D;YAC5D,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;gBACd,MAAM,IAAI,GAAG,CAAC;YAClB,CAAC;QACL,CAAC;aAAM,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,GAAG,EAAE,CAAC;YAC5B,KAAK,EAAE,CAAC;YACR,2DAA2D;YAC3D,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;gBACd,MAAM,IAAI,GAAG,CAAC;YAClB,CAAC;QACL,CAAC;aAAM,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC;QACzB,CAAC;IACL,CAAC;IAED,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;QACd,MAAM,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;IAC3D,CAAC;IAED,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,MAAM,uBAAuB,GAAG,sBAAsB,CAAC;AAwBvD;;;;GAIG;AACH,SAAS,UAAU,CAAC,cAAsB;IAWtC,MAAM,qBAAqB,GAAG,IAAI,MAAM,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACpF,IAAI,qBAAqB,IAAI,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC;QACpD,OAAO;YACH,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YACnD,2BAA2B,EAAE,cAAc,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;SACpF,CAAC;IACN,CAAC;IAED,MAAM,oBAAoB,GAAG,IAAI,MAAM,CAAC,mBAAmB,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACxF,IAAI,oBAAoB,IAAI,oBAAoB,CAAC,CAAC,CAAC,EAAE,CAAC;QAClD,OAAO;YACH,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAClD,2BAA2B,EAAE,cAAc,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;SACnF,CAAC;IACN,CAAC;IAED,OAAO;QACH,MAAM,EAAE,IAAI;QACZ,2BAA2B,EAAE,cAAc;KAC9C,CAAC;AACN,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAC,cAAsB;IAChD,OAAO,cAAc,CAAC,OAAO,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC,CAAC;AAClE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"versionUp.js","sourceRoot":"","sources":["../../../src/utils/buildTools/versionUp.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,EAAE,IAAI,EAAsB,MAAM,eAAe,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,aAAa,EAAoB,MAAM,uBAAuB,CAAC;AAG3G,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;AAC/C,MAAM,WAAW,GAAG,EAAE,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;AACpD,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC;AAEvD,MAAM,WAAW,GAAG,WAAW,CAAC,IAAI,CAAC;AACrC,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,WAAW,CAAC,CAAC;AAChD,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;AAClC,OAAO,CAAC,GAAG,CAAC,+BAA+B,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;AAElE;;;;GAIG;AACH,SAAS,YAAY,CAAC,WAAwB,EAAE,QAAgD;IAC5F,IAAI,CAAC,YAAY,WAAW,cAAc,WAAW,EAAE,EAAE,CAAC,GAA4B,EAAE,MAAM,EAAE,EAAE;QAC9F,IAAI,UAAU,GAAG,aAAa,CAAC,WAAW,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;QACzD,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;YACtB,UAAU,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC;YAC/B,OAAO,CAAC,GAAG,CAAC,gBAAgB,WAAW,WAAW,EAAE,UAAU,CAAC,CAAC;QACpE,CAAC;QACD,QAAQ,CAAC,UAAU,CAAC,CAAC;IACzB,CAAC,CAAC,CAAC;AACP,CAAC;AAED,YAAY,CAAC,SAAS,EAAE,CAAC,iBAAiB,EAAE,EAAE;IAC1C,YAAY,CAAC,QAAQ,EAAE,CAAC,gBAAgB,EAAE,EAAE;QACxC,IAAI,iBAAiB,GAAqB,gBAAgB,CAAC;QAC3D,IAAI,iBAAiB,IAAI,CAAC,CAAC,iBAAiB,IAAI,eAAe,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YAC3G,iBAAiB,GAAG,iBAAiB,CAAC;QAC1C,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,+BAA+B,EAAE,iBAAiB,CAAC,CAAC;QAEhE,MAAM,YAAY,GAAG,gBAAgB,CAAC,iBAAiB,EAAE,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAErF,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,YAAY,CAAC,CAAC;QAE7C,gCAAgC;QAChC,IAAI,WAAW,CAAC,OAAO,KAAK,YAAY,EAAE,CAAC;YACvC,WAAW,CAAC,OAAO,GAAG,YAAY,CAAC;YACnC,EAAE,CAAC,aAAa,CAAC,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YACvE,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;QACnD,CAAC;aAAM,CAAC;YACJ,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;QAClD,CAAC;QAED,0BAA0B;QAC1B,MAAM,aAAa,GAAG;;;yCAGW,YAAY,MAAM,CAAC;QACpD,EAAE,CAAC,aAAa,CAAC,gBAAgB,EAAE,aAAa,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"versionUp.js","sourceRoot":"","sources":["../../../src/utils/buildTools/versionUp.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAC/B,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,EAAE,IAAI,EAAsB,MAAM,eAAe,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,aAAa,EAAoB,MAAM,uBAAuB,CAAC;AAG3G,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;AAC/C,MAAM,WAAW,GAAG,EAAE,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;AACpD,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC;AAEvD,MAAM,WAAW,GAAG,WAAW,CAAC,IAAI,CAAC;AACrC,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,WAAW,CAAC,CAAC;AAChD,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;AAClC,OAAO,CAAC,GAAG,CAAC,+BAA+B,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;AAElE;;;;GAIG;AACH,SAAS,YAAY,CAAC,WAAwB,EAAE,QAAgD;IAC5F,IAAI,CAAC,YAAY,WAAW,cAAc,WAAW,EAAE,EAAE,CAAC,GAA4B,EAAE,MAAM,EAAE,EAAE;QAC9F,IAAI,UAAU,GAAG,aAAa,CAAC,WAAW,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;QACzD,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;YACtB,UAAU,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC;YAC/B,OAAO,CAAC,GAAG,CAAC,gBAAgB,WAAW,WAAW,EAAE,UAAU,CAAC,CAAC;QACpE,CAAC;QACD,QAAQ,CAAC,UAAU,CAAC,CAAC;IACzB,CAAC,CAAC,CAAC;AACP,CAAC;AAED,YAAY,CAAC,SAAS,EAAE,CAAC,iBAAiB,EAAE,EAAE;IAC1C,YAAY,CAAC,QAAQ,EAAE,CAAC,gBAAgB,EAAE,EAAE;QACxC,IAAI,iBAAiB,GAAqB,gBAAgB,CAAC;QAC3D,IAAI,iBAAiB,IAAI,CAAC,CAAC,iBAAiB,IAAI,eAAe,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YAC3G,iBAAiB,GAAG,iBAAiB,CAAC;QAC1C,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,+BAA+B,EAAE,iBAAiB,CAAC,CAAC;QAEhE,MAAM,YAAY,GAAG,gBAAgB,CAAC,iBAAiB,EAAE,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAErF,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,YAAY,CAAC,CAAC;QAE7C,gCAAgC;QAChC,IAAI,WAAW,CAAC,OAAO,KAAK,YAAY,EAAE,CAAC;YACvC,WAAW,CAAC,OAAO,GAAG,YAAY,CAAC;YACnC,EAAE,CAAC,aAAa,CAAC,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YACvE,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;QACnD,CAAC;aAAM,CAAC;YACJ,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;QAClD,CAAC;QAED,0BAA0B;QAC1B,MAAM,aAAa,GAAG;;;yCAGW,YAAY,MAAM,CAAC;QACpD,EAAE,CAAC,aAAa,CAAC,gBAAgB,EAAE,aAAa,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,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 versionUp.ts with the same version that is used for the NPM publish.
|
|
3
3
|
*/
|
|
4
|
-
export declare const SmartFilterCoreVersion = "0.7.
|
|
4
|
+
export declare const SmartFilterCoreVersion = "0.7.14-alpha";
|
|
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 versionUp.ts with the same version that is used for the NPM publish.
|
|
3
3
|
*/
|
|
4
|
-
export const SmartFilterCoreVersion = "0.7.
|
|
4
|
+
export const SmartFilterCoreVersion = "0.7.14-alpha";
|
|
5
5
|
//# sourceMappingURL=version.js.map
|
package/package.json
CHANGED
package/readme.md
CHANGED
|
@@ -6,178 +6,8 @@ This package is currently in preview form, and updates will likely include break
|
|
|
6
6
|
|
|
7
7
|
## Core
|
|
8
8
|
|
|
9
|
-
A Smart Filter is a node based description of effects to apply on various inputs in order to create a visual output on a canvas element.
|
|
9
|
+
A Smart Filter is a node based description of effects to apply on various inputs in order to create a visual output on a canvas element or specified render target.
|
|
10
10
|
|
|
11
11
|
The main usage is for video processing and composition but it could be easily reused for picture edition or procedural creation.
|
|
12
12
|
|
|
13
13
|
See the full documentation at [doc.babylonjs.com](https://doc.babylonjs.com/features/featuresDeepDive/smartFilters/)
|
|
14
|
-
|
|
15
|
-
## How to install
|
|
16
|
-
|
|
17
|
-
This can be installed with `npm install @babylonjs/smart-filters`.
|
|
18
|
-
|
|
19
|
-
It requires the following peer dependencies:
|
|
20
|
-
|
|
21
|
-
- @babylonjs/core
|
|
22
|
-
|
|
23
|
-
## How to use
|
|
24
|
-
|
|
25
|
-
The overall usage would look like:
|
|
26
|
-
|
|
27
|
-
```typescript
|
|
28
|
-
// Create a filter
|
|
29
|
-
const smartFilter = new SmartFilter("Simplest");
|
|
30
|
-
const titleInput = new InputBlock(smartFilter, "logo", ConnectionPointType.Texture, logoTexture);
|
|
31
|
-
titleInput.output.connectTo(smartFilter.output);
|
|
32
|
-
|
|
33
|
-
// Create a runtime to display the filter
|
|
34
|
-
const engine = new ThinEngine(canvas, true);
|
|
35
|
-
const runtime = await filter.createRuntimeAsync(engine);
|
|
36
|
-
|
|
37
|
-
// Render one frame
|
|
38
|
-
runtime.render();
|
|
39
|
-
```
|
|
40
|
-
|
|
41
|
-
The package has been marked as `sideEffects: false` so you can freely import from the index and know that tree shaking will remove any code you don't end up using.
|
|
42
|
-
|
|
43
|
-
## How it works
|
|
44
|
-
|
|
45
|
-
The entire system has been split in two parts the filter and the runtime.
|
|
46
|
-
|
|
47
|
-
### SmartFilter
|
|
48
|
-
|
|
49
|
-
The notion of a `SmartFilter` is a graph of blocks (all inheriting from `BaseBlock`) linked to each other through `ConnectionPoint`s.
|
|
50
|
-
|
|
51
|
-
During the initialization phase, the `SmartFilter` examines the graph and builds a list of commands to execute during each frame and stores them in a `CommandBuffer`:
|
|
52
|
-
|
|
53
|
-
- This keeps each frame render very fast by ensuring the work is branchless.
|
|
54
|
-
- Basically, every `BaseBlock` during its `initialize` step will register in the `CommandBuffer` only the work it has to execute according to its options.
|
|
55
|
-
- In the end the render loop it only needs to run and execute each command in the list.
|
|
56
|
-
- This also allows for easy injection of debug tools or logging in between each command without growing the minimum required code to run a filter.
|
|
57
|
-
- As discussed, the `Blocks` are responsible for "injecting" their command in the filter `CommandBuffer`.
|
|
58
|
-
- For example: the `ShaderBlock` highlights how convenient it can be to only switch once at init time between rendering to the main frame buffer (if linked to the output) or to an intermediate texture if in the middle of the chain.
|
|
59
|
-
|
|
60
|
-
Each block is responsible for exposing their inputs and outputs through `registerInput` and `registerOutput`:
|
|
61
|
-
|
|
62
|
-
- This creates and stores the related `ConnectionPoint`.
|
|
63
|
-
- All property values of a block must be updated only before `initialize` is called as the runtime won't reference it at render time.
|
|
64
|
-
- All values that need to be dynamically updated after `initialize` must be defined as connection points or 'StrongRef'.
|
|
65
|
-
|
|
66
|
-
The `ConnectionPoints` are:
|
|
67
|
-
|
|
68
|
-
- Strongly typed, allowing more type safety while creating `SmartFilter` by code, yet keeping enough flexibility to be understood efficiently at runtime.
|
|
69
|
-
- They are also responsible for their compatibility when linked to each other.
|
|
70
|
-
|
|
71
|
-
The Smart Filter is fully abstracted away from the runtime notion and does not even require a Babylon Engine to work with. It is only responsible to hold the "graph" of the filter or the "map" of all its blocks. A Filter only needs a name to be created:
|
|
72
|
-
|
|
73
|
-
```typescript
|
|
74
|
-
const smartFilter = new SmartFilter("Simplest");
|
|
75
|
-
```
|
|
76
|
-
|
|
77
|
-
Once a filter exist, one can add to it as many Blocks as necessary
|
|
78
|
-
|
|
79
|
-
```typescript
|
|
80
|
-
const blur = new BlurBlock(smartFilter, "blur");
|
|
81
|
-
```
|
|
82
|
-
|
|
83
|
-
Then, the various blocks can be linked together:
|
|
84
|
-
|
|
85
|
-
```typescript
|
|
86
|
-
videoInput.output.connectTo(blur.input);
|
|
87
|
-
blur.output.connectTo(blackAndWhite.input);
|
|
88
|
-
```
|
|
89
|
-
|
|
90
|
-
Finally the last block should be linked into the Smart Filter output:
|
|
91
|
-
|
|
92
|
-
```typescript
|
|
93
|
-
titleInput.output.connectTo(smartFilter.output);
|
|
94
|
-
```
|
|
95
|
-
|
|
96
|
-
### Optimizations
|
|
97
|
-
|
|
98
|
-
You can activate two optimizations once you've created your graph and have an instance of `SmartFilter` ready.
|
|
99
|
-
|
|
100
|
-
The first is a graph optimizer which attempts to "merge" the "compatible" shader blocks to create an optimized version of the graph, thus reducing the final number of draw calls (as there are as many draw calls as there are shader blocks in the graph). This optimization pass will create a new instance of `SmartFilter`, which you can use in place of the initial instance. Here's how to do it:
|
|
101
|
-
|
|
102
|
-
```typescript
|
|
103
|
-
const forceMaxSamplersInFragmentShader = 0;
|
|
104
|
-
const vfo = new SmartFilterOptimizer(smartFilter, {
|
|
105
|
-
// filters is an (unoptimized) instance of SmartFilter
|
|
106
|
-
maxSamplersInFragmentShader: forceMaxSamplersInFragmentShader || engine.getCaps().maxTexturesImageUnits,
|
|
107
|
-
});
|
|
108
|
-
const smartFilterOptimized = vfo.optimize()!; // filters is now an optimized instance of SmartFilter
|
|
109
|
-
```
|
|
110
|
-
|
|
111
|
-
One caveat is that a fragment shader has a limited number of samplers it can use, so we shouldn't merge blocks (even if they're compatible) once we've reached this limit. You should normally use the current GPU limit, so keep `forceMaxSamplersInFragmentShader` at 0 in the code above, to use the correct value for the GPU.
|
|
112
|
-
|
|
113
|
-
The second optimization is a texture analyzer that traverses the graph and recycles textures between blocks (where possible), in order to limit the total number of textures used by the graph. You can activate it as follows:
|
|
114
|
-
|
|
115
|
-
```typescript
|
|
116
|
-
const rtg = new RenderTargetGenerator(true); // true to minimize the number of textures created
|
|
117
|
-
const runtime = await filter.createRuntimeAsync(this.engine, rtg);
|
|
118
|
-
```
|
|
119
|
-
|
|
120
|
-
See the next section for details of how to create a runtime.
|
|
121
|
-
|
|
122
|
-
### Runtime
|
|
123
|
-
|
|
124
|
-
To keep a nice separation between edition time, resource management and render time, the filter itself cannot be rendered directly. In order to do so, a runtime needs to be created from the filter:
|
|
125
|
-
|
|
126
|
-
```typescript
|
|
127
|
-
const runtime = await smartFilter.createRuntimeAsync(engine);
|
|
128
|
-
```
|
|
129
|
-
|
|
130
|
-
_Note_ the same filter can be used across different runtimes.
|
|
131
|
-
|
|
132
|
-
The runtime contains the list of resources required to render the filter like (intermediate textures, shaders and buffers). It is also owning a Command buffer containing the list of all the actions required to display the filter.
|
|
133
|
-
|
|
134
|
-
For instance the content of the command buffer for the simplest filter would be:
|
|
135
|
-
|
|
136
|
-
```
|
|
137
|
-
----- Command buffer commands -----
|
|
138
|
-
Owner: OutputBlock (output) - Command: OutputBlock.render
|
|
139
|
-
-----------------------------------
|
|
140
|
-
```
|
|
141
|
-
|
|
142
|
-
Whereas the one of a complex one could look like:
|
|
143
|
-
|
|
144
|
-
```
|
|
145
|
-
----- Command buffer commands -----
|
|
146
|
-
Owner: DirectionalBlurBlock (blurIV) - Command: DirectionalBlurBlock.render
|
|
147
|
-
Owner: DirectionalBlurBlock (blurIH) - Command: DirectionalBlurBlock.render
|
|
148
|
-
Owner: DirectionalBlurBlock (blurV) - Command: DirectionalBlurBlock.render
|
|
149
|
-
Owner: DirectionalBlurBlock (blurH) - Command: DirectionalBlurBlock.render
|
|
150
|
-
Owner: BlackAndWhiteBlock (blackAndWhite) - Command: BlackAndWhiteBlock.render
|
|
151
|
-
Owner: FrameBlock (frame) - Command: FrameBlock.renderToCanvas
|
|
152
|
-
-----------------------------------
|
|
153
|
-
```
|
|
154
|
-
|
|
155
|
-
The command buffer is accessible through the runtime for debugging and logging purpose. The list of command could therefore be extended with custom ones if necessary of be parsed for introspection purpose as we do in our [logger](./src/command/commandBufferDebugger.ts).
|
|
156
|
-
|
|
157
|
-
Rendering the current runtime is as simple as `runtime.render();`.
|
|
158
|
-
|
|
159
|
-
_Note_ The runtime should be disposed once it is not used anymore to free the GPU memory and prevent leaks.
|
|
160
|
-
|
|
161
|
-
## A few core Principles
|
|
162
|
-
|
|
163
|
-
The overall system is trying at best to follow 3 simple rules:
|
|
164
|
-
|
|
165
|
-
- Be CPU efficient: for instance, we are trying to be branchless in most of our commands and we try to keep the number of commands as low as possible.
|
|
166
|
-
- Be memory efficient: no commands should allocate memory as it could trigger some garbage collection at the expense of frame loss.
|
|
167
|
-
- Be GPU efficient: the graph and texture optimizers minimize the number of "passes" required to render an image and the GPU resources used by the graph.
|
|
168
|
-
|
|
169
|
-
## Requirements for GLSL code
|
|
170
|
-
|
|
171
|
-
To be imported into blocks, the following requirements must be met by .glsl files:
|
|
172
|
-
|
|
173
|
-
1. The file must start with a multiline comment that contains a JSON encoded GlslHeader object
|
|
174
|
-
1. There must be a sampler2D uniform designed as the main input texture (the one to be passed along) if this block is disabled. It must have a comment on its line like this:
|
|
175
|
-
`// main`
|
|
176
|
-
1. There must be a single main function which takes in a vec2 named vUV and returns a vec4, and it must have a comment on its line like this:
|
|
177
|
-
`// main`
|
|
178
|
-
1. Any uniforms which should have the same value across all instances of the same block should have a comment on its line like this:
|
|
179
|
-
`// single`
|
|
180
|
-
1. Functions must be declared with the open { on the same line as the function name
|
|
181
|
-
1. Uniforms can have metadata, such as a default value if no connection is made to their corresponding connection point
|
|
182
|
-
- In the line immediately above the uniform declaration, start with a // comment followed by a JSON object
|
|
183
|
-
- The supported metadata is described in the UniformMetadataProperties type
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { Logger } from "@babylonjs/core/Misc/logger.js";
|
|
1
2
|
import type { CommandBuffer } from "./commandBuffer";
|
|
2
3
|
|
|
3
4
|
/**
|
|
@@ -5,9 +6,9 @@ import type { CommandBuffer } from "./commandBuffer";
|
|
|
5
6
|
* @param commandBuffer - The command buffer to log
|
|
6
7
|
*/
|
|
7
8
|
export function logCommands(commandBuffer: Readonly<CommandBuffer>) {
|
|
8
|
-
|
|
9
|
+
Logger.Log("----- Command buffer commands -----");
|
|
9
10
|
commandBuffer.visitCommands((command) => {
|
|
10
|
-
|
|
11
|
+
Logger.Log(` Owner: ${command.owner.blockType} (${command.owner.name}) - Command: ${command.name}`);
|
|
11
12
|
});
|
|
12
|
-
|
|
13
|
+
Logger.Log("-----------------------------------");
|
|
13
14
|
}
|
package/src/index.ts
CHANGED
|
@@ -10,3 +10,6 @@ export * from "./utils/index.js";
|
|
|
10
10
|
export { type IDisposable } from "./IDisposable.js";
|
|
11
11
|
export { SmartFilter, type InitializationData } from "./smartFilter.js";
|
|
12
12
|
export * from "./version.js";
|
|
13
|
+
|
|
14
|
+
// So that users of the Smart Filters core can easily modify the logger settings (e.g. to change the logging level)
|
|
15
|
+
export { Logger } from "@babylonjs/core/Misc/logger.js";
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { Logger } from "@babylonjs/core/Misc/logger.js";
|
|
2
|
+
|
|
1
3
|
/**
|
|
2
4
|
* Implementation of a dependency graph.
|
|
3
5
|
*/
|
|
@@ -87,7 +89,7 @@ export class DependencyGraph<T> {
|
|
|
87
89
|
}
|
|
88
90
|
|
|
89
91
|
if (this._list.size > 0) {
|
|
90
|
-
|
|
92
|
+
Logger.Error(JSON.stringify(this._list));
|
|
91
93
|
throw new Error("Circular dependency detected!");
|
|
92
94
|
}
|
|
93
95
|
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { Nullable } from "@babylonjs/core/types";
|
|
2
|
+
import { Logger } from "@babylonjs/core/Misc/logger.js";
|
|
2
3
|
|
|
3
4
|
import type { ConnectionPoint } from "../connection/connectionPoint";
|
|
4
5
|
import type { ShaderBinding } from "../runtime/shaderRuntime";
|
|
@@ -690,12 +691,12 @@ export class SmartFilterOptimizer {
|
|
|
690
691
|
code = code!.replace(/\r/g, "");
|
|
691
692
|
code = code!.replace(/\n(\n)*/g, "\n");
|
|
692
693
|
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
694
|
+
Logger.Log(`=================== BLOCK (forceUnoptimized=${this._forceUnoptimized}) ===================`);
|
|
695
|
+
Logger.Log(codeUniforms);
|
|
696
|
+
Logger.Log(codeConsts);
|
|
697
|
+
Logger.Log(code);
|
|
698
|
+
Logger.Log(`remappedSymbols=${this._remappedSymbols}`);
|
|
699
|
+
Logger.Log(`samplers=${samplers}`);
|
|
699
700
|
}
|
|
700
701
|
|
|
701
702
|
optimizedBlock.setShaderProgram({
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import * as fs from "fs";
|
|
2
|
+
import { Logger } from "@babylonjs/core/Misc/logger.js";
|
|
2
3
|
import { parseFragmentShader, type FragmentShaderInfo } from "./shaderConverter.js";
|
|
3
4
|
|
|
4
5
|
const TYPE_IMPORT_PATH = "@TYPE_IMPORT_PATH@";
|
|
@@ -108,7 +109,7 @@ export function extractShaderProgramFromGlsl(
|
|
|
108
109
|
vertexShader = fs.readFileSync(vertexShaderPath, "utf8");
|
|
109
110
|
}
|
|
110
111
|
if (vertexShader) {
|
|
111
|
-
|
|
112
|
+
Logger.Log("Found vertex shader");
|
|
112
113
|
}
|
|
113
114
|
|
|
114
115
|
// Read the fragment shader
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as fs from "fs";
|
|
2
2
|
import * as path from "path";
|
|
3
|
+
import { Logger } from "@babylonjs/core/Misc/logger.js";
|
|
3
4
|
import { convertGlslIntoShaderProgram } from "./convertGlslIntoShaderProgram.js";
|
|
4
5
|
import { convertGlslIntoBlock } from "./convertGlslIntoBlock.js";
|
|
5
6
|
|
|
@@ -30,13 +31,13 @@ export function convertShaders(shaderPath: string, importPath: string) {
|
|
|
30
31
|
* @param importPath - The path to import the ShaderProgram type from.
|
|
31
32
|
*/
|
|
32
33
|
export function convertShader(fullPathAndFileName: string, importPath: string): void {
|
|
33
|
-
|
|
34
|
+
Logger.Log(`\nProcessing shader: ${fullPathAndFileName}`);
|
|
34
35
|
|
|
35
36
|
if (fullPathAndFileName.endsWith(".fragment.glsl")) {
|
|
36
|
-
|
|
37
|
+
Logger.Log("Generating a .ts file that exports a ShaderProgram.");
|
|
37
38
|
convertGlslIntoShaderProgram(fullPathAndFileName, importPath);
|
|
38
39
|
} else if (fullPathAndFileName.endsWith(".block.glsl")) {
|
|
39
|
-
|
|
40
|
+
Logger.Log("Generating a .ts file that exports the block as a class.");
|
|
40
41
|
convertGlslIntoBlock(fullPathAndFileName, importPath);
|
|
41
42
|
}
|
|
42
43
|
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { Nullable } from "@babylonjs/core/types";
|
|
2
|
+
import { Logger } from "@babylonjs/core/Misc/logger.js";
|
|
2
3
|
import type { ShaderCode, ShaderFunction } from "./shaderCode.types";
|
|
3
4
|
import { ConnectionPointType } from "../../connection/connectionPointType.js";
|
|
4
5
|
|
|
@@ -149,13 +150,13 @@ export function parseFragmentShader(fragmentShader: string): FragmentShaderInfo
|
|
|
149
150
|
// Collect uniform, const, and function names which need to be decorated
|
|
150
151
|
// eslint-disable-next-line prettier/prettier
|
|
151
152
|
const uniformNames = uniforms.map((uniform) => uniform.name);
|
|
152
|
-
|
|
153
|
+
Logger.Log(`Uniforms found: ${JSON.stringify(uniforms)}`);
|
|
153
154
|
const consts = [...fragmentShader.matchAll(/\S*const\s+\w*\s+(\w*)\s*=.*;/g)].map((match) => match[1]);
|
|
154
|
-
|
|
155
|
+
Logger.Log(`Consts found: ${JSON.stringify(consts)}`);
|
|
155
156
|
const functionNames = [...fragmentShaderWithNoFunctionBodies.matchAll(GetFunctionNamesRegEx)].map(
|
|
156
157
|
(match) => match[1]
|
|
157
158
|
);
|
|
158
|
-
|
|
159
|
+
Logger.Log(`Functions found: ${JSON.stringify(functionNames)}`);
|
|
159
160
|
|
|
160
161
|
// Decorate the uniforms, consts, and functions
|
|
161
162
|
const symbolsToDecorate = [...uniformNames, ...consts, ...functionNames];
|
|
@@ -164,7 +165,7 @@ export function parseFragmentShader(fragmentShader: string): FragmentShaderInfo
|
|
|
164
165
|
const regex = new RegExp(`(?<=\\W+)${symbol}(?=\\W+)`, "gs");
|
|
165
166
|
fragmentShaderWithRenamedSymbols = fragmentShaderWithRenamedSymbols.replace(regex, `_${symbol}_`);
|
|
166
167
|
}
|
|
167
|
-
|
|
168
|
+
Logger.Log(`${symbolsToDecorate.length} symbol(s) renamed`);
|
|
168
169
|
|
|
169
170
|
// Extract all the uniforms
|
|
170
171
|
const finalUniforms = [...fragmentShaderWithRenamedSymbols.matchAll(/^\s*(uniform\s.*)/gm)].map(
|
|
@@ -334,7 +335,7 @@ function removeFunctionBodies(input: string): string {
|
|
|
334
335
|
}
|
|
335
336
|
|
|
336
337
|
if (depth !== 0) {
|
|
337
|
-
|
|
338
|
+
Logger.Error("Unbalanced curly braces in shader code");
|
|
338
339
|
}
|
|
339
340
|
|
|
340
341
|
return output;
|
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 versionUp.ts with the same version that is used for the NPM publish.
|
|
3
3
|
*/
|
|
4
|
-
export const SmartFilterCoreVersion = "0.7.
|
|
4
|
+
export const SmartFilterCoreVersion = "0.7.14-alpha";
|