@zylem/game-lib 0.8.0 → 0.8.3

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 (81) hide show
  1. package/dist/actions.d.ts +6 -6
  2. package/dist/api/game-lib.api.json +3105 -1223
  3. package/dist/api/game-lib.api.md +197 -96
  4. package/dist/api/game-lib.d.ts +448 -96
  5. package/dist/api/game-lib.typedoc.json +134986 -201814
  6. package/dist/{base-node-life-cycle-D2NuN1VB.d.ts → base-node-life-cycle-BK9xebT9.d.ts} +6 -0
  7. package/dist/bridge.d.ts +97 -0
  8. package/dist/bridge.js +1 -0
  9. package/dist/chunk-2VSVOPQN.js +19 -0
  10. package/dist/chunk-3I537JFL.js +1 -0
  11. package/dist/chunk-47DG7I7M.js +1 -0
  12. package/dist/chunk-7QF6YTEZ.js +1 -0
  13. package/dist/chunk-AIQ6IVT5.js +1 -0
  14. package/dist/chunk-C5NEGC3S.js +1 -0
  15. package/dist/chunk-CV75NSES.js +1 -0
  16. package/dist/chunk-EVYHPR3J.js +1 -0
  17. package/dist/chunk-GKHAJ3MW.js +1 -0
  18. package/dist/chunk-HNCTOJP7.js +1 -0
  19. package/dist/{chunk-M3XNO56P.js → chunk-JNFFTNMH.js} +1 -1
  20. package/dist/{chunk-XNDS4YFR.js → chunk-LGS5N5M4.js} +1 -1
  21. package/dist/chunk-LKFF6XJC.js +1 -0
  22. package/dist/{chunk-RXDTAWI2.js → chunk-PCFF4LLO.js} +1 -1
  23. package/dist/chunk-Q27ULMXY.js +24 -0
  24. package/dist/chunk-TV3AZKT4.js +9 -0
  25. package/dist/chunk-UG22Z42P.js +1 -0
  26. package/dist/chunk-W5SXED5T.js +1 -0
  27. package/dist/chunk-WVSYUWTT.js +1 -0
  28. package/dist/chunk-YAOXFYOD.js +1 -0
  29. package/dist/{collision-builder-jF-toPIl.d.ts → collision-builder-B_tm8OVy.d.ts} +13 -2
  30. package/dist/core.d.ts +15 -15
  31. package/dist/core.js +1 -1
  32. package/dist/debug-state-Dp9CQQZ4.d.ts +49 -0
  33. package/dist/debug.d.ts +27 -8
  34. package/dist/debug.js +1 -1
  35. package/dist/{default-controls-0-vCnli7.d.ts → default-controls-CAKJ5zlo.d.ts} +2 -2
  36. package/dist/{entity-DZbFQ1Wg.d.ts → entity-B9yZeBm4.d.ts} +7 -1
  37. package/dist/{entity-BdSI8CL3.d.ts → entity-BGEq1yfC.d.ts} +32 -4
  38. package/dist/{entity-type-map-Bd69SpAS.d.ts → entity-type-map-CW6RHQkx.d.ts} +5 -5
  39. package/dist/entity.d.ts +12 -10
  40. package/dist/entity.js +1 -1
  41. package/dist/events.d.ts +2 -65
  42. package/dist/events.js +1 -1
  43. package/dist/{game-C1FHVqXl.d.ts → game-NHkubIfI.d.ts} +89 -32
  44. package/dist/game-default-5TB3T5N7.js +1 -0
  45. package/dist/{game-interfaces-mchNYSZE.d.ts → game-interfaces-vF5sRi1n.d.ts} +7 -1
  46. package/dist/globals.d.ts +1 -1
  47. package/dist/graphics.d.ts +5 -5
  48. package/dist/input-ui.d.ts +4 -4
  49. package/dist/input-ui.js +1 -1
  50. package/dist/input.d.ts +47 -4
  51. package/dist/input.js +1 -1
  52. package/dist/{material-9vJ6SZaI.d.ts → material-DbSuZBbP.d.ts} +1 -1
  53. package/dist/public.d.ts +16 -14
  54. package/dist/public.js +1 -1
  55. package/dist/runtime.d.ts +3 -3
  56. package/dist/runtime.js +1 -1
  57. package/dist/schema/game-config.schema.json +18 -0
  58. package/dist/schema/input-config.schema.json +18 -0
  59. package/dist/schema.d.ts +12 -0
  60. package/dist/schema.js +1 -1
  61. package/dist/{vector-CiSHbivc.d.ts → vector-DN6zlPoE.d.ts} +28 -0
  62. package/dist/web-components.d.ts +12 -12
  63. package/dist/web-components.js +1 -1
  64. package/dist/{zylem-camera-C3bn6BTI.d.ts → zylem-camera-Du2UPW9O.d.ts} +13 -1
  65. package/package.json +8 -3
  66. package/dist/chunk-7FR5JSQ2.js +0 -1
  67. package/dist/chunk-COM6HJ2L.js +0 -1
  68. package/dist/chunk-E3UBSUPX.js +0 -1
  69. package/dist/chunk-FKIKN7RP.js +0 -24
  70. package/dist/chunk-G4HONLWC.js +0 -1
  71. package/dist/chunk-IKWE2W6L.js +0 -1
  72. package/dist/chunk-JEHFHUH4.js +0 -0
  73. package/dist/chunk-JNKPTL77.js +0 -1
  74. package/dist/chunk-JQKS42G4.js +0 -1
  75. package/dist/chunk-MSC2BEO5.js +0 -1
  76. package/dist/chunk-TAUWDQZF.js +0 -9
  77. package/dist/chunk-VS2D4B3W.js +0 -1
  78. package/dist/chunk-XNHVRFAK.js +0 -1
  79. package/dist/chunk-YHEWKN7N.js +0 -1
  80. package/dist/debug-state-BPT6jEog.d.ts +0 -17
  81. package/dist/game-default-QHROHW2O.js +0 -1
