@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
@@ -49,7 +49,7 @@ async function startPlayer(game, canvas, controller, verifiedAssets) {
49
49
  for (const logicalId of Object.keys(game.assets)) {
50
50
  await verifiedAssets.verify(logicalId);
51
51
  }
52
- const open = () => createGameSession3D(game, 1, undefined, { signal: controller.signal,
52
+ const open = () => createGameSession3D(game, 1, undefined, { signal: controller.signal, scriptOverrun: "skip",
53
53
  resolveCollider: async (binding) => {
54
54
  const bytes = await verifiedAssets.bytes(Object.entries(game.assets).find(([, entry]) => entry.assetId === binding.assetId)?.[0] ?? "");
55
55
  if (!bytes) {
@@ -81,7 +81,7 @@ async function startPlayer(game, canvas, controller, verifiedAssets) {
81
81
  resolveAsset: (binding) => verifiedAssets.bindingUrl(binding),
82
82
  status, mixer: game.audio?.mixer });
83
83
  audio.preload();
84
- audio.sync(session.snapshot());
84
+ audio.sync(session.audioState());
85
85
  const budget = new GameFrameBudgetMonitor(game.performance?.budgets);
86
86
  const particles = new GameParticles3D(game.tickRate);
87
87
  for (const event of ["pointerdown", "keydown"]) {
@@ -99,7 +99,7 @@ async function startPlayer(game, canvas, controller, verifiedAssets) {
99
99
  for (const event of result.events) {
100
100
  audio.handle(event);
101
101
  }
102
- audio.sync(session.snapshot());
102
+ audio.sync(session.audioState());
103
103
  };
104
104
  const input = new GameInput3D();
105
105
  // HUD buttons press their input actions on the same input, by pointer, touch or gamepad focus.
@@ -169,6 +169,12 @@ async function startPlayer(game, canvas, controller, verifiedAssets) {
169
169
  let rendering;
170
170
  let disposed = false;
171
171
  let frameNumber = 0;
172
+ let lastStats = { frameNumber: 0, tick: 0, drawCalls: 0, triangles: 0, programs: 0, renderMs: 0 };
173
+ const observe = (stats, tick) => {
174
+ frameNumber += 1;
175
+ lastStats = { frameNumber, tick, drawCalls: stats.drawCalls, triangles: stats.triangles, programs: stats.programs, renderMs: stats.renderMs };
176
+ budget.observe({ drawCalls: stats.drawCalls, triangles: stats.triangles, particles: particles.count, voices: gameAudioVoiceCount(audio.mixerState()) });
177
+ };
172
178
  let replacement = new AbortController();
173
179
  let commands = Promise.resolve();
174
180
  function requireCurrent(signal) {
@@ -194,8 +200,7 @@ async function startPlayer(game, canvas, controller, verifiedAssets) {
194
200
  try {
195
201
  const stats = await pending;
196
202
  requireCurrent(signal);
197
- frameNumber += 1;
198
- budget.observe({ drawCalls: stats.drawCalls, triangles: stats.triangles, particles: particles.count, voices: gameAudioVoiceCount(audio.mixerState()) });
203
+ observe(stats, renderedFrame.tick);
199
204
  return { tick: renderedFrame.tick, frameNumber };
200
205
  }
201
206
  finally {
@@ -210,13 +215,13 @@ async function startPlayer(game, canvas, controller, verifiedAssets) {
210
215
  }
211
216
  audio.updateSpatial(gameAudioSpatialView3D(frame, interpolation));
212
217
  hud.update(frame.ui, hudViewport, hudInsets);
218
+ const renderedTick = frame.tick;
213
219
  const pending = renderer.render(hud.annotate(frame), interpolation, particles)
214
220
  .then((stats) => {
215
221
  if (disposed) {
216
222
  return;
217
223
  }
218
- frameNumber += 1;
219
- budget.observe({ drawCalls: stats.drawCalls, triangles: stats.triangles, particles: particles.count, voices: gameAudioVoiceCount(audio.mixerState()) });
224
+ observe(stats, renderedTick);
220
225
  }).catch((error) => {
221
226
  if (!disposed) {
222
227
  if (renderer.capabilities.deviceStatus !== "lost") {
@@ -257,6 +262,14 @@ async function startPlayer(game, canvas, controller, verifiedAssets) {
257
262
  void window.nativeGame3DPlayer.reset().then(() => setPaused(false))
258
263
  .catch((error) => status(error instanceof Error ? error.message : "Reset failed"));
259
264
  }, { signal: controller.signal });
265
+ const fullscreen = document.getElementById("fullscreen");
266
+ if (fullscreen && !document.fullscreenEnabled) {
267
+ fullscreen.hidden = true;
268
+ }
269
+ fullscreen?.addEventListener("click", () => {
270
+ const request = document.fullscreenElement ? document.exitFullscreen() : document.documentElement.requestFullscreen({ navigationUI: "hide" });
271
+ void request.catch(() => status("Fullscreen is unavailable"));
272
+ }, { signal: controller.signal });
260
273
  window.addEventListener("beforeunload", () => {
261
274
  disposed = true;
262
275
  replacement.abort();
@@ -272,6 +285,10 @@ async function startPlayer(game, canvas, controller, verifiedAssets) {
272
285
  }, { once: true });
273
286
  window.nativeGame3DPlayer = Object.freeze({
274
287
  pause: () => setPaused(true),
288
+ resume: () => { if (!disposed) {
289
+ setPaused(false);
290
+ } },
291
+ stats: () => lastStats,
275
292
  step: async (nextInput) => {
276
293
  const parsed = gameInputFrame3D.parse(nextInput);
277
294
  const signal = replacement.signal;
@@ -313,7 +330,7 @@ async function startPlayer(game, canvas, controller, verifiedAssets) {
313
330
  session.dispose();
314
331
  session = restored;
315
332
  saves.clear();
316
- audio.reset(session.snapshot());
333
+ audio.reset(session.audioState());
317
334
  frame = session.frame();
318
335
  particles.clear();
319
336
  release();
@@ -1 +1 @@
1
- {"version":3,"file":"standalone-player3d.js","sourceRoot":"","sources":["../src/standalone-player3d.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"standalone-player3d.js","sourceRoot":"","sources":["../src/standalone-player3d.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import type { Browser, LaunchOptions } from "playwright";
2
+ export interface StandaloneServer {
3
+ readonly origin: string;
4
+ close(): Promise<void>;
5
+ }
6
+ /** Serves an exported player directory on a loopback port. Paths that resolve outside `root` get 403. */
7
+ export declare function serveStandaloneDirectory(root: string): Promise<StandaloneServer>;
8
+ /** Launches Playwright's Chromium. Playwright may live in the optional-node root (`nodetool runtime add playwright`). */
9
+ export declare function launchStandaloneChromium(options: LaunchOptions): Promise<Browser>;
10
+ //# sourceMappingURL=static-server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"static-server.d.ts","sourceRoot":"","sources":["../src/static-server.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAe,aAAa,EAAE,MAAM,YAAY,CAAC;AAWtE,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAED,yGAAyG;AACzG,wBAAsB,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAgBtF;AAED,yHAAyH;AACzH,wBAAsB,wBAAwB,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,CAKvF"}
@@ -0,0 +1,52 @@
1
+ import { createServer } from "node:http";
2
+ 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";
6
+ const TYPES = {
7
+ ".html": "text/html", ".js": "text/javascript", ".css": "text/css", ".json": "application/json",
8
+ ".wasm": "application/wasm", ".png": "image/png", ".jpg": "image/jpeg", ".webp": "image/webp",
9
+ ".glb": "model/gltf-binary", ".wav": "audio/wav", ".mp3": "audio/mpeg", ".ogg": "audio/ogg",
10
+ ".ttf": "font/ttf", ".otf": "font/otf"
11
+ };
12
+ /** Serves an exported player directory on a loopback port. Paths that resolve outside `root` get 403. */
13
+ export async function serveStandaloneDirectory(root) {
14
+ const server = createServer((request, response) => {
15
+ void (async () => {
16
+ const pathname = decodeURIComponent(new URL(request.url ?? "/", "http://127.0.0.1").pathname);
17
+ if (pathname === "/favicon.ico") {
18
+ response.writeHead(204);
19
+ response.end();
20
+ return;
21
+ }
22
+ const path = await realpath(join(root, pathname === "/" ? "index.html" : pathname.slice(1)));
23
+ if (!path.startsWith(`${root}${sep}`)) {
24
+ response.writeHead(403);
25
+ response.end();
26
+ return;
27
+ } // key-boundary-ok: node:path sep anchors containment after realpath.
28
+ const bytes = await readFile(path);
29
+ response.setHeader("content-type", TYPES[extname(path)] ?? "application/octet-stream");
30
+ response.end(bytes);
31
+ })().catch(() => { response.writeHead(404); response.end(); });
32
+ });
33
+ await new Promise((resolve, reject) => { server.once("error", reject); server.listen(0, "127.0.0.1", resolve); });
34
+ const address = server.address();
35
+ if (!address || typeof address === "string") {
36
+ server.close();
37
+ throw new Error("Static player server did not bind");
38
+ }
39
+ return { origin: `http://127.0.0.1:${address.port}`, close: () => new Promise((resolve) => server.close(() => resolve())) };
40
+ }
41
+ /** Launches Playwright's Chromium. Playwright may live in the optional-node root (`nodetool runtime add playwright`). */
42
+ export async function launchStandaloneChromium(options) {
43
+ let playwright;
44
+ try {
45
+ playwright = await importOptionalModule("playwright", { commonJs: true });
46
+ }
47
+ catch (error) {
48
+ throw missingRuntimePackageError("playwright", "playwright", error);
49
+ }
50
+ return playwright.chromium.launch(options);
51
+ }
52
+ //# sourceMappingURL=static-server.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"static-server.js","sourceRoot":"","sources":["../src/static-server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAe,MAAM,WAAW,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAE/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AAEnE,MAAM,KAAK,GAAqC;IAC9C,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,iBAAiB,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,kBAAkB;IAC/F,OAAO,EAAE,kBAAkB,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,YAAY;IAC7F,MAAM,EAAE,mBAAmB,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,WAAW;IAC3F,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU;CACvC,CAAC;AAOF,yGAAyG;AACzG,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAAC,IAAY;IACzD,MAAM,MAAM,GAAW,YAAY,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE;QACxD,KAAK,CAAC,KAAK,IAAI,EAAE;YACf,MAAM,QAAQ,GAAG,kBAAkB,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,IAAI,GAAG,EAAE,kBAAkB,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC9F,IAAI,QAAQ,KAAK,cAAc,EAAE,CAAC;gBAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;gBAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;gBAAC,OAAO;YAAC,CAAC;YACrF,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,KAAK,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7F,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC;gBAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;gBAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;gBAAC,OAAO;YAAC,CAAC,CAAC,qEAAqE;YACjK,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC;YACnC,QAAQ,CAAC,SAAS,CAAC,cAAc,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,0BAA0B,CAAC,CAAC;YACvF,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACjE,CAAC,CAAC,CAAC;IACH,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACxH,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;IACjC,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAAC,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;IAAC,CAAC;IACtH,OAAO,EAAE,MAAM,EAAE,oBAAoB,OAAO,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC;AACpI,CAAC;AAED,yHAAyH;AACzH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAAC,OAAsB;IACnE,IAAI,UAA8C,CAAC;IACnD,IAAI,CAAC;QAAC,UAAU,GAAG,MAAM,oBAAoB,CAAqC,YAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IAAC,CAAC;IACtH,OAAO,KAAK,EAAE,CAAC;QAAC,MAAM,0BAA0B,CAAC,YAAY,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;IAAC,CAAC;IACtF,OAAO,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AAC7C,CAAC"}
@@ -20,6 +20,8 @@ export declare class GameUiController {
20
20
  private readonly held;
21
21
  private readonly padButtons;
22
22
  private insets;
23
+ private viewport;
24
+ private annotated;
23
25
  constructor(sink: GameUiActionSink, measure: GameUiMeasureText);
24
26
  /** Lays out the frame's HUD tree in the HUD rectangle, for hit tests and focus moves until the next frame. */
25
27
  update(ui: GameUiFrame | undefined, viewport: GameUiViewport, insets?: GameUiInsets): void;
@@ -1 +1 @@
1
- {"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../src/ui/controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../src/ui/controller.ts"],"names":[],"mappings":"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"}
@@ -18,13 +18,20 @@ export class GameUiController {
18
18
  held = new Map();
19
19
  padButtons = new Set();
20
20
  insets;
21
+ viewport;
22
+ annotated;
21
23
  constructor(sink, measure) {
22
24
  this.sink = sink;
23
25
  this.measure = measure;
24
26
  }
25
27
  /** Lays out the frame's HUD tree in the HUD rectangle, for hit tests and focus moves until the next frame. */
26
28
  update(ui, viewport, insets) {
29
+ // Frames between ticks share the tick's HUD tree, so the layout and its text measurement run once per tick.
30
+ if (ui === this.ui && viewport === this.viewport && insets === this.insets) {
31
+ return;
32
+ }
27
33
  this.ui = ui;
34
+ this.viewport = viewport;
28
35
  this.insets = insets;
29
36
  this.boxes = ui ? layoutGameUi(ui, viewport, this.measure, insets) : [];
30
37
  if (this.focusId !== undefined && !this.boxes.some((box) => box.node.kind === "button" && box.node.id === this.focusId)) {
@@ -36,6 +43,11 @@ export class GameUiController {
36
43
  if (!frame.ui || (this.focusId === undefined && this.insets === undefined)) {
37
44
  return frame;
38
45
  }
46
+ const cached = this.annotated;
47
+ // The same tree, focus and insets give the same object, so the HUD painter can skip an unchanged HUD.
48
+ if (cached && cached.source === frame.ui && cached.focusId === this.focusId && cached.insets === this.insets) {
49
+ return { ...frame, ui: cached.ui };
50
+ }
39
51
  const ui = { ...frame.ui };
40
52
  if (this.focusId !== undefined) {
41
53
  ui.focusId = this.focusId;
@@ -43,6 +55,7 @@ export class GameUiController {
43
55
  if (this.insets !== undefined) {
44
56
  ui.insets = this.insets;
45
57
  }
58
+ this.annotated = { source: frame.ui, focusId: this.focusId, insets: this.insets, ui };
46
59
  return { ...frame, ui };
47
60
  }
48
61
  get focusedId() { return this.focusId; }
@@ -1 +1 @@
1
- {"version":3,"file":"controller.js","sourceRoot":"","sources":["../../src/ui/controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"controller.js","sourceRoot":"","sources":["../../src/ui/controller.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nodetool-ai/game-renderer",
3
- "version": "0.8.5",
3
+ "version": "0.8.7",
4
4
  "description": "Native 2D and 3D rendering, capture and web export",
5
5
  "type": "module",
6
6
  "engines": {
@@ -19,14 +19,14 @@
19
19
  "dependencies": {
20
20
  "@jitl/quickjs-ng-wasmfile-release-sync": "0.31.0",
21
21
  "@napi-rs/canvas": "^0.1.65",
22
- "@nodetool-ai/game-runtime": "0.8.5",
23
- "@nodetool-ai/gpu": "0.8.5",
24
- "@nodetool-ai/protocol": "0.8.5",
22
+ "@nodetool-ai/game-runtime": "0.8.7",
23
+ "@nodetool-ai/gpu": "0.8.7",
24
+ "@nodetool-ai/protocol": "0.8.7",
25
25
  "esbuild": "^0.28.1",
26
26
  "three": "0.185.1",
27
27
  "typegpu": "^0.11.6",
28
28
  "zod": "^4.6.5",
29
- "@nodetool-ai/config": "0.8.5"
29
+ "@nodetool-ai/config": "0.8.7"
30
30
  },
31
31
  "devDependencies": {
32
32
  "@playwright/test": "^1.60.0",
@@ -63,6 +63,11 @@
63
63
  "types": "./dist/smoke.d.ts",
64
64
  "import": "./dist/smoke.js"
65
65
  },
66
+ "./perf": {
67
+ "nodetool-dev": "./src/perf.ts",
68
+ "types": "./dist/perf.d.ts",
69
+ "import": "./dist/perf.js"
70
+ },
66
71
  "./build": {
67
72
  "nodetool-dev": "./src/build.ts",
68
73
  "types": "./dist/build.d.ts",
@@ -88,6 +93,11 @@
88
93
  "types": "./dist/build-tauri.d.ts",
89
94
  "import": "./dist/build-tauri.js"
90
95
  },
96
+ "./build-expo": {
97
+ "nodetool-dev": "./src/build-expo.ts",
98
+ "types": "./dist/build-expo.d.ts",
99
+ "import": "./dist/build-expo.js"
100
+ },
91
101
  "./preparation3d": {
92
102
  "nodetool-dev": "./src/preparation3d.ts",
93
103
  "types": "./dist/preparation3d.d.ts",