@nodetool-ai/game-renderer 0.8.5 → 0.8.7

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.
Files changed (80) hide show
  1. package/dist/.nodetool-build-stamp +1 -1
  2. package/dist/build-expo.d.ts +76 -0
  3. package/dist/build-expo.d.ts.map +1 -0
  4. package/dist/build-expo.js +454 -0
  5. package/dist/build-expo.js.map +1 -0
  6. package/dist/build-tauri.d.ts +7 -0
  7. package/dist/build-tauri.d.ts.map +1 -1
  8. package/dist/build-tauri.js +2 -1
  9. package/dist/build-tauri.js.map +1 -1
  10. package/dist/build3d.d.ts.map +1 -1
  11. package/dist/build3d.js +3 -2
  12. package/dist/build3d.js.map +1 -1
  13. package/dist/frame-budget.d.ts +16 -0
  14. package/dist/frame-budget.d.ts.map +1 -1
  15. package/dist/frame-budget.js +19 -1
  16. package/dist/frame-budget.js.map +1 -1
  17. package/dist/game3d-capture-page.js +223 -223
  18. package/dist/game3d-player.js +320 -296
  19. package/dist/particles/curves.d.ts.map +1 -1
  20. package/dist/particles/curves.js +38 -14
  21. package/dist/particles/curves.js.map +1 -1
  22. package/dist/particles/index.d.ts +1 -1
  23. package/dist/particles/index.d.ts.map +1 -1
  24. package/dist/particles/index.js +1 -1
  25. package/dist/particles/index.js.map +1 -1
  26. package/dist/particles/particles3d.d.ts +35 -0
  27. package/dist/particles/particles3d.d.ts.map +1 -1
  28. package/dist/particles/particles3d.js +99 -2
  29. package/dist/particles/particles3d.js.map +1 -1
  30. package/dist/particles/pass3d.d.ts +9 -2
  31. package/dist/particles/pass3d.d.ts.map +1 -1
  32. package/dist/particles/pass3d.js +40 -7
  33. package/dist/particles/pass3d.js.map +1 -1
  34. package/dist/perf.d.ts +102 -0
  35. package/dist/perf.d.ts.map +1 -0
  36. package/dist/perf.js +238 -0
  37. package/dist/perf.js.map +1 -0
  38. package/dist/player-v1.js +456 -412
  39. package/dist/renderer3d/assets/cache.d.ts +3 -1
  40. package/dist/renderer3d/assets/cache.d.ts.map +1 -1
  41. package/dist/renderer3d/assets/cache.js +25 -1
  42. package/dist/renderer3d/assets/cache.js.map +1 -1
  43. package/dist/renderer3d/environment/index.d.ts +4 -0
  44. package/dist/renderer3d/environment/index.d.ts.map +1 -1
  45. package/dist/renderer3d/environment/index.js +30 -2
  46. package/dist/renderer3d/environment/index.js.map +1 -1
  47. package/dist/renderer3d/hud/paint.d.ts.map +1 -1
  48. package/dist/renderer3d/hud/paint.js +15 -0
  49. package/dist/renderer3d/hud/paint.js.map +1 -1
  50. package/dist/renderer3d/index.d.ts +7 -1
  51. package/dist/renderer3d/index.d.ts.map +1 -1
  52. package/dist/renderer3d/index.js +19 -8
  53. package/dist/renderer3d/index.js.map +1 -1
  54. package/dist/renderer3d/scene-sync.d.ts.map +1 -1
  55. package/dist/renderer3d/scene-sync.js +42 -18
  56. package/dist/renderer3d/scene-sync.js.map +1 -1
  57. package/dist/renderer3d/shadows/cascades.d.ts +25 -2
  58. package/dist/renderer3d/shadows/cascades.d.ts.map +1 -1
  59. package/dist/renderer3d/shadows/cascades.js +67 -11
  60. package/dist/renderer3d/shadows/cascades.js.map +1 -1
  61. package/dist/renderer3d/types.d.ts +7 -1
  62. package/dist/renderer3d/types.d.ts.map +1 -1
  63. package/dist/smoke.d.ts.map +1 -1
  64. package/dist/smoke.js +7 -45
  65. package/dist/smoke.js.map +1 -1
  66. package/dist/standalone-player.js +4 -2
  67. package/dist/standalone-player.js.map +1 -1
  68. package/dist/standalone-player3d.d.ts +13 -0
  69. package/dist/standalone-player3d.d.ts.map +1 -1
  70. package/dist/standalone-player3d.js +25 -8
  71. package/dist/standalone-player3d.js.map +1 -1
  72. package/dist/static-server.d.ts +10 -0
  73. package/dist/static-server.d.ts.map +1 -0
  74. package/dist/static-server.js +52 -0
  75. package/dist/static-server.js.map +1 -0
  76. package/dist/ui/controller.d.ts +2 -0
  77. package/dist/ui/controller.d.ts.map +1 -1
  78. package/dist/ui/controller.js +13 -0
  79. package/dist/ui/controller.js.map +1 -1
  80. 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
