@aura3d/engine 1.0.5 → 1.0.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 (49) hide show
  1. package/README.md +41 -19
  2. package/dist/animation/AnimationStateGraph.d.ts +2 -0
  3. package/dist/animation/AnimationStateGraph.d.ts.map +1 -0
  4. package/dist/animation/AnimationStateGraph.js +2 -0
  5. package/dist/animation/AnimationStateGraph.js.map +1 -0
  6. package/dist/animation/AnimationStateMachine.d.ts +16 -0
  7. package/dist/animation/AnimationStateMachine.d.ts.map +1 -1
  8. package/dist/animation/AnimationStateMachine.js +69 -7
  9. package/dist/animation/AnimationStateMachine.js.map +1 -1
  10. package/dist/animation/index.d.ts +1 -0
  11. package/dist/animation/index.d.ts.map +1 -1
  12. package/dist/animation/index.js +1 -0
  13. package/dist/animation/index.js.map +1 -1
  14. package/dist/aura3d-cli/cli.js +39 -8
  15. package/dist/aura3d-cli/cli.js.map +1 -1
  16. package/dist/aura3d-cli/index.d.ts +9 -0
  17. package/dist/aura3d-cli/index.d.ts.map +1 -1
  18. package/dist/aura3d-cli/index.js +215 -13
  19. package/dist/aura3d-cli/index.js.map +1 -1
  20. package/dist/aura3d-cli/pull-bridge.d.ts +14 -1
  21. package/dist/aura3d-cli/pull-bridge.d.ts.map +1 -1
  22. package/dist/aura3d-cli/pull-bridge.js +101 -15
  23. package/dist/aura3d-cli/pull-bridge.js.map +1 -1
  24. package/dist/create-aura3d/index.js +1 -1
  25. package/dist/engine/agent-api/FrameLoop.d.ts.map +1 -1
  26. package/dist/engine/agent-api/FrameLoop.js +8 -2
  27. package/dist/engine/agent-api/FrameLoop.js.map +1 -1
  28. package/dist/engine/agent-api/GameAppRuntime.d.ts +62 -0
  29. package/dist/engine/agent-api/GameAppRuntime.d.ts.map +1 -0
  30. package/dist/engine/agent-api/GameAppRuntime.js +189 -0
  31. package/dist/engine/agent-api/GameAppRuntime.js.map +1 -0
  32. package/dist/engine/agent-api/index.d.ts +8 -0
  33. package/dist/engine/agent-api/index.d.ts.map +1 -1
  34. package/dist/engine/agent-api/index.js +12 -0
  35. package/dist/engine/agent-api/index.js.map +1 -1
  36. package/dist/engine/agent-api/product-viewer-runtime.d.ts.map +1 -1
  37. package/dist/engine/production-runtime/TypedGLBActor.d.ts +63 -0
  38. package/dist/engine/production-runtime/TypedGLBActor.d.ts.map +1 -0
  39. package/dist/engine/production-runtime/TypedGLBActor.js +116 -0
  40. package/dist/engine/production-runtime/TypedGLBActor.js.map +1 -0
  41. package/dist/engine/production-runtime/index.d.ts +4 -3
  42. package/dist/engine/production-runtime/index.d.ts.map +1 -1
  43. package/dist/engine/production-runtime/index.js +2 -2
  44. package/dist/engine/production-runtime/index.js.map +1 -1
  45. package/dist/physics/HitboxWorld.d.ts +22 -1
  46. package/dist/physics/HitboxWorld.d.ts.map +1 -1
  47. package/dist/physics/HitboxWorld.js +142 -11
  48. package/dist/physics/HitboxWorld.js.map +1 -1
  49. package/package.json +138 -116
