@tolokoban/tgd 2.0.139 → 2.0.141
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/README.md +18 -0
- package/lib/dist/camera/camera.d.ts +13 -2
- package/lib/dist/camera/camera.d.ts.map +1 -1
- package/lib/dist/camera/camera.js +43 -10
- package/lib/dist/context/console.d.ts +5 -5
- package/lib/dist/context/console.d.ts.map +1 -1
- package/lib/dist/context/console.js +26 -26
- package/lib/dist/context/context.d.ts +12 -2
- package/lib/dist/context/context.d.ts.map +1 -1
- package/lib/dist/context/context.js +28 -6
- package/lib/dist/dataset/dataset.d.ts.map +1 -1
- package/lib/dist/dataset/dataset.js +22 -9
- package/lib/dist/debug/tools.d.ts +1 -1
- package/lib/dist/debug/tools.d.ts.map +1 -1
- package/lib/dist/debug/tools.js +3 -3
- package/lib/dist/material/diffuse.d.ts.map +1 -1
- package/lib/dist/material/diffuse.js +7 -6
- package/lib/dist/material/flat-texture.d.ts.map +1 -1
- package/lib/dist/material/flat-texture.js +7 -9
- package/lib/dist/material/flat.d.ts.map +1 -1
- package/lib/dist/material/flat.js +2 -2
- package/lib/dist/material/material.d.ts +5 -2
- package/lib/dist/material/material.d.ts.map +1 -1
- package/lib/dist/material/material.js +83 -4
- package/lib/dist/math/mat4.d.ts +1 -1
- package/lib/dist/math/mat4.d.ts.map +1 -1
- package/lib/dist/math/mat4.js +58 -14
- package/lib/dist/painter/gizmo/gizmo.d.ts +3 -3
- package/lib/dist/painter/gizmo/gizmo.d.ts.map +1 -1
- package/lib/dist/painter/gizmo/gizmo.js +11 -7
- package/lib/dist/painter/gizmo/painters/normal.d.ts +2 -2
- package/lib/dist/painter/gizmo/painters/normal.d.ts.map +1 -1
- package/lib/dist/painter/gizmo/painters/normal.js +30 -6
- package/lib/dist/painter/group.d.ts +1 -0
- package/lib/dist/painter/group.d.ts.map +1 -1
- package/lib/dist/painter/group.js +3 -1
- package/lib/dist/painter/mesh/mesh/mesh.d.ts.map +1 -1
- package/lib/dist/painter/mesh/mesh/mesh.js +20 -7
- package/lib/dist/painter/points-cloud/points-cloud-morphing.d.ts +15 -8
- package/lib/dist/painter/points-cloud/points-cloud-morphing.d.ts.map +1 -1
- package/lib/dist/painter/points-cloud/points-cloud-morphing.js +53 -48
- package/lib/dist/painter/points-cloud/points-cloud.d.ts +17 -11
- package/lib/dist/painter/points-cloud/points-cloud.d.ts.map +1 -1
- package/lib/dist/painter/points-cloud/points-cloud.js +56 -54
- package/lib/dist/painter/points-cloud/shaders/frag-flat.d.ts +3 -0
- package/lib/dist/painter/points-cloud/shaders/frag-flat.d.ts.map +1 -0
- package/lib/dist/painter/points-cloud/shaders/frag-flat.js +9 -0
- package/lib/dist/painter/points-cloud/shaders/frag-sphere.d.ts +44 -0
- package/lib/dist/painter/points-cloud/shaders/frag-sphere.d.ts.map +1 -0
- package/lib/dist/painter/points-cloud/shaders/frag-sphere.js +33 -0
- package/lib/dist/painter/points-cloud/shaders/vert.d.ts +4 -0
- package/lib/dist/painter/points-cloud/shaders/vert.d.ts.map +1 -0
- package/lib/dist/painter/points-cloud/shaders/vert.js +34 -0
- package/lib/dist/painter/program.d.ts +1 -1
- package/lib/dist/painter/program.d.ts.map +1 -1
- package/lib/dist/painter/program.js +12 -8
- package/lib/dist/painter/segments/segments.d.ts.map +1 -1
- package/lib/dist/painter/segments/segments.js +3 -1
- package/lib/dist/shader/code.d.ts +2 -2
- package/lib/dist/shader/code.d.ts.map +1 -1
- package/lib/dist/shader/code.js +5 -2
- package/lib/dist/version.d.ts +1 -1
- package/lib/dist/version.js +1 -1
- package/package.json +2 -1
|
@@ -44,7 +44,9 @@ export class TgdDataset {
|
|
|
44
44
|
bytesPerElement: Float32Array.BYTES_PER_ELEMENT,
|
|
45
45
|
divisor,
|
|
46
46
|
getter(view, byteOffset) {
|
|
47
|
-
const offset = byteOffset >= view.byteLength
|
|
47
|
+
const offset = byteOffset >= view.byteLength
|
|
48
|
+
? byteOffset % view.byteLength
|
|
49
|
+
: byteOffset;
|
|
48
50
|
return view.getFloat32(offset, true);
|
|
49
51
|
},
|
|
50
52
|
setter(view, byteOffset, value) {
|
|
@@ -68,7 +70,8 @@ export class TgdDataset {
|
|
|
68
70
|
}
|
|
69
71
|
}
|
|
70
72
|
assertAttributes(attributesDefinition) {
|
|
71
|
-
if (JSON.stringify(attributesDefinition) !==
|
|
73
|
+
if (JSON.stringify(attributesDefinition) !==
|
|
74
|
+
JSON.stringify(this.attributesDefinition)) {
|
|
72
75
|
throw new Error(`This TgdDataset was expected to have these attributes:\n${JSON.stringify(attributesDefinition, null, 2)}\nbut it has these attributes instead:\n${JSON.stringify(this.attributesDefinition, null, 2)}`);
|
|
73
76
|
}
|
|
74
77
|
}
|
|
@@ -208,11 +211,15 @@ export class TgdDataset {
|
|
|
208
211
|
const stride = this.stride;
|
|
209
212
|
return {
|
|
210
213
|
get(index, dimension = 0) {
|
|
211
|
-
const byteOffset = definition.byteOffset +
|
|
214
|
+
const byteOffset = definition.byteOffset +
|
|
215
|
+
stride * index +
|
|
216
|
+
dimension * definition.bytesPerElement;
|
|
212
217
|
return definition.getter(view, byteOffset);
|
|
213
218
|
},
|
|
214
219
|
set(value, index, dimension = 0) {
|
|
215
|
-
const byteOffset = definition.byteOffset +
|
|
220
|
+
const byteOffset = definition.byteOffset +
|
|
221
|
+
stride * index +
|
|
222
|
+
dimension * definition.bytesPerElement;
|
|
216
223
|
definition.setter(view, byteOffset, value);
|
|
217
224
|
},
|
|
218
225
|
};
|
|
@@ -242,7 +249,7 @@ export class TgdDataset {
|
|
|
242
249
|
* @param param2
|
|
243
250
|
*/
|
|
244
251
|
set(attribName, value, { byteOffset = 0, byteStride, first = 0, count = Number.POSITIVE_INFINITY, targetFirst = 0, } = {}) {
|
|
245
|
-
const { bytesPerElement, dimension, byteOffset: attribByteOffset } = this.getDef(attribName);
|
|
252
|
+
const { bytesPerElement, dimension, byteOffset: attribByteOffset, } = this.getDef(attribName);
|
|
246
253
|
const buffer = value instanceof ArrayBuffer ? value : value.buffer;
|
|
247
254
|
const chunkLength = bytesPerElement * dimension;
|
|
248
255
|
const sourceStride = byteStride ?? chunkLength;
|
|
@@ -305,11 +312,17 @@ export class TgdDataset {
|
|
|
305
312
|
return lines.map((line) => `${indent}${line}`).join("\n");
|
|
306
313
|
}
|
|
307
314
|
debug(caption = "Dataset") {
|
|
308
|
-
console.debug(caption, " count:", this.count, " target:", this.target, " usage:", this.usage);
|
|
309
|
-
const rows = [
|
|
315
|
+
console.debug(caption, " count:", this.count, " target:", this.target, " usage:", this.usage, " divisor:", this.divisor);
|
|
316
|
+
const rows = [
|
|
317
|
+
["Name", "type", "offset"],
|
|
318
|
+
];
|
|
310
319
|
for (const attName of Object.keys(this.definitions)) {
|
|
311
320
|
const definition = this.definitions[attName];
|
|
312
|
-
rows.push([
|
|
321
|
+
rows.push([
|
|
322
|
+
attName,
|
|
323
|
+
this.attributesDefinition[attName],
|
|
324
|
+
`${definition.byteOffset}`,
|
|
325
|
+
]);
|
|
313
326
|
}
|
|
314
327
|
const sizes = [0, 1, 2].map((index) => rows.reduce((previous, current) => Math.max(previous, current[index].length), 0));
|
|
315
328
|
for (const [name, type, offset] of rows)
|
|
@@ -351,4 +364,4 @@ function resizeSlow(inBuff, newSize) {
|
|
|
351
364
|
return outBuff;
|
|
352
365
|
}
|
|
353
366
|
const resize = typeof ArrayBuffer.prototype.transfer === "function" ? resizeFast : resizeSlow;
|
|
354
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YXNldC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kYXRhc2V0L2RhdGFzZXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBc0JBLE1BQU0sT0FBTyxVQUFVO0lBY25CLFlBQ3FCLG9CQUEwQyxFQUMxQyxVQUFzQyxFQUFFO1FBRHhDLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBc0I7UUFDMUMsWUFBTyxHQUFQLE9BQU8sQ0FBaUM7UUFUckQsV0FBTSxHQUFHLENBQUMsQ0FBQTtRQUNWLGdCQUFXLEdBQW9ELEVBQUUsQ0FBQTtRQUVqRSxXQUFNLEdBQUcsQ0FBQyxDQUFBO1FBUWQsSUFBSSxDQUFDLElBQUksR0FBRyxPQUFPLENBQUMsSUFBSSxJQUFJLGNBQWMsVUFBVSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUE7UUFDM0QsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUMsT0FBTyxJQUFJLENBQUMsQ0FBQTtRQUNuQyxJQUFJLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUE7UUFDNUIsSUFBSSxDQUFDLE1BQU0sR0FBRyxPQUFPLENBQUMsTUFBTSxJQUFJLGNBQWMsQ0FBQTtRQUM5QyxJQUFJLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLElBQUksYUFBYSxDQUFBO1FBQzNDLElBQUksQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDLElBQUksSUFBSSxJQUFJLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUMvQyxJQUFJLENBQUMsVUFBVSxDQUFDLG9CQUFvQixFQUFFLE9BQU8sQ0FBQyxDQUFBO0lBQ2xELENBQUM7SUFFRCxPQUFPLENBQUMsVUFBa0I7UUFDdEIsTUFBTSxFQUFFLG9CQUFvQixFQUFFLEdBQUcsSUFBSSxDQUFBO1FBQ3JDLE1BQU0sSUFBSSxHQUFHLG9CQUFvQixDQUFDLFVBQVUsQ0FBQyxDQUFBO1FBQzdDLElBQUksQ0FBQyxJQUFJO1lBQ0wsTUFBTSxJQUFJLEtBQUssQ0FD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
|
|
367
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YXNldC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kYXRhc2V0L2RhdGFzZXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBMEJBLE1BQU0sT0FBTyxVQUFVO0lBY3RCLFlBQ2tCLG9CQUEwQyxFQUMxQyxVQUFzQyxFQUFFO1FBRHhDLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBc0I7UUFDMUMsWUFBTyxHQUFQLE9BQU8sQ0FBaUM7UUFUbEQsV0FBTSxHQUFHLENBQUMsQ0FBQTtRQUNWLGdCQUFXLEdBQW9ELEVBQUUsQ0FBQTtRQUVqRSxXQUFNLEdBQUcsQ0FBQyxDQUFBO1FBUWpCLElBQUksQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDLElBQUksSUFBSSxjQUFjLFVBQVUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFBO1FBQzNELElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDLE9BQU8sSUFBSSxDQUFDLENBQUE7UUFDbkMsSUFBSSxDQUFDLE1BQU0sR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFBO1FBQzVCLElBQUksQ0FBQyxNQUFNLEdBQUcsT0FBTyxDQUFDLE1BQU0sSUFBSSxjQUFjLENBQUE7UUFDOUMsSUFBSSxDQUFDLEtBQUssR0FBRyxPQUFPLENBQUMsS0FBSyxJQUFJLGFBQWEsQ0FBQTtRQUMzQyxJQUFJLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxJQUFJLElBQUksSUFBSSxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFDL0MsSUFBSSxDQUFDLFVBQVUsQ0FBQyxvQkFBb0IsRUFBRSxPQUFPLENBQUMsQ0FBQTtJQUMvQyxDQUFDO0lBRUQsT0FBTyxDQUFDLFVBQWtCO1FBQ3pCLE1BQU0sRUFBRSxvQkFBb0IsRUFBRSxHQUFHLElBQUksQ0FBQTtRQUNyQyxNQUFNLElBQUksR0FBRyxvQkFBb0IsQ0FBQyxVQUFVLENBQUMsQ0FBQTtRQUM3QyxJQUFJLENBQUMsSUFBSTtZQUNSLE1BQU0sSUFBSSxLQUFLLENBQ2QsbUVBQ0MsVUFDRCx1Q0FBdUMsTUFBTSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUN0RixDQUFBO1FBQ0YsT0FBTyxJQUFJLENBQUE7SUFDWixDQUFDO0lBRUQsYUFBYTtRQUNaLE1BQU0sS0FBSyxHQUF5QixFQUFFLENBQUE7UUFDdEMsS0FBSyxNQUFNLFVBQVUsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDL0MsS0FBSyxDQUFDLFVBQVUsQ0FBQyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUE7UUFDN0MsQ0FBQztRQUNELE9BQU8sS0FBSyxDQUFBO0lBQ2IsQ0FBQztJQUVPLFVBQVUsQ0FDakIsb0JBQTBDLEVBQzFDLFVBQXNDLEVBQUU7UUFFeEMsS0FBSyxNQUFNLElBQUksSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEVBQUUsQ0FBQztZQUN0RCxNQUFNLFVBQVUsR0FBRyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsQ0FBQTtZQUM3QyxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLEdBQUcsVUFBVSxDQUFBO1FBQzdDLENBQUM7UUFDRCxNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMsT0FBTyxJQUFJLENBQUMsQ0FBQTtRQUNwQyxJQUFJLE1BQU0sR0FBRyxDQUFDLENBQUE7UUFDZCxNQUFNLElBQUksR0FBbUMsRUFBRSxDQUFBO1FBQy9DLE1BQU0sV0FBVyxHQUFvRCxFQUFFLENBQUE7UUFDdkUsS0FBSyxNQUFNLElBQUksSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEVBQUUsQ0FBQztZQUN0RCxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUE7WUFDL0IsTUFBTSxVQUFVLEdBQW9DO2dCQUNuRCxTQUFTLEVBQUUsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUMzQyxVQUFVLEVBQUUsTUFBTTtnQkFDbEIsZUFBZSxFQUFFLFlBQVksQ0FBQyxpQkFBaUI7Z0JBQy9DLE9BQU87Z0JBQ1AsTUFBTSxDQUFDLElBQWMsRUFBRSxVQUFrQjtvQkFDeEMsTUFBTSxNQUFNLEdBQ1gsVUFBVSxJQUFJLElBQUksQ0FBQyxVQUFVO3dCQUM1QixDQUFDLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVO3dCQUM5QixDQUFDLENBQUMsVUFBVSxDQUFBO29CQUNkLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUE7Z0JBQ3JDLENBQUM7Z0JBQ0QsTUFBTSxDQUFDLElBQWMsRUFBRSxVQUFrQixFQUFFLEtBQWE7b0JBQ3ZELElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQTtnQkFDekMsQ0FBQzthQUNELENBQUE7WUFDRCxXQUFXLENBQUMsSUFBSSxDQUFDLEdBQUcsVUFBVSxDQUFBO1lBQzlCLE1BQU0sSUFBSSxVQUFVLENBQUMsZUFBZSxHQUFHLFVBQVUsQ0FBQyxTQUFTLENBQUE7UUFDNUQsQ0FBQztRQUNELElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFBO1FBQzlCLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFBO1FBQ3BCLElBQUksT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2xCLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLEdBQUcsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUM1QyxPQUFPLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFBO2dCQUN0QixNQUFNLElBQUksS0FBSyxDQUNkLHVDQUF1QyxPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsMkJBQTJCLE1BQU0sWUFBWSxDQUMzRyxDQUFBO1lBQ0YsQ0FBQztZQUNELElBQUksQ0FBQyxNQUFNLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLEdBQUcsTUFBTSxDQUFBO1FBQy9DLENBQUM7YUFBTSxDQUFDO1lBQ1AsSUFBSSxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUMxRCxDQUFDO0lBQ0YsQ0FBQztJQUVELGdCQUFnQixDQUFDLG9CQUEwQztRQUMxRCxJQUNDLElBQUksQ0FBQyxTQUFTLENBQUMsb0JBQW9CLENBQUM7WUFDcEMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsRUFDeEMsQ0FBQztZQUNGLE1BQU0sSUFBSSxLQUFLLENBQ2QsMkRBQTJELElBQUksQ0FBQyxTQUFTLENBQ3hFLG9CQUFvQixFQUNwQixJQUFJLEVBQ0osQ0FBQyxDQUNELDJDQUEyQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FDaEcsQ0FBQTtRQUNGLENBQUM7SUFDRixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxnQkFBZ0IsQ0FBQyxVQUFrQixFQUFFLEdBQUcsS0FBZTtRQUN0RCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsVUFBVSxDQUFDLENBQUE7UUFDbEQsSUFBSSxDQUFDLElBQUk7WUFDUixNQUFNLElBQUksS0FBSyxDQUNkLGNBQWMsVUFBVSwwQ0FBMEMsTUFBTSxDQUFDLElBQUksQ0FDNUUsSUFBSSxDQUFDLG9CQUFvQixDQUN6QjtpQkFDQyxJQUFJLEVBQUU7aUJBQ04sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQ2YsQ0FBQTtRQUVGLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDM0IsTUFBTSxJQUFJLEtBQUssQ0FDZCxjQUFjLFVBQVUsaUJBQWlCLElBQUksbUJBQW1CLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FDdEYsQ0FBQTtRQUNGLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQTtJQUNaLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxRQUFrQjtRQUNsQyxNQUFNLEVBQUUsV0FBVyxFQUFFLEdBQUcsSUFBSSxDQUFBO1FBQzVCLE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUE7UUFDekMsSUFBSSxRQUFRLENBQUMsTUFBTSxLQUFLLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUN6QyxNQUFNLElBQUksS0FBSyxDQUNkLGlDQUNDLFFBQVEsQ0FBQyxNQUNWLG9CQUFvQixRQUFRLENBQUMsTUFBTSx3QkFBd0IsQ0FDM0QsQ0FBQTtRQUNGLENBQUM7UUFDRCxNQUFNLGNBQWMsR0FBb0QsRUFBRSxDQUFBO1FBQzFFLElBQUksS0FBSyxHQUFHLENBQUMsQ0FBQTtRQUNiLEtBQUssTUFBTSxPQUFPLElBQUksUUFBUSxFQUFFLENBQUM7WUFDaEMsTUFBTSxPQUFPLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFBO1lBQy9CLGNBQWMsQ0FBQyxPQUFPLENBQUMsR0FBRyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUE7WUFDOUMsS0FBSyxFQUFFLENBQUE7UUFDUixDQUFDO1FBQ0QsSUFBSSxDQUFDLFdBQVcsR0FBRyxjQUFjLENBQUE7UUFDakMsT0FBTyxJQUFJLENBQUE7SUFDWixDQUFDO0lBRUQsYUFBYSxDQUFDLG9CQUEwQztRQUN2RCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUE7UUFDL0IsS0FBSyxNQUFNLEdBQUcsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEVBQUUsQ0FBQztZQUNyRCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsR0FBRyxDQUFDLENBQUE7WUFDOUMsTUFBTSxPQUFPLEdBQUcsb0JBQW9CLENBQUMsR0FBRyxDQUFDLENBQUE7WUFDekMsSUFBSSxPQUFPLElBQUksT0FBTyxLQUFLLE9BQU8sRUFBRSxDQUFDO2dCQUNwQyxNQUFNLElBQUksS0FBSyxDQUNkLHNEQUFzRCxHQUFHLFdBQVcsT0FBTyxTQUFTLE9BQU8seUNBQXlDLENBQ3BJLENBQUE7WUFDRixDQUFDO1FBQ0YsQ0FBQztRQUNELElBQUksQ0FBQyxVQUFVLENBQ2Q7WUFDQyxHQUFHLElBQUksQ0FBQyxvQkFBb0I7WUFDNUIsR0FBRyxvQkFBb0I7U0FDdkIsRUFDRCxJQUFJLENBQUMsT0FBTyxDQUNaLENBQUE7UUFDRCxJQUFJLENBQUMsS0FBSyxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUE7UUFDN0IsS0FBSyxNQUFNLFVBQVUsSUFBSSxVQUFVLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDckQsSUFBSSxDQUFDO2dCQUNKLE1BQU0sRUFBRSxHQUFHLEVBQUUsR0FBRyxVQUFVLENBQUMsaUJBQWlCLENBQUMsVUFBVSxDQUFDLENBQUE7Z0JBQ3hELE1BQU0sRUFBRSxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsVUFBVSxDQUFDLENBQUE7Z0JBQ2xELEtBQUssSUFBSSxLQUFLLEdBQUcsQ0FBQyxFQUFFLEtBQUssR0FBRyxVQUFVLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUM7b0JBQ3ZELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUE7b0JBQzFDLEtBQUssSUFBSSxHQUFHLEdBQUcsQ0FBQyxFQUFFLEdBQUcsR0FBRyxVQUFVLENBQUMsU0FBUyxFQUFFLEdBQUcsRUFBRSxFQUFFLENBQUM7d0JBQ3JELEdBQUcsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxFQUFFLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQTtvQkFDakMsQ0FBQztnQkFDRixDQUFDO1lBQ0YsQ0FBQztZQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7Z0JBQ2hCLE1BQU0sT0FBTyxHQUNaLEtBQUssWUFBWSxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUE7Z0JBQy9ELE1BQU0sSUFBSSxLQUFLLENBQ2QsOEJBQThCLFVBQVUsT0FBTyxPQUFPLEVBQUUsQ0FDeEQsQ0FBQTtZQUNGLENBQUM7UUFDRixDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUE7SUFDWixDQUFDO0lBRUQsS0FBSztRQUNKLE1BQU0sRUFBRSxHQUFHLElBQUksVUFBVSxDQUN4QixlQUFlLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEVBQzFDLElBQUksQ0FBQyxPQUFPLENBQ1osQ0FBQTtRQUNELEVBQUUsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQTtRQUNyQixNQUFNLE1BQU0sR0FBRyxJQUFJLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUE7UUFDdkMsTUFBTSxVQUFVLEdBQUcsSUFBSSxRQUFRLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQ3pDLEtBQUssSUFBSSxNQUFNLEdBQUcsQ0FBQyxFQUFFLE1BQU0sR0FBRyxNQUFNLENBQUMsVUFBVSxFQUFFLE1BQU0sRUFBRSxFQUFFLENBQUM7WUFDM0QsVUFBVSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFBO1FBQ3JELENBQUM7UUFDRCxPQUFPLEVBQUUsQ0FBQTtJQUNWLENBQUM7SUFFRCxjQUFjLENBQUMsRUFDZCxTQUFTLEVBQ1QsT0FBTyxFQUNQLFNBQVMsR0FBRyxJQUFJLEdBS2hCO1FBQ0EsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQTtRQUN2QixJQUFJLE1BQU0sS0FBSyxTQUFTLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDakMsT0FBTyxDQUFDLEtBQUssQ0FBQyw2Q0FBNkMsQ0FBQyxDQUFBO1lBQzVELElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUE7WUFDbkIsU0FBUyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQTtZQUN0QixNQUFNLElBQUksS0FBSyxDQUNkLG9GQUFvRixNQUFNLHVCQUF1QixTQUFTLENBQUMsTUFBTSxHQUFHLENBQ3BJLENBQUE7UUFDRixDQUFDO1FBQ0QsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQTtRQUMzQixNQUFNLFVBQVUsR0FBRyxTQUFTLEdBQUcsTUFBTSxDQUFBO1FBQ3JDLE1BQU0sU0FBUyxHQUFHLElBQUksVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFBO1FBQzFDLE1BQU0sTUFBTSxHQUFHLFNBQVMsQ0FBQyxLQUFLLENBQUE7UUFDOUIsTUFBTSxRQUFRLEdBQUcsT0FBTyxHQUFHLE1BQU0sQ0FBQTtRQUNqQyxNQUFNLE9BQU8sR0FBRyxJQUFJLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUN0QyxNQUFNLElBQUksR0FBRyxNQUFNLENBQUE7UUFDbkIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRSxVQUFVLEdBQUcsSUFBSSxDQUFDLEVBQUUsUUFBUSxDQUFDLENBQUE7SUFDekUsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsSUFBSSxJQUFJO1FBQ1AsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFBO0lBQ2xCLENBQUM7SUFDRDs7OztPQUlHO0lBQ0gsSUFBSSxJQUFJLENBQUMsV0FBa0M7UUFDMUMsSUFBSSxJQUFJLENBQUMsS0FBSyxLQUFLLFdBQVc7WUFBRSxPQUFNO1FBRXRDLElBQUksQ0FBQyxLQUFLLEdBQUcsV0FBVyxDQUFBO1FBQ3hCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQTtJQUM5RCxDQUFDO0lBRUQsZ0NBQWdDO0lBQ2hDLElBQUksS0FBSztRQUNSLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQTtJQUNuQixDQUFDO0lBQ0QsNkRBQTZEO0lBQzdELElBQUksS0FBSyxDQUFDLEtBQWE7UUFDdEIsSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLEtBQUs7WUFBRSxPQUFNO1FBRWpDLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFBO1FBQ25CLElBQUksQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQTtJQUNyRCxDQUFDO0lBRUQsSUFBSSxlQUFlO1FBQ2xCLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsQ0FBQTtJQUM5QyxDQUFDO0lBRUQsWUFBWSxDQUFDLFVBQWtCO1FBQzlCLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxVQUFVLENBQUMsQ0FBQTtRQUNqRCxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUE7SUFDYixDQUFDO0lBRUQsaUJBQWlCLENBQUMsVUFBa0I7UUFJbkMsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQTtRQUMxQyxNQUFNLElBQUksR0FBRyxJQUFJLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDcEMsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQTtRQUMxQixPQUFPO1lBQ04sR0FBRyxDQUFDLEtBQWEsRUFBRSxTQUFTLEdBQUcsQ0FBQztnQkFDL0IsTUFBTSxVQUFVLEdBQ2YsVUFBVSxDQUFDLFVBQVU7b0JBQ3JCLE1BQU0sR0FBRyxLQUFLO29CQUNkLFNBQVMsR0FBRyxVQUFVLENBQUMsZUFBZSxDQUFBO2dCQUN2QyxPQUFPLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxDQUFBO1lBQzNDLENBQUM7WUFDRCxHQUFHLENBQUMsS0FBYSxFQUFFLEtBQWEsRUFBRSxTQUFTLEdBQUcsQ0FBQztnQkFDOUMsTUFBTSxVQUFVLEdBQ2YsVUFBVSxDQUFDLFVBQVU7b0JBQ3JCLE1BQU0sR0FBRyxLQUFLO29CQUNkLFNBQVMsR0FBRyxVQUFVLENBQUMsZUFBZSxDQUFBO2dCQUN2QyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxVQUFVLEVBQUUsS0FBSyxDQUFDLENBQUE7WUFDM0MsQ0FBQztTQUNELENBQUE7SUFDRixDQUFDO0lBRUQsR0FBRyxDQUFDLFVBQWtCLEVBQUUsTUFBaUI7UUFDeEMsTUFBTSxNQUFNLEdBQWEsTUFBTSxJQUFJLEVBQUUsQ0FBQTtRQUNyQyxNQUFNLEVBQUUsU0FBUyxFQUFFLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQTtRQUM3QyxNQUFNLEVBQUUsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFVBQVUsQ0FBQyxDQUFBO1FBQ2xELEtBQUssSUFBSSxHQUFHLEdBQUcsQ0FBQyxFQUFFLEdBQUcsR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxFQUFFLENBQUM7WUFDM0MsS0FBSyxJQUFJLEdBQUcsR0FBRyxDQUFDLEVBQUUsR0FBRyxHQUFHLFNBQVMsRUFBRSxHQUFHLEVBQUUsRUFBRSxDQUFDO2dCQUMxQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQTtZQUMzQixDQUFDO1FBQ0YsQ0FBQztRQUNELE9BQU8sTUFBTSxDQUFBO0lBQ2QsQ0FBQztJQUVEOzs7Ozs7Ozs7Ozs7T0FZRztJQUNILEdBQUcsQ0FDRixVQUFrQixFQUNsQixLQVEwQixFQUMxQixFQUNDLFVBQVUsR0FBRyxDQUFDLEVBQ2QsVUFBVSxFQUNWLEtBQUssR0FBRyxDQUFDLEVBQ1QsS0FBSyxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsRUFDaEMsV0FBVyxHQUFHLENBQUMsTUEwQlgsRUFBRTtRQUVQLE1BQU0sRUFDTCxlQUFlLEVBQ2YsU0FBUyxFQUNULFVBQVUsRUFBRSxnQkFBZ0IsR0FDNUIsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFBO1FBQzNCLE1BQU0sTUFBTSxHQUFHLEtBQUssWUFBWSxXQUFXLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQTtRQUNsRSxNQUFNLFdBQVcsR0FBRyxlQUFlLEdBQUcsU0FBUyxDQUFBO1FBQy9DLE1BQU0sWUFBWSxHQUFHLFVBQVUsSUFBSSxXQUFXLENBQUE7UUFDOUMsSUFBSSxZQUFZLEdBQUcsVUFBVSxHQUFHLFlBQVksR0FBRyxLQUFLLENBQUE7UUFDcEQsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQTtRQUM3QixJQUFJLFNBQVMsR0FBRyxXQUFXLEdBQUcsU0FBUyxHQUFHLGdCQUFnQixDQUFBO1FBQzFELElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FDcEIsSUFBSSxDQUFDLEtBQUssRUFDVixJQUFJLENBQUMsR0FBRyxDQUNQLEtBQUssRUFDTCxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLFVBQVUsR0FBRyxZQUFZLENBQUMsR0FBRyxZQUFZLENBQUMsQ0FDN0QsQ0FDRCxDQUFBO1FBQ0QsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsR0FBRyxZQUFZLEdBQUcsQ0FBQyxDQUFBO1FBQ3ZELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxHQUFHLGdCQUFnQixHQUFHLFNBQVMsR0FBRyxDQUFDLENBQUE7UUFDeEUsTUFBTSxZQUFZLEdBQUcsSUFBSSxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUE7UUFDM0MsTUFBTSxTQUFTLEdBQUcsSUFBSSxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQzVDLElBQUksS0FBSyxHQUFHLENBQUMsQ0FBQTtRQUNiLE9BQU8sS0FBSyxHQUFHLEtBQUssSUFBSSxZQUFZLEdBQUcsVUFBVSxJQUFJLFNBQVMsR0FBRyxPQUFPLEVBQUUsQ0FBQztZQUMxRSxTQUFTLENBQUMsR0FBRyxDQUNaLFlBQVksQ0FBQyxRQUFRLENBQUMsWUFBWSxFQUFFLFlBQVksR0FBRyxXQUFXLENBQUMsRUFDL0QsU0FBUyxDQUNULENBQUE7WUFDRCxLQUFLLEVBQUUsQ0FBQTtZQUNQLFlBQVksSUFBSSxZQUFZLENBQUE7WUFDNUIsU0FBUyxJQUFJLFNBQVMsQ0FBQTtRQUN2QixDQUFDO0lBQ0YsQ0FBQztJQUVPLE1BQU0sQ0FBQyxVQUFrQjtRQUNoQyxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxDQUFBO1FBQy9DLElBQUksQ0FBQyxVQUFVO1lBQ2QsTUFBTSxJQUFJLEtBQUssQ0FDZCwyQkFBMkIsTUFBTSxDQUNoQyxVQUFVLENBQ1Ysc0RBQXNELE1BQU0sQ0FBQyxJQUFJLENBQ2pFLElBQUksQ0FBQyxXQUFXLENBQ2hCO2lCQUNDLElBQUksRUFBRTtpQkFDTixHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7aUJBQ25DLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUNmLENBQUE7UUFDRixPQUFPLFVBQVUsQ0FBQTtJQUNsQixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILGdCQUFnQixDQUFDLEVBQTBCLEVBQUUsR0FBZTtRQUMzRCxJQUFJLGlCQUFpQixHQUFHLENBQUMsQ0FBQTtRQUN6QixNQUFNLEVBQUUsV0FBVyxFQUFFLEdBQUcsSUFBSSxDQUFBO1FBQzVCLEtBQUssTUFBTSxJQUFJLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDO1lBQzdDLE1BQU0sVUFBVSxHQUFHLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQTtZQUNwQyxJQUFJLEdBQUcsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztnQkFDNUIsTUFBTSxHQUFHLEdBQUcsR0FBRyxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxDQUFBO2dCQUN2QyxFQUFFLENBQUMsdUJBQXVCLENBQUMsR0FBRyxDQUFDLENBQUE7Z0JBQy9CLEVBQUUsQ0FBQyxtQkFBbUIsQ0FDckIsR0FBRyxFQUNILFVBQVUsQ0FBQyxTQUFTLEVBQ3BCLEVBQUUsQ0FBQyxLQUFLLEVBQ1IsS0FBSyxFQUNMLElBQUksQ0FBQyxNQUFNLEVBQ1gsaUJBQWlCLENBQ2pCLENBQUE7Z0JBQ0QsRUFBRSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsRUFBRSxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUE7WUFDaEQsQ0FBQztZQUNELE1BQU0sS0FBSyxHQUFHLFVBQVUsQ0FBQyxTQUFTLEdBQUcsVUFBVSxDQUFDLGVBQWUsQ0FBQTtZQUMvRCxpQkFBaUIsSUFBSSxLQUFLLENBQUE7UUFDM0IsQ0FBQztJQUNGLENBQUM7SUFFRCxNQUFNLENBQUMsRUFBRSxNQUFNLEdBQUcsRUFBRSxLQUFrQyxFQUFFO1FBQ3ZELE1BQU0sS0FBSyxHQUFhLEVBQUUsQ0FBQTtRQUMxQixJQUFJLGlCQUFpQixHQUFHLENBQUMsQ0FBQTtRQUN6QixNQUFNLEVBQUUsV0FBVyxFQUFFLEdBQUcsSUFBSSxDQUFBO1FBQzVCLEtBQUssTUFBTSxJQUFJLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDO1lBQzdDLE1BQU0sVUFBVSxHQUFHLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQTtZQUNwQyxNQUFNLEdBQUcsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFBO1lBQ3RCLEtBQUssQ0FBQyxJQUFJLENBQ1QsU0FBUyxHQUFHLGlDQUFpQyxJQUFJLElBQUksRUFDckQsOEJBQThCLEdBQUcsR0FBRyxFQUNwQyx5QkFBeUIsRUFDekIsS0FBSyxHQUFHLEdBQUcsRUFDWCxLQUFLLFVBQVUsQ0FBQyxTQUFTLGlCQUFpQixFQUMxQyxhQUFhLEVBQ2IsVUFBVSxFQUNWLEtBQUssSUFBSSxDQUFDLE1BQU0sZUFBZSxFQUMvQixLQUFLLGlCQUFpQixjQUFjLEVBQ3BDLEdBQUcsRUFDSCwwQkFBMEIsR0FBRyxLQUFLLFVBQVUsQ0FBQyxPQUFPLEdBQUcsQ0FDdkQsQ0FBQTtZQUNELE1BQU0sS0FBSyxHQUFHLFVBQVUsQ0FBQyxTQUFTLEdBQUcsVUFBVSxDQUFDLGVBQWUsQ0FBQTtZQUMvRCxpQkFBaUIsSUFBSSxLQUFLLENBQUE7UUFDM0IsQ0FBQztRQUNELE9BQU8sS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsR0FBRyxNQUFNLEdBQUcsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDMUQsQ0FBQztJQUVELEtBQUssQ0FBQyxPQUFPLEdBQUcsU0FBUztRQUN4QixPQUFPLENBQUMsS0FBSyxDQUNaLE9BQU8sRUFDUCxXQUFXLEVBQ1gsSUFBSSxDQUFDLEtBQUssRUFDVixZQUFZLEVBQ1osSUFBSSxDQUFDLE1BQU0sRUFDWCxXQUFXLEVBQ1gsSUFBSSxDQUFDLEtBQUssRUFDVixhQUFhLEVBQ2IsSUFBSSxDQUFDLE9BQU8sQ0FDWixDQUFBO1FBQ0QsTUFBTSxJQUFJLEdBQW1EO1lBQzVELENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxRQUFRLENBQUM7U0FDMUIsQ0FBQTtRQUNELEtBQUssTUFBTSxPQUFPLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQztZQUNyRCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFBO1lBQzVDLElBQUksQ0FBQyxJQUFJLENBQUM7Z0JBQ1QsT0FBTztnQkFDUCxJQUFJLENBQUMsb0JBQW9CLENBQUMsT0FBTyxDQUFDO2dCQUNsQyxHQUFHLFVBQVUsQ0FBQyxVQUFVLEVBQUU7YUFDMUIsQ0FBQyxDQUFBO1FBQ0gsQ0FBQztRQUNELE1BQU0sS0FBSyxHQUFhLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUMvQyxJQUFJLENBQUMsTUFBTSxDQUNWLENBQUMsUUFBUSxFQUFFLE9BQU8sRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUNoRSxDQUFDLENBQ0QsQ0FDRCxDQUFBO1FBQ0QsS0FBSyxNQUFNLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxNQUFNLENBQUMsSUFBSSxJQUFJO1lBQ3RDLE9BQU8sQ0FBQyxLQUFLLENBQ1osS0FBSyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUM5Rix1QkFBdUIsQ0FDdkIsQ0FBQTtRQUVGLEtBQUssTUFBTSxPQUFPLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQztZQUNyRCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFBO1lBQzVDLElBQUksQ0FBQyxVQUFVO2dCQUFFLFNBQVE7WUFFekIsTUFBTSxFQUFFLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsQ0FBQTtZQUMvQyxNQUFNLElBQUksR0FBZSxFQUFFLENBQUE7WUFDM0IsS0FBSyxJQUFJLEtBQUssR0FBRyxDQUFDLEVBQUUsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQztnQkFDakQsTUFBTSxLQUFLLEdBQWEsRUFBRSxDQUFBO2dCQUMxQixLQUFLLElBQUksR0FBRyxHQUFHLENBQUMsRUFBRSxHQUFHLEdBQUcsVUFBVSxDQUFDLFNBQVMsRUFBRSxHQUFHLEVBQUUsRUFBRSxDQUFDO29CQUNyRCxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQTtnQkFDNUIsQ0FBQztnQkFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFBO1lBQ2pCLENBQUM7WUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLGNBQWMsT0FBTyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUE7UUFDL0MsQ0FBQztJQUNGLENBQUM7O0FBcGdCYyxhQUFFLEdBQUcsQ0FBQyxBQUFKLENBQUk7QUF1Z0J0QixNQUFNLElBQUksR0FBbUM7SUFDNUMsS0FBSyxFQUFFLENBQUM7SUFDUixJQUFJLEVBQUUsQ0FBQztJQUNQLElBQUksRUFBRSxDQUFDO0lBQ1AsSUFBSSxFQUFFLENBQUM7Q0FDUCxDQUFBO0FBV0QsU0FBUyxVQUFVLENBQUMsSUFBaUIsRUFBRSxPQUFnQjtJQUN0RCxJQUFJLElBQUksQ0FBQyxVQUFVLEtBQUssQ0FBQyxPQUFPLElBQUksQ0FBQyxDQUFDO1FBQUUsT0FBTyxJQUFJLENBQUE7SUFFbkQsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFBO0FBQzlCLENBQUM7QUFFRCxTQUFTLFVBQVUsQ0FBQyxNQUFtQixFQUFFLE9BQWdCO0lBQ3hELElBQUksTUFBTSxDQUFDLFVBQVUsS0FBSyxDQUFDLE9BQU8sSUFBSSxDQUFDLENBQUM7UUFBRSxPQUFPLE1BQU0sQ0FBQTtJQUV2RCxNQUFNLE9BQU8sR0FBRyxJQUFJLFdBQVcsQ0FBQyxPQUFPLElBQUksTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFBO0lBQzdELElBQUksVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFBO0lBQ25ELE9BQU8sT0FBTyxDQUFBO0FBQ2YsQ0FBQztBQUVELE1BQU0sTUFBTSxHQUNYLE9BQU8sV0FBVyxDQUFDLFNBQVMsQ0FBQyxRQUFRLEtBQUssVUFBVSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQSJ9
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare function padColOfNumbers(values: number[], decimals?: number): string[];
|
|
1
|
+
export declare function padColOfNumbers(values: number[], decimals?: number, lenght?: number): string[];
|
|
2
2
|
//# sourceMappingURL=tools.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/debug/tools.ts"],"names":[],"mappings":"AAAA,wBAAgB,eAAe,
|
|
1
|
+
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/debug/tools.ts"],"names":[],"mappings":"AAAA,wBAAgB,eAAe,CAC9B,MAAM,EAAE,MAAM,EAAE,EAChB,QAAQ,SAAI,EACZ,MAAM,SAAK,GACT,MAAM,EAAE,CAWV"}
|
package/lib/dist/debug/tools.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export function padColOfNumbers(values, decimals = 6) {
|
|
2
|
-
const p =
|
|
1
|
+
export function padColOfNumbers(values, decimals = 6, lenght = 12) {
|
|
2
|
+
const p = 10 ** decimals;
|
|
3
3
|
const out = [];
|
|
4
4
|
let max = 0;
|
|
5
5
|
for (const value of values) {
|
|
@@ -10,4 +10,4 @@ export function padColOfNumbers(values, decimals = 6) {
|
|
|
10
10
|
}
|
|
11
11
|
return out.map((txt) => txt.padStart(max, " "));
|
|
12
12
|
}
|
|
13
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZGVidWcvdG9vbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxVQUFVLGVBQWUsQ0FDOUIsTUFBZ0IsRUFDaEIsUUFBUSxHQUFHLENBQUMsRUFDWixNQUFNLEdBQUcsRUFBRTtJQUVYLE1BQU0sQ0FBQyxHQUFHLEVBQUUsSUFBSSxRQUFRLENBQUE7SUFDeEIsTUFBTSxHQUFHLEdBQWEsRUFBRSxDQUFBO0lBQ3hCLElBQUksR0FBRyxHQUFHLENBQUMsQ0FBQTtJQUNYLEtBQUssTUFBTSxLQUFLLElBQUksTUFBTSxFQUFFLENBQUM7UUFDNUIsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFBO1FBQ25DLE1BQU0sR0FBRyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUE7UUFDL0IsR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUMvQixHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBQ2QsQ0FBQztJQUNELE9BQU8sR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQTtBQUNoRCxDQUFDIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diffuse.d.ts","sourceRoot":"","sources":["../../src/material/diffuse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAW,OAAO,EAAE,MAAM,WAAW,CAAA;AAG5C,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAC3C,OAAO,KAAK,EACX,YAAY,EAGZ,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAExC,MAAM,MAAM,yBAAyB,GAAG,OAAO,CAAC;IAC/C,KAAK,EAAE,OAAO,GAAG,YAAY,GAAG,YAAY,CAAA;IAC5C,KAAK,EAAE,QAAQ,CAAA;IACf,OAAO,EAAE,QAAQ,CAAA;IACjB,gBAAgB,EAAE,MAAM,CAAA;IACxB,iBAAiB,EAAE,MAAM,CAAA;IACzB,kBAAkB,EAAE,OAAO,CAAA;IAC3B;;;OAGG;IACH,QAAQ,EAAE,MAAM,CAAA;CAChB,CAAC,CAAA;AAIF,qBAAa,kBAAmB,SAAQ,WAAW;IAC3C,KAAK,WAEV;IACK,OAAO,WAAuD;IAC9D,gBAAgB,SAAK;IACrB,iBAAiB,SAAI;IACrB,QAAQ,SAAI;IACnB,SAAgB,OAAO,EAAE,YAAY,GAAG,IAAI,CAAA;IAE5C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAgB;IAC3C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAgB;gBAEjC,OAAO,GAAE,yBAA8B;
|
|
1
|
+
{"version":3,"file":"diffuse.d.ts","sourceRoot":"","sources":["../../src/material/diffuse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAW,OAAO,EAAE,MAAM,WAAW,CAAA;AAG5C,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAC3C,OAAO,KAAK,EACX,YAAY,EAGZ,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAExC,MAAM,MAAM,yBAAyB,GAAG,OAAO,CAAC;IAC/C,KAAK,EAAE,OAAO,GAAG,YAAY,GAAG,YAAY,CAAA;IAC5C,KAAK,EAAE,QAAQ,CAAA;IACf,OAAO,EAAE,QAAQ,CAAA;IACjB,gBAAgB,EAAE,MAAM,CAAA;IACxB,iBAAiB,EAAE,MAAM,CAAA;IACzB,kBAAkB,EAAE,OAAO,CAAA;IAC3B;;;OAGG;IACH,QAAQ,EAAE,MAAM,CAAA;CAChB,CAAC,CAAA;AAIF,qBAAa,kBAAmB,SAAQ,WAAW;IAC3C,KAAK,WAEV;IACK,OAAO,WAAuD;IAC9D,gBAAgB,SAAK;IACrB,iBAAiB,SAAI;IACrB,QAAQ,SAAI;IACnB,SAAgB,OAAO,EAAE,YAAY,GAAG,IAAI,CAAA;IAE5C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAgB;IAC3C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAgB;gBAEjC,OAAO,GAAE,yBAA8B;CA2FnD"}
|
|
@@ -21,7 +21,7 @@ export class TgdMaterialDiffuse extends TgdMaterial {
|
|
|
21
21
|
};
|
|
22
22
|
const fragmentShaderCode = [
|
|
23
23
|
hasTexture
|
|
24
|
-
? "vec4 color = texture(
|
|
24
|
+
? "vec4 color = texture(uniTextureColor, varUV);"
|
|
25
25
|
: `vec4 color = vec4(${colorOrTexture.join(", ")});`,
|
|
26
26
|
"if (color.a < uniAlphaCut) discard;",
|
|
27
27
|
`vec3 normal = ${options.lockLightsToCamera ? "mat3(uniModelViewMatrix) * " : ""}normalize(varNormal);`,
|
|
@@ -45,7 +45,6 @@ export class TgdMaterialDiffuse extends TgdMaterial {
|
|
|
45
45
|
};
|
|
46
46
|
if (hasTexture) {
|
|
47
47
|
varyings.varUV = "vec2";
|
|
48
|
-
uniforms.texDiffuse = "sampler2D";
|
|
49
48
|
}
|
|
50
49
|
const vertexShaderCode = () => {
|
|
51
50
|
const code = [
|
|
@@ -58,6 +57,11 @@ export class TgdMaterialDiffuse extends TgdMaterial {
|
|
|
58
57
|
};
|
|
59
58
|
super({
|
|
60
59
|
uniforms,
|
|
60
|
+
textures: hasTexture
|
|
61
|
+
? {
|
|
62
|
+
uniTextureColor: colorOrTexture,
|
|
63
|
+
}
|
|
64
|
+
: {},
|
|
61
65
|
varyings,
|
|
62
66
|
vertexShaderCode,
|
|
63
67
|
fragmentShaderCode,
|
|
@@ -70,9 +74,6 @@ export class TgdMaterialDiffuse extends TgdMaterial {
|
|
|
70
74
|
program.uniform3fv("uniAmbient", this.ambientColor);
|
|
71
75
|
program.uniform1f("uniSpecularExponent", this.specularExponent);
|
|
72
76
|
program.uniform1f("uniSpecularIntensity", this.specularIntensity);
|
|
73
|
-
const { texture } = this;
|
|
74
|
-
if (texture)
|
|
75
|
-
texture.activate(0, program, "texDiffuse");
|
|
76
77
|
},
|
|
77
78
|
});
|
|
78
79
|
this.light = new TgdLight({
|
|
@@ -100,4 +101,4 @@ export class TgdMaterialDiffuse extends TgdMaterial {
|
|
|
100
101
|
}
|
|
101
102
|
}
|
|
102
103
|
}
|
|
103
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
104
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlmZnVzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tYXRlcmlhbC9kaWZmdXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFDckMsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUE7QUFHNUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQU0zQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBZ0J4QyxNQUFNLGFBQWEsR0FBRyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQTtBQUVuRCxNQUFNLE9BQU8sa0JBQW1CLFNBQVEsV0FBVztJQWFsRCxZQUFZLFVBQXFDLEVBQUU7UUFDbEQsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLFFBQVEsSUFBSSxDQUFDLENBQUE7UUFDdEMsTUFBTSxjQUFjLEdBQ25CLE9BQU8sQ0FBQyxLQUFLLFlBQVksWUFBWTtZQUNwQyxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUs7WUFDZixDQUFDLENBQUMsSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFDLEtBQUssSUFBSSxhQUFhLENBQUMsQ0FBQTtRQUMvQyxNQUFNLFVBQVUsR0FBRyxjQUFjLFlBQVksWUFBWSxDQUFBO1FBQ3pELE1BQU0sUUFBUSxHQUF5QztZQUN0RCxXQUFXLEVBQUUsT0FBTztZQUNwQixRQUFRLEVBQUUsTUFBTTtZQUNoQixXQUFXLEVBQUUsTUFBTTtZQUNuQixVQUFVLEVBQUUsTUFBTTtZQUNsQixtQkFBbUIsRUFBRSxPQUFPO1lBQzVCLG9CQUFvQixFQUFFLE9BQU87WUFDN0Isa0JBQWtCLEVBQUUsTUFBTTtTQUMxQixDQUFBO1FBQ0QsTUFBTSxrQkFBa0IsR0FBZ0I7WUFDdkMsVUFBVTtnQkFDVCxDQUFDLENBQUMsK0NB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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flat-texture.d.ts","sourceRoot":"","sources":["../../src/material/flat-texture.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAEhD,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAExC,MAAM,MAAM,6BAA6B,GAAG;
|
|
1
|
+
{"version":3,"file":"flat-texture.d.ts","sourceRoot":"","sources":["../../src/material/flat-texture.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAEhD,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAExC,MAAM,MAAM,6BAA6B,GAAG;IAC3C,OAAO,EAAE,YAAY,CAAA;CACrB,CAAA;AAED,qBAAa,sBAAuB,SAAQ,WAAW;IACtD,OAAO,CAAC,QAAQ,CAA4B;gBAEhC,OAAO,EAAE,6BAA6B;IAuBlD,IAAI,OAAO,IAIU,YAAY,GAAG,IAAI,CAFvC;IAED,IAAI,OAAO,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI,EAIvC;CACD"}
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import { TgdMaterial } from "./material.js";
|
|
2
2
|
export class TgdMaterialFlatTexture extends TgdMaterial {
|
|
3
3
|
constructor(options) {
|
|
4
|
-
const
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
const fragmentShaderCode = ["return texture(uniTexture, varUV);"];
|
|
4
|
+
const fragmentShaderCode = [
|
|
5
|
+
"return texture(uniTextureColor, varUV);",
|
|
6
|
+
];
|
|
8
7
|
const varyings = {
|
|
9
8
|
varUV: "vec2",
|
|
10
9
|
};
|
|
@@ -13,13 +12,12 @@ export class TgdMaterialFlatTexture extends TgdMaterial {
|
|
|
13
12
|
return code;
|
|
14
13
|
};
|
|
15
14
|
super({
|
|
16
|
-
uniforms,
|
|
17
15
|
varyings,
|
|
16
|
+
textures: {
|
|
17
|
+
uniTextureColor: options.texture,
|
|
18
|
+
},
|
|
18
19
|
vertexShaderCode,
|
|
19
20
|
fragmentShaderCode,
|
|
20
|
-
setUniforms: ({ program }) => {
|
|
21
|
-
this._texture?.activate(0, program, "uniTexture");
|
|
22
|
-
},
|
|
23
21
|
});
|
|
24
22
|
this._texture = null;
|
|
25
23
|
this._texture = options.texture;
|
|
@@ -33,4 +31,4 @@ export class TgdMaterialFlatTexture extends TgdMaterial {
|
|
|
33
31
|
this._texture = texture;
|
|
34
32
|
}
|
|
35
33
|
}
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxhdC10ZXh0dXJlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL21hdGVyaWFsL2ZsYXQtdGV4dHVyZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBTXhDLE1BQU0sT0FBTyxzQkFBdUIsU0FBUSxXQUFXO0lBR3RELFlBQVksT0FBc0M7UUFDakQsTUFBTSxrQkFBa0IsR0FBZ0I7WUFDdkMseUNBQXlDO1NBQ3pDLENBQUE7UUFDRCxNQUFNLFFBQVEsR0FBMkM7WUFDeEQsS0FBSyxFQUFFLE1BQU07U0FDYixDQUFBO1FBQ0QsTUFBTSxnQkFBZ0IsR0FBRyxHQUFHLEVBQUU7WUFDN0IsTUFBTSxJQUFJLEdBQWdCLENBQUMsV0FBVyxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQTtZQUNwRCxPQUFPLElBQUksQ0FBQTtRQUNaLENBQUMsQ0FBQTtRQUVELEtBQUssQ0FBQztZQUNMLFFBQVE7WUFDUixRQUFRLEVBQUU7Z0JBQ1QsZUFBZSxFQUFFLE9BQU8sQ0FBQyxPQUFPO2FBQ2hDO1lBQ0QsZ0JBQWdCO1lBQ2hCLGtCQUFrQjtTQUNsQixDQUFDLENBQUE7UUFyQkssYUFBUSxHQUF3QixJQUFJLENBQUE7UUFzQjNDLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQTtJQUNoQyxDQUFDO0lBRUQsSUFBSSxPQUFPO1FBQ1YsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFBO0lBQ3JCLENBQUM7SUFFRCxJQUFJLE9BQU8sQ0FBQyxPQUE0QjtRQUN2QyxJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssT0FBTztZQUFFLE9BQU07UUFFckMsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUE7SUFDeEIsQ0FBQztDQUNEIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flat.d.ts","sourceRoot":"","sources":["../../src/material/flat.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAExC,MAAM,MAAM,sBAAsB,GAAG,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"flat.d.ts","sourceRoot":"","sources":["../../src/material/flat.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAExC,MAAM,MAAM,sBAAsB,GAAG,OAAO,CAAC;IAC5C,KAAK,EAAE,YAAY,GAAG,OAAO,CAAA;CAC7B,CAAC,CAAA;AAIF,qBAAa,eAAgB,SAAQ,WAAW;gBACnC,OAAO,GAAE,sBAA2B;CAUhD"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { TgdVec4 } from "./../math/index.js";
|
|
2
2
|
import { TgdMaterial } from "./material.js";
|
|
3
|
-
const DEFAULT_COLOR = [
|
|
3
|
+
const DEFAULT_COLOR = [1, 0, 1, 1];
|
|
4
4
|
export class TgdMaterialFlat extends TgdMaterial {
|
|
5
5
|
constructor(options = {}) {
|
|
6
6
|
const color = new TgdVec4(options.color ?? DEFAULT_COLOR);
|
|
@@ -12,4 +12,4 @@ export class TgdMaterialFlat extends TgdMaterial {
|
|
|
12
12
|
});
|
|
13
13
|
}
|
|
14
14
|
}
|
|
15
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxhdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tYXRlcmlhbC9mbGF0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUE7QUFFbkMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFlBQVksQ0FBQTtBQU14QyxNQUFNLGFBQWEsR0FBaUIsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQTtBQUVoRCxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxXQUFXO0lBQy9DLFlBQVksVUFBa0MsRUFBRTtRQUMvQyxNQUFNLEtBQUssR0FBRyxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsS0FBSyxJQUFJLGFBQWEsQ0FBQyxDQUFBO1FBRXpELEtBQUssQ0FBQztZQUNMLFFBQVEsRUFBRTtnQkFDVCxRQUFRLEVBQUUsTUFBTTthQUNoQjtZQUNELGtCQUFrQixFQUFFLENBQUMsZUFBZSxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7U0FDekQsQ0FBQyxDQUFBO0lBQ0gsQ0FBQztDQUNEIn0=
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { WebglParams } from "../context/webgl-params";
|
|
2
2
|
import type { TgdProgram } from "../program";
|
|
3
3
|
import type { TgdCodeBloc, TgdCodeFunctions } from "../shader/code";
|
|
4
|
-
import { TgdContext, type TgdPainterStateOptions, type WebglAttributeType, type WebglUniformType } from "..";
|
|
4
|
+
import { type TgdContext, type TgdPainterStateOptions, type TgdTexture2D, type TgdTextureCube, type WebglAttributeType, type WebglUniformType } from "..";
|
|
5
5
|
export interface TgdMaterialContext {
|
|
6
6
|
context: TgdContext;
|
|
7
7
|
program: TgdProgram;
|
|
@@ -34,6 +34,7 @@ export interface TgdMaterialOptions {
|
|
|
34
34
|
uniforms: {
|
|
35
35
|
[name: string]: WebglUniformType;
|
|
36
36
|
};
|
|
37
|
+
textures: Record<string, TgdTexture2D | TgdTextureCube>;
|
|
37
38
|
/**
|
|
38
39
|
* Example: `layout(origin_upper_left) in vec4 gl_FragCoord;`
|
|
39
40
|
*/
|
|
@@ -94,8 +95,10 @@ export declare class TgdMaterial {
|
|
|
94
95
|
readonly uniforms: {
|
|
95
96
|
[name: string]: WebglUniformType;
|
|
96
97
|
};
|
|
98
|
+
readonly textures: Record<string, TgdTexture2D | TgdTextureCube>;
|
|
97
99
|
private readonly _fragmentShaderCode;
|
|
98
100
|
private readonly _fragmentShaderHeader;
|
|
101
|
+
static mix(materialAt0: TgdMaterial, materialAt1: TgdMaterial, varying: string): TgdMaterial;
|
|
99
102
|
/**
|
|
100
103
|
* The code of a `vec4 applyMaterial()` function.
|
|
101
104
|
*/
|
|
@@ -126,6 +129,6 @@ export declare class TgdMaterial {
|
|
|
126
129
|
webglParams: WebglParams;
|
|
127
130
|
}, action: () => void): void;
|
|
128
131
|
readonly delete: () => void;
|
|
129
|
-
constructor({ attPosition, attNormal, attTangent, attUV, varyings, uniforms, fragmentShaderCode, fragmentShaderHeader, extraFragmentShaderFunctions, vertexShaderCode, extraVertexShaderFunctions, vertexShaderCodeForGetPosition, setUniforms, state, debug, delete: deleteFunction, }: Partial<TgdMaterialOptions>);
|
|
132
|
+
constructor({ attPosition, attNormal, attTangent, attUV, varyings, uniforms, textures, fragmentShaderCode, fragmentShaderHeader, extraFragmentShaderFunctions, vertexShaderCode, extraVertexShaderFunctions, vertexShaderCodeForGetPosition, setUniforms, state, debug, delete: deleteFunction, }: Partial<TgdMaterialOptions>);
|
|
130
133
|
}
|
|
131
134
|
//# sourceMappingURL=material.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"material.d.ts","sourceRoot":"","sources":["../../src/material/material.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"material.d.ts","sourceRoot":"","sources":["../../src/material/material.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,69 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { tgdCodeStringify } from "./../shader/index.js";
|
|
2
|
+
import { TgdPainterState, tgdTextureRecordToUniforms, } from "../index.js";
|
|
2
3
|
export class TgdMaterial {
|
|
4
|
+
static mix(materialAt0, materialAt1, varying) {
|
|
5
|
+
return new TgdMaterial({
|
|
6
|
+
attPosition: checkCompatibility("attPosition", materialAt0, materialAt1),
|
|
7
|
+
attNormal: checkCompatibility("attNormal", materialAt0, materialAt1),
|
|
8
|
+
attTangent: checkCompatibility("attTangent", materialAt0, materialAt1),
|
|
9
|
+
attUV: checkCompatibility("attUV", materialAt0, materialAt1),
|
|
10
|
+
textures: {
|
|
11
|
+
...materialAt0.textures,
|
|
12
|
+
...materialAt1.textures,
|
|
13
|
+
},
|
|
14
|
+
uniforms: {
|
|
15
|
+
...materialAt0.uniforms,
|
|
16
|
+
...materialAt1.uniforms,
|
|
17
|
+
},
|
|
18
|
+
varyings: {
|
|
19
|
+
[varying]: "float",
|
|
20
|
+
...materialAt0.varyings,
|
|
21
|
+
...materialAt1.varyings,
|
|
22
|
+
},
|
|
23
|
+
extraVertexShaderFunctions: {
|
|
24
|
+
...materialAt0.extraVertexShaderFunctions,
|
|
25
|
+
...materialAt1.extraVertexShaderFunctions,
|
|
26
|
+
},
|
|
27
|
+
extraFragmentShaderFunctions: {
|
|
28
|
+
...materialAt0.extraFragmentShaderFunctions,
|
|
29
|
+
...materialAt1.extraFragmentShaderFunctions,
|
|
30
|
+
computeMaterialColorAt0: [
|
|
31
|
+
"vec4 computeMaterialColorAt0() {",
|
|
32
|
+
materialAt0.fragmentShaderHeader,
|
|
33
|
+
materialAt0.fragmentShaderCode,
|
|
34
|
+
"}",
|
|
35
|
+
],
|
|
36
|
+
computeMaterialColorAt1: [
|
|
37
|
+
"vec4 computeMaterialColorAt1() {",
|
|
38
|
+
materialAt1.fragmentShaderHeader,
|
|
39
|
+
materialAt1.fragmentShaderCode,
|
|
40
|
+
"}",
|
|
41
|
+
],
|
|
42
|
+
},
|
|
43
|
+
vertexShaderCode: [
|
|
44
|
+
tgdCodeStringify(materialAt0.vertexShaderCode),
|
|
45
|
+
tgdCodeStringify(materialAt1.vertexShaderCode),
|
|
46
|
+
],
|
|
47
|
+
vertexShaderCodeForGetPosition: [
|
|
48
|
+
tgdCodeStringify(materialAt0.vertexShaderCodeForGetPosition),
|
|
49
|
+
tgdCodeStringify(materialAt1.vertexShaderCodeForGetPosition),
|
|
50
|
+
],
|
|
51
|
+
fragmentShaderCode: [
|
|
52
|
+
`return ${varying} < .5 ? computeMaterialColorAt0() : computeMaterialColorAt1();`,
|
|
53
|
+
"vec4 colorAt0 = computeMaterialColorAt0();",
|
|
54
|
+
"vec4 colorAt1 = computeMaterialColorAt1();",
|
|
55
|
+
`return mix(colorAt0, colorAt1, ${varying});`,
|
|
56
|
+
],
|
|
57
|
+
fragmentShaderHeader: [
|
|
58
|
+
tgdCodeStringify(materialAt0.fragmentShaderHeader),
|
|
59
|
+
tgdCodeStringify(materialAt1.fragmentShaderHeader),
|
|
60
|
+
],
|
|
61
|
+
setUniforms: (materialContext) => {
|
|
62
|
+
materialAt0.setUniforms?.(materialContext);
|
|
63
|
+
materialAt1.setUniforms?.(materialContext);
|
|
64
|
+
},
|
|
65
|
+
});
|
|
66
|
+
}
|
|
3
67
|
/**
|
|
4
68
|
* The code of a `vec4 applyMaterial()` function.
|
|
5
69
|
*/
|
|
@@ -49,7 +113,7 @@ export class TgdMaterial {
|
|
|
49
113
|
action,
|
|
50
114
|
});
|
|
51
115
|
}
|
|
52
|
-
constructor({ attPosition = "POSITION", attNormal = "NORMAL", attTangent = "CUSTOM_ATTRIBUTE_3", attUV = "TEXCOORD_0", varyings = {}, uniforms = {}, fragmentShaderCode = ["return vec4(1, .666, .1, 1);"], fragmentShaderHeader = [], extraFragmentShaderFunctions = {}, vertexShaderCode = [], extraVertexShaderFunctions = {}, vertexShaderCodeForGetPosition = "return pos;", setUniforms, state = {}, debug = false, delete: deleteFunction = () => { }, }) {
|
|
116
|
+
constructor({ attPosition = "POSITION", attNormal = "NORMAL", attTangent = "CUSTOM_ATTRIBUTE_3", attUV = "TEXCOORD_0", varyings = {}, uniforms = {}, textures = {}, fragmentShaderCode = ["return vec4(1, .666, .1, 1);"], fragmentShaderHeader = [], extraFragmentShaderFunctions = {}, vertexShaderCode = [], extraVertexShaderFunctions = {}, vertexShaderCodeForGetPosition = "return pos;", setUniforms, state = {}, debug = false, delete: deleteFunction = () => { }, }) {
|
|
53
117
|
this.debug = false;
|
|
54
118
|
this.delete = deleteFunction;
|
|
55
119
|
this.debug = debug;
|
|
@@ -58,7 +122,12 @@ export class TgdMaterial {
|
|
|
58
122
|
this.attTangent = attTangent;
|
|
59
123
|
this.attUV = attUV;
|
|
60
124
|
this.varyings = varyings;
|
|
61
|
-
this.
|
|
125
|
+
this.textures = textures;
|
|
126
|
+
const uniformsForTextures = tgdTextureRecordToUniforms(textures);
|
|
127
|
+
this.uniforms = {
|
|
128
|
+
...uniforms,
|
|
129
|
+
...uniformsForTextures,
|
|
130
|
+
};
|
|
62
131
|
this._fragmentShaderCode = fragmentShaderCode;
|
|
63
132
|
this._fragmentShaderHeader = fragmentShaderHeader;
|
|
64
133
|
this._extraFragmentShaderFunctions = extraFragmentShaderFunctions;
|
|
@@ -69,4 +138,14 @@ export class TgdMaterial {
|
|
|
69
138
|
this.state = state;
|
|
70
139
|
}
|
|
71
140
|
}
|
|
72
|
-
|
|
141
|
+
function checkCompatibility(attribute, materialAt0, materialAt1) {
|
|
142
|
+
const att0 = materialAt0[attribute];
|
|
143
|
+
const att1 = materialAt1[attribute];
|
|
144
|
+
if (att0 && att1) {
|
|
145
|
+
if (att0 !== att1) {
|
|
146
|
+
throw new Error(`"attPosition" is incompatible: "${att0}" vs "${att1}"!`);
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
return att0 ?? att1;
|
|
150
|
+
}
|
|
151
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0ZXJpYWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbWF0ZXJpYWwvbWF0ZXJpYWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sYUFBYSxDQUFBO0FBRTlDLE9BQU8sRUFFTixlQUFlLEVBSWYsMEJBQTBCLEdBRzFCLE1BQU0sSUFBSSxDQUFBO0FBd0VYLE1BQU0sT0FBTyxXQUFXO0lBMEJoQixNQUFNLENBQUMsR0FBRyxDQUNoQixXQUF3QixFQUN4QixXQUF3QixFQUN4QixPQUFlO1FBRWYsT0FBTyxJQUFJLFdBQVcsQ0FBQztZQUN0QixXQUFXLEVBQUUsa0JBQWtCLENBQUMsYUFBYSxFQUFFLFdBQVcsRUFBRSxXQUFXLENBQUM7WUFDeEUsU0FBUyxFQUFFLGtCQUFrQixDQUFDLFdBQVcsRUFBRSxXQUFXLEVBQUUsV0FBVyxDQUFDO1lBQ3BFLFVBQVUsRUFBRSxrQkFBa0IsQ0FBQyxZQUFZLEVBQUUsV0FBVyxFQUFFLFdBQVcsQ0FBQztZQUN0RSxLQUFLLEVBQUUsa0JBQWtCLENBQUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxXQUFXLENBQUM7WUFDNUQsUUFBUSxFQUFFO2dCQUNULEdBQUcsV0FBVyxDQUFDLFFBQVE7Z0JBQ3ZCLEdBQUcsV0FBVyxDQUFDLFFBQVE7YUFDdkI7WUFDRCxRQUFRLEVBQUU7Z0JBQ1QsR0FBRyxXQUFXLENBQUMsUUFBUTtnQkFDdkIsR0FBRyxXQUFXLENBQUMsUUFBUTthQUN2QjtZQUNELFFBQVEsRUFBRTtnQkFDVCxDQUFDLE9BQU8sQ0FBQyxFQUFFLE9BQU87Z0JBQ2xCLEdBQUcsV0FBVyxDQUFDLFFBQVE7Z0JBQ3ZCLEdBQUcsV0FBVyxDQUFDLFFBQVE7YUFDdkI7WUFDRCwwQkFBMEIsRUFBRTtnQkFDM0IsR0FBRyxXQUFXLENBQUMsMEJBQTBCO2dCQUN6QyxHQUFHLFdBQVcsQ0FBQywwQkFBMEI7YUFDekM7WUFDRCw0QkFBNEIsRUFB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
|
package/lib/dist/math/mat4.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
+
import { ArrayNumber3, ArrayNumber4, ArrayNumber16 } from "..";
|
|
1
2
|
import { TgdMat3 } from "./mat3";
|
|
2
3
|
import { TgdQuat } from "./quat";
|
|
3
4
|
import { TgdVec3 } from "./vec3";
|
|
4
5
|
import { TgdVec4 } from "./vec4";
|
|
5
|
-
import { ArrayNumber16, ArrayNumber3, ArrayNumber4 } from "..";
|
|
6
6
|
/**
|
|
7
7
|
* Column-first 4x4 matrix.
|
|
8
8
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mat4.d.ts","sourceRoot":"","sources":["../../src/math/mat4.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"mat4.d.ts","sourceRoot":"","sources":["../../src/math/mat4.ts"],"names":[],"mappings":"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"}
|