- /** Includes materials created by presentation passes after the light update. */
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
- /** Centers each cascade's shadow camera on its slice of the view, snapped to the texel grid. */
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;AAW/E,+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,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,CAOb;IAED,gFAAgF;IAChF,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,GAAG,IAAI,CAEtC;IAED,OAAO,CAAC,OAAO;IAef,OAAO,CAAC,aAAa;IAUrB,OAAO,CAAC,kBAAkB;IAe1B,gGAAgG;IAChG,OAAO,CAAC,KAAK;IA4Bb,OAAO,CAAC,cAAc;IAkBtB,kHAAkH;IAClH,OAAO,CAAC,aAAa;CAItB"}
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
- /** Includes materials created by presentation passes after the light update. */
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
- /** Centers each cascade's shadow camera on its slice of the view, snapped to the texel grid. */
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 = new THREE.Vector3(0, 0, -1).applyQuaternion(source.quaternion).normalize();
157
- const orientation = new THREE.Matrix4().lookAt(origin, direction, Math.abs(direction.y) > 0.999 ? new THREE.Vector3(0, 0, 1) : up);
158
- const inverse = orientation.clone().invert();
159
- const cameraToLight = new THREE.Matrix4().multiplyMatrices(inverse, camera.matrixWorld);
160
- const box = new THREE.Box3();
161
- const center = new THREE.Vector3();
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 [...this.lightSpaceFrustum.vertices.near, ...this.lightSpaceFrustum.vertices.far]) {
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 = new Set();
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":"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"}
@@ -7,8 +7,14 @@ export interface CachedModel {
7
7
  }
8
8
  export interface RenderInstance {
9
9
  modelAssetId?: string;
10
- sampledAnimationKey?: string;
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,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,oBAAoB,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IACxC,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"}
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"}
@@ -1 +1 @@
1
- {"version":3,"file":"smoke.d.ts","sourceRoot":"","sources":["../src/smoke.ts"],"names":[],"mappings":"AASA,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;AAWD,yGAAyG;AACzG,wBAAsB,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,GAAE,gBAAqB,GAAG,OAAO,CAAC,eAAe,CAAC,CAgHrH"}
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 { extname, join, sep } from "node:path";
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
- const TYPES = {
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
- const server = createServer((request, response) => {
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
- await new Promise((resolve, reject) => { server.once("error", reject); server.listen(0, "127.0.0.1", resolve); });
59
- const address = server.address();
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
- // Playwright may live in the optional-node root (`nodetool runtime add playwright`).
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 new Promise(resolve => server.close(() => resolve()));
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":"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"}
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;AAErE,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,kBAAkB,EAAE;YAClB,QAAQ,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC;YAC3B,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"}
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"}