@@ -28,7 +28,7 @@ export function createA3DProject(options) {
28
28
  const packageJson = JSON.parse(readFileSync(packagePath, "utf8"));
29
29
  packageJson.dependencies = {
30
30
  ...(packageJson.dependencies ?? {}),
31
- "@aura3d/engine": options.packageVersion ?? "1.0.5"
31
+ "@aura3d/engine": options.packageVersion ?? "1.0.6"
32
32
  };
33
33
  writeFileSync(packagePath, `${JSON.stringify(packageJson, null, 2)}\n`);
34
34
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"FrameLoop.d.ts","sourceRoot":"","sources":["../../../../../packages/engine/src/agent-api/FrameLoop.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FrameLoop.d.ts","sourceRoot":"","sources":["../../../../../packages/engine/src/agent-api/FrameLoop.ts"],"names":[],"mappings":"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"}
@@ -23,11 +23,17 @@ export class FrameLoop {
23
23
  this.requestFrame =
24
24
  options.useRaf === false
25
25
  ? undefined
26
- : options.requestFrame ?? (typeof requestAnimationFrame === "undefined" ? undefined : requestAnimationFrame);
26
+ : options.requestFrame ??
27
+ (typeof globalThis.requestAnimationFrame === "undefined"
28
+ ? undefined
29
+ : (callback) => globalThis.requestAnimationFrame(callback));
27
30
  this.cancelFrame =
28
31
  options.useRaf === false
29
32
  ? undefined
30
- : options.cancelFrame ?? (typeof cancelAnimationFrame === "undefined" ? undefined : cancelAnimationFrame);
33
+ : options.cancelFrame ??
34
+ (typeof globalThis.cancelAnimationFrame === "undefined"
35
+ ? undefined
36
+ : (handle) => globalThis.cancelAnimationFrame(handle));
31
37
  if (options.autoStart)
32
38
  this.start();
33
39
  }
@@ -1 +1 @@
1
- {"version":3,"file":"FrameLoop.js","sourceRoot":"","sources":["../../../../../packages/engine/src/agent-api/FrameLoop.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FrameLoop.js","sourceRoot":"","sources":["../../../../../packages/engine/src/agent-api/FrameLoop.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,62 @@
1
+ import type { AuraAppFrameCallback, AuraAppHandle, AuraAppScreenshot } from "./AuraAppHandle";
2
+ import type { GameInputController, GameInputOptions } from "./GameRuntime";
3
+ import type { GameRuntimeEvidence, GameRuntimeEvidenceOptions } from "./GameEvidence";
4
+ import { type FrameLoopOptions, type FrameLoopSnapshot } from "./FrameLoop";
5
+ export type GameAppRuntimeStatus = "idle" | "running" | "paused" | "disposed";
6
+ export interface GameAppRuntimeLoopOptions extends Omit<FrameLoopOptions, "autoStart"> {
7
+ }
8
+ export interface GameAppRuntimeResize {
9
+ readonly width: number;
10
+ readonly height: number;
11
+ readonly pixelRatio: number;
12
+ }
13
+ export interface GameAppRuntimeEvidence {
14
+ readonly kind: "aura-game-app-runtime-evidence";
15
+ readonly status: GameAppRuntimeStatus;
16
+ readonly running: boolean;
17
+ readonly paused: boolean;
18
+ readonly disposed: boolean;
19
+ readonly started: boolean;
20
+ readonly frame: number;
21
+ readonly time: number;
22
+ readonly fixedDt: number;
23
+ readonly startCount: number;
24
+ readonly pauseCount: number;
25
+ readonly resumeCount: number;
26
+ readonly stepCount: number;
27
+ readonly resizeCount: number;
28
+ readonly disposeCount: number;
29
+ readonly inputControllers: number;
30
+ readonly activeInputControllers: number;
31
+ readonly lastResize?: GameAppRuntimeResize;
32
+ readonly loop: FrameLoopSnapshot;
33
+ readonly app: GameRuntimeEvidence;
34
+ }
35
+ export interface GameAppRuntimeOptions {
36
+ readonly autoStart?: boolean;
37
+ readonly loop?: GameAppRuntimeLoopOptions;
38
+ readonly input?: GameInputOptions | readonly GameInputOptions[];
39
+ readonly evidence?: GameRuntimeEvidenceOptions;
40
+ }
41
+ export interface GameAppRuntime<TApp extends AuraAppHandle = AuraAppHandle> {
42
+ readonly kind: "aura-game-app-runtime";
43
+ readonly app: TApp;
44
+ readonly input?: GameInputController;
45
+ readonly status: GameAppRuntimeStatus;
46
+ readonly running: boolean;
47
+ readonly paused: boolean;
48
+ readonly disposed: boolean;
49
+ readonly evidence: GameAppRuntimeEvidence;
50
+ start(): GameAppRuntimeEvidence;
51
+ pause(): GameAppRuntimeEvidence;
52
+ resume(): GameAppRuntimeEvidence;
53
+ step(dt?: number): GameAppRuntimeEvidence;
54
+ resize(width: number, height: number, pixelRatio?: number): GameAppRuntimeEvidence;
55
+ onFrame(callback: AuraAppFrameCallback): () => void;
56
+ offFrame(callback: AuraAppFrameCallback): void;
57
+ inputController(options: GameInputOptions): GameInputController;
58
+ screenshot(): AuraAppScreenshot;
59
+ dispose(): GameAppRuntimeEvidence;
60
+ }
61
+ export declare function createGameAppRuntime<TApp extends AuraAppHandle>(app: TApp, options?: GameAppRuntimeOptions): GameAppRuntime<TApp>;
62
+ //# sourceMappingURL=GameAppRuntime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GameAppRuntime.d.ts","sourceRoot":"","sources":["../../../../../packages/engine/src/agent-api/GameAppRuntime.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,189 @@
1
+ import { createFrameLoop } from "./FrameLoop.js";
2
+ export function createGameAppRuntime(app, options = {}) {
3
+ const loop = createFrameLoop({ ...options.loop, autoStart: false });
4
+ const ownedInputs = new Set();
5
+ const frameCallbacks = new Set();
6
+ let status = "idle";
7
+ let started = false;
8
+ let disposed = false;
9
+ let startCount = 0;
10
+ let pauseCount = 0;
11
+ let resumeCount = 0;
12
+ let stepCount = 0;
13
+ let resizeCount = 0;
14
+ let disposeCount = 0;
15
+ let lastResize;
16
+ const loopFrameUnsubscribe = loop.onFrame((frame) => {
17
+ app.step(frame.dt);
18
+ });
19
+ const internalFrameUnsubscribe = app.onFrame((frame) => {
20
+ const loopSnapshot = loop.snapshot();
21
+ for (const input of ownedInputs)
22
+ input.update(frame.dt);
23
+ const normalizedFrame = {
24
+ ...frame,
25
+ fixedDt: loopSnapshot.fixedDt,
26
+ paused: status === "paused" || app.runtime.paused
27
+ };
28
+ for (const callback of [...frameCallbacks]) {
29
+ if (frameCallbacks.has(callback))
30
+ callback(normalizedFrame);
31
+ }
32
+ });
33
+ const registerInput = (inputOptions) => {
34
+ const controller = app.input(inputOptions);
35
+ ownedInputs.add(controller);
36
+ return controller;
37
+ };
38
+ const initialInputs = Array.isArray(options.input) ? options.input : options.input ? [options.input] : [];
39
+ const defaultInput = initialInputs.map(registerInput)[0];
40
+ const evidenceOptions = () => options.evidence ?? {};
41
+ const snapshotEvidence = () => {
42
+ const appRuntime = app.runtime;
43
+ const loopSnapshot = loop.snapshot();
44
+ const activeInputControllers = disposed ? 0 : ownedInputs.size;
45
+ return {
46
+ kind: "aura-game-app-runtime-evidence",
47
+ status,
48
+ running: status === "running",
49
+ paused: status === "paused" || appRuntime.paused,
50
+ disposed,
51
+ started,
52
+ frame: appRuntime.frame,
53
+ time: appRuntime.time,
54
+ fixedDt: loopSnapshot.fixedDt,
55
+ startCount,
56
+ pauseCount,
57
+ resumeCount,
58
+ stepCount,
59
+ resizeCount,
60
+ disposeCount,
61
+ inputControllers: ownedInputs.size,
62
+ activeInputControllers,
63
+ ...(lastResize ? { lastResize } : {}),
64
+ loop: loopSnapshot,
65
+ app: app.evidence(evidenceOptions())
66
+ };
67
+ };
68
+ const assertAlive = (method) => {
69
+ if (disposed) {
70
+ throw new Error(`GameAppRuntime.${method}() cannot run after dispose(). Create a new game app runtime instead.`);
71
+ }
72
+ };
73
+ const runtime = {
74
+ kind: "aura-game-app-runtime",
75
+ app,
76
+ get input() {
77
+ return defaultInput;
78
+ },
79
+ get status() {
80
+ return status;
81
+ },
82
+ get running() {
83
+ return status === "running";
84
+ },
85
+ get paused() {
86
+ return status === "paused" || app.runtime.paused;
87
+ },
88
+ get disposed() {
89
+ return disposed;
90
+ },
91
+ get evidence() {
92
+ return snapshotEvidence();
93
+ },
94
+ start() {
95
+ assertAlive("start");
96
+ if (!started) {
97
+ started = true;
98
+ startCount += 1;
99
+ }
100
+ if (status !== "running") {
101
+ status = "running";
102
+ loop.start();
103
+ app.resume();
104
+ }
105
+ return snapshotEvidence();
106
+ },
107
+ pause() {
108
+ assertAlive("pause");
109
+ if (status !== "paused")
110
+ pauseCount += 1;
111
+ status = "paused";
112
+ loop.pause();
113
+ app.pause();
114
+ return snapshotEvidence();
115
+ },
116
+ resume() {
117
+ assertAlive("resume");
118
+ if (status !== "running")
119
+ resumeCount += 1;
120
+ started = true;
121
+ status = "running";
122
+ loop.resume();
123
+ app.resume();
124
+ return snapshotEvidence();
125
+ },
126
+ step(dt = loop.snapshot().fixedDt) {
127
+ assertAlive("step");
128
+ stepCount += 1;
129
+ loop.step(Math.max(0, dt));
130
+ return snapshotEvidence();
131
+ },
132
+ resize(width, height, pixelRatio = 1) {
133
+ assertAlive("resize");
134
+ const safeWidth = Math.max(1, Math.floor(width));
135
+ const safeHeight = Math.max(1, Math.floor(height));
136
+ const safePixelRatio = Math.max(0.01, pixelRatio);
137
+ resizeCount += 1;
138
+ lastResize = {
139
+ width: safeWidth,
140
+ height: safeHeight,
141
+ pixelRatio: safePixelRatio
142
+ };
143
+ if (app.canvas) {
144
+ app.canvas.width = Math.max(1, Math.floor(safeWidth * safePixelRatio));
145
+ app.canvas.height = Math.max(1, Math.floor(safeHeight * safePixelRatio));
146
+ app.canvas.style.width = `${safeWidth}px`;
147
+ app.canvas.style.height = `${safeHeight}px`;
148
+ }
149
+ return snapshotEvidence();
150
+ },
151
+ onFrame(callback) {
152
+ assertAlive("onFrame");
153
+ frameCallbacks.add(callback);
154
+ return () => {
155
+ frameCallbacks.delete(callback);
156
+ };
157
+ },
158
+ offFrame(callback) {
159
+ frameCallbacks.delete(callback);
160
+ },
161
+ inputController(inputOptions) {
162
+ assertAlive("inputController");
163
+ return registerInput(inputOptions);
164
+ },
165
+ screenshot() {
166
+ assertAlive("screenshot");
167
+ return app.screenshot();
168
+ },
169
+ dispose() {
170
+ if (disposed)
171
+ return snapshotEvidence();
172
+ disposeCount += 1;
173
+ status = "disposed";
174
+ disposed = true;
175
+ loopFrameUnsubscribe();
176
+ internalFrameUnsubscribe();
177
+ frameCallbacks.clear();
178
+ for (const input of ownedInputs)
179
+ input.dispose();
180
+ loop.dispose();
181
+ app.dispose();
182
+ return snapshotEvidence();
183
+ }
184
+ };
185
+ if (options.autoStart !== false)
186
+ runtime.start();
187
+ return runtime;
188
+ }
189
+ //# sourceMappingURL=GameAppRuntime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GameAppRuntime.js","sourceRoot":"","sources":["../../../../../packages/engine/src/agent-api/GameAppRuntime.ts"],"names":[],"mappings":"AAcA,OAAO,EACL,eAAe,EAGhB,MAAM,aAAa,CAAC;AA+DrB,MAAM,UAAU,oBAAoB,CAClC,GAAS,EACT,UAAiC,EAAE;IAEnC,MAAM,IAAI,GAAG,eAAe,CAAC,EAAE,GAAG,OAAO,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;IACpE,MAAM,WAAW,GAAG,IAAI,GAAG,EAAuB,CAAC;IACnD,MAAM,cAAc,GAAG,IAAI,GAAG,EAAwB,CAAC;IACvD,IAAI,MAAM,GAAyB,MAAM,CAAC;IAC1C,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,IAAI,UAA4C,CAAC;IAEjD,MAAM,oBAAoB,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QAClD,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACrB,CAAC,CAAC,CAAC;IACH,MAAM,wBAAwB,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QACrD,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QACrC,KAAK,MAAM,KAAK,IAAI,WAAW;YAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACxD,MAAM,eAAe,GAAiB;YACpC,GAAG,KAAK;YACR,OAAO,EAAE,YAAY,CAAC,OAAO;YAC7B,MAAM,EAAE,MAAM,KAAK,QAAQ,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM;SAClD,CAAC;QACF,KAAK,MAAM,QAAQ,IAAI,CAAC,GAAG,cAAc,CAAC,EAAE,CAAC;YAC3C,IAAI,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC;gBAAE,QAAQ,CAAC,eAAe,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,aAAa,GAAG,CAAC,YAA8B,EAAuB,EAAE;QAC5E,MAAM,UAAU,GAAG,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAC3C,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC5B,OAAO,UAAU,CAAC;IACpB,CAAC,CAAC;IAEF,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1G,MAAM,YAAY,GAAG,aAAa,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;IAEzD,MAAM,eAAe,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC;IACrD,MAAM,gBAAgB,GAAG,GAA2B,EAAE;QACpD,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC;QAC/B,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QACrC,MAAM,sBAAsB,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC;QAC/D,OAAO;YACL,IAAI,EAAE,gCAAgC;YACtC,MAAM;YACN,OAAO,EAAE,MAAM,KAAK,SAAS;YAC7B,MAAM,EAAE,MAAM,KAAK,QAAQ,IAAI,UAAU,CAAC,MAAM;YAChD,QAAQ;YACR,OAAO;YACP,KAAK,EAAE,UAAU,CAAC,KAAK;YACvB,IAAI,EAAE,UAAU,CAAC,IAAI;YACrB,OAAO,EAAE,YAAY,CAAC,OAAO;YAC7B,UAAU;YACV,UAAU;YACV,WAAW;YACX,SAAS;YACT,WAAW;YACX,YAAY;YACZ,gBAAgB,EAAE,WAAW,CAAC,IAAI;YAClC,sBAAsB;YACtB,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACrC,IAAI,EAAE,YAAY;YAClB,GAAG,EAAE,GAAG,CAAC,QAAQ,CAAC,eAAe,EAAE,CAAC;SACrC,CAAC;IACJ,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,CAAC,MAAc,EAAE,EAAE;QACrC,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,kBAAkB,MAAM,uEAAuE,CAAC,CAAC;QACnH,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,OAAO,GAAyB;QACpC,IAAI,EAAE,uBAAuB;QAC7B,GAAG;QACH,IAAI,KAAK;YACP,OAAO,YAAY,CAAC;QACtB,CAAC;QACD,IAAI,MAAM;YACR,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,IAAI,OAAO;YACT,OAAO,MAAM,KAAK,SAAS,CAAC;QAC9B,CAAC;QACD,IAAI,MAAM;YACR,OAAO,MAAM,KAAK,QAAQ,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC;QACnD,CAAC;QACD,IAAI,QAAQ;YACV,OAAO,QAAQ,CAAC;QAClB,CAAC;QACD,IAAI,QAAQ;YACV,OAAO,gBAAgB,EAAE,CAAC;QAC5B,CAAC;QACD,KAAK;YACH,WAAW,CAAC,OAAO,CAAC,CAAC;YACrB,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO,GAAG,IAAI,CAAC;gBACf,UAAU,IAAI,CAAC,CAAC;YAClB,CAAC;YACD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,MAAM,GAAG,SAAS,CAAC;gBACnB,IAAI,CAAC,KAAK,EAAE,CAAC;gBACb,GAAG,CAAC,MAAM,EAAE,CAAC;YACf,CAAC;YACD,OAAO,gBAAgB,EAAE,CAAC;QAC5B,CAAC;QACD,KAAK;YACH,WAAW,CAAC,OAAO,CAAC,CAAC;YACrB,IAAI,MAAM,KAAK,QAAQ;gBAAE,UAAU,IAAI,CAAC,CAAC;YACzC,MAAM,GAAG,QAAQ,CAAC;YAClB,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,GAAG,CAAC,KAAK,EAAE,CAAC;YACZ,OAAO,gBAAgB,EAAE,CAAC;QAC5B,CAAC;QACD,MAAM;YACJ,WAAW,CAAC,QAAQ,CAAC,CAAC;YACtB,IAAI,MAAM,KAAK,SAAS;gBAAE,WAAW,IAAI,CAAC,CAAC;YAC3C,OAAO,GAAG,IAAI,CAAC;YACf,MAAM,GAAG,SAAS,CAAC;YACnB,IAAI,CAAC,MAAM,EAAE,CAAC;YACd,GAAG,CAAC,MAAM,EAAE,CAAC;YACb,OAAO,gBAAgB,EAAE,CAAC;QAC5B,CAAC;QACD,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,OAAO;YAC/B,WAAW,CAAC,MAAM,CAAC,CAAC;YACpB,SAAS,IAAI,CAAC,CAAC;YACf,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;YAC3B,OAAO,gBAAgB,EAAE,CAAC;QAC5B,CAAC;QACD,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,GAAG,CAAC;YAClC,WAAW,CAAC,QAAQ,CAAC,CAAC;YACtB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;YACjD,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;YACnD,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;YAClD,WAAW,IAAI,CAAC,CAAC;YACjB,UAAU,GAAG;gBACX,KAAK,EAAE,SAAS;gBAChB,MAAM,EAAE,UAAU;gBAClB,UAAU,EAAE,cAAc;aAC3B,CAAC;YACF,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;gBACf,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,cAAc,CAAC,CAAC,CAAC;gBACvE,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,cAAc,CAAC,CAAC,CAAC;gBACzE,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,SAAS,IAAI,CAAC;gBAC1C,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,UAAU,IAAI,CAAC;YAC9C,CAAC;YACD,OAAO,gBAAgB,EAAE,CAAC;QAC5B,CAAC;QACD,OAAO,CAAC,QAAQ;YACd,WAAW,CAAC,SAAS,CAAC,CAAC;YACvB,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC7B,OAAO,GAAG,EAAE;gBACV,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAClC,CAAC,CAAC;QACJ,CAAC;QACD,QAAQ,CAAC,QAAQ;YACf,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAClC,CAAC;QACD,eAAe,CAAC,YAAY;YAC1B,WAAW,CAAC,iBAAiB,CAAC,CAAC;YAC/B,OAAO,aAAa,CAAC,YAAY,CAAC,CAAC;QACrC,CAAC;QACD,UAAU;YACR,WAAW,CAAC,YAAY,CAAC,CAAC;YAC1B,OAAO,GAAG,CAAC,UAAU,EAAE,CAAC;QAC1B,CAAC;QACD,OAAO;YACL,IAAI,QAAQ;gBAAE,OAAO,gBAAgB,EAAE,CAAC;YACxC,YAAY,IAAI,CAAC,CAAC;YAClB,MAAM,GAAG,UAAU,CAAC;YACpB,QAAQ,GAAG,IAAI,CAAC;YAChB,oBAAoB,EAAE,CAAC;YACvB,wBAAwB,EAAE,CAAC;YAC3B,cAAc,CAAC,KAAK,EAAE,CAAC;YACvB,KAAK,MAAM,KAAK,IAAI,WAAW;gBAAE,KAAK,CAAC,OAAO,EAAE,CAAC;YACjD,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,GAAG,CAAC,OAAO,EAAE,CAAC;YACd,OAAO,gBAAgB,EAAE,CAAC;QAC5B,CAAC;KACF,CAAC;IAEF,IAAI,OAAO,CAAC,SAAS,KAAK,KAAK;QAAE,OAAO,CAAC,KAAK,EAAE,CAAC;IACjD,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -17,8 +17,10 @@ import { createCartoonDirectorPlan } from "./CartoonDirector";
17
17
  import { createCartoonPerformance } from "./CartoonPerformance";
18
18
  import { createCartoonRenderOutputPackageMetadata, createCartoonRenderQueue } from "./CartoonRenderQueue";
19
19
  import { collectPromptAnimationEvidence } from "./PromptAnimationEvidence";
20
+ import { type GameAppRuntime, type GameAppRuntimeOptions } from "./GameAppRuntime";
20
21
  export { Engine } from "@aura3d/core";
21
22
  export { asAuraAppHandle, isAuraAppHandle, type AuraAppFrame, type AuraAppFrameCallback, type AuraAppHandle, type AuraAppNodeRegistryLike, type AuraAppRuntimeState, type AuraAppScreenshot } from "./AuraAppHandle";
23
+ export { createGameAppRuntime, type GameAppRuntime, type GameAppRuntimeEvidence, type GameAppRuntimeLoopOptions, type GameAppRuntimeOptions, type GameAppRuntimeResize, type GameAppRuntimeStatus } from "./GameAppRuntime";
22
24
  export { FrameLoop, createFrameLoop, type FrameLoopCallback, type FrameLoopFrame, type FrameLoopOptions, type FrameLoopSnapshot, type FrameLoopSource } from "./FrameLoop";
23
25
  export { createCombatWorld, createGameCameraDirector, createGameEffects, applyGameCombatEventsToRuntime, createGameAccessibilityFocus, createGameAccessibilityLabel, createGameAccessibilityRuntimeSettings, createGameHighContrastSource, createGameHudBindings, createGameHudComboBinding, createGameHudDebugToggleBinding, createGameHudHealthBinding, createGameHudMeterBinding, createGameHudRoundBinding, createGameHudSnapshot, createGameHudTimerBinding, createGameBoxCollider, createGameCapsuleCollider, createGameColliderDebugGeometry, createGameCombatDebugGeometry, createGameDebugOverlayData, createGameDebugSceneNodes, createGameHitboxDebugGeometry, createGameInput, createGameInputReplay, createGameInputReplayDriver, createGameJumpAssist, createGameKinematicBody, createGamePauseControlsSource, createGameRectCollider, createGameReducedFlashSource, createGameReducedMotionSource, createGameSphereCollider, createGameTouchControlLayout, gameColliderAabb, gameColliders, gameInputReplayEventsAt, createGameLoopPlan, type GameAccessibilityFocusOptions, type GameAccessibilityLabelOptions, type GameAccessibilityPauseControlsOptions, type GameAccessibilityPreferenceOptions, type GameAccessibilityRuntimeSettings, type GameAccessibilityRuntimeSettingsOptions, type GameAccessibilitySource, type GameAccessibilitySourceKind, type GameAabb, type GameBounds3, type GameCameraDirector, type GameCameraDirectorOptions, type GameCameraSnapshot, type GameCameraTarget, type GameCollisionBox, type GameCombatActorOptions, type GameCombatActorSnapshot, type GameCombatActiveAttackSnapshot, type GameCombatEvent, type GameCombatEventRuntimeBridgeOptions, type GameCombatEventRuntimeBridgeResult, type GameCombatEventType, type GameCombatMove, type GameCombatWorld, type GameCombatWorldSnapshot, type GameBoxCollider, type GameBoxColliderOptions, type GameCapsuleCollider, type GameCapsuleColliderOptions, type GameCollider, type GameColliderAxis, type GameColliderBase, type GameColliderDimension, type GameColliderFactoryOptions, type GameColliderKind, type GameColliderPlane, type GameDebugGeometryNode, type GameDebugGeometryOptions, type GameDebugGeometryPrimitive, type GameDebugOverlayData, type GameDebugOverlayMetric, type GameDebugOverlayOptions, type GameDebugOverlaySection, type GameDebugSceneNode, type GameDebugSceneNodeOptions, type GameDebugScenePrimitive, type GameEffectInstance, type GameEffectAttachment, type GameEffectKind, type GameEffectOptions, type GameEffectsController, type GameEffectsSnapshot, type GameHudActorBindingOptions, type GameHudBinding, type GameHudBindingKind, type GameHudComboBindingOptions, type GameHudDebugToggleBindingOptions, type GameHudResolvedValue, type GameHudRoundBindingOptions, type GameHudSourceKind, type GameHudSnapshot, type GameHudSnapshotItem, type GameHudSnapshotOptions, type GameHudTimerBindingOptions, type GameHudValueFormat, type GameInputActionState, type GameInputAxisSettings, type GameInputAxisBinding, type GameInputController, type GameInputOptions, type GameInputReplayDriver, type GameInputReplayDriverSnapshot, type GameInputReplayEvent, type GameInputReplayOptions, type GameInputReplayPlan, type GameInputSnapshot, type GameJumpAssistController, type GameJumpAssistOptions, type GameJumpAssistSnapshot, type GameJumpAssistUpdate, type GameKinematicBody, type GameKinematicBodyOptions, type GameKinematicBodySnapshot, type GameLoopPlan, type GamePointerSnapshot, type GameRectCollider, type GameRectColliderOptions, type GameRuntimeSubsystemId, type GameRuntimeSubsystemOwnership, type GameSphereCollider, type GameSphereColliderOptions, type GameSubsystemOwner, type GameTouchControlAnchor, type GameTouchControlKind, type GameTouchControlLayout, type GameTouchControlLayoutOptions, type GameTouchControlRegion, type GameTouchControlRequest, type GameVec3, type GamepadSnapshot } from "./GameRuntime";
24
26
  export { collectGameSceneRuntimeNodes, createGameSceneBridge, createRuntimeNodeSpec, type GameSceneBridge, type GameSceneBridgeApp, type GameSceneBridgeBodyLike, type GameSceneBridgeEvidence, type GameSceneBridgeNodeHandle, type GameSceneRuntimeNode } from "./GameSceneBridge";
@@ -2043,6 +2045,11 @@ export interface AuraCreateAppOptions {
2043
2045
  readonly autoStart?: boolean;
2044
2046
  readonly resize?: boolean;
2045
2047
  }
2048
+ export interface AuraCreateGameAppOptions extends AuraCreateAppOptions {
2049
+ readonly loop?: GameAppRuntimeOptions["loop"];
2050
+ readonly input?: GameAppRuntimeOptions["input"];
2051
+ readonly runtimeEvidence?: GameAppRuntimeOptions["evidence"];
2052
+ }
2046
2053
  export interface AuraDiagnosticsOptions {
2047
2054
  readonly overlay?: boolean;
2048
2055
  readonly assetPanel?: boolean;
@@ -2060,6 +2067,7 @@ export declare class AuraRuntimeError extends Error {
2060
2067
  constructor(code: AuraRuntimeError["code"], message: string);
2061
2068
  }
2062
2069
  export declare function createAuraApp(target: AuraAppTarget, options: AuraCreateAppOptions): AuraApp;
2070
+ export declare function createGameApp(target: AuraAppTarget, options: AuraCreateGameAppOptions): GameAppRuntime<AuraApp>;
2063
2071
  export declare function createAuraRouteHealthSnapshot(app: AuraApp): {
2064
2072
  readonly status: "ready" | "error";
2065
2073
  readonly diagnostics: AuraDiagnostics;