@@ -5,6 +5,7 @@
5
5
  ```ts
6
6
 
7
7
  import { abs } from 'three/tsl';
8
+ import { announceBridgeReady } from '@zylem/bridge';
8
9
  import { asin } from 'three/tsl';
9
10
  import { atan } from 'three/tsl';
10
11
  import { BehaviorDescriptor } from '@zylem/behaviors';
@@ -26,6 +27,14 @@ import { BoundaryRicochet3DEntity } from '@zylem/behaviors';
26
27
  import { BoundaryRicochetCoordinator } from '@zylem/behaviors';
27
28
  import { BoundaryRicochetEntity } from '@zylem/behaviors';
28
29
  import { BoundaryRicochetUpdate } from '@zylem/behaviors';
30
+ import { BRIDGE_READY_EVENT } from '@zylem/bridge';
31
+ import { BridgeChannel } from '@zylem/bridge';
32
+ import { BridgeDebugTool } from '@zylem/bridge';
33
+ import { BridgeHandler } from '@zylem/bridge';
34
+ import { GameLoadingPayload as BridgeLoadingPayload } from '@zylem/bridge';
35
+ import { BridgeMessages } from '@zylem/bridge';
36
+ import { BridgeMessageType } from '@zylem/bridge';
37
+ import { BridgeVec3 } from '@zylem/bridge';
29
38
  import { BufferGeometry } from 'three';
30
39
  import { BurstParticlePresetOptions } from '@zylem/behaviors';
31
40
  import { Camera } from 'three';
@@ -77,11 +86,14 @@ import { Destructible3DHandle } from '@zylem/behaviors';
77
86
  import { DestructibleMesh } from '@zylem/behaviors';
78
87
  import { DestructiblePrebakeWorkerAPI } from '@zylem/behaviors';
79
88
  import { dot } from 'three/tsl';
89
+ import { EditorToGameMessages } from '@zylem/bridge';
80
90
  import { emitRuntimeGoal } from '@zylem/behaviors/runtime-2d';
81
91
  import { emitRuntimeRicochet } from '@zylem/behaviors/runtime-2d';
82
92
  import { emitRuntimeTriggerRegionEnter } from '@zylem/behaviors/runtime-2d';
83
93
  import { EntityDefinition } from '@zylem/behaviors/core';
84
94
  import { EntityHandle } from '@zylem/behaviors/core';
95
+ import { EntitySummaryPayload } from '@zylem/bridge';
96
+ import { EntityThumbnailPayload } from '@zylem/bridge';
85
97
  import { exp } from 'three/tsl';
86
98
  import { FacingAngle2DEntity } from '@zylem/behaviors';
87
99
  import { fireCooldown } from '@zylem/behaviors';
@@ -108,11 +120,16 @@ import { FogExp2 } from 'three';
108
120
  import { fract } from 'three/tsl';
109
121
  import { FractureOptions } from '@zylem/behaviors';
110
122
  import { FractureOptionsInput } from '@zylem/behaviors';
123
+ import { GameConfigPayload } from '@zylem/bridge';
124
+ import { GameNoticePayload } from '@zylem/bridge';
125
+ import { GameToEditorMessages } from '@zylem/bridge';
126
+ import { GameVariablePayload } from '@zylem/bridge';
111
127
  import { getCooldown } from '@zylem/behaviors';
112
128
  import { getCooldownStore } from '@zylem/behaviors';
113
129
  import { getEntityFacingAngle2D } from '@zylem/behaviors';
114
130
  import { getPosition } from '@zylem/behaviors/core';
115
131
  import { getVelocity } from '@zylem/behaviors/core';
132
+ import { getZylemBridge } from '@zylem/bridge';
116
133
  import { Group } from 'three';
117
134
  import { hasAnyWorldBoundary2DHit } from '@zylem/behaviors';
118
135
  import { hasAnyWorldBoundary3DHit } from '@zylem/behaviors';
@@ -308,6 +325,7 @@ import { StageBodyKindValue } from '@zylem/behaviors/core';
308
325
  import { StageBoundaryDim } from '@zylem/behaviors/core';
309
326
  import { StageColliderConfig } from '@zylem/behaviors/core';
310
327
  import { StageColliderShape } from '@zylem/behaviors/core';
328
+ import { StageConfigPayload } from '@zylem/bridge';
311
329
  import { StageDebugRender } from '@zylem/behaviors/core';
312
330
  import { StageEvent } from '@zylem/behaviors/core';
313
331
  import { StageEventType } from '@zylem/behaviors/core';
@@ -316,6 +334,7 @@ import { StageRaycastHit } from '@zylem/behaviors/core';
316
334
  import { StageRenderSlot } from '@zylem/behaviors/core';
317
335
  import { StageRicochetDim } from '@zylem/behaviors/core';
318
336
  import { StageRicochetReflection } from '@zylem/behaviors/core';
337
+ import { StageSnapshotPayload } from '@zylem/bridge';
319
338
  import { StageTopDownPlane } from '@zylem/behaviors/core';
320
339
  import { Static } from '@sinclair/typebox';
321
340
  import { step } from 'three/tsl';
@@ -380,6 +399,7 @@ import { WorldBoundary3DPosition } from '@zylem/behaviors';
380
399
  import { WorldBoundary3DState } from '@zylem/behaviors';
381
400
  import { wrapAround3D } from '@zylem/behaviors/core';
382
401
  import { wrapAroundXY } from '@zylem/behaviors/core';
402
+ import { ZylemBridge } from '@zylem/bridge';
383
403
 
384
404
  export { abs }
385
405
 
@@ -411,6 +431,8 @@ export interface AnalogState {
411
431
  value: number;
412
432
  }
413
433
 
434
+ export { announceBridgeReady }
435
+
414
436
  // Warning: (ae-forgotten-export) The symbol "TransformableEntity" needs to be exported by the entry point public.d.ts
415
437
  //
416
438
  // @public
@@ -469,6 +491,22 @@ export function boxCollision(opts?: BoxCollisionOptions): CollisionComponent;
469
491
  // @public
470
492
  export function boxMesh(opts?: BoxMeshOptions): Mesh;
471
493
 
494
+ export { BRIDGE_READY_EVENT }
495
+
496
+ export { BridgeChannel }
497
+
498
+ export { BridgeDebugTool }
499
+
500
+ export { BridgeHandler }
501
+
502
+ export { BridgeLoadingPayload }
503
+
504
+ export { BridgeMessages }
505
+
506
+ export { BridgeMessageType }
507
+
508
+ export { BridgeVec3 }
509
+
472
510
  // @public
473
511
  export function buildBoxCollider(size: Vec3Input, options?: RuntimeColliderOptions): StageColliderConfig;
474
512
 
@@ -551,16 +589,19 @@ export interface CameraFeedOptions {
551
589
  // @public
552
590
  export class CameraManager {
553
591
  constructor();
592
+ activateDebugCamera(): boolean;
554
593
  // Warning: (ae-forgotten-export) The symbol "ZylemCamera" needs to be exported by the entry point public.d.ts
555
594
  get activeCameras(): ReadonlyArray<ZylemCamera>;
556
595
  addActiveCamera(nameOrRef: string | ZylemCamera): boolean;
557
596
  addCamera(camera: ZylemCamera, name?: string): string;
558
597
  get allCameras(): ReadonlyArray<ZylemCamera>;
559
598
  deactivateCamera(nameOrRef: string | ZylemCamera): boolean;
599
+ deactivateDebugCamera(): boolean;
560
600
  get debugCamera(): ZylemCamera | null;
561
601
  dispose(): void;
562
602
  ensureDefaultCamera(): ZylemCamera;
563
603
  getCamera(name: string): ZylemCamera | null;
604
+ get preDebugPrimary(): ZylemCamera | null;
564
605
  get primaryCamera(): ZylemCamera | null;
565
606
  removeCamera(nameOrRef: string | ZylemCamera): boolean;
566
607
  render(scene: Scene): void;
@@ -917,13 +958,16 @@ export function cylinderCollision(opts?: CylinderCollisionOptions): CollisionCom
917
958
  // @public
918
959
  export function cylinderMesh(opts?: CylinderMeshOptions): Mesh;
919
960
 
961
+ // @public
962
+ export type DebugEntityResolver = (uuid: string) => GameEntity<any> | null;
963
+
920
964
  // Warning: (ae-forgotten-export) The symbol "DebugState" needs to be exported by the entry point public.d.ts
921
965
  //
922
966
  // @public (undocumented)
923
967
  export const debugState: DebugState;
924
968
 
925
969
  // @public (undocumented)
926
- export type DebugTools = 'select' | 'translate' | 'rotate' | 'scale' | 'delete' | 'none';
970
+ export type DebugTools = 'select' | 'translate' | 'rotate' | 'scale' | 'delete' | 'add' | 'none';
927
971
 
928
972
  // @public
929
973
  export function defaultTouchControls(player?: InputPlayer, options?: DefaultTouchControlsOptions): GameInputConfig;
@@ -986,6 +1030,8 @@ export function dispatchStageState(): void;
986
1030
 
987
1031
  export { dot }
988
1032
 
1033
+ export { EditorToGameMessages }
1034
+
989
1035
  export { emitRuntimeGoal }
990
1036
 
991
1037
  export { emitRuntimeRicochet }
@@ -995,40 +1041,6 @@ export { emitRuntimeTriggerRegionEnter }
995
1041
  // @public (undocumented)
996
1042
  export type EntityBlueprint = Static<typeof EntitySchema>;
997
1043
 
998
- // @public
999
- export interface EntityConfigPayload {
1000
- bounds?: {
1001
- width: number;
1002
- height: number;
1003
- depth: number;
1004
- };
1005
- // (undocumented)
1006
- name: string;
1007
- // (undocumented)
1008
- position: {
1009
- x: number;
1010
- y: number;
1011
- z: number;
1012
- };
1013
- // (undocumented)
1014
- rotation: {
1015
- x: number;
1016
- y: number;
1017
- z: number;
1018
- };
1019
- // (undocumented)
1020
- scale: {
1021
- x: number;
1022
- y: number;
1023
- z: number;
1024
- };
1025
- thumbnail?: string | null;
1026
- // (undocumented)
1027
- type: string;
1028
- // (undocumented)
1029
- uuid: string;
1030
- }
1031
-
1032
1044
  export { EntityDefinition }
1033
1045
 
1034
1046
  // @public (undocumented)
@@ -1135,9 +1147,12 @@ export const EntitySchema: _sinclair_typebox.TObject<{
1135
1147
  // @public (undocumented)
1136
1148
  export function entitySpawner(factory: (x: number, y: number) => Promise<any> | GameEntity<any>): EntitySpawner;
1137
1149
 
1150
+ export { EntitySummaryPayload }
1151
+
1138
1152
  // @public
1139
1153
  export class EntityThumbnailCache {
1140
- constructor(size?: number);
1154
+ constructor(size?: number, maxEntries?: number);
1155
+ get cacheSize(): number;
1141
1156
  // (undocumented)
1142
1157
  clear(): void;
1143
1158
  ensure(uuid: string, object: Object3D | null | undefined): Promise<EntityThumbnailCacheEntry | null>;
@@ -1145,6 +1160,7 @@ export class EntityThumbnailCache {
1145
1160
  get(uuid: string): EntityThumbnailCacheEntry | null;
1146
1161
  // (undocumented)
1147
1162
  invalidate(uuid: string): void;
1163
+ get pendingCount(): number;
1148
1164
  // (undocumented)
1149
1165
  setRenderer(renderer: WebGPURenderer | null): void;
1150
1166
  }
@@ -1158,13 +1174,14 @@ export interface EntityThumbnailCacheEntry extends EntityThumbnailResult {
1158
1174
  uuid: string;
1159
1175
  }
1160
1176
 
1177
+ export { EntityThumbnailPayload }
1178
+
1161
1179
  // @public (undocumented)
1162
1180
  export interface EntityThumbnailResult {
1163
1181
  // Warning: (ae-forgotten-export) The symbol "ObjectBounds" needs to be exported by the entry point public.d.ts
1164
1182
  //
1165
1183
  // (undocumented)
1166
1184
  bounds: Pick<ObjectBounds, 'width' | 'height' | 'depth'>;
1167
- // (undocumented)
1168
1185
  dataUrl: string;
1169
1186
  }
1170
1187
 
@@ -1282,6 +1299,7 @@ export class FirstPersonPerspective implements CameraPerspective {
1282
1299
  lookAt(target: Vector3, lerpSpeed?: number): void;
1283
1300
  get pitch(): number;
1284
1301
  resetZoom(): void;
1302
+ setEyeHeight(height: number): void;
1285
1303
  setLook(yaw: number, pitch: number): void;
1286
1304
  get yaw(): number;
1287
1305
  zoom(fov: number): void;
@@ -1401,6 +1419,40 @@ export class Game<TGlobals extends BaseGlobals> implements IGame<TGlobals> {
1401
1419
  step(deltaTime?: number): void;
1402
1420
  }
1403
1421
 
1422
+ // @public (undocumented)
1423
+ export class GameBridge {
1424
+ constructor();
1425
+ connect(host: GameBridgeHost, announceTarget?: EventTarget): void;
1426
+ // (undocumented)
1427
+ disconnect(): void;
1428
+ onEditorAttached(callback: () => void): () => void;
1429
+ // (undocumented)
1430
+ publishConfig(config: GameConfigPayload): void;
1431
+ // (undocumented)
1432
+ publishLoading(payload: BridgeLoadingPayload): void;
1433
+ publishNotice(level: GameNoticePayload['level'], message: string): void;
1434
+ // (undocumented)
1435
+ publishStageSnapshot(snapshot: StageSnapshotPayload): void;
1436
+ // (undocumented)
1437
+ publishStatus(status: {
1438
+ paused?: boolean;
1439
+ debug?: boolean;
1440
+ }): void;
1441
+ // (undocumented)
1442
+ publishVariable(payload: GameVariablePayload): void;
1443
+ queueEntityRemoved(uuids: string[]): void;
1444
+ queueEntityUpsert(entities: EntitySummaryPayload[]): void;
1445
+ queueThumbnails(thumbnails: EntityThumbnailPayload[]): void;
1446
+ wantsEntityUpdates(): boolean;
1447
+ wantsThumbnails(): boolean;
1448
+ }
1449
+
1450
+ // @public
1451
+ export interface GameBridgeHost {
1452
+ resolveEntity(uuid: string): GameEntity<any> | null;
1453
+ setStageVariable?(key: string, value: unknown): void;
1454
+ }
1455
+
1404
1456
  // @public
1405
1457
  export function gameConfig(config: GameConfigLike): GameConfigLike;
1406
1458
 
@@ -1419,6 +1471,9 @@ export const GameConfigJsonSchema: _sinclair_typebox.TObject<{
1419
1471
  mapping: _sinclair_typebox.TOptional<_sinclair_typebox.TRecord<_sinclair_typebox.TString, _sinclair_typebox.TArray<_sinclair_typebox.TString>>>;
1420
1472
  pointerLock: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
1421
1473
  sensitivity: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
1474
+ lookMode: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<[_sinclair_typebox.TLiteral<"delta">, _sinclair_typebox.TLiteral<"screenCenter">]>>;
1475
+ maxLookDegrees: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
1476
+ lookSensitivity: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
1422
1477
  }>>;
1423
1478
  touch: _sinclair_typebox.TOptional<_sinclair_typebox.TObject<{
1424
1479
  enabled: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<[_sinclair_typebox.TBoolean, _sinclair_typebox.TLiteral<"auto">]>>;
@@ -1531,6 +1586,8 @@ export type GameConfigLike = Partial<{
1531
1586
  canvas: HTMLCanvasElement;
1532
1587
  }>;
1533
1588
 
1589
+ export { GameConfigPayload }
1590
+
1534
1591
  // @public (undocumented)
1535
1592
  export type GameDeviceConfig = Partial<{
1536
1593
  aspectRatio: AspectRatioValue | keyof typeof AspectRatio;
@@ -1666,6 +1723,7 @@ export class GameEntity<O extends GameEntityOptions> extends BaseNode<O> impleme
1666
1723
  physicsWorldRef: unknown;
1667
1724
  // (undocumented)
1668
1725
  resetVelocity: () => void;
1726
+ reveal(): void;
1669
1727
  // (undocumented)
1670
1728
  rotateEuler: (eulerRotation: Vector3) => void;
1671
1729
  // (undocumented)
@@ -1715,6 +1773,10 @@ export class GameEntity<O extends GameEntityOptions> extends BaseNode<O> impleme
1715
1773
  // (undocumented)
1716
1774
  setRotationZ: (z: number) => void;
1717
1775
  _setup(params: SetupContext<this>): void;
1776
+ _spawnInProgress: boolean;
1777
+ _spawnPlacementPending: boolean;
1778
+ _spawnPlacementReady: boolean;
1779
+ _spawnPositionExplicit: boolean;
1718
1780
  _tickActions(delta: number): void;
1719
1781
  // (undocumented)
1720
1782
  transformStore: TransformState;
@@ -1735,6 +1797,8 @@ export type GameEntityOptions = {
1735
1797
  color?: Color;
1736
1798
  size?: Vec3Input;
1737
1799
  position?: Vec3Input;
1800
+ hideUntilPositioned?: boolean;
1801
+ visible?: boolean;
1738
1802
  category?: RenderCategory_2;
1739
1803
  runtime?: RuntimeEntityOptions;
1740
1804
  collision?: Partial<CollisionOptions>;
@@ -1763,7 +1827,6 @@ export type GameEvents = {
1763
1827
  'debug': {
1764
1828
  enabled: boolean;
1765
1829
  };
1766
- 'state:dispatch': StateDispatchPayload;
1767
1830
  };
1768
1831
 
1769
1832
  // @public (undocumented)
@@ -1796,6 +1859,9 @@ export const GameInputConfigSchema: _sinclair_typebox.TRecord<_sinclair_typebox.
1796
1859
  mapping: _sinclair_typebox.TOptional<_sinclair_typebox.TRecord<_sinclair_typebox.TString, _sinclair_typebox.TArray<_sinclair_typebox.TString>>>;
1797
1860
  pointerLock: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
1798
1861
  sensitivity: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
1862
+ lookMode: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<[_sinclair_typebox.TLiteral<"delta">, _sinclair_typebox.TLiteral<"screenCenter">]>>;
1863
+ maxLookDegrees: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
1864
+ lookSensitivity: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
1799
1865
  }>>;
1800
1866
  touch: _sinclair_typebox.TOptional<_sinclair_typebox.TObject<{
1801
1867
  enabled: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<[_sinclair_typebox.TBoolean, _sinclair_typebox.TLiteral<"auto">]>>;
@@ -1889,6 +1955,9 @@ export const GameInputPlayerConfigSchema: _sinclair_typebox.TObject<{
1889
1955
  mapping: _sinclair_typebox.TOptional<_sinclair_typebox.TRecord<_sinclair_typebox.TString, _sinclair_typebox.TArray<_sinclair_typebox.TString>>>;
1890
1956
  pointerLock: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
1891
1957
  sensitivity: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
1958
+ lookMode: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<[_sinclair_typebox.TLiteral<"delta">, _sinclair_typebox.TLiteral<"screenCenter">]>>;
1959
+ maxLookDegrees: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
1960
+ lookSensitivity: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
1892
1961
  }>>;
1893
1962
  touch: _sinclair_typebox.TOptional<_sinclair_typebox.TObject<{
1894
1963
  enabled: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<[_sinclair_typebox.TBoolean, _sinclair_typebox.TLiteral<"auto">]>>;
@@ -1989,6 +2058,10 @@ export interface GameLoadingPayload extends LoadingEvent {
1989
2058
  stageName?: string;
1990
2059
  }
1991
2060
 
2061
+ export { GameToEditorMessages }
2062
+
2063
+ export { GameVariablePayload }
2064
+
1992
2065
  export { getCooldown }
1993
2066
 
1994
2067
  export { getCooldownStore }
@@ -2004,6 +2077,12 @@ export function getGlobal<T = unknown>(path: string): T | undefined;
2004
2077
  // @public
2005
2078
  export function getGlobals<T = Record<string, unknown>>(): T;
2006
2079
 
2080
+ // @public
2081
+ export function getHoveredEntity(): GameEntity<any> | null;
2082
+
2083
+ // @public (undocumented)
2084
+ export function getHoveredEntityId(): string | null;
2085
+
2007
2086
  export { getPosition }
2008
2087
 
2009
2088
  // @public (undocumented)
@@ -2014,11 +2093,19 @@ export function getPresetResolution(preset: RetroPresetKey, key?: string): Retro
2014
2093
  // @public
2015
2094
  export function getRotation(entity: RotatableEntity): any;
2016
2095
 
2096
+ // @public
2097
+ export function getSelectedEntity(): GameEntity<any> | null;
2098
+
2099
+ // @public (undocumented)
2100
+ export function getSelectedEntityId(): string | null;
2101
+
2017
2102
  // @public
2018
2103
  export function getVariable<T = unknown>(target: object, path: string): T | undefined;
2019
2104
 
2020
2105
  export { getVelocity }
2021
2106
 
2107
+ export { getZylemBridge }
2108
+
2022
2109
  // @public
2023
2110
  export function globalChange<T = any>(key: string, callback: (value: T, ctx: UpdateContext<any>) => void): (ctx: UpdateContext<any>) => void;
2024
2111
 
@@ -2085,6 +2172,8 @@ export interface InputGamepad {
2085
2172
  pointer?: {
2086
2173
  x: number;
2087
2174
  y: number;
2175
+ centerX: number;
2176
+ centerY: number;
2088
2177
  };
2089
2178
  // (undocumented)
2090
2179
  shoulders: {
@@ -2258,7 +2347,10 @@ export { mod }
2258
2347
 
2259
2348
  // @public (undocumented)
2260
2349
  export interface MouseConfig {
2350
+ lookMode?: 'delta' | 'screenCenter';
2351
+ lookSensitivity?: number;
2261
2352
  mapping?: MouseMapping;
2353
+ maxLookDegrees?: number;
2262
2354
  pointerLock?: boolean;
2263
2355
  sensitivity?: number;
2264
2356
  }
@@ -2268,6 +2360,9 @@ export const MouseConfigSchema: _sinclair_typebox.TObject<{
2268
2360
  mapping: _sinclair_typebox.TOptional<_sinclair_typebox.TRecord<_sinclair_typebox.TString, _sinclair_typebox.TArray<_sinclair_typebox.TString>>>;
2269
2361
  pointerLock: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
2270
2362
  sensitivity: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
2363
+ lookMode: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<[_sinclair_typebox.TLiteral<"delta">, _sinclair_typebox.TLiteral<"screenCenter">]>>;
2364
+ maxLookDegrees: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
2365
+ lookSensitivity: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
2271
2366
  }>;
2272
2367
 
2273
2368
  // @public (undocumented)
@@ -2565,6 +2660,9 @@ export const RECT_TYPE: unique symbol;
2565
2660
 
2566
2661
  export { registerCooldown }
2567
2662
 
2663
+ // @public
2664
+ export function registerDebugEntityResolver(resolver: DebugEntityResolver): () => void;
2665
+
2568
2666
  // @public
2569
2667
  export function registerEntityFocusContext(context: EntityFocusContext): () => void;
2570
2668
 
@@ -2638,6 +2736,9 @@ export function resolveButtonAccent(theme: TouchTheme, slot: VirtualTouchButtonS
2638
2736
 
2639
2737
  export { ResolvedAim2D }
2640
2738
 
2739
+ // @public
2740
+ export function resolveDebugEntity(uuid: string | null): GameEntity<any> | null;
2741
+
2641
2742
  // @public (undocumented)
2642
2743
  export interface ResolveGameConfigRuntime {
2643
2744
  // (undocumented)
@@ -2844,6 +2945,30 @@ export { RuntimeTriggerRegion2DOptions }
2844
2945
  // @public
2845
2946
  export type ScreenAnchor = 'top-left' | 'top-center' | 'top-right' | 'center-left' | 'center' | 'center-right' | 'bottom-left' | 'bottom-center' | 'bottom-right';
2846
2947
 
2948
+ // @public
2949
+ export function screenCenterLookDeltas(nx: number, ny: number, currentYaw: number, currentPitch: number, options?: ScreenCenterLookOptions): {
2950
+ lookX: number;
2951
+ lookY: number;
2952
+ };
2953
+
2954
+ // @public (undocumented)
2955
+ export interface ScreenCenterLookOptions {
2956
+ lookSensitivity?: number;
2957
+ // (undocumented)
2958
+ maxLookDegrees?: number;
2959
+ }
2960
+
2961
+ // @public
2962
+ export interface ScreenCenterLookTargets {
2963
+ // (undocumented)
2964
+ targetPitch: number;
2965
+ // (undocumented)
2966
+ targetYaw: number;
2967
+ }
2968
+
2969
+ // @public
2970
+ export function screenCenterLookTargets(nx: number, ny: number, maxDegrees?: number): ScreenCenterLookTargets;
2971
+
2847
2972
  export { ScreenVisibilityBehavior }
2848
2973
 
2849
2974
  export { ScreenVisibilityChangeContext }
@@ -2882,6 +3007,9 @@ export function setDebugTool(tool: DebugTools): void;
2882
3007
  // @public
2883
3008
  export function setGlobal(path: string, value: unknown): void;
2884
3009
 
3010
+ // @public (undocumented)
3011
+ export function setHoveredEntityId(uuid: string | null): void;
3012
+
2885
3013
  // @public (undocumented)
2886
3014
  export function setPaused(paused: boolean): void;
2887
3015
 
@@ -2917,8 +3045,11 @@ export function setRotationY(entity: RotatableEntity, y: number): void;
2917
3045
  // @public
2918
3046
  export function setRotationZ(entity: RotatableEntity, z: number): void;
2919
3047
 
3048
+ // @public @deprecated (undocumented)
3049
+ export function setSelectedEntity(entity: GameEntity<any> | string | null): void;
3050
+
2920
3051
  // @public (undocumented)
2921
- export function setSelectedEntity(entity: GameEntity<any> | null): void;
3052
+ export function setSelectedEntityId(uuid: string | null): void;
2922
3053
 
2923
3054
  // @public (undocumented)
2924
3055
  export function setStageFrameProfilerEnabled(value: boolean): void;
@@ -2968,6 +3099,9 @@ export { Shooter2DStateComponent }
2968
3099
 
2969
3100
  export { Shooter2DTarget }
2970
3101
 
3102
+ // @public
3103
+ export function shortestAngleDelta(from: number, to: number): number;
3104
+
2971
3105
  export { Simulation }
2972
3106
 
2973
3107
  // Warning: (ae-forgotten-export) The symbol "PhysicsRenderPoseProvider" needs to be exported by the entry point public.d.ts
@@ -2998,6 +3132,8 @@ export class SimulationBody implements PhysicsRenderPoseProvider {
2998
3132
  isSleeping(): boolean;
2999
3133
  // (undocumented)
3000
3134
  linvel(): PhysicsVector3;
3135
+ lockRotations(locked: boolean, _wakeUp?: boolean): void;
3136
+ lockTranslations(locked: boolean, _wakeUp?: boolean): void;
3001
3137
  // (undocumented)
3002
3138
  mass(): number;
3003
3139
  // Warning: (ae-forgotten-export) The symbol "PhysicsQuaternion" needs to be exported by the entry point public.d.ts
@@ -3169,25 +3305,7 @@ export type StageConfigLike = Partial<{
3169
3305
  postProcessingEffects: ZylemPostEffect[];
3170
3306
  }>;
3171
3307
 
3172
- // @public
3173
- export interface StageConfigPayload {
3174
- // (undocumented)
3175
- backgroundColor: string;
3176
- // (undocumented)
3177
- backgroundImage: string | null;
3178
- // (undocumented)
3179
- gravity: {
3180
- x: number;
3181
- y: number;
3182
- z: number;
3183
- };
3184
- // (undocumented)
3185
- id: string;
3186
- // (undocumented)
3187
- inputs: Record<string, string[]>;
3188
- // (undocumented)
3189
- variables: Record<string, unknown>;
3190
- }
3308
+ export { StageConfigPayload }
3191
3309
 
3192
3310
  export { StageDebugRender }
3193
3311
 
@@ -3213,6 +3331,7 @@ export interface StageEntity extends Entity {
3213
3331
  mesh: Mesh;
3214
3332
  // (undocumented)
3215
3333
  name: string;
3334
+ skipRenderPoseSync?: boolean;
3216
3335
  // (undocumented)
3217
3336
  uuid: string;
3218
3337
  }
@@ -3349,6 +3468,8 @@ export const StageSchema: _sinclair_typebox.TObject<{
3349
3468
  assets: _sinclair_typebox.TOptional<_sinclair_typebox.TArray<_sinclair_typebox.TString>>;
3350
3469
  }>;
3351
3470
 
3471
+ export { StageSnapshotPayload }
3472
+
3352
3473
  // @public (undocumented)
3353
3474
  export const stageState: {
3354
3475
  previous: StageBlueprint | null;
@@ -3388,34 +3509,6 @@ export const standardShader: {
3388
3509
  fragment: string;
3389
3510
  };
3390
3511
 
3391
- // @public
3392
- export interface StateDispatchPayload {
3393
- // (undocumented)
3394
- config?: {
3395
- id: string;
3396
- aspectRatio: number;
3397
- fullscreen: boolean;
3398
- bodyBackground: string | undefined;
3399
- internalResolution: {
3400
- width: number;
3401
- height: number;
3402
- } | undefined;
3403
- debug: boolean;
3404
- } | null;
3405
- // (undocumented)
3406
- entities?: EntityConfigPayload[] | null;
3407
- // (undocumented)
3408
- path: string;
3409
- // (undocumented)
3410
- previousValue?: unknown;
3411
- // (undocumented)
3412
- scope: 'game' | 'stage' | 'entity';
3413
- // (undocumented)
3414
- stageConfig?: StageConfigPayload | null;
3415
- // (undocumented)
3416
- value: unknown;
3417
- }
3418
-
3419
3512
  export { step }
3420
3513
 
3421
3514
  // @public
@@ -3614,6 +3707,12 @@ export function useMouseLook(player: InputPlayer, options?: {
3614
3707
  sensitivity?: number;
3615
3708
  }): GameInputConfig;
3616
3709
 
3710
+ // @public
3711
+ export function useScreenCenterLook(player: InputPlayer, options?: {
3712
+ maxLookDegrees?: number;
3713
+ lookSensitivity?: number;
3714
+ }): GameInputConfig;
3715
+
3617
3716
  // @public
3618
3717
  export function usesManagedRenderPath(options?: RenderCategoryOptions | null): boolean;
3619
3718
 
@@ -4118,6 +4217,8 @@ export class ZylemBox extends GameEntity<ZylemBoxOptions> {
4118
4217
  static type: symbol;
4119
4218
  }
4120
4219
 
4220
+ export { ZylemBridge }
4221
+
4121
4222
  // Warning: (ae-forgotten-export) The symbol "ZylemConeOptions" needs to be exported by the entry point public.d.ts
4122
4223
  //
4123
4224
  // @public
@@ -4528,16 +4629,16 @@ export class ZylemZone extends GameEntity<ZylemZoneOptions> implements Collision
4528
4629
 
4529
4630
  // Warnings were encountered during analysis:
4530
4631
  //
4531
- // dist/entity-BdSI8CL3.d.ts:406:5 - (ae-forgotten-export) The symbol "RenderCategory_2" needs to be exported by the entry point public.d.ts
4532
- // dist/entity-BdSI8CL3.d.ts:407:5 - (ae-forgotten-export) The symbol "RuntimeEntityOptions" needs to be exported by the entry point public.d.ts
4533
- // dist/entity-BdSI8CL3.d.ts:408:5 - (ae-forgotten-export) The symbol "CollisionOptions" needs to be exported by the entry point public.d.ts
4534
- // dist/entity-BdSI8CL3.d.ts:409:5 - (ae-forgotten-export) The symbol "MaterialOptions" needs to be exported by the entry point public.d.ts
4535
- // dist/entity-BdSI8CL3.d.ts:417:9 - (ae-forgotten-export) The symbol "IBuilder" needs to be exported by the entry point public.d.ts
4536
- // dist/entity-BdSI8CL3.d.ts:417:9 - (ae-forgotten-export) The symbol "EntityMeshBuilder" needs to be exported by the entry point public.d.ts
4537
- // dist/entity-BdSI8CL3.d.ts:418:9 - (ae-forgotten-export) The symbol "EntityCollisionBuilder" needs to be exported by the entry point public.d.ts
4538
- // dist/entity-BdSI8CL3.d.ts:419:9 - (ae-forgotten-export) The symbol "MaterialBuilder" needs to be exported by the entry point public.d.ts
4539
- // dist/game-C1FHVqXl.d.ts:908:5 - (ae-forgotten-export) The symbol "StageAssetLoaderConfig" needs to be exported by the entry point public.d.ts
4540
- // dist/game-C1FHVqXl.d.ts:1520:5 - (ae-forgotten-export) The symbol "StageInterface" needs to be exported by the entry point public.d.ts
4632
+ // dist/entity-BGEq1yfC.d.ts:423:5 - (ae-forgotten-export) The symbol "RenderCategory_2" needs to be exported by the entry point public.d.ts
4633
+ // dist/entity-BGEq1yfC.d.ts:424:5 - (ae-forgotten-export) The symbol "RuntimeEntityOptions" needs to be exported by the entry point public.d.ts
4634
+ // dist/entity-BGEq1yfC.d.ts:425:5 - (ae-forgotten-export) The symbol "CollisionOptions" needs to be exported by the entry point public.d.ts
4635
+ // dist/entity-BGEq1yfC.d.ts:426:5 - (ae-forgotten-export) The symbol "MaterialOptions" needs to be exported by the entry point public.d.ts
4636
+ // dist/entity-BGEq1yfC.d.ts:434:9 - (ae-forgotten-export) The symbol "IBuilder" needs to be exported by the entry point public.d.ts
4637
+ // dist/entity-BGEq1yfC.d.ts:434:9 - (ae-forgotten-export) The symbol "EntityMeshBuilder" needs to be exported by the entry point public.d.ts
4638
+ // dist/entity-BGEq1yfC.d.ts:435:9 - (ae-forgotten-export) The symbol "EntityCollisionBuilder" needs to be exported by the entry point public.d.ts
4639
+ // dist/entity-BGEq1yfC.d.ts:436:9 - (ae-forgotten-export) The symbol "MaterialBuilder" needs to be exported by the entry point public.d.ts
4640
+ // dist/game-NHkubIfI.d.ts:951:5 - (ae-forgotten-export) The symbol "StageAssetLoaderConfig" needs to be exported by the entry point public.d.ts
4641
+ // dist/game-NHkubIfI.d.ts:1563:5 - (ae-forgotten-export) The symbol "StageInterface" needs to be exported by the entry point public.d.ts
4541
4642
 
4542
4643
  // (No @packageDocumentation comment for this package)
4543
4644