@tolokoban/tgd 2.0.45 → 2.0.46
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/context/context.js +1 -1
- package/lib/dist/light/light.d.ts +2 -1
- package/lib/dist/light/light.d.ts.map +1 -1
- package/lib/dist/light/light.js +6 -4
- package/lib/dist/material/diffuse.d.ts +1 -0
- package/lib/dist/material/diffuse.d.ts.map +1 -1
- package/lib/dist/material/diffuse.js +7 -4
- package/lib/dist/painter/group.d.ts +4 -1
- package/lib/dist/painter/group.d.ts.map +1 -1
- package/lib/dist/painter/group.js +30 -7
- package/lib/dist/painter/index.d.ts +1 -0
- package/lib/dist/painter/index.d.ts.map +1 -1
- package/lib/dist/painter/index.js +2 -1
- package/lib/dist/painter/scissor.d.ts +46 -0
- package/lib/dist/painter/scissor.d.ts.map +1 -0
- package/lib/dist/painter/scissor.js +50 -0
- package/lib/dist/painter/viewport.d.ts +46 -0
- package/lib/dist/painter/viewport.d.ts.map +1 -0
- package/lib/dist/painter/viewport.js +42 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"light.d.ts","sourceRoot":"","sources":["../../src/light/light.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"light.d.ts","sourceRoot":"","sources":["../../src/light/light.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAEzC,MAAM,WAAW,eAAe;IAC5B,KAAK,EAAE,OAAO,GAAG,YAAY,CAAA;IAC7B,SAAS,EAAE,OAAO,CAAA;CACrB;AAED,qBAAa,QAAQ;IACjB;;OAEG;IACI,KAAK,EAAE,OAAO,CAAA;IAErB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAgB;gBAE/B,OAAO,GAAE,OAAO,CAAC,eAAe,CAAM;IAOlD,IAAI,SAAS,IAGI,OAAO,CADvB;IACD,IAAI,SAAS,CAAC,CAAC,EAAE,OAAO,EAEvB;CACJ"}
|
package/lib/dist/light/light.js
CHANGED
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import { TgdVec3, TgdVec4 } from "./../math/index.js";
|
|
2
2
|
export class TgdLight {
|
|
3
3
|
constructor(options = {}) {
|
|
4
|
-
var _a
|
|
4
|
+
var _a;
|
|
5
5
|
this._direction = new TgdVec3();
|
|
6
|
-
this.color =
|
|
7
|
-
|
|
6
|
+
this.color = options.color
|
|
7
|
+
? new TgdVec4(options.color)
|
|
8
|
+
: new TgdVec4(0.8, 0.8, 0.8, 1);
|
|
9
|
+
this.direction = (_a = options.direction) !== null && _a !== void 0 ? _a : new TgdVec3(0, 0, -1);
|
|
8
10
|
}
|
|
9
11
|
get direction() {
|
|
10
12
|
return this._direction;
|
|
@@ -13,4 +15,4 @@ export class TgdLight {
|
|
|
13
15
|
this._direction.from(v).normalize();
|
|
14
16
|
}
|
|
15
17
|
}
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlnaHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbGlnaHQvbGlnaHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUE7QUFRNUMsTUFBTSxPQUFPLFFBQVE7SUFRakIsWUFBWSxVQUFvQyxFQUFFOztRQUZqQyxlQUFVLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQTtRQUd2QyxJQUFJLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLO1lBQ3RCLENBQUMsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO1lBQzVCLENBQUMsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQTtRQUNuQyxJQUFJLENBQUMsU0FBUyxHQUFHLE1BQUEsT0FBTyxDQUFDLFNBQVMsbUNBQUksSUFBSSxPQUFPLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBQy9ELENBQUM7SUFFRCxJQUFJLFNBQVM7UUFDVCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUE7SUFDMUIsQ0FBQztJQUNELElBQUksU0FBUyxDQUFDLENBQVU7UUFDcEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUE7SUFDdkMsQ0FBQztDQUNKIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diffuse.d.ts","sourceRoot":"","sources":["../../src/material/diffuse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAwC,MAAM,YAAY,CAAA;AAC/E,OAAO,EAAW,OAAO,EAAE,MAAM,WAAW,CAAA;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAExC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAG3C,MAAM,MAAM,yBAAyB,GAAG,OAAO,CAAC;IAC5C,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;
|
|
1
|
+
{"version":3,"file":"diffuse.d.ts","sourceRoot":"","sources":["../../src/material/diffuse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAwC,MAAM,YAAY,CAAA;AAC/E,OAAO,EAAW,OAAO,EAAE,MAAM,WAAW,CAAA;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAExC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAG3C,MAAM,MAAM,yBAAyB,GAAG,OAAO,CAAC;IAC5C,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;CAC9B,CAAC,CAAA;AAIF,qBAAa,kBAAmB,SAAQ,WAAW;IACxC,KAAK,WAAiB;IACtB,OAAO,WAAuD;IAC9D,gBAAgB,SAAK;IACrB,iBAAiB,SAAI;IAE5B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAqB;IAC7C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAgB;IAC3C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAgB;gBAEjC,OAAO,GAAE,yBAA8B;CAyFtD"}
|
|
@@ -19,13 +19,16 @@ export class TgdMaterialDiffuse extends TgdMaterial {
|
|
|
19
19
|
uniModelViewMatrix: "mat4",
|
|
20
20
|
};
|
|
21
21
|
const fragmentShaderCode = [
|
|
22
|
-
|
|
22
|
+
`vec3 normal = ${options.lockLightsToCamera ? "mat3(uniModelViewMatrix) * " : ""}normalize(varNormal);`,
|
|
23
23
|
`float light = 1.0 - dot(normal, uniLightDir);`,
|
|
24
|
+
options.lockLightsToCamera
|
|
25
|
+
? "light = max(0.0, light - 1.0);"
|
|
26
|
+
: "light *= .5;",
|
|
24
27
|
hasTexture
|
|
25
28
|
? `vec4 color = texture(texDiffuse, varUV);`
|
|
26
29
|
: `vec4 color = vec4(${color.join(", ")});`,
|
|
27
|
-
`vec3
|
|
28
|
-
`float spec = max(0.0,
|
|
30
|
+
`vec3 reflection = ${options.lockLightsToCamera ? "" : "mat3(uniModelViewMatrix) * "}reflect(uniLightDir, normal);`,
|
|
31
|
+
`float spec = max(0.0, reflection.z);`,
|
|
29
32
|
`spec = pow(spec, uniSpecularExponent) * uniSpecularIntensity;`,
|
|
30
33
|
`color = vec4(`,
|
|
31
34
|
` color.rgb * (`,
|
|
@@ -92,4 +95,4 @@ export class TgdMaterialDiffuse extends TgdMaterial {
|
|
|
92
95
|
}
|
|
93
96
|
}
|
|
94
97
|
}
|
|
95
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
98
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlmZnVzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tYXRlcmlhbC9kaWZmdXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sV0FBVyxDQUFBO0FBQzVDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFFeEMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUNyQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sY0FBYyxDQUFBO0FBWTNDLE1BQU0sYUFBYSxHQUFHLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFBO0FBRW5ELE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxXQUFXO0lBVS9DLFlBQVksVUFBcUMsRUFBRTs7UUFDL0MsTUFBTSxLQUFLLEdBQ1AsT0FBTyxDQUFDLEtBQUssWUFBWSxZQUFZO1lBQ2pDLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSztZQUNmLENBQUMsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxNQUFBLE9BQU8sQ0FBQyxLQUFLLG1DQUFJLGFBQWEsQ0FBQyxDQUFBO1FBQ3JELE1BQU0sVUFBVSxHQUFHLENBQUMsQ0FBQyxLQUFLLFlBQVksT0FBTyxDQUFDLENBQUE7UUFDOUMsTUFBTSxRQUFRLEdBQXlDO1lBQ25ELFFBQVEsRUFBRSxNQUFNO1lBQ2hCLFdBQVcsRUFBRSxNQUFNO1lBQ25CLFVBQVUsRUFBRSxNQUFNO1lBQ2xCLG1CQUFtQixFQUFFLE9BQU87WUFDNUIsb0JBQW9CLEVBQUUsT0FBTztZQUM3QixrQkFBa0IsRUFBRSxNQUFNO1NBQzdCLENBQUE7UUFDRCxNQUFNLGtCQUFrQixHQUFnQjtZQUNwQyxpQkFBaUIsT0FBTyxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDLENBQUMsRUFBRSx1QkFBdUI7WUFD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
|
|
@@ -4,6 +4,7 @@ export type TgdPainterGroupOptions = {
|
|
|
4
4
|
onEnter?(time: number, delay: number): void;
|
|
5
5
|
onExit?(time: number, delay: number): void;
|
|
6
6
|
name?: string;
|
|
7
|
+
children?: TgdPainter[];
|
|
7
8
|
};
|
|
8
9
|
/**
|
|
9
10
|
* Group several painters together.
|
|
@@ -14,7 +15,9 @@ export declare class TgdPainterGroup extends TgdPainter {
|
|
|
14
15
|
onExit: TgdPainterFunction | undefined;
|
|
15
16
|
protected readonly painters: TgdPainter[];
|
|
16
17
|
private readonly logics;
|
|
17
|
-
constructor(
|
|
18
|
+
constructor();
|
|
19
|
+
constructor(painters?: TgdPainter[], options?: TgdPainterGroupOptions);
|
|
20
|
+
constructor(options?: TgdPainterGroupOptions);
|
|
18
21
|
forEachChild(callback: (child: TgdPainter, index: number) => void): void;
|
|
19
22
|
has(painter: TgdPainter): boolean;
|
|
20
23
|
add(...painters: TgdPainter[]): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"group.d.ts","sourceRoot":"","sources":["../../src/painter/group.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AACvD,OAAO,EACH,wBAAwB,IAAI,wBAAwB,EACpD,UAAU,EACb,MAAM,WAAW,CAAA;AAElB,MAAM,MAAM,sBAAsB,GAAG;IACjC,OAAO,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3C,MAAM,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1C,IAAI,CAAC,EAAE,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"group.d.ts","sourceRoot":"","sources":["../../src/painter/group.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AACvD,OAAO,EACH,wBAAwB,IAAI,wBAAwB,EACpD,UAAU,EACb,MAAM,WAAW,CAAA;AAElB,MAAM,MAAM,sBAAsB,GAAG;IACjC,OAAO,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3C,MAAM,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1C,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,UAAU,EAAE,CAAA;CAC1B,CAAA;AAED;;GAEG;AACH,qBAAa,eAAgB,SAAQ,UAAU;IACpC,MAAM,UAAO;IACb,OAAO,EAAE,kBAAkB,GAAG,SAAS,CAAA;IACvC,MAAM,EAAE,kBAAkB,GAAG,SAAS,CAAA;IAC7C,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,UAAU,EAAE,CAAA;IAEzC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAmD;;gBAG9D,QAAQ,CAAC,EAAE,UAAU,EAAE,EAAE,OAAO,CAAC,EAAE,sBAAsB;gBACzD,OAAO,CAAC,EAAE,sBAAsB;IA+B5C,YAAY,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI;IAKjE,GAAG,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO;IAIjC,GAAG,CAAC,GAAG,QAAQ,EAAE,UAAU,EAAE;IAM7B,QAAQ,CAAC,GAAG,QAAQ,EAAE,UAAU,EAAE;IAOlC,MAAM,CAAC,GAAG,QAAQ,EAAE,UAAU,EAAE;IAUhC,SAAS;IAOT,MAAM,IAAI,IAAI;IAQd,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI;IAOtD,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI;IAUzD,UAAU;IAIV,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAexC,IAAI,SAAS,IAAI,wBAAwB,CAKxC;IAED,cAAc,CAAC,OAAO,CAAC,EAAE,MAAM;IAK/B,OAAO,CAAC,cAAc;CAUzB"}
|
|
@@ -3,14 +3,37 @@ import { TgdPainter, } from "./painter.js";
|
|
|
3
3
|
* Group several painters together.
|
|
4
4
|
*/
|
|
5
5
|
export class TgdPainterGroup extends TgdPainter {
|
|
6
|
-
constructor(
|
|
6
|
+
constructor(arg1, arg2) {
|
|
7
|
+
var _a, _b;
|
|
7
8
|
super();
|
|
8
9
|
this.active = true;
|
|
9
10
|
this.logics = [];
|
|
10
|
-
this.
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
11
|
+
this.painters = [];
|
|
12
|
+
if (Array.isArray(arg1)) {
|
|
13
|
+
for (const painter of arg1)
|
|
14
|
+
this.painters.push(painter);
|
|
15
|
+
}
|
|
16
|
+
else if (arg1) {
|
|
17
|
+
this.onEnter = arg1.onEnter;
|
|
18
|
+
this.onExit = arg1.onExit;
|
|
19
|
+
this.name = (_a = arg1.name) !== null && _a !== void 0 ? _a : `Group/${this.name}`;
|
|
20
|
+
if (arg1.children) {
|
|
21
|
+
for (const painter of arg1.children)
|
|
22
|
+
this.painters.push(painter);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
if (arg2) {
|
|
26
|
+
this.onEnter = arg2.onEnter;
|
|
27
|
+
this.onExit = arg2.onExit;
|
|
28
|
+
this.name = (_b = arg2.name) !== null && _b !== void 0 ? _b : `Group/${this.name}`;
|
|
29
|
+
if (arg2.children) {
|
|
30
|
+
for (const painter of arg2.children) {
|
|
31
|
+
if (!this.painters.includes(painter)) {
|
|
32
|
+
this.painters.push(painter);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
14
37
|
}
|
|
15
38
|
forEachChild(callback) {
|
|
16
39
|
for (const [index, child] of this.painters.entries())
|
|
@@ -87,7 +110,7 @@ export class TgdPainterGroup extends TgdPainter {
|
|
|
87
110
|
}
|
|
88
111
|
get hierarchy() {
|
|
89
112
|
return {
|
|
90
|
-
[this.active ? this.name : `${this.name} (Inactive)`]: this.painters.map(painter => painter.hierarchy),
|
|
113
|
+
[this.active ? this.name : `${this.name} (Inactive)`]: this.painters.map((painter) => painter.hierarchy),
|
|
91
114
|
};
|
|
92
115
|
}
|
|
93
116
|
debugHierarchy(caption) {
|
|
@@ -106,4 +129,4 @@ export class TgdPainterGroup extends TgdPainter {
|
|
|
106
129
|
}
|
|
107
130
|
}
|
|
108
131
|
}
|
|
109
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
132
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvdXAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcGFpbnRlci9ncm91cC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBRUgsVUFBVSxHQUNiLE1BQU0sV0FBVyxDQUFBO0FBU2xCOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGVBQWdCLFNBQVEsVUFBVTtJQVczQyxZQUNJLElBQTRDLEVBQzVDLElBQTZCOztRQUU3QixLQUFLLEVBQUUsQ0FBQTtRQWRKLFdBQU0sR0FBRyxJQUFJLENBQUE7UUFLSCxXQUFNLEdBQWlELEVBQUUsQ0FBQTtRQVV0RSxJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQTtRQUNsQixJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUN0QixLQUFLLE1BQU0sT0FBTyxJQUFJLElBQUk7Z0JBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUE7UUFDM0QsQ0FBQzthQUFNLElBQUksSUFBSSxFQUFFLENBQUM7WUFDZCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUE7WUFDM0IsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFBO1lBQ3pCLElBQUksQ0FBQyxJQUFJLEdBQUcsTUFBQSxJQUFJLENBQUMsSUFBSSxtQ0FBSSxTQUFTLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQTtZQUM3QyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDaEIsS0FBSyxNQUFNLE9BQU8sSUFBSSxJQUFJLENBQUMsUUFBUTtvQkFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQTtZQUNwRSxDQUFDO1FBQ0wsQ0FBQztRQUNELElBQUksSUFBSSxFQUFFLENBQUM7WUFDUCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUE7WUFDM0Is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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/painter/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAA;AACtB,cAAc,cAAc,CAAA;AAC5B,cAAc,yBAAyB,CAAA;AACvC,cAAc,SAAS,CAAA;AACvB,cAAc,SAAS,CAAA;AACvB,cAAc,SAAS,CAAA;AACvB,cAAc,UAAU,CAAA;AACxB,cAAc,mBAAmB,CAAA;AACjC,cAAc,eAAe,CAAA;AAC7B,cAAc,oBAAoB,CAAA;AAClC,cAAc,SAAS,CAAA;AACvB,cAAc,SAAS,CAAA;AACvB,cAAc,SAAS,CAAA;AACvB,cAAc,QAAQ,CAAA;AACtB,cAAc,aAAa,CAAA;AAC3B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,YAAY,CAAA;AAC1B,cAAc,UAAU,CAAA;AACxB,cAAc,SAAS,CAAA;AACvB,cAAc,SAAS,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/painter/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAA;AACtB,cAAc,cAAc,CAAA;AAC5B,cAAc,yBAAyB,CAAA;AACvC,cAAc,SAAS,CAAA;AACvB,cAAc,SAAS,CAAA;AACvB,cAAc,SAAS,CAAA;AACvB,cAAc,UAAU,CAAA;AACxB,cAAc,mBAAmB,CAAA;AACjC,cAAc,eAAe,CAAA;AAC7B,cAAc,oBAAoB,CAAA;AAClC,cAAc,SAAS,CAAA;AACvB,cAAc,SAAS,CAAA;AACvB,cAAc,SAAS,CAAA;AACvB,cAAc,QAAQ,CAAA;AACtB,cAAc,aAAa,CAAA;AAC3B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,UAAU,CAAA;AACxB,cAAc,SAAS,CAAA;AACvB,cAAc,SAAS,CAAA"}
|
|
@@ -14,8 +14,9 @@ export * from "./logic.js";
|
|
|
14
14
|
export * from "./mesh/index.js";
|
|
15
15
|
export * from "./node/node.js";
|
|
16
16
|
export * from "./points-cloud/index.js";
|
|
17
|
+
export * from "./scissor.js";
|
|
17
18
|
export * from "./segments/index.js";
|
|
18
19
|
export * from "./skybox/index.js";
|
|
19
20
|
export * from "./state/index.js";
|
|
20
21
|
export * from "./x-ray/index.js";
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcGFpbnRlci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFFBQVEsQ0FBQTtBQUN0QixjQUFjLGNBQWMsQ0FBQTtBQUM1QixjQUFjLHlCQUF5QixDQUFBO0FBQ3ZDLGNBQWMsU0FBUyxDQUFBO0FBQ3ZCLGNBQWMsU0FBUyxDQUFBO0FBQ3ZCLGNBQWMsU0FBUyxDQUFBO0FBQ3ZCLGNBQWMsVUFBVSxDQUFBO0FBQ3hCLGNBQWMsbUJBQW1CLENBQUE7QUFDakMsY0FBYyxlQUFlLENBQUE7QUFDN0IsY0FBYyxvQkFBb0IsQ0FBQTtBQUNsQyxjQUFjLFNBQVMsQ0FBQTtBQUN2QixjQUFjLFNBQVMsQ0FBQTtBQUN2QixjQUFjLFNBQVMsQ0FBQTtBQUN2QixjQUFjLFFBQVEsQ0FBQTtBQUN0QixjQUFjLGFBQWEsQ0FBQTtBQUMzQixjQUFjLGdCQUFnQixDQUFBO0FBQzlCLGNBQWMsV0FBVyxDQUFBO0FBQ3pCLGNBQWMsWUFBWSxDQUFBO0FBQzFCLGNBQWMsVUFBVSxDQUFBO0FBQ3hCLGNBQWMsU0FBUyxDQUFBO0FBQ3ZCLGNBQWMsU0FBUyxDQUFBIn0=
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { TgdPainterGroup, TgdPainterGroupOptions } from "./group";
|
|
2
|
+
export interface TgdPainterScissorOptions extends TgdPainterGroupOptions {
|
|
3
|
+
/**
|
|
4
|
+
* X relative to current viewport from 0 (left) to 1 (right).
|
|
5
|
+
*/
|
|
6
|
+
x: number;
|
|
7
|
+
/**
|
|
8
|
+
* Y relative to current viewport from 0 (top) to 1 (bottom).
|
|
9
|
+
*/
|
|
10
|
+
y: number;
|
|
11
|
+
/**
|
|
12
|
+
* Width relative to current viewport from 0 (0%) to 1 (100%).
|
|
13
|
+
*/
|
|
14
|
+
width: number;
|
|
15
|
+
/**
|
|
16
|
+
* Height relative to current viewport from 0 (0%) to 1 (100%).
|
|
17
|
+
*/
|
|
18
|
+
height: number;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Paint the children in a subset of the current viewport.
|
|
22
|
+
*/
|
|
23
|
+
export declare class TgdPainterScissor extends TgdPainterGroup {
|
|
24
|
+
private readonly context;
|
|
25
|
+
/**
|
|
26
|
+
* X relative to current viewport from 0 (left) to 1 (right).
|
|
27
|
+
*/
|
|
28
|
+
x: number;
|
|
29
|
+
/**
|
|
30
|
+
* Width relative to current viewport from 0 (0%) to 1 (100%).
|
|
31
|
+
*/
|
|
32
|
+
y: number;
|
|
33
|
+
/**
|
|
34
|
+
* Width relative to current viewport from 0 (0%) to 1 (100%).
|
|
35
|
+
*/
|
|
36
|
+
width: number;
|
|
37
|
+
/**
|
|
38
|
+
* Height relative to current viewport from 0 (0%) to 1 (100%).
|
|
39
|
+
*/
|
|
40
|
+
height: number;
|
|
41
|
+
constructor(context: {
|
|
42
|
+
gl: WebGL2RenderingContext;
|
|
43
|
+
}, options: TgdPainterScissorOptions);
|
|
44
|
+
paint(time: number, delay: number): void;
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=scissor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scissor.d.ts","sourceRoot":"","sources":["../../src/painter/scissor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAA;AAEjE,MAAM,WAAW,wBAAyB,SAAQ,sBAAsB;IACpE;;OAEG;IACH,CAAC,EAAE,MAAM,CAAA;IACT;;OAEG;IACH,CAAC,EAAE,MAAM,CAAA;IACT;;OAEG;IACH,KAAK,EAAE,MAAM,CAAA;IACb;;OAEG;IACH,MAAM,EAAE,MAAM,CAAA;CACjB;AAED;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,eAAe;IAmB9C,OAAO,CAAC,QAAQ,CAAC,OAAO;IAlB5B;;OAEG;IACI,CAAC,EAAE,MAAM,CAAI;IACpB;;OAEG;IACI,CAAC,EAAE,MAAM,CAAI;IACpB;;OAEG;IACI,KAAK,EAAE,MAAM,CAAI;IACxB;;OAEG;IACI,MAAM,EAAE,MAAM,CAAI;gBAGJ,OAAO,EAAE;QAAE,EAAE,EAAE,sBAAsB,CAAA;KAAE,EACxD,OAAO,EAAE,wBAAwB;IASrC,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;CAkB3C"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { TgdPainterGroup } from "./group.js";
|
|
2
|
+
/**
|
|
3
|
+
* Paint the children in a subset of the current viewport.
|
|
4
|
+
*/
|
|
5
|
+
export class TgdPainterScissor extends TgdPainterGroup {
|
|
6
|
+
constructor(context, options) {
|
|
7
|
+
super(options);
|
|
8
|
+
this.context = context;
|
|
9
|
+
/**
|
|
10
|
+
* X relative to current viewport from 0 (left) to 1 (right).
|
|
11
|
+
*/
|
|
12
|
+
this.x = 0;
|
|
13
|
+
/**
|
|
14
|
+
* Width relative to current viewport from 0 (0%) to 1 (100%).
|
|
15
|
+
*/
|
|
16
|
+
this.y = 0;
|
|
17
|
+
/**
|
|
18
|
+
* Width relative to current viewport from 0 (0%) to 1 (100%).
|
|
19
|
+
*/
|
|
20
|
+
this.width = 0;
|
|
21
|
+
/**
|
|
22
|
+
* Height relative to current viewport from 0 (0%) to 1 (100%).
|
|
23
|
+
*/
|
|
24
|
+
this.height = 0;
|
|
25
|
+
this.x = options.x;
|
|
26
|
+
this.y = options.y;
|
|
27
|
+
this.width = options.width;
|
|
28
|
+
this.height = options.height;
|
|
29
|
+
}
|
|
30
|
+
paint(time, delay) {
|
|
31
|
+
const { gl } = this.context;
|
|
32
|
+
const enabled = gl.getParameter(gl.SCISSOR_TEST);
|
|
33
|
+
const [curX, curY, curW, curH] = gl.getParameter(gl.SCISSOR_BOX);
|
|
34
|
+
const x = Math.round(this.x * gl.drawingBufferWidth);
|
|
35
|
+
const y = Math.round(this.y * gl.drawingBufferHeight);
|
|
36
|
+
const w = Math.round(this.width * gl.drawingBufferWidth);
|
|
37
|
+
const h = Math.round(this.height * gl.drawingBufferHeight);
|
|
38
|
+
gl.enable(gl.SCISSOR_TEST);
|
|
39
|
+
gl.scissor(x, y, w, h);
|
|
40
|
+
super.paint(time, delay);
|
|
41
|
+
if (enabled) {
|
|
42
|
+
gl.enable(gl.SCISSOR_TEST);
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
gl.disable(gl.SCISSOR_TEST);
|
|
46
|
+
}
|
|
47
|
+
gl.scissor(curX, curY, curW, curH);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Npc3Nvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wYWludGVyL3NjaXNzb3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBMEIsTUFBTSxTQUFTLENBQUE7QUFxQmpFOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGlCQUFrQixTQUFRLGVBQWU7SUFrQmxELFlBQ3FCLE9BQXVDLEVBQ3hELE9BQWlDO1FBRWpDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQTtRQUhHLFlBQU8sR0FBUCxPQUFPLENBQWdDO1FBbEI1RDs7V0FFRztRQUNJLE1BQUMsR0FBVyxDQUFDLENBQUE7UUFDcEI7O1dBRUc7UUFDSSxNQUFDLEdBQVcsQ0FBQyxDQUFBO1FBQ3BCOztXQUVHO1FBQ0ksVUFBSyxHQUFXLENBQUMsQ0FBQTtRQUN4Qjs7V0FFRztRQUNJLFdBQU0sR0FBVyxDQUFDLENBQUE7UUFPckIsSUFBSSxDQUFDLENBQUMsR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFBO1FBQ2xCLElBQUksQ0FBQyxDQUFDLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQTtRQUNsQixJQUFJLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUE7UUFDMUIsSUFBSSxDQUFDLE1BQU0sR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFBO0lBQ2hDLENBQUM7SUFFRCxLQUFLLENBQUMsSUFBWSxFQUFFLEtBQWE7UUFDN0IsTUFBTSxFQUFFLEVBQUUsRUFBRSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUE7UUFDM0IsTUFBTSxPQUFPLEdBQUcsRUFBRSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLENBQUE7UUFDaEQsTUFBTSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLFdBQVcsQ0FBQyxDQUFBO1FBQ2hFLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsa0JBQWtCLENBQUMsQ0FBQTtRQUNwRCxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLG1CQUFtQixDQUFDLENBQUE7UUFDckQsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFBO1FBQ3hELE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUMsbUJBQW1CLENBQUMsQ0FBQTtRQUMxRCxFQUFFLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsQ0FBQTtRQUMxQixFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFBO1FBQ3RCLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFBO1FBQ3hCLElBQUksT0FBTyxFQUFFLENBQUM7WUFDVixFQUFFLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsQ0FBQTtRQUM5QixDQUFDO2FBQU0sQ0FBQztZQUNKLEVBQUUsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxDQUFBO1FBQy9CLENBQUM7UUFDRCxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFBO0lBQ3RDLENBQUM7Q0FDSiJ9
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { TgdPainterGroup, TgdPainterGroupOptions } from "./group";
|
|
2
|
+
export interface TgdPainterScissorOptions extends TgdPainterGroupOptions {
|
|
3
|
+
/**
|
|
4
|
+
* X relative to current viewport from 0 (left) to 1 (right).
|
|
5
|
+
*/
|
|
6
|
+
x: number;
|
|
7
|
+
/**
|
|
8
|
+
* Y relative to current viewport from 0 (top) to 1 (bottom).
|
|
9
|
+
*/
|
|
10
|
+
y: number;
|
|
11
|
+
/**
|
|
12
|
+
* Width relative to current viewport from 0 (0%) to 1 (100%).
|
|
13
|
+
*/
|
|
14
|
+
width: number;
|
|
15
|
+
/**
|
|
16
|
+
* Height relative to current viewport from 0 (0%) to 1 (100%).
|
|
17
|
+
*/
|
|
18
|
+
height: number;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Paint the children in a subset of the current viewport.
|
|
22
|
+
*/
|
|
23
|
+
export declare class TgdPainterScissor extends TgdPainterGroup {
|
|
24
|
+
private readonly context;
|
|
25
|
+
/**
|
|
26
|
+
* X relative to current viewport from 0 (left) to 1 (right).
|
|
27
|
+
*/
|
|
28
|
+
x: number;
|
|
29
|
+
/**
|
|
30
|
+
* Width relative to current viewport from 0 (0%) to 1 (100%).
|
|
31
|
+
*/
|
|
32
|
+
y: number;
|
|
33
|
+
/**
|
|
34
|
+
* Width relative to current viewport from 0 (0%) to 1 (100%).
|
|
35
|
+
*/
|
|
36
|
+
width: number;
|
|
37
|
+
/**
|
|
38
|
+
* Height relative to current viewport from 0 (0%) to 1 (100%).
|
|
39
|
+
*/
|
|
40
|
+
height: number;
|
|
41
|
+
constructor(context: {
|
|
42
|
+
gl: WebGL2RenderingContext;
|
|
43
|
+
}, options: TgdPainterScissorOptions);
|
|
44
|
+
paint(time: number, delay: number): void;
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=viewport.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"viewport.d.ts","sourceRoot":"","sources":["../../src/painter/viewport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAA;AAEjE,MAAM,WAAW,wBAAyB,SAAQ,sBAAsB;IACpE;;OAEG;IACH,CAAC,EAAE,MAAM,CAAA;IACT;;OAEG;IACH,CAAC,EAAE,MAAM,CAAA;IACT;;OAEG;IACH,KAAK,EAAE,MAAM,CAAA;IACb;;OAEG;IACH,MAAM,EAAE,MAAM,CAAA;CACjB;AAED;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,eAAe;IAmB9C,OAAO,CAAC,QAAQ,CAAC,OAAO;IAlB5B;;OAEG;IACI,CAAC,EAAE,MAAM,CAAI;IACpB;;OAEG;IACI,CAAC,EAAE,MAAM,CAAI;IACpB;;OAEG;IACI,KAAK,EAAE,MAAM,CAAI;IACxB;;OAEG;IACI,MAAM,EAAE,MAAM,CAAI;gBAGJ,OAAO,EAAE;QAAE,EAAE,EAAE,sBAAsB,CAAA;KAAE,EACxD,OAAO,EAAE,wBAAwB;IASrC,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;CAW3C"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { TgdPainterGroup } from "./group.js";
|
|
2
|
+
/**
|
|
3
|
+
* Paint the children in a subset of the current viewport.
|
|
4
|
+
*/
|
|
5
|
+
export class TgdPainterScissor extends TgdPainterGroup {
|
|
6
|
+
constructor(context, options) {
|
|
7
|
+
super(options);
|
|
8
|
+
this.context = context;
|
|
9
|
+
/**
|
|
10
|
+
* X relative to current viewport from 0 (left) to 1 (right).
|
|
11
|
+
*/
|
|
12
|
+
this.x = 0;
|
|
13
|
+
/**
|
|
14
|
+
* Width relative to current viewport from 0 (0%) to 1 (100%).
|
|
15
|
+
*/
|
|
16
|
+
this.y = 0;
|
|
17
|
+
/**
|
|
18
|
+
* Width relative to current viewport from 0 (0%) to 1 (100%).
|
|
19
|
+
*/
|
|
20
|
+
this.width = 0;
|
|
21
|
+
/**
|
|
22
|
+
* Height relative to current viewport from 0 (0%) to 1 (100%).
|
|
23
|
+
*/
|
|
24
|
+
this.height = 0;
|
|
25
|
+
this.x = options.x;
|
|
26
|
+
this.y = options.y;
|
|
27
|
+
this.width = options.width;
|
|
28
|
+
this.height = options.height;
|
|
29
|
+
}
|
|
30
|
+
paint(time, delay) {
|
|
31
|
+
const { gl } = this.context;
|
|
32
|
+
const [curX, curY, curW, curH] = gl.getParameter(gl.SCISSOR_BOX);
|
|
33
|
+
const x = Math.round(this.x * curX);
|
|
34
|
+
const y = Math.round(this.y * curY);
|
|
35
|
+
const w = Math.round(this.width * curW);
|
|
36
|
+
const h = Math.round(this.height * curH);
|
|
37
|
+
gl.scissor(x, y, w, h);
|
|
38
|
+
super.paint(time, delay);
|
|
39
|
+
gl.scissor(curX, curY, curW, curH);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlld3BvcnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcGFpbnRlci92aWV3cG9ydC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUEwQixNQUFNLFNBQVMsQ0FBQTtBQXFCakU7O0dBRUc7QUFDSCxNQUFNLE9BQU8saUJBQWtCLFNBQVEsZUFBZTtJQWtCbEQsWUFDcUIsT0FBdUMsRUFDeEQsT0FBaUM7UUFFakMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFBO1FBSEcsWUFBTyxHQUFQLE9BQU8sQ0FBZ0M7UUFsQjVEOztXQUVHO1FBQ0ksTUFBQyxHQUFXLENBQUMsQ0FBQTtRQUNwQjs7V0FFRztRQUNJLE1BQUMsR0FBVyxDQUFDLENBQUE7UUFDcEI7O1dBRUc7UUFDSSxVQUFLLEdBQVcsQ0FBQyxDQUFBO1FBQ3hCOztXQUVHO1FBQ0ksV0FBTSxHQUFXLENBQUMsQ0FBQTtRQU9yQixJQUFJLENBQUMsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUE7UUFDbEIsSUFBSSxDQUFDLENBQUMsR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFBO1FBQ2xCLElBQUksQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQTtRQUMxQixJQUFJLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUE7SUFDaEMsQ0FBQztJQUVELEtBQUssQ0FBQyxJQUFZLEVBQUUsS0FBYTtRQUM3QixNQUFNLEVBQUUsRUFBRSxFQUFFLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQTtRQUMzQixNQUFNLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDLENBQUE7UUFDaEUsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFBO1FBQ25DLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQTtRQUNuQyxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLENBQUE7UUFDdkMsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxDQUFBO1FBQ3hDLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUE7UUFDdEIsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUE7UUFDeEIsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQTtJQUN0QyxDQUFDO0NBQ0oifQ==
|