@nodetool-ai/game-renderer 0.8.6 → 0.8.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/.nodetool-build-stamp +1 -1
- package/dist/build-expo.d.ts +76 -0
- package/dist/build-expo.d.ts.map +1 -0
- package/dist/build-expo.js +454 -0
- package/dist/build-expo.js.map +1 -0
- package/dist/build-tauri.d.ts +7 -0
- package/dist/build-tauri.d.ts.map +1 -1
- package/dist/build-tauri.js +2 -1
- package/dist/build-tauri.js.map +1 -1
- package/dist/build3d.d.ts.map +1 -1
- package/dist/build3d.js +3 -2
- package/dist/build3d.js.map +1 -1
- package/dist/frame-budget.d.ts +16 -0
- package/dist/frame-budget.d.ts.map +1 -1
- package/dist/frame-budget.js +19 -1
- package/dist/frame-budget.js.map +1 -1
- package/dist/game3d-capture-page.js +223 -223
- package/dist/game3d-player.js +346 -322
- package/dist/particles/curves.d.ts.map +1 -1
- package/dist/particles/curves.js +38 -14
- package/dist/particles/curves.js.map +1 -1
- package/dist/particles/index.d.ts +1 -1
- package/dist/particles/index.d.ts.map +1 -1
- package/dist/particles/index.js +1 -1
- package/dist/particles/index.js.map +1 -1
- package/dist/particles/particles3d.d.ts +35 -0
- package/dist/particles/particles3d.d.ts.map +1 -1
- package/dist/particles/particles3d.js +99 -2
- package/dist/particles/particles3d.js.map +1 -1
- package/dist/particles/pass3d.d.ts +9 -2
- package/dist/particles/pass3d.d.ts.map +1 -1
- package/dist/particles/pass3d.js +40 -7
- package/dist/particles/pass3d.js.map +1 -1
- package/dist/perf.d.ts +102 -0
- package/dist/perf.d.ts.map +1 -0
- package/dist/perf.js +238 -0
- package/dist/perf.js.map +1 -0
- package/dist/player-v1.js +445 -401
- package/dist/renderer3d/assets/cache.d.ts +3 -1
- package/dist/renderer3d/assets/cache.d.ts.map +1 -1
- package/dist/renderer3d/assets/cache.js +25 -1
- package/dist/renderer3d/assets/cache.js.map +1 -1
- package/dist/renderer3d/environment/index.d.ts +4 -0
- package/dist/renderer3d/environment/index.d.ts.map +1 -1
- package/dist/renderer3d/environment/index.js +30 -2
- package/dist/renderer3d/environment/index.js.map +1 -1
- package/dist/renderer3d/hud/paint.d.ts.map +1 -1
- package/dist/renderer3d/hud/paint.js +15 -0
- package/dist/renderer3d/hud/paint.js.map +1 -1
- package/dist/renderer3d/index.d.ts +7 -1
- package/dist/renderer3d/index.d.ts.map +1 -1
- package/dist/renderer3d/index.js +19 -8
- package/dist/renderer3d/index.js.map +1 -1
- package/dist/renderer3d/scene-sync.d.ts.map +1 -1
- package/dist/renderer3d/scene-sync.js +42 -18
- package/dist/renderer3d/scene-sync.js.map +1 -1
- package/dist/renderer3d/shadows/cascades.d.ts +25 -2
- package/dist/renderer3d/shadows/cascades.d.ts.map +1 -1
- package/dist/renderer3d/shadows/cascades.js +67 -11
- package/dist/renderer3d/shadows/cascades.js.map +1 -1
- package/dist/renderer3d/types.d.ts +7 -1
- package/dist/renderer3d/types.d.ts.map +1 -1
- package/dist/smoke.d.ts.map +1 -1
- package/dist/smoke.js +7 -45
- package/dist/smoke.js.map +1 -1
- package/dist/standalone-player.js +4 -2
- package/dist/standalone-player.js.map +1 -1
- package/dist/standalone-player3d.d.ts +13 -0
- package/dist/standalone-player3d.d.ts.map +1 -1
- package/dist/standalone-player3d.js +25 -8
- package/dist/standalone-player3d.js.map +1 -1
- package/dist/static-server.d.ts +10 -0
- package/dist/static-server.d.ts.map +1 -0
- package/dist/static-server.js +52 -0
- package/dist/static-server.js.map +1 -0
- package/dist/ui/controller.d.ts +2 -0
- package/dist/ui/controller.d.ts.map +1 -1
- package/dist/ui/controller.js +13 -0
- package/dist/ui/controller.js.map +1 -1
- package/package.json +15 -5
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
import * as THREE from "three";
|
|
2
2
|
import type { GameLight3D, GameShadowCascades3D } from "@nodetool-ai/protocol";
|
|
3
|
+
/**
|
|
4
|
+
* Whether cascade `index` re-renders its map on frame `frame`. The nearest cascade renders every frame, the second
|
|
5
|
+
* every other frame, and the third and fourth alternate every fourth frame, so at most two cascades render per frame.
|
|
6
|
+
*/
|
|
7
|
+
export declare function gameCascadeDue3D(index: number, frame: number): boolean;
|
|
3
8
|
/** Splits [near, far] into `count` ranges, blending even and logarithmic splits by `lambda`. Returns each split's end as a fraction of far. */
|
|
4
9
|
export declare function gameCascadeBreaks3D(count: number, near: number, far: number, lambda: number): number[];
|
|
5
10
|
export declare function resizeGameShadowMap(shadow: THREE.LightShadow, size: number): void;
|
|
@@ -19,6 +24,17 @@ export declare class GameCascadedShadows3D {
|
|
|
19
24
|
private readonly uniforms;
|
|
20
25
|
private breaks;
|
|
21
26
|
private frustumKey;
|
|
27
|
+
/** Light-space centre each cascade map was last rendered at, or null before its first render. */
|
|
28
|
+
private placed;
|
|
29
|
+
private readonly direction;
|
|
30
|
+
private readonly scratchDirection;
|
|
31
|
+
private readonly orientation;
|
|
32
|
+
private readonly inverse;
|
|
33
|
+
private readonly cameraToLight;
|
|
34
|
+
private readonly box;
|
|
35
|
+
private readonly center;
|
|
36
|
+
private readonly seen;
|
|
37
|
+
private frame;
|
|
22
38
|
private count;
|
|
23
39
|
private margin;
|
|
24
40
|
private readonly compile;
|
|
@@ -27,12 +43,19 @@ export declare class GameCascadedShadows3D {
|
|
|
27
43
|
kind: "directional";
|
|
28
44
|
}>, settings: GameShadowCascades3D, mapSize: number, camera: THREE.Camera): void;
|
|
29
45
|
detach(): void;
|
|
30
|
-
/**
|
|
46
|
+
/**
|
|
47
|
+
* Patches the scene's lit materials for the cascades. The renderer calls it once per frame, after presentation passes
|
|
48
|
+
* create their materials and before the scene pass. `update` does not walk the scene.
|
|
49
|
+
*/
|
|
31
50
|
bindMaterials(scene: THREE.Scene): void;
|
|
32
51
|
private rebuild;
|
|
33
52
|
private disposeLights;
|
|
34
53
|
private updateShadowBounds;
|
|
35
|
-
/**
|
|
54
|
+
/**
|
|
55
|
+
* Centers each cascade's shadow camera on its slice of the view, snapped to the texel grid. Far cascades re-render on
|
|
56
|
+
* a schedule (`gameCascadeDue3D`) and keep their last map and placement in between, unless the light turned or the
|
|
57
|
+
* map would move by more than `CASCADE_DRIFT` of its width, so a cut or a teleport never shows a stale map.
|
|
58
|
+
*/
|
|
36
59
|
private place;
|
|
37
60
|
private setupMaterials;
|
|
38
61
|
/** Runs the material's existing compile hook first, then adds the cascade chunk, and keys the program on both. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cascades.d.ts","sourceRoot":"","sources":["../../../src/renderer3d/shadows/cascades.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,KAAK,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"cascades.d.ts","sourceRoot":"","sources":["../../../src/renderer3d/shadows/cascades.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,KAAK,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAc/E;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAItE;AAED,+IAA+I;AAC/I,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAStG;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,KAAK,CAAC,WAAW,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAMjF;AAOD;;;;;GAKG;AACH,qBAAa,qBAAqB;IAChC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAqB;IAC3C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgC;IACvD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAmC;IAC/D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAoB;IAC7C,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAmC;IACrE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA8B;IACxD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAyG;IAClI,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,UAAU,CAAM;IACxB,iGAAiG;IACjG,OAAO,CAAC,MAAM,CAAgC;IAC9C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAuB;IAEjD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAuB;IACxD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAuB;IACnD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAuB;IAC/C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAuB;IACrD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAoB;IACxC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAuB;IAC9C,OAAO,CAAC,QAAQ,CAAC,IAAI,CAA8B;IACnD,OAAO,CAAC,KAAK,CAAK;IAClB,OAAO,CAAC,KAAK,CAAK;IAClB,OAAO,CAAC,MAAM,CAAK;IACnB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAMtB;IAEF,cAA2D;IAE3D,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,gBAAgB,EAAE,UAAU,EAAE,OAAO,CAAC,WAAW,EAAE;QAAE,IAAI,EAAE,aAAa,CAAA;KAAE,CAAC,EAClH,QAAQ,EAAE,oBAAoB,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,GAAG,IAAI,CAkC7E;IAED,MAAM,IAAI,IAAI,CAQb;IAED;;;OAGG;IACH,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,GAAG,IAAI,CAEtC;IAED,OAAO,CAAC,OAAO;IAkBf,OAAO,CAAC,aAAa;IAUrB,OAAO,CAAC,kBAAkB;IAe1B;;;;OAIG;IACH,OAAO,CAAC,KAAK;IAuCb,OAAO,CAAC,cAAc;IAmBtB,kHAAkH;IAClH,OAAO,CAAC,aAAa;CAItB"}
|
|
@@ -4,9 +4,25 @@ import * as csmShaderModule from "three/addons/csm/CSMShader.js";
|
|
|
4
4
|
import { removeGameMaterialHook, setGameMaterialHook } from "../material-hooks.js";
|
|
5
5
|
const cascadeDefines = ["USE_CSM", "CSM_CASCADES"];
|
|
6
6
|
const up = new THREE.Vector3(0, 1, 0);
|
|
7
|
+
const forward = new THREE.Vector3(0, 0, 1);
|
|
7
8
|
// @types/three declares CSMShader as an interface, but the module exports the chunk object.
|
|
8
9
|
const CSMShader = csmShaderModule.CSMShader;
|
|
9
10
|
const origin = new THREE.Vector3();
|
|
11
|
+
/** A cascade whose map would move by more than this share of its width re-renders this frame, regardless of its schedule. */
|
|
12
|
+
const CASCADE_DRIFT = 0.05;
|
|
13
|
+
/**
|
|
14
|
+
* Whether cascade `index` re-renders its map on frame `frame`. The nearest cascade renders every frame, the second
|
|
15
|
+
* every other frame, and the third and fourth alternate every fourth frame, so at most two cascades render per frame.
|
|
16
|
+
*/
|
|
17
|
+
export function gameCascadeDue3D(index, frame) {
|
|
18
|
+
if (index === 0) {
|
|
19
|
+
return true;
|
|
20
|
+
}
|
|
21
|
+
if (index === 1) {
|
|
22
|
+
return frame % 2 === 0;
|
|
23
|
+
}
|
|
24
|
+
return frame % 4 === (index === 2 ? 1 : 3);
|
|
25
|
+
}
|
|
10
26
|
/** Splits [near, far] into `count` ranges, blending even and logarithmic splits by `lambda`. Returns each split's end as a fraction of far. */
|
|
11
27
|
export function gameCascadeBreaks3D(count, near, far, lambda) {
|
|
12
28
|
const breaks = [];
|
|
@@ -47,6 +63,18 @@ export class GameCascadedShadows3D {
|
|
|
47
63
|
uniforms = { CSM_cascades: { value: [] }, cameraNear: { value: 0 }, shadowFar: { value: 0 } };
|
|
48
64
|
breaks = [];
|
|
49
65
|
frustumKey = "";
|
|
66
|
+
/** Light-space centre each cascade map was last rendered at, or null before its first render. */
|
|
67
|
+
placed = [];
|
|
68
|
+
direction = new THREE.Vector3();
|
|
69
|
+
// Scratch objects for place(), which runs every frame.
|
|
70
|
+
scratchDirection = new THREE.Vector3();
|
|
71
|
+
orientation = new THREE.Matrix4();
|
|
72
|
+
inverse = new THREE.Matrix4();
|
|
73
|
+
cameraToLight = new THREE.Matrix4();
|
|
74
|
+
box = new THREE.Box3();
|
|
75
|
+
center = new THREE.Vector3();
|
|
76
|
+
seen = new Set();
|
|
77
|
+
frame = 0;
|
|
50
78
|
count = 0;
|
|
51
79
|
margin = 0;
|
|
52
80
|
compile = (shader) => {
|
|
@@ -90,9 +118,9 @@ export class GameCascadedShadows3D {
|
|
|
90
118
|
this.uniforms.cameraNear.value = near;
|
|
91
119
|
this.uniforms.shadowFar.value = far;
|
|
92
120
|
this.uniforms.CSM_cascades.value = this.breaks.map((end, index) => new THREE.Vector2(this.breaks[index - 1] ?? 0, end));
|
|
121
|
+
this.placed.fill(null);
|
|
93
122
|
}
|
|
94
123
|
this.place(source, camera);
|
|
95
|
-
this.setupMaterials(scene);
|
|
96
124
|
}
|
|
97
125
|
detach() {
|
|
98
126
|
for (const material of this.materials) {
|
|
@@ -103,8 +131,12 @@ export class GameCascadedShadows3D {
|
|
|
103
131
|
this.group.removeFromParent();
|
|
104
132
|
this.count = 0;
|
|
105
133
|
this.frustumKey = "";
|
|
134
|
+
this.placed = [];
|
|
106
135
|
}
|
|
107
|
-
/**
|
|
136
|
+
/**
|
|
137
|
+
* Patches the scene's lit materials for the cascades. The renderer calls it once per frame, after presentation passes
|
|
138
|
+
* create their materials and before the scene pass. `update` does not walk the scene.
|
|
139
|
+
*/
|
|
108
140
|
bindMaterials(scene) {
|
|
109
141
|
if (this.count > 0) {
|
|
110
142
|
this.setupMaterials(scene);
|
|
@@ -115,12 +147,15 @@ export class GameCascadedShadows3D {
|
|
|
115
147
|
for (let index = 0; index < count; index++) {
|
|
116
148
|
const light = new THREE.DirectionalLight();
|
|
117
149
|
light.castShadow = true;
|
|
150
|
+
// place() decides each frame whether this cascade's map re-renders.
|
|
151
|
+
light.shadow.autoUpdate = false;
|
|
118
152
|
light.name = `game-shadow-cascade-${index}`;
|
|
119
153
|
this.group.add(light, light.target);
|
|
120
154
|
this.lights.push(light);
|
|
121
155
|
}
|
|
122
156
|
this.count = count;
|
|
123
157
|
this.frustumKey = "";
|
|
158
|
+
this.placed = this.lights.map(() => null);
|
|
124
159
|
for (const material of this.materials) {
|
|
125
160
|
releaseMaterial(material);
|
|
126
161
|
}
|
|
@@ -151,14 +186,23 @@ export class GameCascadedShadows3D {
|
|
|
151
186
|
light.shadow.camera.updateProjectionMatrix();
|
|
152
187
|
}
|
|
153
188
|
}
|
|
154
|
-
/**
|
|
189
|
+
/**
|
|
190
|
+
* Centers each cascade's shadow camera on its slice of the view, snapped to the texel grid. Far cascades re-render on
|
|
191
|
+
* a schedule (`gameCascadeDue3D`) and keep their last map and placement in between, unless the light turned or the
|
|
192
|
+
* map would move by more than `CASCADE_DRIFT` of its width, so a cut or a teleport never shows a stale map.
|
|
193
|
+
*/
|
|
155
194
|
place(source, camera) {
|
|
156
|
-
const direction =
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
const
|
|
195
|
+
const direction = this.scratchDirection.set(0, 0, -1).applyQuaternion(source.quaternion).normalize();
|
|
196
|
+
if (!direction.equals(this.direction)) {
|
|
197
|
+
this.direction.copy(direction);
|
|
198
|
+
this.placed.fill(null);
|
|
199
|
+
}
|
|
200
|
+
const orientation = this.orientation.lookAt(origin, direction, Math.abs(direction.y) > 0.999 ? forward : up);
|
|
201
|
+
const inverse = this.inverse.copy(orientation).invert();
|
|
202
|
+
const cameraToLight = this.cameraToLight.multiplyMatrices(inverse, camera.matrixWorld);
|
|
203
|
+
const box = this.box;
|
|
204
|
+
const center = this.center;
|
|
205
|
+
const frame = this.frame++;
|
|
162
206
|
for (const [index, frustum] of this.frustums.entries()) {
|
|
163
207
|
const light = this.lights[index];
|
|
164
208
|
if (!light) {
|
|
@@ -169,13 +213,24 @@ export class GameCascadedShadows3D {
|
|
|
169
213
|
const texelHeight = (shadowCamera.top - shadowCamera.bottom) / light.shadow.mapSize.y;
|
|
170
214
|
frustum.toSpace(cameraToLight, this.lightSpaceFrustum);
|
|
171
215
|
box.makeEmpty();
|
|
172
|
-
for (const vertex of
|
|
216
|
+
for (const vertex of this.lightSpaceFrustum.vertices.near) {
|
|
217
|
+
box.expandByPoint(vertex);
|
|
218
|
+
}
|
|
219
|
+
for (const vertex of this.lightSpaceFrustum.vertices.far) {
|
|
173
220
|
box.expandByPoint(vertex);
|
|
174
221
|
}
|
|
175
222
|
box.getCenter(center);
|
|
176
223
|
center.z = box.max.z + this.margin;
|
|
177
224
|
center.x = Math.floor(center.x / texelWidth) * texelWidth;
|
|
178
225
|
center.y = Math.floor(center.y / texelHeight) * texelHeight;
|
|
226
|
+
const placed = this.placed[index];
|
|
227
|
+
const drift = (shadowCamera.right - shadowCamera.left) * CASCADE_DRIFT;
|
|
228
|
+
if (placed && light.shadow.map && !gameCascadeDue3D(index, frame) && placed.distanceToSquared(center) <= drift * drift) {
|
|
229
|
+
light.shadow.needsUpdate = false;
|
|
230
|
+
continue;
|
|
231
|
+
}
|
|
232
|
+
this.placed[index] = (placed ?? new THREE.Vector3()).copy(center);
|
|
233
|
+
light.shadow.needsUpdate = true;
|
|
179
234
|
center.applyMatrix4(orientation);
|
|
180
235
|
light.position.copy(center);
|
|
181
236
|
light.target.position.copy(center).add(direction);
|
|
@@ -184,7 +239,8 @@ export class GameCascadedShadows3D {
|
|
|
184
239
|
}
|
|
185
240
|
}
|
|
186
241
|
setupMaterials(scene) {
|
|
187
|
-
const seen =
|
|
242
|
+
const seen = this.seen;
|
|
243
|
+
seen.clear();
|
|
188
244
|
scene.traverse((object) => {
|
|
189
245
|
if (!(object instanceof THREE.Mesh)) {
|
|
190
246
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cascades.js","sourceRoot":"","sources":["../../../src/renderer3d/shadows/cascades.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cascades.js","sourceRoot":"","sources":["../../../src/renderer3d/shadows/cascades.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,KAAK,eAAe,MAAM,+BAA+B,CAAC;AAEjE,OAAO,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAInF,MAAM,cAAc,GAAG,CAAC,SAAS,EAAE,cAAc,CAAU,CAAC;AAC5D,MAAM,EAAE,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AACtC,MAAM,OAAO,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAC3C,4FAA4F;AAC5F,MAAM,SAAS,GAAI,eAA0H,CAAC,SAAS,CAAC;AACxJ,MAAM,MAAM,GAAG,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;AACnC,6HAA6H;AAC7H,MAAM,aAAa,GAAG,IAAI,CAAC;AAE3B;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAa,EAAE,KAAa;IAC3D,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;QAAC,OAAO,IAAI,CAAC;IAAC,CAAC;IACjC,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;QAAC,OAAO,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC;IAAC,CAAC;IAC5C,OAAO,KAAK,GAAG,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7C,CAAC;AAED,+IAA+I;AAC/I,MAAM,UAAU,mBAAmB,CAAC,KAAa,EAAE,IAAY,EAAE,GAAW,EAAE,MAAc;IAC1F,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC;QAC3C,MAAM,OAAO,GAAG,CAAC,IAAI,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,KAAK,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC;QAC5D,MAAM,WAAW,GAAG,CAAC,IAAI,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC;QACnE,MAAM,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,WAAW,GAAG,OAAO,CAAC,GAAG,MAAM,CAAC,CAAC;IAC1D,CAAC;IACD,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACf,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,MAAyB,EAAE,IAAY;IACzE,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,IAAI,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QAAC,OAAO;IAAC,CAAC;IACvE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC/B,MAAM,CAAC,GAAG,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC;IACpC,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC;IACtB,MAAM,CAAC,GAAG,GAAG,IAAI,CAAC;AACpB,CAAC;AAED,SAAS,iBAAiB,CAAC,QAAwB;IACjD,OAAO,QAAQ,YAAY,KAAK,CAAC,oBAAoB,IAAI,QAAQ,YAAY,KAAK,CAAC,mBAAmB;QACpG,QAAQ,YAAY,KAAK,CAAC,iBAAiB,IAAI,QAAQ,YAAY,KAAK,CAAC,gBAAgB,CAAC;AAC9F,CAAC;AAED;;;;;GAKG;AACH,MAAM,OAAO,qBAAqB;IACf,KAAK,GAAG,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;IAC1B,MAAM,GAA6B,EAAE,CAAC;IACtC,WAAW,GAAG,IAAI,UAAU,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9C,QAAQ,GAAiB,EAAE,CAAC;IAC5B,iBAAiB,GAAG,IAAI,UAAU,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACpD,SAAS,GAAG,IAAI,GAAG,EAAmB,CAAC;IACvC,QAAQ,GAAG,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,EAAqB,EAAE,EAAE,UAAU,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;IAC1H,MAAM,GAAa,EAAE,CAAC;IACtB,UAAU,GAAG,EAAE,CAAC;IACxB,iGAAiG;IACzF,MAAM,GAA6B,EAAE,CAAC;IAC7B,SAAS,GAAG,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;IACjD,uDAAuD;IACtC,gBAAgB,GAAG,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;IACvC,WAAW,GAAG,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;IAClC,OAAO,GAAG,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;IAC9B,aAAa,GAAG,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;IACpC,GAAG,GAAG,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;IACvB,MAAM,GAAG,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;IAC7B,IAAI,GAAG,IAAI,GAAG,EAAmB,CAAC;IAC3C,KAAK,GAAG,CAAC,CAAC;IACV,KAAK,GAAG,CAAC,CAAC;IACV,MAAM,GAAG,CAAC,CAAC;IACF,OAAO,GAAG,CAAC,MAAgD,EAAQ,EAAE;QACpF,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC9C,KAAK,MAAM,KAAK,IAAI,CAAC,cAAc,EAAE,gBAAgB,CAAU,EAAE,CAAC;YAChE,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,8BAA8B,EAAE,SAAS,CAAC,iBAAiB,CAAC;iBAC/F,OAAO,CAAC,kCAAkC,EAAE,SAAS,CAAC,qBAAqB,CAAC,CAAC;QAClF,CAAC;IACH,CAAC,CAAC;IAEF,gBAAgB,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,sBAAsB,CAAC,CAAC,CAAC;IAE3D,MAAM,CAAC,KAAkB,EAAE,MAA8B,EAAE,UAAyD,EAClH,QAA8B,EAAE,OAAe,EAAE,MAAoB;QACrE,IAAI,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,KAAK,EAAE,CAAC;YAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAAC,CAAC;QACpE,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;YAChC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACtB,wGAAwG;YACxG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;YAC7D,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrC,CAAC;QACD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC;QAClD,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC/B,KAAK,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;YACnC,mBAAmB,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YAC3C,KAAK,CAAC,MAAM,CAAC,IAAI,GAAG,UAAU,CAAC,UAAU,IAAI,CAAC,CAAC;YAC/C,KAAK,CAAC,MAAM,CAAC,UAAU,GAAG,UAAU,CAAC,gBAAgB,IAAI,CAAC,CAAC;YAC3D,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC;YAC7B,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,WAAW,GAAG,CAAC,CAAC;QACnE,CAAC;QACD,MAAM,UAAU,GAAG,MAAM,YAAY,KAAK,CAAC,iBAAiB,IAAI,MAAM,YAAY,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;QAChI,MAAM,IAAI,GAAG,UAAU,EAAE,IAAI,IAAI,GAAG,CAAC;QACrC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,IAAI,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC;QACpF,MAAM,GAAG,GAAG,GAAG,MAAM,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,KAAK,IAAI,QAAQ,CAAC,WAAW,IAAI,OAAO,EAAE,CAAC;QACjH,IAAI,GAAG,KAAK,IAAI,CAAC,UAAU,EAAE,CAAC;YAC5B,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;YACtB,IAAI,CAAC,MAAM,GAAG,mBAAmB,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC7E,IAAI,CAAC,WAAW,CAAC,uBAAuB,CAAC,MAAM,CAAC,gBAAgB,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC;YACxF,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;YACnD,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;YACjC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,GAAG,IAAI,CAAC;YACtC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,GAAG,GAAG,CAAC;YACpC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;YACxH,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,CAAC;IAED,MAAM;QACJ,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;QAAC,CAAC;QACrE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;QACvB,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAC;QAC9B,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;QACf,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;IACnB,CAAC;IAED;;;OAGG;IACH,aAAa,CAAC,KAAkB;QAC9B,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;YAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAAC,CAAC;IACrD,CAAC;IAEO,OAAO,CAAC,KAAa;QAC3B,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC;YAC3C,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,gBAAgB,EAAE,CAAC;YAC3C,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC;YACxB,oEAAoE;YACpE,KAAK,CAAC,MAAM,CAAC,UAAU,GAAG,KAAK,CAAC;YAChC,KAAK,CAAC,IAAI,GAAG,uBAAuB,KAAK,EAAE,CAAC;YAC5C,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;YACpC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC;QACD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;QAC1C,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;QAAC,CAAC;QACrE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC;IAEO,aAAa;QACnB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChC,KAAK,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC;YAChC,KAAK,CAAC,gBAAgB,EAAE,CAAC;YACzB,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC;YAC1C,KAAK,CAAC,OAAO,EAAE,CAAC;QAClB,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;IACzB,CAAC;IAEO,kBAAkB,CAAC,OAAe;QACxC,KAAK,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;YACvD,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACjC,IAAI,CAAC,KAAK,EAAE,CAAC;gBAAC,SAAS;YAAC,CAAC;YACzB,MAAM,YAAY,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC3C,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC;YACzC,MAAM,KAAK,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;YAC7B,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACzH,oFAAoF;YACpF,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,OAAO,GAAG,CAAC,CAAC;YAChF,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,KAAK,GAAG,CAAC,EAAE,KAAK,EAAE,KAAK,GAAG,CAAC,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC;YAC/G,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,sBAAsB,EAAE,CAAC;QAC/C,CAAC;IACH,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,MAA8B,EAAE,MAAoB;QAChE,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,SAAS,EAAE,CAAC;QACrG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;YAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAAC,CAAC;QAClG,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC7G,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,EAAE,CAAC;QACxD,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;QACvF,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;QACrB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;QAC3B,KAAK,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;YACvD,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACjC,IAAI,CAAC,KAAK,EAAE,CAAC;gBAAC,SAAS;YAAC,CAAC;YACzB,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC;YACzC,MAAM,UAAU,GAAG,CAAC,YAAY,CAAC,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;YACrF,MAAM,WAAW,GAAG,CAAC,YAAY,CAAC,GAAG,GAAG,YAAY,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;YACtF,OAAO,CAAC,OAAO,CAAC,aAAa,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;YACvD,GAAG,CAAC,SAAS,EAAE,CAAC;YAChB,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;gBAAC,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YAAC,CAAC;YACzF,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;gBAAC,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YAAC,CAAC;YACxF,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YACtB,MAAM,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;YACnC,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,UAAU,CAAC,GAAG,UAAU,CAAC;YAC1D,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,WAAW,CAAC,GAAG,WAAW,CAAC;YAC5D,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAClC,MAAM,KAAK,GAAG,CAAC,YAAY,CAAC,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC;YACvE,IAAI,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,KAAK,GAAG,KAAK,EAAE,CAAC;gBACvH,KAAK,CAAC,MAAM,CAAC,WAAW,GAAG,KAAK,CAAC;gBACjC,SAAS;YACX,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,IAAI,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAClE,KAAK,CAAC,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC;YAChC,MAAM,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;YACjC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC5B,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAClD,KAAK,CAAC,iBAAiB,EAAE,CAAC;YAC1B,KAAK,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC;QACnC,CAAC;IACH,CAAC;IAEO,cAAc,CAAC,KAAkB;QACvC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACvB,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,KAAK,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE,EAAE;YACxB,IAAI,CAAC,CAAC,MAAM,YAAY,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBAAC,OAAO;YAAC,CAAC;YAChD,MAAM,SAAS,GAAqB,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACzG,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;gBACjC,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAAC,SAAS;gBAAC,CAAC;gBAC/C,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBACnB,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAAC,SAAS;gBAAC,CAAC;gBAC/C,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;gBAC7B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC/B,CAAC;QACH,CAAC,CAAC,CAAC;QACH,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACtC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;gBAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAAC,CAAC;QAC1F,CAAC;IACH,CAAC;IAED,kHAAkH;IAC1G,aAAa,CAAC,QAAyB;QAC7C,QAAQ,CAAC,OAAO,GAAG,EAAE,GAAG,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;QACjF,mBAAmB,CAAC,QAAQ,EAAE,UAAU,EAAE,IAAI,CAAC,OAAO,EAAE,uBAAuB,CAAC,CAAC;IACnF,CAAC;CACF;AACD,SAAS,eAAe,CAAC,QAAyB;IAChD,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;QAAC,KAAK,MAAM,IAAI,IAAI,cAAc,EAAE,CAAC;YAAC,OAAO,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAAC,CAAC;IAAC,CAAC;IAC/F,sBAAsB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;AAC/C,CAAC"}
|
|
@@ -7,8 +7,14 @@ export interface CachedModel {
|
|
|
7
7
|
}
|
|
8
8
|
export interface RenderInstance {
|
|
9
9
|
modelAssetId?: string;
|
|
10
|
-
|
|
10
|
+
/** The model or primitive object `descriptor` was last checked against. A frame that reuses it skips the check. */
|
|
11
|
+
descriptorSource?: unknown;
|
|
12
|
+
/** The pose or clip state object of the last sample, and its fractional tick. */
|
|
13
|
+
sampledAnimationSource?: unknown;
|
|
14
|
+
sampledAnimationTick?: number;
|
|
11
15
|
sampledAnimationMode?: "graph" | "clip";
|
|
16
|
+
/** Tick whose pose last set the skinned mesh bounds. */
|
|
17
|
+
boundsTick?: number;
|
|
12
18
|
readonly descriptor: string;
|
|
13
19
|
readonly object: THREE.Object3D;
|
|
14
20
|
readonly materials: readonly THREE.Material[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/renderer3d/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAC/D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAC;IACrC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;CACrB;AACD,MAAM,WAAW,cAAc;IAC7B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/renderer3d/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAC/D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAC;IACrC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;CACrB;AACD,MAAM,WAAW,cAAc;IAC7B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mHAAmH;IACnH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,iFAAiF;IACjF,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,oBAAoB,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IACxC,wDAAwD;IACxD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC;IAChC,QAAQ,CAAC,SAAS,EAAE,SAAS,KAAK,CAAC,QAAQ,EAAE,CAAC;IAC9C,QAAQ,CAAC,iBAAiB,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC;IAClD,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC;IACtC,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,KAAK,CAAC,aAAa,EAAE,CAAC;CACjD"}
|
package/dist/smoke.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"smoke.d.ts","sourceRoot":"","sources":["../src/smoke.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"smoke.d.ts","sourceRoot":"","sources":["../src/smoke.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;CAC/B;AACD,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;CACpC;AAKD,yGAAyG;AACzG,wBAAsB,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,GAAE,gBAAqB,GAAG,OAAO,CAAC,eAAe,CAAC,CAgGrH"}
|
package/dist/smoke.js
CHANGED
|
@@ -1,15 +1,7 @@
|
|
|
1
|
-
import { createServer } from "node:http";
|
|
2
1
|
import { readFile, realpath } from "node:fs/promises";
|
|
3
|
-
import {
|
|
4
|
-
import { importOptionalModule } from "@nodetool-ai/config";
|
|
5
|
-
import { missingRuntimePackageError } from "@nodetool-ai/protocol";
|
|
2
|
+
import { join } from "node:path";
|
|
6
3
|
import { z } from "zod";
|
|
7
|
-
|
|
8
|
-
".html": "text/html", ".js": "text/javascript", ".css": "text/css", ".json": "application/json",
|
|
9
|
-
".wasm": "application/wasm", ".png": "image/png", ".jpg": "image/jpeg", ".webp": "image/webp",
|
|
10
|
-
".glb": "model/gltf-binary", ".wav": "audio/wav", ".mp3": "audio/mpeg", ".ogg": "audio/ogg",
|
|
11
|
-
".ttf": "font/ttf", ".otf": "font/otf"
|
|
12
|
-
};
|
|
4
|
+
import { launchStandaloneChromium, serveStandaloneDirectory } from "./static-server.js";
|
|
13
5
|
const renderedFrame = z.object({ tick: z.number().int().nonnegative(), frameNumber: z.number().int().positive() });
|
|
14
6
|
const smokeDocument = z.object({ schemaVersion: z.number(), inputActions: z.array(z.string()) });
|
|
15
7
|
/** Serve the exported player without outside network access and exercise its renderer and simulation. */
|
|
@@ -29,25 +21,7 @@ export async function smokeStandaloneGame(directory, options = {}) {
|
|
|
29
21
|
let ticks = 0;
|
|
30
22
|
let rendered = 0;
|
|
31
23
|
let browser;
|
|
32
|
-
|
|
33
|
-
void (async () => {
|
|
34
|
-
const pathname = decodeURIComponent(new URL(request.url ?? "/", "http://127.0.0.1").pathname);
|
|
35
|
-
if (pathname === "/favicon.ico") {
|
|
36
|
-
response.writeHead(204);
|
|
37
|
-
response.end();
|
|
38
|
-
return;
|
|
39
|
-
}
|
|
40
|
-
const path = await realpath(join(root, pathname === "/" ? "index.html" : pathname.slice(1)));
|
|
41
|
-
if (!path.startsWith(`${root}${sep}`)) {
|
|
42
|
-
response.writeHead(403);
|
|
43
|
-
response.end();
|
|
44
|
-
return;
|
|
45
|
-
} // key-boundary-ok: node:path sep anchors containment after realpath.
|
|
46
|
-
const bytes = await readFile(path);
|
|
47
|
-
response.setHeader("content-type", TYPES[extname(path)] ?? "application/octet-stream");
|
|
48
|
-
response.end(bytes);
|
|
49
|
-
})().catch(() => { response.writeHead(404); response.end(); });
|
|
50
|
-
});
|
|
24
|
+
let server;
|
|
51
25
|
const controller = new AbortController();
|
|
52
26
|
const abort = () => controller.abort(options.signal?.reason);
|
|
53
27
|
const closeBrowser = () => { void browser?.close(); };
|
|
@@ -55,26 +29,14 @@ export async function smokeStandaloneGame(directory, options = {}) {
|
|
|
55
29
|
controller.signal.addEventListener("abort", closeBrowser, { once: true });
|
|
56
30
|
const timeout = setTimeout(() => controller.abort(new Error(`Smoke timed out after ${timeoutMs}ms`)), timeoutMs);
|
|
57
31
|
try {
|
|
58
|
-
|
|
59
|
-
const
|
|
60
|
-
if (!address || typeof address === "string") {
|
|
61
|
-
throw new Error("Smoke static server did not bind");
|
|
62
|
-
}
|
|
63
|
-
const origin = `http://127.0.0.1:${address.port}`;
|
|
32
|
+
server = await serveStandaloneDirectory(root);
|
|
33
|
+
const origin = server.origin;
|
|
64
34
|
const launchOptions = { headless: true, chromiumSandbox: true,
|
|
65
35
|
args: ["--use-angle=swiftshader", "--enable-unsafe-swiftshader"] };
|
|
66
36
|
if (options.executablePath) {
|
|
67
37
|
launchOptions.executablePath = options.executablePath;
|
|
68
38
|
}
|
|
69
|
-
|
|
70
|
-
let playwright;
|
|
71
|
-
try {
|
|
72
|
-
playwright = await importOptionalModule("playwright", { commonJs: true });
|
|
73
|
-
}
|
|
74
|
-
catch (error) {
|
|
75
|
-
throw missingRuntimePackageError("playwright", "playwright", error);
|
|
76
|
-
}
|
|
77
|
-
browser = await playwright.chromium.launch(launchOptions);
|
|
39
|
+
browser = await launchStandaloneChromium(launchOptions);
|
|
78
40
|
controller.signal.throwIfAborted();
|
|
79
41
|
const context = await browser.newContext({ serviceWorkers: "block" });
|
|
80
42
|
await context.route("**/*", route => {
|
|
@@ -156,7 +118,7 @@ export async function smokeStandaloneGame(directory, options = {}) {
|
|
|
156
118
|
options.signal?.removeEventListener("abort", abort);
|
|
157
119
|
controller.signal.removeEventListener("abort", closeBrowser);
|
|
158
120
|
await browser?.close();
|
|
159
|
-
await
|
|
121
|
+
await server?.close();
|
|
160
122
|
}
|
|
161
123
|
return { ok: errors.size === 0 && rendered === frames && ticks === frames, frames: rendered, ticks, errors: [...errors] };
|
|
162
124
|
}
|
package/dist/smoke.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"smoke.js","sourceRoot":"","sources":["../src/smoke.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"smoke.js","sourceRoot":"","sources":["../src/smoke.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,6 +13,8 @@ import { GameParticles2D } from "./particles/render2d.js";
|
|
|
13
13
|
import { createIndexedDbGameSaveStorage, loadQuickSave } from "./save-storage.js";
|
|
14
14
|
import { VerifiedStandaloneAssets } from "./standalone-assets.js";
|
|
15
15
|
const PLAYER_VERSIONS = ["1", "3"];
|
|
16
|
+
/** A browser can stall a script past its time budget, so the player skips that call instead of stopping the game. */
|
|
17
|
+
const PLAYER_SESSION_OPTIONS = { scriptOverrun: "skip" };
|
|
16
18
|
function element(id) {
|
|
17
19
|
const found = document.getElementById(id);
|
|
18
20
|
if (!found) {
|
|
@@ -99,7 +101,7 @@ async function startPlayer(game, verifiedAssets) {
|
|
|
99
101
|
effectNotice = "GPU effect omitted on this device";
|
|
100
102
|
}
|
|
101
103
|
}
|
|
102
|
-
let session = await createScriptedGameSession(game, 1);
|
|
104
|
+
let session = await createScriptedGameSession(game, 1, undefined, undefined, PLAYER_SESSION_OPTIONS);
|
|
103
105
|
audio.sync(session.snapshot());
|
|
104
106
|
let latest = session.frame();
|
|
105
107
|
renderer.resize(latest.width * latest.pixelsPerUnit, latest.height * latest.pixelsPerUnit);
|
|
@@ -174,7 +176,7 @@ async function startPlayer(game, verifiedAssets) {
|
|
|
174
176
|
}
|
|
175
177
|
}
|
|
176
178
|
async function replaceSession(signal, snapshot) {
|
|
177
|
-
const restored = await createScriptedGameSession(game, 1, snapshot);
|
|
179
|
+
const restored = await createScriptedGameSession(game, 1, snapshot, undefined, PLAYER_SESSION_OPTIONS);
|
|
178
180
|
if (signal.aborted || disposed) {
|
|
179
181
|
restored.dispose();
|
|
180
182
|
return false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"standalone-player.js","sourceRoot":"","sources":["../src/standalone-player.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"standalone-player.js","sourceRoot":"","sources":["../src/standalone-player.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,23 @@
|
|
|
1
1
|
import { GamePlayerSaves } from "@nodetool-ai/game-runtime";
|
|
2
2
|
import { type GameInputFrame3D, type GameSnapshot3D, type GameInspection3D } from "@nodetool-ai/protocol";
|
|
3
3
|
import type { GamePlayerRenderedFrame } from "./standalone-frame.js";
|
|
4
|
+
/** Counters of the last rendered frame, for `nodetool game perf`. */
|
|
5
|
+
export interface GamePlayerFrameStats3D {
|
|
6
|
+
readonly frameNumber: number;
|
|
7
|
+
readonly tick: number;
|
|
8
|
+
readonly drawCalls: number;
|
|
9
|
+
readonly triangles: number;
|
|
10
|
+
readonly programs: number;
|
|
11
|
+
readonly renderMs: number;
|
|
12
|
+
}
|
|
4
13
|
declare global {
|
|
5
14
|
interface Window {
|
|
6
15
|
nativeGame3DPlayer: {
|
|
7
16
|
readonly pause: () => void;
|
|
17
|
+
/** Resumes live play after `pause`, `step` or `advance`. */
|
|
18
|
+
readonly resume: () => void;
|
|
19
|
+
/** Counters of the last rendered frame. */
|
|
20
|
+
readonly stats: () => GamePlayerFrameStats3D;
|
|
8
21
|
readonly step: (input: GameInputFrame3D) => Promise<GamePlayerRenderedFrame>;
|
|
9
22
|
readonly reset: () => Promise<GamePlayerRenderedFrame>;
|
|
10
23
|
readonly advance: (inputs: readonly GameInputFrame3D[]) => Promise<GamePlayerRenderedFrame>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"standalone-player3d.d.ts","sourceRoot":"","sources":["../src/standalone-player3d.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqD,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAE/G,OAAO,EAAmF,KAAK,gBAAgB,EAAE,KAAK,cAAc,EAAE,KAAK,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAe3L,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"standalone-player3d.d.ts","sourceRoot":"","sources":["../src/standalone-player3d.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqD,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAE/G,OAAO,EAAmF,KAAK,gBAAgB,EAAE,KAAK,cAAc,EAAE,KAAK,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAe3L,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAGrE,qEAAqE;AACrE,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,kBAAkB,EAAE;YAClB,QAAQ,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC;YAC3B,4DAA4D;YAC5D,QAAQ,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC;YAC5B,2CAA2C;YAC3C,QAAQ,CAAC,KAAK,EAAE,MAAM,sBAAsB,CAAC;YAC7C,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,OAAO,CAAC,uBAAuB,CAAC,CAAC;YAC7E,QAAQ,CAAC,KAAK,EAAE,MAAM,OAAO,CAAC,uBAAuB,CAAC,CAAC;YACvD,QAAQ,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,SAAS,gBAAgB,EAAE,KAAK,OAAO,CAAC,uBAAuB,CAAC,CAAC;YAC5F,QAAQ,CAAC,QAAQ,EAAE,MAAM,cAAc,CAAC;YACxC,QAAQ,CAAC,OAAO,EAAE,MAAM,gBAAgB,CAAC;YACzC,6DAA6D;YAC7D,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,eAAe,EAAE,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC,CAAC;SAC7E,CAAC;KACH;CACF"}
|