@tolokoban/tgd 2.0.35 → 2.0.38
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/lib/dist/code/math.d.ts +3 -0
- package/lib/dist/code/math.d.ts.map +1 -1
- package/lib/dist/code/math.js +13 -2
- package/lib/dist/filter/blur.d.ts.map +1 -1
- package/lib/dist/filter/blur.js +6 -3
- package/lib/dist/geometry/geometry.d.ts +1 -1
- package/lib/dist/geometry/geometry.d.ts.map +1 -1
- package/lib/dist/geometry/geometry.js +6 -4
- package/lib/dist/geometry/grid.d.ts +15 -0
- package/lib/dist/geometry/grid.d.ts.map +1 -0
- package/lib/dist/geometry/grid.js +65 -0
- package/lib/dist/geometry/index.d.ts +1 -0
- package/lib/dist/geometry/index.d.ts.map +1 -1
- package/lib/dist/geometry/index.js +2 -1
- package/lib/dist/geometry/plane.js +1 -1
- package/lib/dist/loader/asset.js +3 -3
- package/lib/dist/loader/image.d.ts +6 -0
- package/lib/dist/loader/image.d.ts.map +1 -1
- package/lib/dist/loader/image.js +65 -27
- package/lib/dist/material/index.d.ts +1 -0
- package/lib/dist/material/index.d.ts.map +1 -1
- package/lib/dist/material/index.js +2 -1
- package/lib/dist/material/normal-map.d.ts +5 -0
- package/lib/dist/material/normal-map.d.ts.map +1 -0
- package/lib/dist/material/normal-map.js +20 -0
- package/lib/dist/painter/background/background.d.ts.map +1 -1
- package/lib/dist/painter/background/background.js +12 -3
- package/lib/dist/painter/framebuffer-msaa.d.ts.map +1 -1
- package/lib/dist/painter/framebuffer-msaa.js +3 -1
- package/lib/dist/painter/framebuffer.d.ts.map +1 -1
- package/lib/dist/painter/framebuffer.js +3 -1
- package/lib/dist/painter/mesh/gltf/gltf.d.ts.map +1 -1
- package/lib/dist/painter/mesh/gltf/gltf.js +5 -4
- package/lib/dist/parser/gltf/gltf.d.ts.map +1 -1
- package/lib/dist/parser/gltf/gltf.js +13 -6
- package/lib/dist/utils/canvas.d.ts +1 -0
- package/lib/dist/utils/canvas.d.ts.map +1 -1
- package/lib/dist/utils/canvas.js +6 -1
- package/lib/dist/utils/webgl.d.ts +7 -0
- package/lib/dist/utils/webgl.d.ts.map +1 -1
- package/lib/dist/utils/webgl.js +17 -1
- package/package.json +9 -4
- package/lib/dist/material/solid.d.ts +0 -22
- package/lib/dist/material/solid.d.ts.map +0 -1
- package/lib/dist/material/solid.js +0 -20
- package/lib/dist/painter/fragment-dhader/filter.d.ts +0 -31
- package/lib/dist/painter/fragment-dhader/filter.d.ts.map +0 -1
- package/lib/dist/painter/fragment-dhader/filter.js +0 -161
- package/lib/dist/painter/fragment-dhader/index.d.ts +0 -2
- package/lib/dist/painter/fragment-dhader/index.d.ts.map +0 -1
- package/lib/dist/painter/fragment-dhader/index.js +0 -2
- package/lib/dist/painter/fragment-shader/filter.d.ts +0 -31
- package/lib/dist/painter/fragment-shader/filter.d.ts.map +0 -1
- package/lib/dist/painter/fragment-shader/filter.js +0 -161
package/lib/dist/code/math.d.ts
CHANGED
|
@@ -35,4 +35,7 @@ export declare function tgdCodeFunction_quintic(options?: Partial<{
|
|
|
35
35
|
export declare function tgdCodeFunction_float01ToVec3(options?: Partial<{
|
|
36
36
|
name: string;
|
|
37
37
|
}>): TgdCodeFunctions;
|
|
38
|
+
export declare function tgdCodeFunction_vec3ToFloat01(options?: Partial<{
|
|
39
|
+
name: string;
|
|
40
|
+
}>): TgdCodeFunctions;
|
|
38
41
|
//# sourceMappingURL=math.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"math.d.ts","sourceRoot":"","sources":["../../src/code/math.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAE9C;;;GAGG;AACH,wBAAgB,wBAAwB,CACpC,OAAO,GAAE,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAM,GACxC,gBAAgB,CASlB;AAED,wBAAgB,sBAAsB,CAClC,OAAO,GAAE,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAM;;EAW1C;AAED,wBAAgB,uBAAuB,CACnC,OAAO,GAAE,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAM;;EAW1C;AAED;;GAEG;AACH,wBAAgB,6BAA6B,CACzC,OAAO,GAAE,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAM;;EAU1C;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACnC,OAAO,GAAE,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAM;;EAU1C;AAED,wBAAgB,6BAA6B,CACzC,OAAO,GAAE,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAM,GACxC,gBAAgB,CAalB"}
|
|
1
|
+
{"version":3,"file":"math.d.ts","sourceRoot":"","sources":["../../src/code/math.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAE9C;;;GAGG;AACH,wBAAgB,wBAAwB,CACpC,OAAO,GAAE,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAM,GACxC,gBAAgB,CASlB;AAED,wBAAgB,sBAAsB,CAClC,OAAO,GAAE,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAM;;EAW1C;AAED,wBAAgB,uBAAuB,CACnC,OAAO,GAAE,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAM;;EAW1C;AAED;;GAEG;AACH,wBAAgB,6BAA6B,CACzC,OAAO,GAAE,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAM;;EAU1C;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACnC,OAAO,GAAE,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAM;;EAU1C;AAED,wBAAgB,6BAA6B,CACzC,OAAO,GAAE,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAM,GACxC,gBAAgB,CAalB;AAED,wBAAgB,6BAA6B,CACzC,OAAO,GAAE,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAM,GACxC,gBAAgB,CAUlB"}
|
package/lib/dist/code/math.js
CHANGED
|
@@ -56,7 +56,7 @@ vec4 ${name}(const in vec4 v) { return v*v*v*(v*(v*6.0-15.0)+10.0); }`,
|
|
|
56
56
|
export function tgdCodeFunction_float01ToVec3(options = {}) {
|
|
57
57
|
const { name = "float01ToVec3" } = options;
|
|
58
58
|
return {
|
|
59
|
-
[name]: `vec3
|
|
59
|
+
[name]: `vec3 ${name}(in float value) {
|
|
60
60
|
int z = int(float(0xFFFFFF) * value);
|
|
61
61
|
float r = float(z & 0xFF) / 255.0;
|
|
62
62
|
z >>= 8;
|
|
@@ -67,4 +67,15 @@ export function tgdCodeFunction_float01ToVec3(options = {}) {
|
|
|
67
67
|
}`,
|
|
68
68
|
};
|
|
69
69
|
}
|
|
70
|
-
|
|
70
|
+
export function tgdCodeFunction_vec3ToFloat01(options = {}) {
|
|
71
|
+
const { name = "vec3ToFloat01" } = options;
|
|
72
|
+
return {
|
|
73
|
+
[name]: `float ${name}(in vec3 value) {
|
|
74
|
+
float r = value.r;
|
|
75
|
+
float g = value.g;
|
|
76
|
+
float b = value.b;
|
|
77
|
+
return (b * 256.0 * 256.0 + g * 256.0 + r) * 0.000015199185323666652;
|
|
78
|
+
}`,
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0aC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb2RlL21hdGgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUE7OztHQUdHO0FBQ0gsTUFBTSxVQUFVLHdCQUF3QixDQUNwQyxVQUFxQyxFQUFFO0lBRXZDLE1BQU0sRUFBRSxJQUFJLEdBQUcsVUFBVSxFQUFFLEdBQUcsT0FBTyxDQUFBO0lBQ3JDLE9BQU87UUFDSCxDQUFDLElBQUksQ0FBQyxFQUFFLFNBQVMsSUFBSTs7OztDQUk1QjtLQUNJLENBQUE7QUFDTCxDQUFDO0FBRUQsTUFBTSxVQUFVLHNCQUFzQixDQUNsQyxVQUFxQyxFQUFFO0lBRXZDLE1BQU0sRUFBRSxJQUFJLEdBQUcsUUFBUSxFQUFFLEdBQUcsT0FBTyxDQUFBO0lBRW5DLE9BQU87UUFDSCxDQUFDLElBQUksQ0FBQyxFQUFFLFNBQVMsSUFBSTtPQUN0QixJQUFJO09BQ0osSUFBSTtPQUNKLElBQUk7Q0FDVjtLQUNJLENBQUE7QUFDTCxDQUFDO0FBRUQsTUFBTSxVQUFVLHVCQUF1QixDQUNuQyxVQUFxQyxFQUFFO0lBRXZDLE1BQU0sRUFBRSxJQUFJLEdBQUcsU0FBUyxFQUFFLEdBQUcsT0FBTyxDQUFBO0lBRXBDLHVDQUNPLHNCQUFzQixFQUFFLEtBQzNCLENBQUMsSUFBSSxDQUFDLEVBQUUsU0FBUyxJQUFJO09BQ3RCLElBQUk7T0FDSixJQUFJO09BQ0osSUFBSSw4REFBOEQsSUFDcEU7QUFDTCxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUsNkJBQTZCLENBQ3pDLFVBQXFDLEVBQUU7SUFFdkMsTUFBTSxFQUFFLElBQUksR0FBRyxlQUFlLEVBQUUsR0FBRyxPQUFPLENBQUE7SUFFMUMsT0FBTztRQUNILENBQUMsSUFBSSxDQUFDLEVBQUUsU0FBUyxJQUFJO09BQ3RCLElBQUk7T0FDSixJQUFJO09BQ0osSUFBSSxpRUFBaUU7S0FDdkUsQ0FBQTtBQUNMLENBQUM7QUFFRDs7R0FFRztBQUNILE1BQU0sVUFBVSx1QkFBdUIsQ0FDbkMsVUFBcUMsRUFBRTtJQUV2QyxNQUFNLEVBQUUsSUFBSSxHQUFHLFNBQVMsRUFBRSxHQUFHLE9BQU8sQ0FBQTtJQUVwQyxPQUFPO1FBQ0gsQ0FBQyxJQUFJLENBQUMsRUFBRSxTQUFTLElBQUk7UUFDckIsSUFBSTtRQUNKLElBQUk7UUFDSixJQUFJLDREQUE0RDtLQUNuRSxDQUFBO0FBQ0wsQ0FBQztBQUVELE1BQU0sVUFBVSw2QkFBNkIsQ0FDekMsVUFBcUMsRUFBRTtJQUV2QyxNQUFNLEVBQUUsSUFBSSxHQUFHLGVBQWUsRUFBRSxHQUFHLE9BQU8sQ0FBQTtJQUMxQyxPQUFPO1FBQ0gsQ0FBQyxJQUFJLENBQUMsRUFBRSxRQUFRLElBQUk7Ozs7Ozs7O0VBUTFCO0tBQ0csQ0FBQTtBQUNMLENBQUM7QUFFRCxNQUFNLFVBQVUsNkJBQTZCLENBQ3pDLFVBQXFDLEVBQUU7SUFFdkMsTUFBTSxFQUFFLElBQUksR0FBRyxlQUFlLEVBQUUsR0FBRyxPQUFPLENBQUE7SUFDMUMsT0FBTztRQUNILENBQUMsSUFBSSxDQUFDLEVBQUUsU0FBUyxJQUFJOzs7OztFQUszQjtLQUNHLENBQUE7QUFDTCxDQUFDIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blur.d.ts","sourceRoot":"","sources":["../../src/filter/blur.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAEpC,MAAM,WAAW,oBAAoB;IACjC,IAAI,EAAE,MAAM,CAAA;IACZ;;;;OAIG;IACH,SAAS,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,MAAM,CAAA;IACrC,QAAQ,EAAE,MAAM,CAAA;CACnB;AAID,qBAAa,aAAc,SAAQ,SAAS;IACjC,QAAQ,EAAE,MAAM,CAAA;gBAEX,OAAO,GAAE,OAAO,CAAC,oBAAoB,CAAM;
|
|
1
|
+
{"version":3,"file":"blur.d.ts","sourceRoot":"","sources":["../../src/filter/blur.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAEpC,MAAM,WAAW,oBAAoB;IACjC,IAAI,EAAE,MAAM,CAAA;IACZ;;;;OAIG;IACH,SAAS,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,MAAM,CAAA;IACrC,QAAQ,EAAE,MAAM,CAAA;CACnB;AAID,qBAAa,aAAc,SAAQ,SAAS;IACjC,QAAQ,EAAE,MAAM,CAAA;gBAEX,OAAO,GAAE,OAAO,CAAC,oBAAoB,CAAM;CAgE1D"}
|
package/lib/dist/filter/blur.js
CHANGED
|
@@ -41,8 +41,11 @@ export class TgdFilterBlur extends TgdFilter {
|
|
|
41
41
|
uniInverseHeight: "float",
|
|
42
42
|
},
|
|
43
43
|
setUniforms: ({ program }) => {
|
|
44
|
-
|
|
45
|
-
|
|
44
|
+
const { gl } = program;
|
|
45
|
+
// eslint-disable-next-line unicorn/no-unreadable-array-destructuring
|
|
46
|
+
const [, , width, height] = gl.getParameter(gl.VIEWPORT);
|
|
47
|
+
program.uniform1f("uniInverseWidth", 1 / width);
|
|
48
|
+
program.uniform1f("uniInverseHeight", 1 / height);
|
|
46
49
|
program.uniform1f("uniStrength", this.strength);
|
|
47
50
|
},
|
|
48
51
|
});
|
|
@@ -58,4 +61,4 @@ function figureOutDirection(direction) {
|
|
|
58
61
|
}
|
|
59
62
|
return direction;
|
|
60
63
|
}
|
|
61
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
64
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmx1ci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9maWx0ZXIvYmx1ci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBQzVDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxTQUFTLENBQUE7QUFDakMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFVBQVUsQ0FBQTtBQWFwQyxNQUFNLGlCQUFpQixHQUFzQixJQUFJLE9BQU8sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUE7QUFFOUQsTUFBTSxPQUFPLGFBQWMsU0FBUSxTQUFTO0lBR3hDLFlBQVksVUFBeUMsRUFBRTtRQUNuRCxNQUFNLEVBQUUsSUFBSSxHQUFHLENBQUMsRUFBRSxRQUFRLEdBQUcsQ0FBQyxFQUFFLEdBQUcsT0FBTyxDQUFBO1FBQzFDLE1BQU0sU0FBUyxHQUFZLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQTtRQUNoRSxNQUFNLE1BQU0sR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFBO1FBQzdCLE1BQU0sU0FBUyxHQUFHLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUM3QyxNQUFNLEVBQUUsR0FBRyxTQUFTLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQTtRQUNsQyxNQUFNLEVBQUUsR0FBRyxTQUFTLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQTtRQUNsQyxNQUFNLEtBQUssR0FBYSxDQUFDLFNBQVMsRUFBRSxVQUFVLENBQUMsQ0FBQTtRQUMvQyxJQUFJLEtBQUssR0FBRyxDQUFDLENBQUE7UUFDYixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDbkMsTUFBTSxNQUFNLEdB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
|
|
@@ -49,7 +49,7 @@ export declare class TgdGeometry {
|
|
|
49
49
|
readonly attUV: string;
|
|
50
50
|
readonly count: number;
|
|
51
51
|
readonly elements?: Readonly<TgdTypeArrayForElements>;
|
|
52
|
-
readonly drawMode:
|
|
52
|
+
readonly drawMode: number;
|
|
53
53
|
protected _dataset: TgdDataset;
|
|
54
54
|
protected _elementsType: number;
|
|
55
55
|
private static counter;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"geometry.d.ts","sourceRoot":"","sources":["../../src/geometry/geometry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,cAAc,EAAwB,MAAM,cAAc,CAAA;AAC/E,OAAO,EAAE,uBAAuB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAInE,UAAU,wBAAwB;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb;;OAEG;IACH,QAAQ,CAAC,EAAE,aAAa,GAAG,MAAM,CAAA;IACjC;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,uBAAuB,CAAA;IAClC;;;OAGG;IACH,uBAAuB,CAAC,EAAE,OAAO,CAAA;CACpC;AAED,MAAM,WAAW,mBAAoB,SAAQ,wBAAwB;IACjE,OAAO,EAAE,UAAU,CAAA;IACnB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,mBAAoB,SAAQ,wBAAwB;IACjE,WAAW,EAAE,gBAAgB,CAAA;IAC7B,SAAS,CAAC,EAAE,gBAAgB,CAAA;IAC5B,KAAK,CAAC,EAAE,gBAAgB,CAAA;CAC3B;AAED,UAAU,gBAAgB;IACtB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,YAAY,CAAA;IAClB,IAAI,CAAC,EAAE,cAAc,CAAA;CACxB;AAED;;;;GAIG;AACH,qBAAa,WAAW;IACpB,SAAgB,IAAI,EAAE,MAAM,CAAA;IAC5B,oDAAoD;IACpD,SAAgB,WAAW,EAAE,MAAM,CAAA;IACnC,kDAAkD;IAClD,SAAgB,SAAS,EAAE,MAAM,CAAA;IACjC,8CAA8C;IAC9C,SAAgB,KAAK,EAAE,MAAM,CAAA;IAC7B,SAAgB,KAAK,EAAE,MAAM,CAAA;IAC7B,SAAgB,QAAQ,CAAC,EAAE,QAAQ,CAAC,uBAAuB,CAAC,CAAA;IAC5D,SAAgB,QAAQ,EAAE,
|
|
1
|
+
{"version":3,"file":"geometry.d.ts","sourceRoot":"","sources":["../../src/geometry/geometry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,cAAc,EAAwB,MAAM,cAAc,CAAA;AAC/E,OAAO,EAAE,uBAAuB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAInE,UAAU,wBAAwB;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb;;OAEG;IACH,QAAQ,CAAC,EAAE,aAAa,GAAG,MAAM,CAAA;IACjC;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,uBAAuB,CAAA;IAClC;;;OAGG;IACH,uBAAuB,CAAC,EAAE,OAAO,CAAA;CACpC;AAED,MAAM,WAAW,mBAAoB,SAAQ,wBAAwB;IACjE,OAAO,EAAE,UAAU,CAAA;IACnB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,mBAAoB,SAAQ,wBAAwB;IACjE,WAAW,EAAE,gBAAgB,CAAA;IAC7B,SAAS,CAAC,EAAE,gBAAgB,CAAA;IAC5B,KAAK,CAAC,EAAE,gBAAgB,CAAA;CAC3B;AAED,UAAU,gBAAgB;IACtB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,YAAY,CAAA;IAClB,IAAI,CAAC,EAAE,cAAc,CAAA;CACxB;AAED;;;;GAIG;AACH,qBAAa,WAAW;IACpB,SAAgB,IAAI,EAAE,MAAM,CAAA;IAC5B,oDAAoD;IACpD,SAAgB,WAAW,EAAE,MAAM,CAAA;IACnC,kDAAkD;IAClD,SAAgB,SAAS,EAAE,MAAM,CAAA;IACjC,8CAA8C;IAC9C,SAAgB,KAAK,EAAE,MAAM,CAAA;IAC7B,SAAgB,KAAK,EAAE,MAAM,CAAA;IAC7B,SAAgB,QAAQ,CAAC,EAAE,QAAQ,CAAC,uBAAuB,CAAC,CAAA;IAC5D,SAAgB,QAAQ,EAAE,MAAM,CAAA;IAEhC,SAAS,CAAC,QAAQ,EAAE,UAAU,CAAA;IAC9B,SAAS,CAAC,aAAa,EAAE,MAAM,CAAA;IAE/B,OAAO,CAAC,MAAM,CAAC,OAAO,CAAI;WAEZ,IAAI,CAAC,OAAO,EAAE,mBAAmB;gBAmBnC,OAAO,EAAE,mBAAmB;IA2BxC,KAAK,CAAC,OAAO,CAAC,EAAE,MAAM;IAOtB,IAAI,OAAO,IAAI,QAAQ,CAAC,UAAU,CAAC,CAElC;IAED,IAAI,YAAY,WAEf;IAEM,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAIjC,cAAc;IAsBrB,OAAO,CAAC,kCAAkC;CAgE7C"}
|
|
@@ -34,7 +34,10 @@ export class TgdGeometry {
|
|
|
34
34
|
const { dataset, drawMode = "TRIANGLES", attPosition = "POSITION", attNormal = "NORMAL", attUV = "TEXCOORD_0", name = `TgdGeometry#${TgdGeometry.counter++}`, } = options;
|
|
35
35
|
this.name = name;
|
|
36
36
|
this._dataset = dataset;
|
|
37
|
-
this.drawMode =
|
|
37
|
+
this.drawMode =
|
|
38
|
+
typeof drawMode === "number"
|
|
39
|
+
? drawMode
|
|
40
|
+
: WebGL2RenderingContext[drawMode];
|
|
38
41
|
const { elements } = options;
|
|
39
42
|
this.elements = elements;
|
|
40
43
|
this._elementsType = elements
|
|
@@ -65,8 +68,7 @@ export class TgdGeometry {
|
|
|
65
68
|
}
|
|
66
69
|
computeNormals() {
|
|
67
70
|
let normals = [];
|
|
68
|
-
if (this.drawMode === WebGL2RenderingContext.TRIANGLES
|
|
69
|
-
this.drawMode === "TRIANGLES") {
|
|
71
|
+
if (this.drawMode === WebGL2RenderingContext.TRIANGLES) {
|
|
70
72
|
normals = this.computeNormalsForTrianglesDrawMode();
|
|
71
73
|
}
|
|
72
74
|
else {
|
|
@@ -136,4 +138,4 @@ function computeNormal(A, B, C) {
|
|
|
136
138
|
const AC = new TgdVec3(C).subtract(A);
|
|
137
139
|
return AB.cross(AC).normalize();
|
|
138
140
|
}
|
|
139
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
141
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvbWV0cnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZ2VvbWV0cnkvZ2VvbWV0cnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBd0MsTUFBTSxjQUFjLENBQUE7QUFFL0UsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQTtBQUNuQyxPQUFPLEVBQUUsOEJBQThCLEVBQUUsV0FBVyxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBd0N4RTs7OztHQUlHO0FBQ0gsTUFBTSxPQUFPLFdBQVc7SUFpQmIsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUE0Qjs7UUFDM0MsTUFBTSxVQUFVLEdBQXlCLEVBQUUsQ0FBQTtRQUMzQyxNQUFNLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsR0FDOUQsT0FBTyxDQUFBO1FBQ1gsVUFBVSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsR0FBRyxNQUFBLFdBQVcsQ0FBQyxJQUFJLG1DQUFJLE1BQU0sQ0FBQTtRQUN6RCxJQUFJLFNBQVM7WUFBRSxVQUFVLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxHQUFHLE1BQUEsU0FBUyxDQUFDLElBQUksbUNBQUksTUFBTSxDQUFBO1FBQ3BFLElBQUksS0FBSztZQUFFLFVBQVUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsTUFBQSxLQUFLLENBQUMsSUFBSSxtQ0FBSSxNQUFNLENBQUE7UUFDeEQsTUFBTSxPQUFPLEdBQUcsSUFBSSxVQUFVLENBQUMsVUFBVSxDQUFDLENBQUE7UUFDMUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUMvQyxJQUFJLFNBQVM7WUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLElB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
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { TgdGeometry } from "./geometry";
|
|
2
|
+
import { ArrayNumber3 } from "../types";
|
|
3
|
+
export interface TgdGeometryGridOptions {
|
|
4
|
+
sizeX?: number;
|
|
5
|
+
sizeY?: number;
|
|
6
|
+
subdivisions?: number;
|
|
7
|
+
subdivisionsX?: number;
|
|
8
|
+
subdivisionsY?: number;
|
|
9
|
+
vecX?: ArrayNumber3;
|
|
10
|
+
vecY?: ArrayNumber3;
|
|
11
|
+
}
|
|
12
|
+
export declare class TgdGeometryGrid extends TgdGeometry {
|
|
13
|
+
constructor({ sizeX, sizeY, subdivisions, subdivisionsX, subdivisionsY, vecX, vecY, }?: TgdGeometryGridOptions);
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=grid.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"grid.d.ts","sourceRoot":"","sources":["../../src/geometry/grid.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAIzC,MAAM,WAAW,sBAAsB;IACnC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,IAAI,CAAC,EAAE,YAAY,CAAA;IACnB,IAAI,CAAC,EAAE,YAAY,CAAA;CACtB;AAED,qBAAa,eAAgB,SAAQ,WAAW;gBAChC,EACR,KAAS,EACT,KAAS,EACT,YAAiB,EACjB,aAAa,EACb,aAAa,EACb,IAAgB,EAChB,IAAgB,GACnB,GAAE,sBAA2B;CA6DjC"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { TgdDataset } from "./../dataset/index.js";
|
|
2
|
+
import { TgdGeometry } from "./geometry.js";
|
|
3
|
+
import { TgdVec3 } from "./../math/index.js";
|
|
4
|
+
import { webglElementTypeArrayFromNumberArray } from "./../utils/index.js";
|
|
5
|
+
export class TgdGeometryGrid extends TgdGeometry {
|
|
6
|
+
constructor({ sizeX = 1, sizeY = 1, subdivisions = 10, subdivisionsX, subdivisionsY, vecX = [1, 0, 0], vecY = [0, 1, 0], } = {}) {
|
|
7
|
+
const vec = (x, y) => {
|
|
8
|
+
const sx = x * sizeX;
|
|
9
|
+
const sy = y * sizeY;
|
|
10
|
+
return [
|
|
11
|
+
sx * vecX[0] + sy * vecY[0],
|
|
12
|
+
sx * vecX[1] + sy * vecY[1],
|
|
13
|
+
sx * vecX[2] + sy * vecY[2],
|
|
14
|
+
];
|
|
15
|
+
};
|
|
16
|
+
const [nx, ny, nz] = new TgdVec3(vecX)
|
|
17
|
+
.normalize()
|
|
18
|
+
.cross(new TgdVec3(vecY).normalize());
|
|
19
|
+
const dataset = new TgdDataset({
|
|
20
|
+
POSITION: "vec3",
|
|
21
|
+
NORMAL: "vec3",
|
|
22
|
+
TEXCOORD_0: "vec2",
|
|
23
|
+
});
|
|
24
|
+
const cols = Math.max(1, Math.round(subdivisionsX !== null && subdivisionsX !== void 0 ? subdivisionsX : subdivisions)) + 1;
|
|
25
|
+
const rows = Math.max(1, Math.round(subdivisionsY !== null && subdivisionsY !== void 0 ? subdivisionsY : subdivisions)) + 1;
|
|
26
|
+
const x0 = -0.5 * sizeX;
|
|
27
|
+
const y0 = -0.5 * sizeY;
|
|
28
|
+
const positions = [];
|
|
29
|
+
const normals = [];
|
|
30
|
+
const texcoords = [];
|
|
31
|
+
const elements = [];
|
|
32
|
+
for (let row = 0; row < rows; row++) {
|
|
33
|
+
const v = row / (rows - 1);
|
|
34
|
+
const y = y0 + sizeY * v;
|
|
35
|
+
for (let col = 0; col < cols; col++) {
|
|
36
|
+
const u = col / (cols - 1);
|
|
37
|
+
const x = x0 + sizeX * u;
|
|
38
|
+
positions.push(...vec(x, y));
|
|
39
|
+
normals.push(nx, ny, nz);
|
|
40
|
+
texcoords.push(u, v);
|
|
41
|
+
if (col > 0 && row > 0) {
|
|
42
|
+
const i0 = col - 1;
|
|
43
|
+
const j0 = row - 1;
|
|
44
|
+
const i1 = col;
|
|
45
|
+
const j1 = row;
|
|
46
|
+
const a = i1 + cols * j1;
|
|
47
|
+
const b = i1 + cols * j0;
|
|
48
|
+
const c = i0 + cols * j0;
|
|
49
|
+
const d = i0 + cols * j1;
|
|
50
|
+
// prettier-ignore
|
|
51
|
+
elements.push(a, b, d, c, b, d);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
dataset.set("POSITION", new Float32Array(positions));
|
|
56
|
+
dataset.set("NORMAL", new Float32Array(normals));
|
|
57
|
+
dataset.set("TEXCOORD_0", new Float32Array(texcoords));
|
|
58
|
+
super({
|
|
59
|
+
dataset,
|
|
60
|
+
elements: webglElementTypeArrayFromNumberArray(elements),
|
|
61
|
+
drawMode: "TRIANGLES",
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9nZW9tZXRyeS9ncmlkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUE7QUFDekMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUV4QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sV0FBVyxDQUFBO0FBQ25DLE9BQU8sRUFBRSxvQ0FBb0MsRUFBRSxNQUFNLFlBQVksQ0FBQTtBQVlqRSxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxXQUFXO0lBQzVDLFlBQVksRUFDUixLQUFLLEdBQUcsQ0FBQyxFQUNULEtBQUssR0FBRyxDQUFDLEVBQ1QsWUFBWSxHQUFHLEVBQUUsRUFDakIsYUFBYSxFQUNiLGFBQWEsRUFDYixJQUFJLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUNoQixJQUFJLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUNRLEVBQUU7UUFDMUIsTUFBTSxHQUFHLEdBQUcsQ0FBQyxDQUFTLEVBQUUsQ0FBUyxFQUFnQixFQUFFO1lBQy9DLE1BQU0sRUFBRSxHQUFHLENBQUMsR0FBRyxLQUFLLENBQUE7WUFDcEIsTUFBTSxFQUFFLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQTtZQUNwQixPQUFPO2dCQUNILEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUM7Z0JBQzNCLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUM7Z0JBQzNCLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUM7YUFDOUIsQ0FBQTtRQUNMLENBQUMsQ0FBQTtRQUNE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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/geometry/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAA;AACrB,cAAc,YAAY,CAAA;AAC1B,cAAc,QAAQ,CAAA;AACtB,cAAc,SAAS,CAAA;AACvB,cAAc,SAAS,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/geometry/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAA;AACrB,cAAc,YAAY,CAAA;AAC1B,cAAc,QAAQ,CAAA;AACtB,cAAc,QAAQ,CAAA;AACtB,cAAc,SAAS,CAAA;AACvB,cAAc,SAAS,CAAA"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export * from "./box.js";
|
|
2
2
|
export * from "./geometry.js";
|
|
3
3
|
export * from "./gltf.js";
|
|
4
|
+
export * from "./grid.js";
|
|
4
5
|
export * from "./plane.js";
|
|
5
6
|
export * from "./tools/index.js";
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZ2VvbWV0cnkvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxPQUFPLENBQUE7QUFDckIsY0FBYyxZQUFZLENBQUE7QUFDMUIsY0FBYyxRQUFRLENBQUE7QUFDdEIsY0FBYyxRQUFRLENBQUE7QUFDdEIsY0FBYyxTQUFTLENBQUE7QUFDdkIsY0FBYyxTQUFTLENBQUEifQ==
|
|
@@ -2,7 +2,7 @@ import { TgdDataset } from "./../dataset/index.js";
|
|
|
2
2
|
import { TgdGeometry } from "./geometry.js";
|
|
3
3
|
import { TgdVec3 } from "./../math/index.js";
|
|
4
4
|
export class TgdGeometryPlane extends TgdGeometry {
|
|
5
|
-
constructor({ sizeX = 1, sizeY = 1, vecX = [1, 0, 0], vecY = [0,
|
|
5
|
+
constructor({ sizeX = 1, sizeY = 1, vecX = [1, 0, 0], vecY = [0, 1, 0], } = {}) {
|
|
6
6
|
const vec = (x, y) => {
|
|
7
7
|
const sx = x * sizeX;
|
|
8
8
|
const sy = y * sizeY;
|
package/lib/dist/loader/asset.js
CHANGED
|
@@ -14,7 +14,7 @@ export function tgdLoadAssets(urls) {
|
|
|
14
14
|
});
|
|
15
15
|
}
|
|
16
16
|
function getPromisedLoaders(loader, urls, target) {
|
|
17
|
-
return Object.keys(urls !== null && urls !== void 0 ? urls : {}).map(name => new Promise(resolve => {
|
|
17
|
+
return Object.keys(urls !== null && urls !== void 0 ? urls : {}).map((name) => new Promise((resolve) => {
|
|
18
18
|
if (!urls) {
|
|
19
19
|
resolve();
|
|
20
20
|
return;
|
|
@@ -25,7 +25,7 @@ function getPromisedLoaders(loader, urls, target) {
|
|
|
25
25
|
return;
|
|
26
26
|
}
|
|
27
27
|
loader(url)
|
|
28
|
-
.then(value => {
|
|
28
|
+
.then((value) => {
|
|
29
29
|
if (value)
|
|
30
30
|
target[name] = value;
|
|
31
31
|
resolve();
|
|
@@ -36,4 +36,4 @@ function getPromisedLoaders(loader, urls, target) {
|
|
|
36
36
|
});
|
|
37
37
|
}));
|
|
38
38
|
}
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbG9hZGVyL2Fzc2V0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sVUFBVSxDQUFBO0FBQ3JDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxTQUFTLENBQUE7QUFFdEMsTUFBTSxVQUFnQixhQUFhLENBQy9CLElBR0U7O1FBS0YsTUFBTSxHQUFHLEdBQUcsRUFBNkIsQ0FBQTtRQUN6QyxNQUFNLEdBQUcsR0FBRyxFQUFtQyxDQUFBO1FBQy9DLE1BQU0sS0FBSyxHQUFvQjtZQUMzQixHQUFHLGtCQUFrQixDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQztZQUNoRCxHQUFHLGtCQUFrQixDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQztTQUNyRCxDQUFBO1FBQ0QsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQ3hCLE9BQU8sRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUE7SUFDdkIsQ0FBQztDQUFBO0FBRUQsU0FBUyxrQkFBa0IsQ0FDdkIsTUFBMEMsRUFDMUMsSUFBbUMsRUFDbkMsTUFBb0I7SUFFcEIsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksYUFBSixJQUFJLGNBQUosSUFBSSxHQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FDOUIsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUNMLElBQUksT0FBTyxDQUFPLENBQUMsT0FBTyxFQUFFLEVBQUU7UUFDMUIsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ1IsT0FBTyxFQUFFLENBQUE7WUFDVCxPQUFNO1FBQ1YsQ0FBQztRQUNELE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxJQUFTLENBQUMsQ0FBQTtRQUMzQixJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDUCxPQUFPLEVBQUUsQ0FBQTtZQUNULE9BQU07UUFDVixDQUFDO1FBRUQsTUFBTSxDQUFDLEdBQUcsQ0FBQzthQUNOLElBQUksQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ1osSUFBSSxLQUFLO2dCQUFFLE1BQU0sQ0FBQyxJQUFTLENBQUMsR0FBRyxLQUFLLENBQUE7WUFDcEMsT0FBTyxFQUFFLENBQUE7UUFDYixDQUFDLENBQUM7YUFDRCxLQUFLLENBQUMsR0FBRyxFQUFFO1lBQ1IsT0FBTyxDQUFDLEtBQUssQ0FBQyxvQkFBb0IsRUFBRSxHQUFHLENBQUMsQ0FBQTtZQUN4QyxPQUFPLEVBQUUsQ0FBQTtRQUNiLENBQUMsQ0FBQyxDQUFBO0lBQ1YsQ0FBQyxDQUFDLENBQ1QsQ0FBQTtBQUNMLENBQUMifQ==
|
|
@@ -5,5 +5,11 @@
|
|
|
5
5
|
export declare function tgdLoadImage(url: string): Promise<HTMLImageElement | null>;
|
|
6
6
|
export declare function tgdLoadImageFromArrayBuffer(buffer: ArrayBuffer): Promise<HTMLImageElement | null>;
|
|
7
7
|
export declare function tgdLoadImages(urls: string[]): Promise<Array<HTMLImageElement | null>>;
|
|
8
|
+
/**
|
|
9
|
+
* The image will have the size specified in the SVG tag.
|
|
10
|
+
* @param svg Content of a SVG image.
|
|
11
|
+
*/
|
|
12
|
+
export declare function tgdLoadImageFromSvg(svg: string): Promise<HTMLImageElement>;
|
|
13
|
+
export declare function tgdLoadImageFromElement(element: Element): Promise<HTMLImageElement>;
|
|
8
14
|
export declare function tgdLoadCanvas(url: string): Promise<HTMLCanvasElement | null>;
|
|
9
15
|
//# sourceMappingURL=image.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"image.d.ts","sourceRoot":"","sources":["../../src/loader/image.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"image.d.ts","sourceRoot":"","sources":["../../src/loader/image.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAU1E;AAED,wBAAgB,2BAA2B,CACvC,MAAM,EAAE,WAAW,GACpB,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAgBlC;AAED,wBAAgB,aAAa,CACzB,IAAI,EAAE,MAAM,EAAE,GACf,OAAO,CAAC,KAAK,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAC,CAIzC;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CA+B1E;AAED,wBAAgB,uBAAuB,CACnC,OAAO,EAAE,OAAO,GACjB,OAAO,CAAC,gBAAgB,CAAC,CAQ3B;AAED,wBAAsB,aAAa,CAC/B,GAAG,EAAE,MAAM,GACZ,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAYnC"}
|
package/lib/dist/loader/image.js
CHANGED
|
@@ -1,45 +1,83 @@
|
|
|
1
1
|
import { __awaiter } from "tslib";
|
|
2
|
+
import { tgdCanvasFromImage } from "./../utils/index.js";
|
|
2
3
|
/**
|
|
3
4
|
* Try to load an image and return `null` in case of failure.
|
|
4
5
|
* @param url URL of the image to load.
|
|
5
6
|
*/
|
|
6
7
|
export function tgdLoadImage(url) {
|
|
7
|
-
return
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
resolve(null);
|
|
14
|
-
});
|
|
15
|
-
img.src = url;
|
|
8
|
+
return new Promise((resolve) => {
|
|
9
|
+
const img = new Image();
|
|
10
|
+
img.addEventListener("load", () => resolve(img));
|
|
11
|
+
img.addEventListener("error", () => {
|
|
12
|
+
console.error("Unable to load image:", url);
|
|
13
|
+
resolve(null);
|
|
16
14
|
});
|
|
15
|
+
img.src = url;
|
|
17
16
|
});
|
|
18
17
|
}
|
|
19
18
|
export function tgdLoadImageFromArrayBuffer(buffer) {
|
|
20
|
-
return
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
resolve(null);
|
|
33
|
-
});
|
|
34
|
-
img.src = url;
|
|
19
|
+
return new Promise((resolve) => {
|
|
20
|
+
const blob = new Blob([buffer]);
|
|
21
|
+
const url = URL.createObjectURL(blob);
|
|
22
|
+
const img = new Image();
|
|
23
|
+
img.addEventListener("load", () => {
|
|
24
|
+
URL.revokeObjectURL(url);
|
|
25
|
+
resolve(img);
|
|
26
|
+
});
|
|
27
|
+
img.addEventListener("error", () => {
|
|
28
|
+
URL.revokeObjectURL(url);
|
|
29
|
+
console.error("Unable to load image:", url);
|
|
30
|
+
resolve(null);
|
|
35
31
|
});
|
|
32
|
+
img.src = url;
|
|
36
33
|
});
|
|
37
34
|
}
|
|
38
35
|
export function tgdLoadImages(urls) {
|
|
39
|
-
return
|
|
40
|
-
|
|
36
|
+
return Promise.all(urls.map((url) => tgdLoadImage(url)));
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* The image will have the size specified in the SVG tag.
|
|
40
|
+
* @param svg Content of a SVG image.
|
|
41
|
+
*/
|
|
42
|
+
export function tgdLoadImageFromSvg(svg) {
|
|
43
|
+
return new Promise((resolve) => {
|
|
44
|
+
const img = new Image();
|
|
45
|
+
console.log("🚀 [image] svg =", svg); // @FIXME: Remove this line written on 2025-09-17 at 10:20
|
|
46
|
+
const encoder = new TextEncoder();
|
|
47
|
+
const bytes = encoder.encode(svg);
|
|
48
|
+
const binString = Array.from(bytes, (byte) => String.fromCodePoint(byte)).join("");
|
|
49
|
+
console.log("🚀 [image] binString =", binString); // @FIXME: Remove this line written on 2025-09-17 at 14:03
|
|
50
|
+
const base64 = btoa(binString);
|
|
51
|
+
console.log("🚀 [image] base64 =", base64); // @FIXME: Remove this line written on 2025-09-17 at 10:20
|
|
52
|
+
const url = `data:image/svg+xml;base64,${base64}`;
|
|
53
|
+
console.log("🚀 [image] url =", url); // @FIXME: Remove this line written on 2025-09-17 at 10:16
|
|
54
|
+
img.addEventListener("load", function () {
|
|
55
|
+
const canvas = tgdCanvasFromImage(img);
|
|
56
|
+
canvas.style.background = "#888";
|
|
57
|
+
canvas.style.position = "fixed";
|
|
58
|
+
canvas.style.zIndex = "9999";
|
|
59
|
+
document.body.appendChild(canvas);
|
|
60
|
+
console.log("🚀 [image] canvas =", canvas); // @FIXME: Remove this line written on 2025-09-17 at 10:01
|
|
61
|
+
resolve(img);
|
|
62
|
+
// DOMURL.revokeObjectURL(url)
|
|
63
|
+
});
|
|
64
|
+
img.addEventListener("error", () => {
|
|
65
|
+
console.error("Unable to load image from svg:", url);
|
|
66
|
+
console.debug("SVG:", svg);
|
|
67
|
+
resolve(img);
|
|
68
|
+
});
|
|
69
|
+
img.src = url;
|
|
41
70
|
});
|
|
42
71
|
}
|
|
72
|
+
export function tgdLoadImageFromElement(element) {
|
|
73
|
+
const width = element.scrollWidth;
|
|
74
|
+
const height = element.scrollHeight;
|
|
75
|
+
// const html = element.innerHTML
|
|
76
|
+
const html = "<h1>Hello world!</h1>";
|
|
77
|
+
return tgdLoadImageFromSvg(`<svg xmlns="http://www.w3.org/2000/svg" width="${width}" height="${height}">
|
|
78
|
+
<foreignObject width="100%" height="100%">${html}</foreignObject>
|
|
79
|
+
</svg>`);
|
|
80
|
+
}
|
|
43
81
|
export function tgdLoadCanvas(url) {
|
|
44
82
|
return __awaiter(this, void 0, void 0, function* () {
|
|
45
83
|
const img = yield tgdLoadImage(url);
|
|
@@ -55,4 +93,4 @@ export function tgdLoadCanvas(url) {
|
|
|
55
93
|
return canvas;
|
|
56
94
|
});
|
|
57
95
|
}
|
|
58
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
96
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbG9hZGVyL2ltYWdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQXVCLGtCQUFrQixFQUFFLE1BQU0sWUFBWSxDQUFBO0FBRXBFOzs7R0FHRztBQUNILE1BQU0sVUFBVSxZQUFZLENBQUMsR0FBVztJQUNwQyxPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7UUFDM0IsTUFBTSxHQUFHLEdBQUcsSUFBSSxLQUFLLEVBQUUsQ0FBQTtRQUN2QixHQUFHLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFBO1FBQ2hELEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsR0FBRyxFQUFFO1lBQy9CLE9BQU8sQ0FBQyxLQUFLLENBQUMsdUJBQXVCLEVBQUUsR0FBRyxDQUFDLENBQUE7WUFDM0MsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQ2pCLENBQUMsQ0FBQyxDQUFBO1FBQ0YsR0FBRyxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUE7SUFDakIsQ0FBQyxDQUFDLENBQUE7QUFDTixDQUFDO0FBRUQsTUFBTSxVQUFVLDJCQUEyQixDQUN2QyxNQUFtQjtJQUVuQixPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7UUFDM0IsTUFBTSxJQUFJLEdBQUcsSUFBSSxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFBO1FBQy9CLE1BQU0sR0FBRyxHQUFHLEdBQUcsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDckMsTUFBTSxHQUFHLEdBQUcsSUFBSSxLQUFLLEVBQUUsQ0FBQTtRQUN2QixHQUFHLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRTtZQUM5QixHQUFHLENBQUMsZUFBZSxDQUFDLEdB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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/material/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAA;AACvB,cAAc,WAAW,CAAA;AACzB,cAAc,oBAAoB,CAAA;AAClC,cAAc,QAAQ,CAAA;AACtB,cAAc,SAAS,CAAA;AACvB,cAAc,QAAQ,CAAA;AACtB,cAAc,YAAY,CAAA;AAC1B,cAAc,WAAW,CAAA;AACzB,cAAc,QAAQ,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/material/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAA;AACvB,cAAc,WAAW,CAAA;AACzB,cAAc,oBAAoB,CAAA;AAClC,cAAc,QAAQ,CAAA;AACtB,cAAc,SAAS,CAAA;AACvB,cAAc,QAAQ,CAAA;AACtB,cAAc,YAAY,CAAA;AAC1B,cAAc,WAAW,CAAA;AACzB,cAAc,cAAc,CAAA;AAC5B,cAAc,QAAQ,CAAA"}
|
|
@@ -6,5 +6,6 @@ export * from "./ghost.js";
|
|
|
6
6
|
export * from "./hull.js";
|
|
7
7
|
export * from "./material.js";
|
|
8
8
|
export * from "./normals.js";
|
|
9
|
+
export * from "./normal-map.js";
|
|
9
10
|
export * from "./toon.js";
|
|
10
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbWF0ZXJpYWwvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxTQUFTLENBQUE7QUFDdkIsY0FBYyxXQUFXLENBQUE7QUFDekIsY0FBYyxvQkFBb0IsQ0FBQTtBQUNsQyxjQUFjLFFBQVEsQ0FBQTtBQUN0QixjQUFjLFNBQVMsQ0FBQTtBQUN2QixjQUFjLFFBQVEsQ0FBQTtBQUN0QixjQUFjLFlBQVksQ0FBQTtBQUMxQixjQUFjLFdBQVcsQ0FBQTtBQUN6QixjQUFjLGNBQWMsQ0FBQTtBQUM1QixjQUFjLFFBQVEsQ0FBQSJ9
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"normal-map.d.ts","sourceRoot":"","sources":["../../src/material/normal-map.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAExC,qBAAa,oBAAqB,SAAQ,WAAW;;CAiBpD"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { TgdMaterial } from "./material.js";
|
|
2
|
+
export class TgdMaterialNormalMap extends TgdMaterial {
|
|
3
|
+
constructor() {
|
|
4
|
+
super({
|
|
5
|
+
varyings: { varNormal: "vec3" },
|
|
6
|
+
fragmentShaderCode: [
|
|
7
|
+
`vec3 n = normalize(varNormal);`,
|
|
8
|
+
`vec3 color = vec3(`,
|
|
9
|
+
[`0.5 * (1.0 + n.x),`, `0.5 * (1.0 + n.y),`, `max(0.0, n.z)`],
|
|
10
|
+
`);`,
|
|
11
|
+
`color *= 0.5;`,
|
|
12
|
+
`return vec4(color, 1.0);`,
|
|
13
|
+
],
|
|
14
|
+
vertexShaderCode: [
|
|
15
|
+
"varNormal = mat3(uniModelViewMatrix) * normal;",
|
|
16
|
+
],
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9ybWFsLW1hcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tYXRlcmlhbC9ub3JtYWwtbWFwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFFeEMsTUFBTSxPQUFPLG9CQUFxQixTQUFRLFdBQVc7SUFDakQ7UUFDSSxLQUFLLENBQUM7WUFDRixRQUFRLEVBQUUsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFO1lBQy9CLGtCQUFrQixFQUFFO2dCQUNoQixnQ0FBZ0M7Z0JBQ2hDLG9CQUFvQjtnQkFDcEIsQ0FBQyxvQkFBb0IsRUFBRSxvQkFBb0IsRUFBRSxlQUFlLENBQUM7Z0JBQzdELElBQUk7Z0JBQ0osZUFBZTtnQkFDZiwwQkFBMEI7YUFDN0I7WUFDRCxnQkFBZ0IsRUFBRTtnQkFDZCxnREFBZ0Q7YUFDbkQ7U0FDSixDQUFDLENBQUE7SUFDTixDQUFDO0NBQ0oifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"background.d.ts","sourceRoot":"","sources":["../../../src/painter/background/background.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAIvC,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"background.d.ts","sourceRoot":"","sources":["../../../src/painter/background/background.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAIvC,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAQ3C,MAAM,WAAW,2BAA2B;IACxC,OAAO,EAAE,YAAY,CAAA;IACrB,IAAI,EAAE,MAAM,CAAA;IACZ,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;IACT;;;;OAIG;IACH,MAAM,EAAE,MAAM,CAAA;IACd;;;;OAIG;IACH,MAAM,EAAE,MAAM,CAAA;IACd;;;;OAIG;IACH,IAAI,EAAE,OAAO,GAAG,SAAS,CAAA;CAC5B;AAED,qBAAa,oBAAqB,SAAQ,UAAU;IAiB5C,OAAO,CAAC,QAAQ,CAAC,OAAO;IAhBrB,OAAO,EAAE,YAAY,GAAG,SAAS,CAAA;IAExC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAY;IACpC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAgB;IAEpC;;;OAGG;IACI,IAAI,SAAI;IACR,CAAC,SAAI;IACL,CAAC,SAAI;IACL,CAAC,SAAI;IACL,IAAI,EAAE,OAAO,GAAG,SAAS,CAAU;gBAGrB,OAAO,EAAE;QAAE,EAAE,EAAE,sBAAsB,CAAA;KAAE,EACxD,EACI,OAAO,EACP,CAAK,EACL,CAAK,EACL,CAAY,EACZ,IAAQ,EACR,MAAU,EACV,MAAU,EACV,IAAc,GACjB,GAAE,OAAO,CAAC,2BAA2B,CAAM;IAmChD,MAAM,IAAI,IAAI;IAMd,KAAK,IAAI,IAAI;IA4Bb,gBAAgB;;;;IAgBhB,kBAAkB;;;;CAsBrB"}
|
|
@@ -4,6 +4,8 @@ import { TgdVertexArray } from "./../../vao/index.js";
|
|
|
4
4
|
import { TgdProgram } from "./../../program/index.js";
|
|
5
5
|
import VERT from "./background.vert";
|
|
6
6
|
import FRAG from "./background.frag";
|
|
7
|
+
import { TgdPainterState } from "../state/index.js";
|
|
8
|
+
import { webglPresetCull, webglPresetDepth } from "./../../utils/index.js";
|
|
7
9
|
export class TgdPainterBackground extends TgdPainter {
|
|
8
10
|
constructor(context, { texture, x = 0, y = 0, z = 0.999999, zoom = 1, scaleX = 1, scaleY = 1, mode = "cover", } = {}) {
|
|
9
11
|
super();
|
|
@@ -62,9 +64,16 @@ export class TgdPainterBackground extends TgdPainter {
|
|
|
62
64
|
program.uniform1f("uniZoom", 1 / zoom);
|
|
63
65
|
program.uniform1f("uniZ", z);
|
|
64
66
|
texture === null || texture === void 0 ? void 0 : texture.activate(0, program, "uniTexture");
|
|
67
|
+
TgdPainterState.do({
|
|
68
|
+
gl,
|
|
69
|
+
cull: webglPresetCull.off,
|
|
70
|
+
depth: webglPresetDepth.off,
|
|
71
|
+
}, () => {
|
|
72
|
+
vao.bind();
|
|
73
|
+
gl.drawArrays(gl.TRIANGLE_STRIP, 0, 4);
|
|
74
|
+
vao.unbind();
|
|
75
|
+
});
|
|
65
76
|
gl.disable(gl.CULL_FACE);
|
|
66
|
-
vao.bind();
|
|
67
|
-
gl.drawArrays(gl.TRIANGLE_STRIP, 0, 4);
|
|
68
77
|
}
|
|
69
78
|
getScaleForCover() {
|
|
70
79
|
const { texture, context } = this;
|
|
@@ -102,4 +111,4 @@ export class TgdPainterBackground extends TgdPainter {
|
|
|
102
111
|
};
|
|
103
112
|
}
|
|
104
113
|
}
|
|
105
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
114
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFja2dyb3VuZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYWludGVyL2JhY2tncm91bmQvYmFja2dyb3VuZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBQ3ZDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTtBQUNqRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sVUFBVSxDQUFBO0FBR3pDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUE7QUFFekMsT0FBTyxJQUFJLE1BQU0sbUJBQW1CLENBQUE7QUFDcEMsT0FBTyxJQUFJLE1BQU0sbUJBQW1CLENBQUE7QUFDcEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLFVBQVUsQ0FBQTtBQUMxQyxPQUFPLEVBQUUsZUFBZSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sWUFBWSxDQUFBO0FBNEI5RCxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsVUFBVTtJQWdCaEQsWUFDcUIsT0FBdUMsRUFDeEQsRUFDSSxPQUFPLEVBQ1AsQ0FBQyxHQUFHLENBQUMsRUFDTCxDQUFDLEdBQUcsQ0FBQyxFQUNMLENBQUMsR0FBRyxRQUFRLEVBQ1osSUFBSSxHQUFHLENBQUMsRUFDUixNQUFNLEdBQUcsQ0FBQyxFQUNWLE1BQU0sR0FBRyxDQUFDLEVBQ1YsSUFBSSxHQUFHLE9BQU8sTUFDd0IsRUFBRTtRQUU1QyxLQUFLLEVBQUUsQ0FBQTtRQVpVLFlBQU8sR0FBUCxPQUFPLENBQWdDO1FBWDVEOzs7V0FHRztRQUNJLFNBQUksR0FBRyxDQUFDLENBQUE7UUFDUixNQUFDLEdBQUcsQ0FBQyxDQUFBO1FBQ0wsTUFBQyxHQUFHLENBQUMsQ0FBQTtRQUNMLE1BQUMsR0FBRyxDQUFDLENBQUE7UUFDTCxTQUFJLEdBQXdCLE9BQU8sQ0FBQTtRQWdCdEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENB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
|