@zylem/game-lib 0.8.0 → 0.8.2

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 (62) hide show
  1. package/dist/actions.d.ts +6 -6
  2. package/dist/api/game-lib.api.json +2045 -769
  3. package/dist/api/game-lib.api.md +74 -10
  4. package/dist/api/game-lib.d.ts +193 -4
  5. package/dist/api/game-lib.typedoc.json +47249 -40214
  6. package/dist/{base-node-life-cycle-D2NuN1VB.d.ts → base-node-life-cycle-BK9xebT9.d.ts} +6 -0
  7. package/dist/chunk-3PRBSSTS.js +24 -0
  8. package/dist/chunk-47DG7I7M.js +1 -0
  9. package/dist/chunk-7QF6YTEZ.js +1 -0
  10. package/dist/chunk-CD7ZOZ35.js +1 -0
  11. package/dist/chunk-CFVRRRZZ.js +1 -0
  12. package/dist/chunk-EVYHPR3J.js +1 -0
  13. package/dist/{chunk-M3XNO56P.js → chunk-JNFFTNMH.js} +1 -1
  14. package/dist/chunk-KVSJE4XD.js +1 -0
  15. package/dist/{chunk-XNDS4YFR.js → chunk-MZZCDXFB.js} +1 -1
  16. package/dist/{chunk-RXDTAWI2.js → chunk-PCFF4LLO.js} +1 -1
  17. package/dist/chunk-UG22Z42P.js +1 -0
  18. package/dist/chunk-YAOXFYOD.js +1 -0
  19. package/dist/{collision-builder-jF-toPIl.d.ts → collision-builder-B_tm8OVy.d.ts} +13 -2
  20. package/dist/core.d.ts +15 -15
  21. package/dist/core.js +1 -1
  22. package/dist/{debug-state-BPT6jEog.d.ts → debug-state-DRoeasG2.d.ts} +1 -1
  23. package/dist/debug.d.ts +6 -6
  24. package/dist/{default-controls-0-vCnli7.d.ts → default-controls-CAKJ5zlo.d.ts} +2 -2
  25. package/dist/{entity-DZbFQ1Wg.d.ts → entity-B9yZeBm4.d.ts} +7 -1
  26. package/dist/{entity-BdSI8CL3.d.ts → entity-BGEq1yfC.d.ts} +32 -4
  27. package/dist/{entity-type-map-Bd69SpAS.d.ts → entity-type-map-CW6RHQkx.d.ts} +5 -5
  28. package/dist/entity.d.ts +12 -10
  29. package/dist/entity.js +1 -1
  30. package/dist/events.d.ts +1 -1
  31. package/dist/{game-C1FHVqXl.d.ts → game-DbqBQiFC.d.ts} +40 -11
  32. package/dist/game-default-6AZZCNST.js +1 -0
  33. package/dist/{game-interfaces-mchNYSZE.d.ts → game-interfaces-vF5sRi1n.d.ts} +7 -1
  34. package/dist/globals.d.ts +1 -1
  35. package/dist/graphics.d.ts +5 -5
  36. package/dist/input-ui.d.ts +4 -4
  37. package/dist/input-ui.js +1 -1
  38. package/dist/input.d.ts +47 -4
  39. package/dist/input.js +1 -1
  40. package/dist/{material-9vJ6SZaI.d.ts → material-DbSuZBbP.d.ts} +1 -1
  41. package/dist/public.d.ts +13 -13
  42. package/dist/public.js +1 -1
  43. package/dist/runtime.d.ts +3 -3
  44. package/dist/runtime.js +1 -1
  45. package/dist/schema/game-config.schema.json +18 -0
  46. package/dist/schema/input-config.schema.json +18 -0
  47. package/dist/schema.d.ts +12 -0
  48. package/dist/schema.js +1 -1
  49. package/dist/{vector-CiSHbivc.d.ts → vector-DN6zlPoE.d.ts} +28 -0
  50. package/dist/web-components.d.ts +12 -12
  51. package/dist/{zylem-camera-C3bn6BTI.d.ts → zylem-camera-Du2UPW9O.d.ts} +13 -1
  52. package/package.json +1 -1
  53. package/dist/chunk-7FR5JSQ2.js +0 -1
  54. package/dist/chunk-E3UBSUPX.js +0 -1
  55. package/dist/chunk-FKIKN7RP.js +0 -24
  56. package/dist/chunk-G4HONLWC.js +0 -1
  57. package/dist/chunk-IKWE2W6L.js +0 -1
  58. package/dist/chunk-JEHFHUH4.js +0 -0
  59. package/dist/chunk-JNKPTL77.js +0 -1
  60. package/dist/chunk-MSC2BEO5.js +0 -1
  61. package/dist/chunk-XNHVRFAK.js +0 -1
  62. package/dist/game-default-QHROHW2O.js +0 -1
@@ -1,15 +1,15 @@
1
- import { e as InputPlayerNumber, f as InputProvider, I as Inputs, h as SetupFunction, g as UpdateFunction, j as DestroyFunction, a as SetupContext, U as UpdateContext, D as DestroyContext, L as LoadingEvent, m as IGame, S as StageNavigationOptions } from './base-node-life-cycle-D2NuN1VB.js';
2
- import { G as GameInputConfig, B as BaseGlobals, Z as ZylemGameConfig } from './game-interfaces-mchNYSZE.js';
3
- import { G as GameEntity, a as GameEntityOptions, B as BaseNode, y as GameEntityLifeCycle } from './entity-BdSI8CL3.js';
1
+ import { e as InputPlayerNumber, f as InputProvider, I as Inputs, h as SetupFunction, g as UpdateFunction, j as DestroyFunction, a as SetupContext, U as UpdateContext, D as DestroyContext, L as LoadingEvent, m as IGame, S as StageNavigationOptions } from './base-node-life-cycle-BK9xebT9.js';
2
+ import { G as GameInputConfig, B as BaseGlobals, Z as ZylemGameConfig } from './game-interfaces-vF5sRi1n.js';
3
+ import { G as GameEntity, a as GameEntityOptions, B as BaseNode, y as GameEntityLifeCycle } from './entity-BGEq1yfC.js';
4
4
  import { Scene, Color, Object3D, Vector3, BufferGeometry, Material, Group, Texture } from 'three';
5
- import { ak as ZylemWorld, ai as EntityTypeMap } from './entity-type-map-Bd69SpAS.js';
6
- import { E as Entity, L as LifecycleFunction, S as StageEntity } from './entity-DZbFQ1Wg.js';
7
- import { k as ZylemCamera, R as RendererManager, e as CameraPerspective, d as CameraContext, C as CameraPose, P as PerspectiveType, f as CameraBehavior, g as CameraAction, h as CameraPipelineState, V as Viewport, Z as ZylemPostEffect } from './zylem-camera-C3bn6BTI.js';
8
- import { d as ZylemShader } from './material-9vJ6SZaI.js';
9
- import { l as SimulationBody, e as Vec3Input, b as Vec2Input, d as Vec3Components } from './vector-CiSHbivc.js';
5
+ import { ak as ZylemWorld, ai as EntityTypeMap } from './entity-type-map-CW6RHQkx.js';
6
+ import { E as Entity, L as LifecycleFunction, S as StageEntity } from './entity-B9yZeBm4.js';
7
+ import { k as ZylemCamera, R as RendererManager, e as CameraPerspective, d as CameraContext, C as CameraPose, P as PerspectiveType, f as CameraBehavior, g as CameraAction, h as CameraPipelineState, V as Viewport, Z as ZylemPostEffect } from './zylem-camera-Du2UPW9O.js';
8
+ import { d as ZylemShader } from './material-DbSuZBbP.js';
9
+ import { l as SimulationBody, e as Vec3Input, b as Vec2Input, d as Vec3Components } from './vector-DN6zlPoE.js';
10
10
  import { BehaviorSystem, BehaviorEntityLink, BehaviorRuntime, BehaviorSystemFactory, Simulation } from '@zylem/behaviors/core';
11
11
  import { StageEvents, GameEvents } from './events.js';
12
- import { D as DefaultTouchControlsOptions } from './default-controls-0-vCnli7.js';
12
+ import { D as DefaultTouchControlsOptions } from './default-controls-CAKJ5zlo.js';
13
13
  import { S as StageTransitionConfig } from './stage-transition-CmGpV4tc.js';
14
14
 
15
15
  declare class InputManager {
@@ -144,6 +144,10 @@ declare class CameraManager {
144
144
  private _activeCameras;
145
145
  /** Auto-created debug camera with orbit controls */
146
146
  private _debugCamera;
147
+ /** Gameplay primary camera saved while the debug camera is active. */
148
+ private _preDebugPrimary;
149
+ /** Scene anchor at world origin for debug orbit when nothing is selected. */
150
+ private _debugOrbitTargetAnchor;
147
151
  /** Reference to the shared renderer manager */
148
152
  private _rendererManager;
149
153
  /** Scene reference */
@@ -163,6 +167,10 @@ declare class CameraManager {
163
167
  * Get the debug camera.
164
168
  */
165
169
  get debugCamera(): ZylemCamera | null;
170
+ /**
171
+ * Gameplay primary camera that was active before debug mode was enabled.
172
+ */
173
+ get preDebugPrimary(): ZylemCamera | null;
166
174
  /**
167
175
  * Get all registered cameras.
168
176
  */
@@ -206,6 +214,16 @@ declare class CameraManager {
206
214
  * Also creates the debug camera.
207
215
  */
208
216
  setup(scene: Scene, rendererManager: RendererManager): Promise<void>;
217
+ /**
218
+ * Switch the primary viewport to the debug orbit camera, remembering the
219
+ * previous primary so gameplay cameras (e.g. first-person) can be restored.
220
+ */
221
+ activateDebugCamera(): boolean;
222
+ /**
223
+ * Restore the gameplay primary camera that was active before
224
+ * {@link activateDebugCamera}.
225
+ */
226
+ deactivateDebugCamera(): boolean;
209
227
  /**
210
228
  * Update all active cameras' controllers.
211
229
  */
@@ -227,8 +245,14 @@ declare class CameraManager {
227
245
  dispose(): void;
228
246
  /**
229
247
  * Create the always-available debug camera with orbit controls.
248
+ * Registered for lookup/activation, but not added to the active list.
230
249
  */
231
250
  private createDebugCamera;
251
+ /**
252
+ * Seed the debug camera orbit pose on first activation, framing the origin
253
+ * or offsetting from the saved gameplay primary.
254
+ */
255
+ private seedDebugCameraPose;
232
256
  /**
233
257
  * Resolve a camera from a name or reference.
234
258
  */
@@ -630,6 +654,8 @@ declare class FirstPersonPerspective implements CameraPerspective {
630
654
  look(deltaYaw: number, deltaPitch: number): void;
631
655
  /** Set absolute yaw and pitch. Pitch is clamped to the configured limit. */
632
656
  setLook(yaw: number, pitch: number): void;
657
+ /** Set eye height above the followed target (used when syncing from FirstPersonBehavior). */
658
+ setEyeHeight(height: number): void;
633
659
  /** Current yaw in radians. */
634
660
  get yaw(): number;
635
661
  /** Current pitch in radians. */
@@ -858,15 +884,18 @@ declare class StageDebugDelegate {
858
884
  private debugStateUnsubscribe;
859
885
  private focusContextUnregister;
860
886
  constructor(stage: ZylemStage, options?: StageDebugDelegateOptions);
887
+ /** Camera used for debug orbit / raycasts (active primary, usually `__debug__`). */
888
+ private getDebugViewCamera;
861
889
  private resolveEntity;
862
890
  /** Copy all stage children into debugMap so raycast/select tools work after enabling debug mid-session. */
863
891
  private populateDebugMap;
864
892
  private ensureCameraDebugDelegate;
865
893
  private syncWithDebugState;
866
- /** Initialize DOM listeners and camera debug delegate when debug is turned on. */
894
+ /** Initialize DOM listeners and switch rendering to the debug orbit camera. */
867
895
  private activate;
868
- /** Tear down visuals and camera debug delegate when debug is turned off. */
896
+ /** Tear down visuals and restore the gameplay primary camera. */
869
897
  private deactivate;
898
+ private rebindPostProcessing;
870
899
  private initDebugVisuals;
871
900
  private disposeDebugVisuals;
872
901
  update(): void;
@@ -0,0 +1 @@
1
+ import{v as e}from"./chunk-CFVRRRZZ.js";import"./chunk-VS2D4B3W.js";import"./chunk-JQKS42G4.js";import"./chunk-YAOXFYOD.js";import"./chunk-KVSJE4XD.js";import"./chunk-CM5YRNBJ.js";import"./chunk-YHEWKN7N.js";import"./chunk-QXVH6POE.js";import"./chunk-EVYHPR3J.js";import"./chunk-D2PATZCC.js";import"./chunk-4QLJUQSJ.js";import"./chunk-7WRQ2UAN.js";import"./chunk-BH53MBAZ.js";import"./chunk-XRP4JJXL.js";import"./chunk-UG22Z42P.js";import{proxy as t}from"valtio/vanilla";var s=()=>({id:"zylem",globals:{},stages:[e()],debug:!1,time:0,input:void 0}),a=t({...s()});function o(){return{id:a.id??"zylem",globals:a.globals??{},stages:a.stages??[e()],debug:a.debug,time:a.time,input:a.input}}export{o as getGameDefaultConfig};
@@ -1,4 +1,4 @@
1
- import { g as UpdateFunction } from './base-node-life-cycle-D2NuN1VB.js';
1
+ import { g as UpdateFunction } from './base-node-life-cycle-BK9xebT9.js';
2
2
 
3
3
  type BasicTypes = number | string | boolean;
4
4
  type BaseGlobals = Record<string, BasicTypes>;
@@ -60,6 +60,12 @@ interface MouseConfig {
60
60
  pointerLock?: boolean;
61
61
  /** Sensitivity multiplier for mouse movement (default 0.002). */
62
62
  sensitivity?: number;
63
+ /** How mouse position drives look: delta (movement) or screenCenter (cursor offset from viewport center). */
64
+ lookMode?: 'delta' | 'screenCenter';
65
+ /** Max yaw/pitch in degrees when `lookMode` is `screenCenter` (default 45). */
66
+ maxLookDegrees?: number;
67
+ /** Screen-center follow rate toward cursor-mapped target (lower = snappier; default 2). */
68
+ lookSensitivity?: number;
63
69
  }
64
70
  interface GameInputPlayerConfig {
65
71
  key?: KeyboardMapping;
package/dist/globals.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { U as UpdateContext } from './base-node-life-cycle-D2NuN1VB.js';
1
+ import { U as UpdateContext } from './base-node-life-cycle-BK9xebT9.js';
2
2
  import 'three';
3
3
  import './stage-transition-CmGpV4tc.js';
4
4
 
@@ -1,13 +1,13 @@
1
- import { b as ZylemTSLShader } from './material-9vJ6SZaI.js';
2
- export { d as ZylemShader, Z as ZylemShaderObject, c as createNodeMaterialFromTSL, a as isGLSLShader, i as isTSLShader } from './material-9vJ6SZaI.js';
3
- export { Z as ZylemPostEffect } from './zylem-camera-C3bn6BTI.js';
1
+ import { b as ZylemTSLShader } from './material-DbSuZBbP.js';
2
+ export { d as ZylemShader, Z as ZylemShaderObject, c as createNodeMaterialFromTSL, a as isGLSLShader, i as isTSLShader } from './material-DbSuZBbP.js';
3
+ export { Z as ZylemPostEffect } from './zylem-camera-Du2UPW9O.js';
4
4
  export { S as StageTransitionConfig, a as StageTransitionEasing, Z as ZylemTransitionShader, c as crossfadeTransitionShader } from './stage-transition-CmGpV4tc.js';
5
5
  export { Fn, abs, asin, atan, clamp, cos, dot, exp, float, floor, fract, length, max, min, mix, mod, normalize, positionWorld, positionWorldDirection, pow, sin, smoothstep, step, time, uniform, uv, vec2, vec3, vec4 } from 'three/tsl';
6
6
  import 'three';
7
7
  import 'three/webgpu';
8
- import './vector-CiSHbivc.js';
8
+ import './vector-DN6zlPoE.js';
9
9
  import '@zylem/behaviors/core';
10
- import './entity-DZbFQ1Wg.js';
10
+ import './entity-B9yZeBm4.js';
11
11
 
12
12
  declare const standardShader: {
13
13
  vertex: string;
@@ -1,9 +1,9 @@
1
- import { T as TouchTheme, b as TouchThemeName } from './default-controls-0-vCnli7.js';
2
- export { D as DefaultTouchControlsOptions, J as JoystickSelection, d as defaultTouchControls, a as resolveButtonAccent, r as resolveTouchTheme, t as touchThemes } from './default-controls-0-vCnli7.js';
3
- import './base-node-life-cycle-D2NuN1VB.js';
1
+ import { T as TouchTheme, b as TouchThemeName } from './default-controls-CAKJ5zlo.js';
2
+ export { D as DefaultTouchControlsOptions, J as JoystickSelection, d as defaultTouchControls, a as resolveButtonAccent, r as resolveTouchTheme, t as touchThemes } from './default-controls-CAKJ5zlo.js';
3
+ import './base-node-life-cycle-BK9xebT9.js';
4
4
  import 'three';
5
5
  import './stage-transition-CmGpV4tc.js';
6
- import './game-interfaces-mchNYSZE.js';
6
+ import './game-interfaces-vF5sRi1n.js';
7
7
 
8
8
  type TouchThemeInput = TouchTheme | TouchThemeName;
9
9
  interface TouchButtonSvgOptions {
package/dist/input-ui.js CHANGED
@@ -1 +1 @@
1
- import"./chunk-ORIDWL3T.js";import{a,b,c,d,e,f,g}from"./chunk-RXDTAWI2.js";import"./chunk-MSC2BEO5.js";export{g as defaultTouchControls,d as joystickBaseSvg,e as joystickThumbSvg,c as resolveButtonAccent,b as resolveTouchTheme,f as touchButtonSvg,a as touchThemes};
1
+ import"./chunk-ORIDWL3T.js";import{a,b,c,d,e,f,g}from"./chunk-PCFF4LLO.js";import"./chunk-UG22Z42P.js";export{g as defaultTouchControls,d as joystickBaseSvg,e as joystickThumbSvg,c as resolveButtonAccent,b as resolveTouchTheme,f as touchButtonSvg,a as touchThemes};
package/dist/input.d.ts CHANGED
@@ -1,6 +1,6 @@
1
- import { b as InputPlayer } from './base-node-life-cycle-D2NuN1VB.js';
2
- export { A as AnalogState, d as ButtonName, B as ButtonState, c as InputGamepad, e as InputPlayerNumber, f as InputProvider, I as Inputs } from './base-node-life-cycle-D2NuN1VB.js';
3
- import { G as GameInputConfig, e as VirtualTouchConfig } from './game-interfaces-mchNYSZE.js';
1
+ import { b as InputPlayer } from './base-node-life-cycle-BK9xebT9.js';
2
+ export { A as AnalogState, d as ButtonName, B as ButtonState, c as InputGamepad, e as InputPlayerNumber, f as InputProvider, I as Inputs } from './base-node-life-cycle-BK9xebT9.js';
3
+ import { G as GameInputConfig, e as VirtualTouchConfig } from './game-interfaces-vF5sRi1n.js';
4
4
  import 'three';
5
5
  import './stage-transition-CmGpV4tc.js';
6
6
 
@@ -49,6 +49,15 @@ declare function useIJKLForDirections(player: InputPlayer): GameInputConfig;
49
49
  declare function useMouseLook(player: InputPlayer, options?: {
50
50
  sensitivity?: number;
51
51
  }): GameInputConfig;
52
+ /**
53
+ * Enables screen-center mouse look (free cursor, no pointer lock).
54
+ * Cursor offset from the game canvas center maps to yaw/pitch up to `maxLookDegrees`.
55
+ * @example stage.setInputConfiguration(useScreenCenterLook('p1'));
56
+ */
57
+ declare function useScreenCenterLook(player: InputPlayer, options?: {
58
+ maxLookDegrees?: number;
59
+ lookSensitivity?: number;
60
+ }): GameInputConfig;
52
61
  /**
53
62
  * Enables basic mouse input (no pointer lock) for the given player.
54
63
  * @example stage.setInputConfiguration(useMouse('p1'));
@@ -70,4 +79,38 @@ declare function useVirtualControls(player: InputPlayer, options?: VirtualTouchC
70
79
  */
71
80
  declare function mergeInputConfigs(...configs: GameInputConfig[]): GameInputConfig;
72
81
 
73
- export { InputPlayer, mergeInputConfigs, useArrowsForAxes, useArrowsForDirections, useArrowsForSecondaryAxes, useIJKLForAxes, useIJKLForDirections, useMouse, useMouseLook, useVirtualControls, useWASDForAxes, useWASDForDirections };
82
+ /**
83
+ * Maps canvas-center-relative pointer offset to absolute yaw/pitch targets.
84
+ * Used with screen-center mouse look (free cursor, no pointer lock).
85
+ */
86
+ interface ScreenCenterLookTargets {
87
+ targetYaw: number;
88
+ targetPitch: number;
89
+ }
90
+ interface ScreenCenterLookOptions {
91
+ maxLookDegrees?: number;
92
+ /** How fast cursor position pulls yaw/pitch toward target (lower = snappier). @default 2 */
93
+ lookSensitivity?: number;
94
+ }
95
+ /** Shortest signed angle from `from` to `to` in radians. */
96
+ declare function shortestAngleDelta(from: number, to: number): number;
97
+ /**
98
+ * Converts normalized pointer offset from viewport center to look angles.
99
+ *
100
+ * @param nx Horizontal offset from center (−1 = left edge, +1 = right edge).
101
+ * @param ny Vertical offset from center (−1 = top edge, +1 = bottom edge).
102
+ * @param maxDegrees Maximum yaw/pitch at viewport edges (default 45).
103
+ */
104
+ declare function screenCenterLookTargets(nx: number, ny: number, maxDegrees?: number): ScreenCenterLookTargets;
105
+ /**
106
+ * Computes WASM look deltas that drive current yaw/pitch toward screen-center targets.
107
+ *
108
+ * `lookSensitivity` controls follow rate toward the cursor-mapped target (lower = snappier).
109
+ * WASM applies its own `look_sensitivity` multiplier to these deltas.
110
+ */
111
+ declare function screenCenterLookDeltas(nx: number, ny: number, currentYaw: number, currentPitch: number, options?: ScreenCenterLookOptions): {
112
+ lookX: number;
113
+ lookY: number;
114
+ };
115
+
116
+ export { InputPlayer, type ScreenCenterLookOptions, type ScreenCenterLookTargets, mergeInputConfigs, screenCenterLookDeltas, screenCenterLookTargets, shortestAngleDelta, useArrowsForAxes, useArrowsForDirections, useArrowsForSecondaryAxes, useIJKLForAxes, useIJKLForDirections, useMouse, useMouseLook, useScreenCenterLook, useVirtualControls, useWASDForAxes, useWASDForDirections };
package/dist/input.js CHANGED
@@ -1 +1 @@
1
- import"./chunk-JEHFHUH4.js";import{a,b,c,d,e,f,g,h,i,j,k}from"./chunk-MSC2BEO5.js";export{k as mergeInputConfigs,a as useArrowsForAxes,c as useArrowsForDirections,b as useArrowsForSecondaryAxes,f as useIJKLForAxes,g as useIJKLForDirections,i as useMouse,h as useMouseLook,j as useVirtualControls,e as useWASDForAxes,d as useWASDForDirections};
1
+ import{a as m,b as n,c as o}from"./chunk-7QF6YTEZ.js";import{a,b,c,d,e,f,g,h,i,j,k,l}from"./chunk-UG22Z42P.js";export{l as mergeInputConfigs,o as screenCenterLookDeltas,n as screenCenterLookTargets,m as shortestAngleDelta,a as useArrowsForAxes,c as useArrowsForDirections,b as useArrowsForSecondaryAxes,f as useIJKLForAxes,g as useIJKLForDirections,j as useMouse,h as useMouseLook,i as useScreenCenterLook,k as useVirtualControls,e as useWASDForAxes,d as useWASDForDirections};
@@ -1,6 +1,6 @@
1
1
  import { Blending, Side, Color, Material } from 'three';
2
2
  import { MeshBasicNodeMaterial } from 'three/webgpu';
3
- import { b as Vec2Input } from './vector-CiSHbivc.js';
3
+ import { b as Vec2Input } from './vector-DN6zlPoE.js';
4
4
 
5
5
  declare function shortHash(objString: string): string;
6
6
 
package/dist/public.d.ts CHANGED
@@ -1,35 +1,35 @@
1
- export { A as AspectRatio, q as AspectRatioValue, k as CameraManager, j as CameraOptions, C as CameraWrapper, D as DeviceProfile, p as FirstPersonOptions, l as FirstPersonPerspective, o as Fixed2DOptions, F as Fixed2DPerspective, G as Game, b as GameConfigLike, d as GameDeviceConfig, a as GameLoadingEvent, P as PerspectiveOptions, y as RenderBundleManager, z as RenderStrategyManager, R as ResolutionInput, e as ResolveGameConfigRuntime, v as RetroPreset, w as RetroPresetKey, x as RetroResolution, S as StageConfigLike, h as StageOptions, n as ThirdPersonOptions, T as ThirdPersonPerspective, i as createCamera, c as createGame, m as createPerspective, f as createStage, g as gameConfig, r as getDisplayAspect, t as getPresetResolution, u as parseResolution, s as stageConfig } from './game-C1FHVqXl.js';
2
- export { G as GameInputConfig, a as GameInputPlayerConfig, K as KeyboardMapping, M as MouseConfig, b as MouseMapping, V as VirtualTouchButtonConfig, d as VirtualTouchButtonSlot, c as VirtualTouchButtonsConfig, e as VirtualTouchConfig, f as VirtualTouchJoystickConfig, g as VirtualTouchJoysticksConfig, h as VirtualTouchPosition, i as VirtualTouchStyle, Z as ZylemGameConfig } from './game-interfaces-mchNYSZE.js';
1
+ export { A as AspectRatio, q as AspectRatioValue, k as CameraManager, j as CameraOptions, C as CameraWrapper, D as DeviceProfile, p as FirstPersonOptions, l as FirstPersonPerspective, o as Fixed2DOptions, F as Fixed2DPerspective, G as Game, b as GameConfigLike, d as GameDeviceConfig, a as GameLoadingEvent, P as PerspectiveOptions, y as RenderBundleManager, z as RenderStrategyManager, R as ResolutionInput, e as ResolveGameConfigRuntime, v as RetroPreset, w as RetroPresetKey, x as RetroResolution, S as StageConfigLike, h as StageOptions, n as ThirdPersonOptions, T as ThirdPersonPerspective, i as createCamera, c as createGame, m as createPerspective, f as createStage, g as gameConfig, r as getDisplayAspect, t as getPresetResolution, u as parseResolution, s as stageConfig } from './game-DbqBQiFC.js';
2
+ export { G as GameInputConfig, a as GameInputPlayerConfig, K as KeyboardMapping, M as MouseConfig, b as MouseMapping, V as VirtualTouchButtonConfig, d as VirtualTouchButtonSlot, c as VirtualTouchButtonsConfig, e as VirtualTouchConfig, f as VirtualTouchJoystickConfig, g as VirtualTouchJoysticksConfig, h as VirtualTouchPosition, i as VirtualTouchStyle, Z as ZylemGameConfig } from './game-interfaces-vF5sRi1n.js';
3
3
  export { CameraFeedOptions, FollowTargetOptions, RenderCategory, STAGE_STATE_CHANGE, StageManager, StageStateChangeEvent, Vect3, createFollowTarget, dispatchStageState, entitySpawner, initStageStateDispatcher, isManagedRenderEntity, resolveRenderCategory, setCameraFeed, setStageFrameProfilerEnabled, stageState, usesManagedRenderPath, vessel } from './core.js';
4
4
  export { f as EntityBlueprint, j as EntityJson, d as EntityJsonSchema, E as EntitySchema, i as LineEntityData, L as LineEntityDataSchema, h as SpriteEntityData, b as SpriteEntityDataSchema, S as StageBlueprint, k as StageJson, e as StageJsonSchema, c as StageSchema, g as TextEntityData, T as TextEntityDataSchema, V as Vector2Schema, a as Vector3TupleSchema } from './blueprints-TbGY-h53.js';
5
- export { A as AnalogState, d as ButtonName, B as ButtonState, c as InputGamepad, b as InputPlayer, e as InputPlayerNumber, f as InputProvider, I as Inputs, L as LoadingEvent, a as SetupContext, S as StageNavigationOptions, U as UpdateContext } from './base-node-life-cycle-D2NuN1VB.js';
5
+ export { A as AnalogState, d as ButtonName, B as ButtonState, c as InputGamepad, b as InputPlayer, e as InputPlayerNumber, f as InputProvider, I as Inputs, L as LoadingEvent, a as SetupContext, S as StageNavigationOptions, U as UpdateContext } from './base-node-life-cycle-BK9xebT9.js';
6
6
  export { S as StageTransitionConfig, a as StageTransitionEasing, Z as ZylemTransitionShader, c as crossfadeTransitionShader } from './stage-transition-CmGpV4tc.js';
7
- export { g as CameraAction, f as CameraBehavior, d as CameraContext, e as CameraPerspective, j as CameraPipeline, h as CameraPipelineState, C as CameraPose, P as PerspectiveType, a as Perspectives, c as PoseDelta, T as TransformLike, V as Viewport, Z as ZylemPostEffect, b as ZylemRenderer, i as isWebGPUSupported } from './zylem-camera-C3bn6BTI.js';
8
- export { S as StageEntity } from './entity-DZbFQ1Wg.js';
9
- export { l as SimulationBody, S as SimulationStepClock, f as VEC2_ONE, g as VEC2_ZERO, h as VEC3_ONE, i as VEC3_ZERO, V as Vec2, a as Vec2Components, b as Vec2Input, c as Vec3, d as Vec3Components, e as Vec3Input, n as normalizeVec2, j as normalizeVec3, t as toThreeVector2, k as toThreeVector3 } from './vector-CiSHbivc.js';
10
- export { A as ACTOR_TYPE, $ as AmbientLightOptions, B as BOX_TYPE, z as CONE_TYPE, J as CYLINDER_TYPE, C as CollisionShapeType, D as DISK_TYPE, a1 as DirectionalLightOptions, aj as EntityForType, ai as EntityTypeMap, a7 as FOG_TYPE, a0 as HemisphereLightOptions, Y as LIGHT_TYPE, aa as LINE_TYPE, a4 as LightShadowOptions, ad as LinePickResult, n as OnEnterParams, o as OnExitParams, O as OnHeldParams, U as PARTICLE_SYSTEM_TYPE, M as PILL_TYPE, P as PLANE_TYPE, G as PYRAMID_TYPE, a2 as PointLightOptions, R as RECT_TYPE, S as SPHERE_TYPE, f as SPRITE_TYPE, a3 as SpotLightOptions, h as SpriteAnimation, g as SpriteImage, T as TEXT_TYPE, m as ZONE_TYPE, q as ZylemActor, Z as ZylemBox, y as ZylemCone, I as ZylemCylinder, w as ZylemDisk, a6 as ZylemFog, ag as ZylemFogHeightOptions, ah as ZylemFogNoiseOptions, ae as ZylemFogOptions, af as ZylemFogType, X as ZylemLight, _ as ZylemLightOptions, a9 as ZylemLine, ac as ZylemLineOptions, Q as ZylemParticleSystem, V as ZylemParticleSystemOptions, L as ZylemPill, j as ZylemPlane, F as ZylemPyramid, u as ZylemRect, b as ZylemSphere, e as ZylemSprite, s as ZylemText, l as ZylemZone, p as createActor, c as createBox, x as createCone, H as createCylinder, v as createDisk, a5 as createFog, W as createLight, a8 as createLine, N as createParticleSystem, K as createPill, i as createPlane, E as createPyramid, t as createRect, a as createSphere, d as createSprite, r as createText, k as createZone, ab as pickZylemLine } from './entity-type-map-Bd69SpAS.js';
11
- export { A as Action, C as CollisionComponent, G as GameEntity, a as GameEntityOptions, b as boxCollision, d as coneCollision, c as create, e as cylinderCollision, x as getRotation, f as pillCollision, g as planeCollision, p as pyramidCollision, i as rotateEuler, r as rotateInDirection, j as rotateX, k as rotateY, h as rotateYEuler, l as rotateZ, w as setRotation, q as setRotationDegrees, u as setRotationDegreesX, t as setRotationDegreesY, v as setRotationDegreesZ, n as setRotationX, m as setRotationY, o as setRotationZ, s as sphereCollision, z as zoneCollision } from './entity-BdSI8CL3.js';
7
+ export { g as CameraAction, f as CameraBehavior, d as CameraContext, e as CameraPerspective, j as CameraPipeline, h as CameraPipelineState, C as CameraPose, P as PerspectiveType, a as Perspectives, c as PoseDelta, T as TransformLike, V as Viewport, Z as ZylemPostEffect, b as ZylemRenderer, i as isWebGPUSupported } from './zylem-camera-Du2UPW9O.js';
8
+ export { S as StageEntity } from './entity-B9yZeBm4.js';
9
+ export { l as SimulationBody, S as SimulationStepClock, f as VEC2_ONE, g as VEC2_ZERO, h as VEC3_ONE, i as VEC3_ZERO, V as Vec2, a as Vec2Components, b as Vec2Input, c as Vec3, d as Vec3Components, e as Vec3Input, n as normalizeVec2, j as normalizeVec3, t as toThreeVector2, k as toThreeVector3 } from './vector-DN6zlPoE.js';
10
+ export { A as ACTOR_TYPE, $ as AmbientLightOptions, B as BOX_TYPE, z as CONE_TYPE, J as CYLINDER_TYPE, C as CollisionShapeType, D as DISK_TYPE, a1 as DirectionalLightOptions, aj as EntityForType, ai as EntityTypeMap, a7 as FOG_TYPE, a0 as HemisphereLightOptions, Y as LIGHT_TYPE, aa as LINE_TYPE, a4 as LightShadowOptions, ad as LinePickResult, n as OnEnterParams, o as OnExitParams, O as OnHeldParams, U as PARTICLE_SYSTEM_TYPE, M as PILL_TYPE, P as PLANE_TYPE, G as PYRAMID_TYPE, a2 as PointLightOptions, R as RECT_TYPE, S as SPHERE_TYPE, f as SPRITE_TYPE, a3 as SpotLightOptions, h as SpriteAnimation, g as SpriteImage, T as TEXT_TYPE, m as ZONE_TYPE, q as ZylemActor, Z as ZylemBox, y as ZylemCone, I as ZylemCylinder, w as ZylemDisk, a6 as ZylemFog, ag as ZylemFogHeightOptions, ah as ZylemFogNoiseOptions, ae as ZylemFogOptions, af as ZylemFogType, X as ZylemLight, _ as ZylemLightOptions, a9 as ZylemLine, ac as ZylemLineOptions, Q as ZylemParticleSystem, V as ZylemParticleSystemOptions, L as ZylemPill, j as ZylemPlane, F as ZylemPyramid, u as ZylemRect, b as ZylemSphere, e as ZylemSprite, s as ZylemText, l as ZylemZone, p as createActor, c as createBox, x as createCone, H as createCylinder, v as createDisk, a5 as createFog, W as createLight, a8 as createLine, N as createParticleSystem, K as createPill, i as createPlane, E as createPyramid, t as createRect, a as createSphere, d as createSprite, r as createText, k as createZone, ab as pickZylemLine } from './entity-type-map-CW6RHQkx.js';
11
+ export { A as Action, C as CollisionComponent, G as GameEntity, a as GameEntityOptions, b as boxCollision, d as coneCollision, c as create, e as cylinderCollision, x as getRotation, f as pillCollision, g as planeCollision, p as pyramidCollision, i as rotateEuler, r as rotateInDirection, j as rotateX, k as rotateY, h as rotateYEuler, l as rotateZ, w as setRotation, q as setRotationDegrees, u as setRotationDegreesX, t as setRotationDegreesY, v as setRotationDegreesZ, n as setRotationX, m as setRotationY, o as setRotationZ, s as sphereCollision, z as zoneCollision } from './entity-BGEq1yfC.js';
12
12
  export { IconSize, IconSizePreset, ScreenAnchor, TemplateFactory, boxMesh, coneMesh, createCooldownIcon, createEntity, createEntityFactory, cylinderMesh, destroy, pillMesh, pyramidMesh, sphereMesh } from './entity.js';
13
13
  export { BehaviorDescriptor, BehaviorHandle, BehaviorRef, BehaviorSystem, BehaviorSystemFactory, BoundaryRicochet3DCoordinator, BoundaryRicochet3DEntity, BoundaryRicochetCoordinator, BoundaryRicochetEntity, BoundaryRicochetUpdate, BurstParticlePresetOptions, CooldownBehavior, CooldownConfig, CooldownEntry, CooldownHandle, CooldownOptions, DefineBehaviorConfig, Destructible3DBehavior, Destructible3DBehaviorOptions, Destructible3DColliderOptions, Destructible3DFragmentColliderShape, Destructible3DFragmentPhysicsOptions, Destructible3DHandle, DestructibleMesh, DestructiblePrebakeWorkerAPI, FacingAngle2DEntity, FirstPersonBehavior, FirstPersonBehaviorOptions, FirstPersonContext, FirstPersonEntity, FirstPersonEvent, FirstPersonFSM, FirstPersonInputComponent, FirstPersonMovementComponent, FirstPersonPresentation, FirstPersonShooterCoordinator, FirstPersonShooterEntity, FirstPersonShooterInput, FirstPersonState, FirstPersonStateComponent, FractureOptions, FractureOptionsInput, JumpConfig2D, JumpConfig3D, JumpContext2D, JumpContext3D, JumpInput2D, JumpInput3D, JumpState2D, JumpState3D, Jumper2DBehavior, Jumper2DBehaviorOptions, Jumper2DEntity, Jumper2DEvent, Jumper2DFSM, Jumper2DState, Jumper3DBehavior, Jumper3DBehaviorOptions, Jumper3DEntity, Jumper3DEvent, Jumper3DFSM, Jumper3DState, MultidirectionalSpaceShooterCoordinator, MultidirectionalSpaceShooterEntity, MultidirectionalSpaceShooterInput, ParticleEffectDefinition, ParticleEmitterBehavior, ParticleEmitterBehaviorOptions, ParticleEmitterHandle, ParticleMagicAgency, ParticleMagicAlignment, ParticleMagicModifierInput, ParticleMagicModifierOptions, ParticleMagicOrder, ParticleMagicRealityEffect, ParticleMagicTemperament, ParticlePresetMaterialOptions, PhysicsBodyComponent, PlainBufferGeometryPayload, PlainFractureOptions, Platformer2DBehavior, Platformer2DBehaviorOptions, Platformer2DCollisionContext, Platformer2DContext, Platformer2DEntity, Platformer2DEvent, Platformer2DFSM, Platformer2DInputComponent, Platformer2DMovementComponent, Platformer2DState, Platformer2DStateComponent, Platformer3DBehavior, Platformer3DBehaviorOptions, Platformer3DContext, Platformer3DEntity, Platformer3DEvent, Platformer3DFSM, Platformer3DInputComponent, Platformer3DMovementComponent, Platformer3DState, Platformer3DStateComponent, PlatformerCollisionContext, PlayerInput, PrebakeWorkerRequest, PrebakeWorkerResponse, ResolvedAim2D, Ricochet2DBehavior, Ricochet2DCollisionContext, Ricochet2DEvent, Ricochet2DFSM, Ricochet2DHandle, Ricochet2DOptions, Ricochet2DResult, Ricochet2DState, Ricochet3DBehavior, Ricochet3DCallback, Ricochet3DCollisionContext, Ricochet3DEvent, Ricochet3DFSM, Ricochet3DHandle, Ricochet3DOptions, Ricochet3DResult, Ricochet3DState, RicochetCallback, ScreenVisibilityBehavior, ScreenVisibilityChangeContext, ScreenVisibilityFSM, ScreenVisibilityHandle, ScreenVisibilityOptions, ScreenVisibilitySize, ScreenVisibilitySnapshot, ScreenWrapBehavior, ScreenWrapEvent, ScreenWrapFSM, ScreenWrapOptions, ScreenWrapState, SemanticParticlePresetOptions, Shooter2DAimFireInput, Shooter2DBehavior, Shooter2DBehaviorOptions, Shooter2DFireArgs, Shooter2DHandle, Shooter2DProjectileFactory, Shooter2DSourceEntity, Shooter2DStageLike, Shooter2DStateComponent, Shooter2DTarget, ThrusterBehavior, ThrusterBehaviorOptions, ThrusterEntity, ThrusterEvent, ThrusterFSM, ThrusterFSMContext, ThrusterInputComponent, ThrusterMovementComponent, ThrusterState, ThrusterStateComponent, TopDownMovementBehavior, TopDownMovementBehaviorOptions, TopDownMovementComponent, TopDownMovementEntity, TopDownMovementHandle, TopDownMovementInputComponent, TopDownMovementStateComponent, TopDownShooterCoordinator, TopDownShooterEntity, TopDownShooterInput, TransformComponent, Vec3Like, ViewmodelConfig, VoronoiOptions, WorldBoundary2DBehavior, WorldBoundary2DBounds, WorldBoundary2DEvent, WorldBoundary2DFSM, WorldBoundary2DHandle, WorldBoundary2DHit, WorldBoundary2DHits, WorldBoundary2DOptions, WorldBoundary2DPosition, WorldBoundary2DState, WorldBoundary3DBehavior, WorldBoundary3DBounds, WorldBoundary3DEvent, WorldBoundary3DFSM, WorldBoundary3DHandle, WorldBoundary3DHit, WorldBoundary3DHits, WorldBoundary3DOptions, WorldBoundary3DPosition, WorldBoundary3DState, computeWorldBoundary2DHits, computeWorldBoundary3DHits, createFirstPersonInputComponent, createFirstPersonMovementComponent, createFirstPersonStateComponent, createJumpConfig2D, createJumpConfig3D, createJumpInput2D, createJumpInput3D, createJumpState2D, createJumpState3D, createPhysicsBodyComponent, createPlatformer2DInputComponent, createPlatformer2DMovementComponent, createPlatformer2DStateComponent, createPlatformer3DInputComponent, createPlatformer3DMovementComponent, createPlatformer3DStateComponent, createShooter2DStateComponent, createThrusterInputComponent, createThrusterMovementComponent, createThrusterStateComponent, createTopDownMovementComponent, createTopDownMovementInputComponent, createTopDownMovementStateComponent, createTransformComponent, defineBehavior, fireCooldown, fireShooter2DIfRequested, getCooldown, getCooldownStore, getEntityFacingAngle2D, hasAnyWorldBoundary2DHit, hasAnyWorldBoundary3DHit, particleEffect, particlePresets, registerCooldown, resetCooldown, resolveAim2D, tickCooldowns, updateBoundaryRicochet, useBehavior } from '@zylem/behaviors';
14
14
  export { RUNTIME_BOUNDARY_2D_BEHAVIOR_KEY, RUNTIME_DYNAMIC_CIRCLE_BODY_2D_BEHAVIOR_KEY, RUNTIME_GOAL_ZONE_2D_BEHAVIOR_KEY, RUNTIME_PLAYER_INPUT_2D_BEHAVIOR_KEY, RUNTIME_RICOCHET_2D_BEHAVIOR_KEY, RUNTIME_TRIGGER_REGION_2D_BEHAVIOR_KEY, RuntimeBoundary2DBehavior, RuntimeBoundary2DOptions, RuntimeDynamicCircleBody2DBehavior, RuntimeDynamicCircleBody2DHandle, RuntimeDynamicCircleBody2DOptions, RuntimeGoalZone2DBehavior, RuntimeGoalZone2DEvent, RuntimeGoalZone2DHandle, RuntimeGoalZone2DOptions, RuntimePlayerInput2DBehavior, RuntimePlayerInput2DOptions, RuntimeRicochet2DBehavior, RuntimeRicochet2DEvent, RuntimeRicochet2DHandle, RuntimeRicochet2DOptions, RuntimeTriggerRegion2DBehavior, RuntimeTriggerRegion2DEvent, RuntimeTriggerRegion2DHandle, RuntimeTriggerRegion2DOptions, bindRuntimeDynamicCircleBody2DHandle, emitRuntimeGoal, emitRuntimeRicochet, emitRuntimeTriggerRegionEnter } from '@zylem/behaviors/runtime-2d';
15
15
  export { FadeOpacityOptions, MoveByOptions, MoveToOptions, OpacityEntity, RotateByOptions, ThrottleOptions, applyTransformChanges, callFunc, delay, fadeOpacity, moveBy, moveTo, onPress, onRelease, parallel, repeat, repeatForever, resetEntityOpacity, rotateBy, sequence, throttle } from './actions.js';
16
16
  export { BehaviorRuntime, EntityDefinition, EntityHandle, Simulation, SimulationBodyDefinition, SimulationColliderDefinition, SimulationEvent, SimulationFrame, SimulationOptions, StageBodyConfig, StageBodyInfo, StageBodyKind, StageBodyKindValue, StageBoundaryDim, StageColliderConfig, StageColliderShape, StageDebugRender, StageEvent, StageEventType, StagePose, StageRaycastHit, StageRenderSlot, StageRicochetDim, StageRicochetReflection, StageTopDownPlane, TransformState, createSimulation, createTransformStore, getPosition, getVelocity, move, moveForwardXY, moveX, moveXY, moveXZ, moveY, moveZ, resetVelocity, setPosition, setPositionX, setPositionY, setPositionZ, wrapAround3D, wrapAroundXY } from '@zylem/behaviors/core';
17
- export { mergeInputConfigs, useArrowsForAxes, useArrowsForDirections, useArrowsForSecondaryAxes, useIJKLForAxes, useIJKLForDirections, useMouse, useMouseLook, useVirtualControls, useWASDForAxes, useWASDForDirections } from './input.js';
18
- export { D as DefaultTouchControlsOptions, J as JoystickSelection, T as TouchTheme, b as TouchThemeName, d as defaultTouchControls, a as resolveButtonAccent, r as resolveTouchTheme, t as touchThemes } from './default-controls-0-vCnli7.js';
17
+ export { ScreenCenterLookOptions, ScreenCenterLookTargets, mergeInputConfigs, screenCenterLookDeltas, screenCenterLookTargets, shortestAngleDelta, useArrowsForAxes, useArrowsForDirections, useArrowsForSecondaryAxes, useIJKLForAxes, useIJKLForDirections, useMouse, useMouseLook, useScreenCenterLook, useVirtualControls, useWASDForAxes, useWASDForDirections } from './input.js';
18
+ export { D as DefaultTouchControlsOptions, J as JoystickSelection, T as TouchTheme, b as TouchThemeName, d as defaultTouchControls, a as resolveButtonAccent, r as resolveTouchTheme, t as touchThemes } from './default-controls-CAKJ5zlo.js';
19
19
  export { TouchButtonSvgOptions, TouchThemeInput, joystickBaseSvg, joystickThumbSvg, touchButtonSvg } from './input-ui.js';
20
20
  export { EntityConfigPayload, EntityEvents, EventEmitterDelegate, GameEvents, GameLoadingPayload, StageConfigPayload, StageEvents, StateDispatchPayload, ZylemEvents, zylemEventBus } from './events.js';
21
21
  export { clearGlobalSubscriptions, createGlobal, createVariable, getGlobal, getGlobals, getVariable, globalChange, globalChanges, onGlobalChange, onGlobalChanges, onVariableChange, onVariableChanges, setGlobal, setVariable, variableChange, variableChanges } from './globals.js';
22
22
  export { pingPongBeep, ricochetSound } from './audio.js';
23
23
  export { Howl } from 'howler';
24
- export { D as DebugTools, d as debugState, s as setDebugTool, a as setPaused, b as setSelectedEntity } from './debug-state-BPT6jEog.js';
24
+ export { D as DebugTools, d as debugState, s as setDebugTool, a as setPaused, b as setSelectedEntity } from './debug-state-DRoeasG2.js';
25
25
  export { EntityFocusContext, EntityThumbnailCache, EntityThumbnailCacheEntry, EntityThumbnailResult, entityThumbnailCache, focusEntity, registerEntityFocusContext } from './debug.js';
26
26
  export { ZylemGameElement, ZylemGameState } from './web-components.js';
27
27
  export { RuntimeBodyOptions, RuntimeColliderOptions, RuntimeCollisionBundle, buildBoxCollider, buildCapsuleCollider, buildConvexHullCollider, buildCylinderCollider, buildHeightfieldCollider, buildRuntimeBody, buildSphereCollider, buildTrimeshCollider, bundleRuntimeCollision } from './runtime.js';
28
28
  export { ColorJsonSchema, GameConfigJson, GameConfigJsonSchema, GameDeviceConfigJson, GameDeviceConfigJsonSchema, GameInputConfigJson, GameInputConfigSchema, GameInputPlayerConfigSchema, KeyboardMappingSchema, MouseConfigSchema, MouseMappingSchema, ResolutionInputSchema, StageAssetLoaderConfigSchema, StageConfigJson, StageConfigJsonSchema, StageGLTFAssetLoaderConfigSchema, Vec3ComponentsSchema, VirtualTouchButtonConfigSchema, VirtualTouchButtonsConfigSchema, VirtualTouchConfigSchema, VirtualTouchJoystickConfigSchema, VirtualTouchJoysticksConfigSchema, VirtualTouchPositionSchema, VirtualTouchStyleSchema } from './schema.js';
29
29
  export { createBackgroundShader, objectVertexShader, standardShader } from './graphics.js';
30
- export { d as ZylemShader, Z as ZylemShaderObject, b as ZylemTSLShader, c as createNodeMaterialFromTSL, a as isGLSLShader, i as isTSLShader } from './material-9vJ6SZaI.js';
30
+ export { d as ZylemShader, Z as ZylemShaderObject, b as ZylemTSLShader, c as createNodeMaterialFromTSL, a as isGLSLShader, i as isTSLShader } from './material-DbSuZBbP.js';
31
31
  export { Fn, abs, asin, atan, clamp, cos, dot, exp, float, floor, fract, length, max, min, mix, mod, normalize, positionWorld, positionWorldDirection, pow, sin, smoothstep, step, time, uniform, uv, vec2, vec3, vec4 } from 'three/tsl';
32
- export { p as packCollisionGroups } from './collision-builder-jF-toPIl.js';
32
+ export { p as packCollisionGroups } from './collision-builder-B_tm8OVy.js';
33
33
  import 'three';
34
34
  import '@sinclair/typebox';
35
35
  import 'three/webgpu';
package/dist/public.js CHANGED
@@ -1 +1 @@
1
- import{a as s,b as n,c as l,d as S,e as h,f as y,g as L,h as v,i as Z,j as b,k as g,l as u,m as T,n as j,o as F,p as W,q as k,r as w,s as z,t as B,u as D,v as E,w as G}from"./chunk-QB3NL7VQ.js";import"./chunk-BIGH6D34.js";import"./chunk-DFLI7ICU.js";import{a as Va}from"./chunk-TAUWDQZF.js";import{a as qa,b as Aa,c as Ca,d as Ha,e as Ia,f as Ja,g as Ka,h as Qa,i as Ra,j as Ua,k as Xa,l as Ya,m as _a,n as $a,o as op,p as rp}from"./chunk-IKWE2W6L.js";import{A as kp,B as wp,C as zp,a as ep,b as tp,c as mp,d as ap,e as pp,f as fp,g as xp,h as ip,i as dp,j as cp,k as sp,l as np,m as lp,n as Sp,o as hp,p as yp,q as Lp,r as vp,s as Zp,t as bp,u as gp,v as up,w as Tp,x as jp,y as Fp,z as Wp}from"./chunk-M3XNO56P.js";import{a as po,b as fo,c as xo,d as io,e as Lo,f as Mr,g as Nr,h as Rr,i as Ur,j as Xr,k as Yr,l as _r,m as $r,n as oe,o as re}from"./chunk-FKIKN7RP.js";import{a as bo}from"./chunk-7GYFZKK7.js";import{a as K,b as Q}from"./chunk-COM6HJ2L.js";import{a as ao,c as go,d as uo,e as To,f as sr,g as nr,h as br,i as gr,k as ur,l as Tr,m as jr,n as Fr,o as Wr,p as kr,q as wr,r as zr,s as Br,t as Er,v as Gr}from"./chunk-JNKPTL77.js";import{c as vr,d as Zr}from"./chunk-VS2D4B3W.js";import{a as C,c as H,e as I,f as J}from"./chunk-JQKS42G4.js";import{b as xr}from"./chunk-G4HONLWC.js";import{A as ke,B as we,C as ze,D as Be,E as De,F as Ee,G as Ge,H as Me,I as Ne,J as Oe,K as Pe,L as Ve,M as qe,N as Ae,O as Ce,P as He,Q as Ie,R as Je,a as ee,b as te,c as me,d as ae,e as pe,f as fe,g as xe,h as ie,i as de,j as ce,k as se,l as ne,m as le,n as Se,o as he,p as ye,q as Le,r as ve,s as Ze,t as be,u as ge,v as ue,w as Te,x as je,y as Fe,z as We}from"./chunk-7FR5JSQ2.js";import{b as Or,c as Pr,d as Vr,e as qr,f as Ar,g as Cr,h as Hr,i as Ir,j as Jr,k as Kr,m as Qr}from"./chunk-XNDS4YFR.js";import{c as Uo,d as Xo,e as Yo,f as _o,g as $o,h as or,i as rr,j as er,n as tr,p as mr,t as ar,u as pr,v as fr,w as ir,x as dr,y as cr}from"./chunk-XNHVRFAK.js";import{a as o,b as r,h as e,i as t,k as m,l as a,m as p,n as f,o as x,p as i,q as d,r as c}from"./chunk-CM5YRNBJ.js";import{a as vo,b as Zo}from"./chunk-YHEWKN7N.js";import"./chunk-QXVH6POE.js";import{a as Ro}from"./chunk-E3UBSUPX.js";import{$ as Jt,$a as Jm,A as Lt,Aa as Lm,B as vt,Ba as vm,C as Zt,Ca as Zm,D as bt,Da as bm,E as gt,Ea as gm,F as ut,Fa as um,G as Tt,Ga as Tm,H as jt,Ha as jm,I as Ft,Ia as Fm,J as Wt,Ja as Wm,K as kt,Ka as km,L as wt,La as wm,M as zt,Ma as zm,N as Bt,Na as Bm,O as Dt,Oa as Dm,P as Et,Pa as Em,Q as Gt,Qa as Gm,R as Mt,Ra as Mm,S as Nt,Sa as Nm,T as Ot,Ta as Om,U as Pt,Ua as Pm,V as Vt,Va as Vm,W as qt,Wa as qm,X as At,Xa as Am,Y as Ct,Ya as Cm,Z as Ht,Za as Hm,_ as It,_a as Im,a as Ke,aa as Kt,ab as Km,b as Qe,ba as Qt,bb as Qm,c as Re,ca as Rt,cb as Rm,d as Ue,da as Ut,db as Um,e as Xe,ea as Xt,eb as Xm,f as Ye,fa as Yt,fb as Ym,g as _e,ga as _t,gb as _m,h as $e,ha as $t,hb as $m,i as ot,ia as om,ib as oa,j as rt,ja as rm,k as et,ka as em,l as tt,la as tm,m as mt,ma as mm,n as at,na as am,o as pt,oa as pm,p as ft,pa as fm,q as xt,qa as xm,r as it,ra as im,s as dt,sa as dm,t as ct,ta as cm,u as st,ua as sm,v as nt,va as nm,w as lt,wa as lm,x as St,xa as Sm,y as ht,ya as hm,z as yt,za as ym}from"./chunk-XK63E4SX.js";import{a as ra,b as ea,c as ta}from"./chunk-ZRT3ZQVH.js";import{a as ma,b as aa,c as pa,d as fa}from"./chunk-WQ3WMMZD.js";import{h as lr,i as Sr,j as hr,k as yr,l as Lr}from"./chunk-D2PATZCC.js";import{e as M,f as N,g as O,h as P,i as V,j as q,m as A}from"./chunk-4QLJUQSJ.js";import{a as jo,b as Fo,c as Wo,d as ko,g as wo,h as zo,i as Bo,j as Do}from"./chunk-7WRQ2UAN.js";import{A as Ga,B as Ma,C as Na,D as Oa,E as Pa,a as xa,b as ia,c as da,d as ca,e as sa,f as na,g as la,h as Sa,i as ha,j as ya,k as La,l as va,m as Za,n as ba,o as ga,p as ua,q as Ta,r as ja,s as Fa,t as Wa,u as ka,v as wa,w as za,x as Ba,y as Da,z as Ea}from"./chunk-IPWUDOV5.js";import{a as Dr}from"./chunk-BH53MBAZ.js";import{a as Eo,b as Go,c as Mo,d as No,e as Oo,f as Po,g as Vo,h as qo,i as Ao,j as Co,k as Ho,l as Io,m as Jo,n as Ko,o as Qo}from"./chunk-XRP4JJXL.js";import"./chunk-JEHFHUH4.js";import"./chunk-ORIDWL3T.js";import{a as co,b as so,c as no,d as lo,e as So,f as ho,g as yo}from"./chunk-RXDTAWI2.js";import{a as R,b as U,c as X,d as Y,e as _,f as $,g as oo,h as ro,i as eo,j as to,k as mo}from"./chunk-MSC2BEO5.js";export{ar as ACTOR_TYPE,po as AspectRatio,xe as BOX_TYPE,Ke as BoundaryRicochet3DCoordinator,Qe as BoundaryRicochetCoordinator,Fe as CONE_TYPE,De as CYLINDER_TYPE,kr as CameraManager,ur as CameraPipeline,wr as CameraWrapper,up as ColorJsonSchema,Re as CooldownBehavior,ue as DISK_TYPE,Ue as Destructible3DBehavior,Xe as DestructibleMesh,ip as EntityJsonSchema,tp as EntitySchema,K as EntityThumbnailCache,vo as EventEmitterDelegate,ir as FOG_TYPE,Ye as FirstPersonBehavior,_e as FirstPersonEvent,$e as FirstPersonFSM,Fr as FirstPersonPerspective,et as FirstPersonPresentation,ot as FirstPersonShooterCoordinator,rt as FirstPersonState,jr as Fixed2DPerspective,c as Fn,tt as FractureOptions,Rr as Game,zp as GameConfigJsonSchema,wp as GameDeviceConfigJsonSchema,gp as GameInputConfigSchema,bp as GameInputPlayerConfigSchema,ta as Howl,mt as Jumper2DBehavior,at as Jumper2DEvent,pt as Jumper2DFSM,ft as Jumper2DState,xt as Jumper3DBehavior,it as Jumper3DEvent,dt as Jumper3DFSM,ct as Jumper3DState,cp as KeyboardMappingSchema,Ae as LIGHT_TYPE,Hr as LINE_TYPE,fp as LineEntityDataSchema,Zp as MouseConfigSchema,sp as MouseMappingSchema,st as MultidirectionalSpaceShooterCoordinator,Pe as PARTICLE_SYSTEM_TYPE,Me as PILL_TYPE,le as PLANE_TYPE,we as PYRAMID_TYPE,nt as ParticleEmitterBehavior,gr as Perspectives,lt as Platformer2DBehavior,St as Platformer2DEvent,ht as Platformer2DFSM,yt as Platformer2DState,Lt as Platformer3DBehavior,vt as Platformer3DEvent,Zt as Platformer3DFSM,bt as Platformer3DState,Ze as RECT_TYPE,Jm as RUNTIME_BOUNDARY_2D_BEHAVIOR_KEY,Km as RUNTIME_DYNAMIC_CIRCLE_BODY_2D_BEHAVIOR_KEY,Qm as RUNTIME_GOAL_ZONE_2D_BEHAVIOR_KEY,Rm as RUNTIME_PLAYER_INPUT_2D_BEHAVIOR_KEY,Um as RUNTIME_RICOCHET_2D_BEHAVIOR_KEY,Xm as RUNTIME_TRIGGER_REGION_2D_BEHAVIOR_KEY,sr as RenderBundleManager,nr as RenderStrategyManager,kp as ResolutionInputSchema,gt as Ricochet2DBehavior,ut as Ricochet2DEvent,Tt as Ricochet2DFSM,jt as Ricochet2DState,Ft as Ricochet3DBehavior,Wt as Ricochet3DEvent,kt as Ricochet3DFSM,wt as Ricochet3DState,Vm as RuntimeBoundary2DBehavior,qm as RuntimeDynamicCircleBody2DBehavior,Am as RuntimeGoalZone2DBehavior,Cm as RuntimePlayerInput2DBehavior,Hm as RuntimeRicochet2DBehavior,Im as RuntimeTriggerRegion2DBehavior,ce as SPHERE_TYPE,qr as SPRITE_TYPE,Yr as STAGE_STATE_CHANGE,zt as ScreenVisibilityBehavior,Bt as ScreenVisibilityFSM,Dt as ScreenWrapBehavior,Et as ScreenWrapEvent,Gt as ScreenWrapFSM,Mt as ScreenWrapState,Nt as Shooter2DBehavior,xr as SimulationBody,xp as SpriteEntityDataSchema,Fp as StageAssetLoaderConfigSchema,Ua as StageBodyKind,Xa as StageBoundaryDim,Wp as StageConfigJsonSchema,Ya as StageEventType,jp as StageGLTFAssetLoaderConfigSchema,dp as StageJsonSchema,Nr as StageManager,_a as StageRicochetDim,$a as StageRicochetReflection,mp as StageSchema,op as StageTopDownPlane,Or as TEXT_TYPE,ap as TextEntityDataSchema,Tr as ThirdPersonPerspective,Ot as ThrusterBehavior,Pt as ThrusterEvent,Vt as ThrusterFSM,qt as ThrusterState,At as TopDownMovementBehavior,Ct as TopDownShooterCoordinator,Fo as VEC2_ONE,jo as VEC2_ZERO,ko as VEC3_ONE,Wo as VEC3_ZERO,Tp as Vec3ComponentsSchema,ep as Vector2Schema,pp as Vector3TupleSchema,Sp as VirtualTouchButtonConfigSchema,yp as VirtualTouchButtonsConfigSchema,vp as VirtualTouchConfigSchema,hp as VirtualTouchJoystickConfigSchema,Lp as VirtualTouchJoysticksConfigSchema,lp as VirtualTouchPositionSchema,np as VirtualTouchStyleSchema,Ht as WorldBoundary2DBehavior,It as WorldBoundary2DEvent,Jt as WorldBoundary2DFSM,Kt as WorldBoundary2DState,Qt as WorldBoundary3DBehavior,Rt as WorldBoundary3DEvent,Ut as WorldBoundary3DFSM,Xt as WorldBoundary3DState,ye as ZONE_TYPE,pr as ZylemActor,ie as ZylemBox,We as ZylemCone,Ee as ZylemCylinder,Te as ZylemDisk,dr as ZylemFog,Va as ZylemGameElement,Ce as ZylemLight,Jr as ZylemLine,Ve as ZylemParticleSystem,Ne as ZylemPill,Se as ZylemPlane,ze as ZylemPyramid,be as ZylemRect,se as ZylemSphere,Ar as ZylemSprite,Pr as ZylemText,Le as ZylemZone,u as abs,Dr as applyTransformChanges,g as asin,b as atan,Ym as bindRuntimeDynamicCircleBody2DHandle,Uo as boxCollision,ee as boxMesh,Aa as buildBoxCollider,Ha as buildCapsuleCollider,Ja as buildConvexHullCollider,Ia as buildCylinderCollider,Qa as buildHeightfieldCollider,qa as buildRuntimeBody,Ca as buildSphereCollider,Ka as buildTrimeshCollider,Ra as bundleRuntimeCollision,na as callFunc,L as clamp,A as clearGlobalSubscriptions,Yt as computeWorldBoundary2DHits,_t as computeWorldBoundary3DHits,Yo as coneCollision,me as coneMesh,Z as cos,tr as create,fr as createActor,s as createBackgroundShader,de as createBox,zr as createCamera,ke as createCone,Ie as createCooldownIcon,Ge as createCylinder,je as createDisk,mr as createEntity,Qr as createEntityFactory,$t as createFirstPersonInputComponent,om as createFirstPersonMovementComponent,rm as createFirstPersonStateComponent,cr as createFog,oe as createFollowTarget,Ur as createGame,N as createGlobal,em as createJumpConfig2D,tm as createJumpConfig3D,mm as createJumpInput2D,am as createJumpInput3D,pm as createJumpState2D,fm as createJumpState3D,He as createLight,Kr as createLine,m as createNodeMaterialFromTSL,qe as createParticleSystem,Wr as createPerspective,xm as createPhysicsBodyComponent,Oe as createPill,he as createPlane,im as createPlatformer2DInputComponent,dm as createPlatformer2DMovementComponent,cm as createPlatformer2DStateComponent,sm as createPlatformer3DInputComponent,nm as createPlatformer3DMovementComponent,lm as createPlatformer3DStateComponent,Be as createPyramid,ge as createRect,Sm as createShooter2DStateComponent,rp as createSimulation,ne as createSphere,Cr as createSprite,Gr as createStage,Vr as createText,hm as createThrusterInputComponent,ym as createThrusterMovementComponent,Lm as createThrusterStateComponent,vm as createTopDownMovementComponent,Zm as createTopDownMovementInputComponent,bm as createTopDownMovementStateComponent,gm as createTransformComponent,ga as createTransformStore,Sr as createVariable,ve as createZone,bo as crossfadeTransitionShader,$o as cylinderCollision,pe as cylinderMesh,C as debugState,yo as defaultTouchControls,um as defineBehavior,sa as delay,Je as destroy,$r as dispatchStageState,B as dot,_m as emitRuntimeGoal,$m as emitRuntimeRicochet,oa as emitRuntimeTriggerRegionEnter,Xr as entitySpawner,Q as entityThumbnailCache,T as exp,la as fadeOpacity,Tm as fireCooldown,jm as fireShooter2DIfRequested,d as float,w as floor,Zr as focusEntity,z as fract,Lo as gameConfig,Fm as getCooldown,Wm as getCooldownStore,fo as getDisplayAspect,km as getEntityFacingAngle2D,O as getGlobal,q as getGlobals,Ba as getPosition,xo as getPresetResolution,Qo as getRotation,hr as getVariable,Da as getVelocity,ma as globalChange,aa as globalChanges,wm as hasAnyWorldBoundary2DHit,zm as hasAnyWorldBoundary3DHit,_r as initStageStateDispatcher,t as isGLSLShader,To as isManagedRenderEntity,e as isTSLShader,ao as isWebGPUSupported,lo as joystickBaseSvg,So as joystickThumbSvg,D as length,W as max,mo as mergeInputConfigs,k as min,h as mix,G as mod,ua as move,ia as moveBy,za as moveForwardXY,da as moveTo,Ta as moveX,Wa as moveXY,ka as moveXZ,ja as moveY,Fa as moveZ,S as normalize,wo as normalizeVec2,zo as normalizeVec3,o as objectVertexShader,P as onGlobalChange,V as onGlobalChanges,ha as onPress,ya as onRelease,yr as onVariableChange,Lr as onVariableChanges,Ro as packCollisionGroups,va as parallel,io as parseResolution,Bm as particleEffect,Dm as particlePresets,Ir as pickZylemLine,or as pillCollision,fe as pillMesh,ea as pingPongBeep,rr as planeCollision,l as positionWorld,n as positionWorldDirection,j as pow,_o as pyramidCollision,ae as pyramidMesh,Em as registerCooldown,vr as registerEntityFocusContext,Za as repeat,ba as repeatForever,Gm as resetCooldown,xa as resetEntityOpacity,wa as resetVelocity,Mm as resolveAim2D,no as resolveButtonAccent,go as resolveRenderCategory,so as resolveTouchTheme,ra as ricochetSound,ca as rotateBy,Mo as rotateEuler,Eo as rotateInDirection,Oo as rotateX,No as rotateY,Go as rotateYEuler,Po as rotateZ,La as sequence,re as setCameraFeed,I as setDebugTool,M as setGlobal,H as setPaused,Ea as setPosition,Ga as setPositionX,Ma as setPositionY,Na as setPositionZ,Jo as setRotation,Ko as setRotationDegrees,Co as setRotationDegreesX,qo as setRotationDegreesY,Io as setRotationDegreesZ,Ao as setRotationX,Vo as setRotationY,Ho as setRotationZ,J as setSelectedEntity,br as setStageFrameProfilerEnabled,lr as setVariable,v as sin,y as smoothstep,Xo as sphereCollision,te as sphereMesh,Br as stageConfig,Mr as stageState,r as standardShader,F as step,Sa as throttle,Nm as tickCooldowns,f as time,Bo as toThreeVector2,Do as toThreeVector3,ho as touchButtonSvg,co as touchThemes,a as uniform,Om as updateBoundaryRicochet,R as useArrowsForAxes,X as useArrowsForDirections,U as useArrowsForSecondaryAxes,Pm as useBehavior,$ as useIJKLForAxes,oo as useIJKLForDirections,eo as useMouse,ro as useMouseLook,to as useVirtualControls,_ as useWASDForAxes,Y as useWASDForDirections,uo as usesManagedRenderPath,p as uv,pa as variableChange,fa as variableChanges,E as vec2,x as vec3,i as vec4,Er as vessel,Pa as wrapAround3D,Oa as wrapAroundXY,er as zoneCollision,Zo as zylemEventBus};
1
+ import{a as s,b as n,c as l,d as S,e as h,f as y,g as L,h as v,i as Z,j as b,k as g,l as u,m as T,n as j,o as F,p as W,q as k,r as w,s as z,t as B,u as D,v as E,w as G}from"./chunk-QB3NL7VQ.js";import"./chunk-BIGH6D34.js";import"./chunk-DFLI7ICU.js";import{a as Ha}from"./chunk-TAUWDQZF.js";import{a as Ia,b as Ja,c as Ka,d as Qa,e as Ra,f as Ua,g as Xa,h as Ya,i as _a,j as $a,k as op,l as rp,m as ep,n as tp,o as mp,p as ap}from"./chunk-47DG7I7M.js";import{A as Dp,B as Ep,C as Gp,a as pp,b as fp,c as xp,d as ip,e as dp,f as cp,g as sp,h as np,i as lp,j as Sp,k as hp,l as yp,m as Lp,n as vp,o as Zp,p as bp,q as gp,r as up,s as Tp,t as jp,u as Fp,v as Wp,w as kp,x as wp,y as zp,z as Bp}from"./chunk-JNFFTNMH.js";import{a as fo,b as xo,c as io,d as co,e as vo,f as Nr,g as Or,h as Ur,i as Xr,j as Yr,k as _r,l as $r,m as oe,n as re,o as ee}from"./chunk-3PRBSSTS.js";import{a as go}from"./chunk-7GYFZKK7.js";import{a as K,b as Q}from"./chunk-COM6HJ2L.js";import{a as po,c as uo,d as To,e as jo,f as nr,g as lr,h as gr,i as ur,k as Tr,l as jr,m as Fr,n as Wr,o as kr,p as wr,q as zr,r as Br,s as Dr,t as Gr,v as Mr}from"./chunk-CFVRRRZZ.js";import{c as Zr,d as br}from"./chunk-VS2D4B3W.js";import{a as C,c as H,e as I,f as J}from"./chunk-JQKS42G4.js";import{b as ir}from"./chunk-YAOXFYOD.js";import{A as we,B as ze,C as Be,D as De,E as Ee,F as Ge,G as Me,H as Ne,I as Oe,J as Pe,K as Ve,L as qe,M as Ae,N as Ce,O as He,P as Ie,Q as Je,R as Ke,a as te,b as me,c as ae,d as pe,e as fe,f as xe,g as ie,h as de,i as ce,j as se,k as ne,l as le,m as Se,n as he,o as ye,p as Le,q as ve,r as Ze,s as be,t as ge,u as ue,v as Te,w as je,x as Fe,y as We,z as ke}from"./chunk-CD7ZOZ35.js";import{b as Pr,c as Vr,d as qr,e as Ar,f as Cr,g as Hr,h as Ir,i as Jr,j as Kr,k as Qr,m as Rr}from"./chunk-MZZCDXFB.js";import{A as xr,B as dr,C as cr,D as sr,c as Xo,d as Yo,e as _o,f as $o,g as or,h as rr,i as er,j as tr,s as mr,u as ar,y as pr,z as fr}from"./chunk-KVSJE4XD.js";import{a as o,b as r,h as e,i as t,k as m,l as a,m as p,n as f,o as x,p as i,q as d,r as c}from"./chunk-CM5YRNBJ.js";import{a as Zo,b as bo}from"./chunk-YHEWKN7N.js";import"./chunk-QXVH6POE.js";import{b as Uo}from"./chunk-EVYHPR3J.js";import{$ as Kt,$a as Km,A as vt,Aa as vm,B as Zt,Ba as Zm,C as bt,Ca as bm,D as gt,Da as gm,E as ut,Ea as um,F as Tt,Fa as Tm,G as jt,Ga as jm,H as Ft,Ha as Fm,I as Wt,Ia as Wm,J as kt,Ja as km,K as wt,Ka as wm,L as zt,La as zm,M as Bt,Ma as Bm,N as Dt,Na as Dm,O as Et,Oa as Em,P as Gt,Pa as Gm,Q as Mt,Qa as Mm,R as Nt,Ra as Nm,S as Ot,Sa as Om,T as Pt,Ta as Pm,U as Vt,Ua as Vm,V as qt,Va as qm,W as At,Wa as Am,X as Ct,Xa as Cm,Y as Ht,Ya as Hm,Z as It,Za as Im,_ as Jt,_a as Jm,a as Qe,aa as Qt,ab as Qm,b as Re,ba as Rt,bb as Rm,c as Ue,ca as Ut,cb as Um,d as Xe,da as Xt,db as Xm,e as Ye,ea as Yt,eb as Ym,f as _e,fa as _t,fb as _m,g as $e,ga as $t,gb as $m,h as ot,ha as om,hb as oa,i as rt,ia as rm,ib as ra,j as et,ja as em,k as tt,ka as tm,l as mt,la as mm,m as at,ma as am,n as pt,na as pm,o as ft,oa as fm,p as xt,pa as xm,q as it,qa as im,r as dt,ra as dm,s as ct,sa as cm,t as st,ta as sm,u as nt,ua as nm,v as lt,va as lm,w as St,wa as Sm,x as ht,xa as hm,y as yt,ya as ym,z as Lt,za as Lm}from"./chunk-XK63E4SX.js";import{a as ea,b as ta,c as ma}from"./chunk-ZRT3ZQVH.js";import{a as aa,b as pa,c as fa,d as xa}from"./chunk-WQ3WMMZD.js";import{h as Sr,i as hr,j as yr,k as Lr,l as vr}from"./chunk-D2PATZCC.js";import{e as M,f as N,g as O,h as P,i as V,j as q,m as A}from"./chunk-4QLJUQSJ.js";import{a as Fo,b as Wo,c as ko,d as wo,g as zo,h as Bo,i as Do,j as Eo}from"./chunk-7WRQ2UAN.js";import{A as Ma,B as Na,C as Oa,D as Pa,E as Va,a as ia,b as da,c as ca,d as sa,e as na,f as la,g as Sa,h as ha,i as ya,j as La,k as va,l as Za,m as ba,n as ga,o as ua,p as Ta,q as ja,r as Fa,s as Wa,t as ka,u as wa,v as za,w as Ba,x as Da,y as Ea,z as Ga}from"./chunk-IPWUDOV5.js";import{a as Er}from"./chunk-BH53MBAZ.js";import{a as Go,b as Mo,c as No,d as Oo,e as Po,f as Vo,g as qo,h as Ao,i as Co,j as Ho,k as Io,l as Jo,m as Ko,n as Qo,o as Ro}from"./chunk-XRP4JJXL.js";import{a as qa,b as Aa,c as Ca}from"./chunk-7QF6YTEZ.js";import"./chunk-ORIDWL3T.js";import{a as so,b as no,c as lo,d as So,e as ho,f as yo,g as Lo}from"./chunk-PCFF4LLO.js";import{a as R,b as U,c as X,d as Y,e as _,f as $,g as oo,h as ro,i as eo,j as to,k as mo,l as ao}from"./chunk-UG22Z42P.js";export{pr as ACTOR_TYPE,fo as AspectRatio,ie as BOX_TYPE,Qe as BoundaryRicochet3DCoordinator,Re as BoundaryRicochetCoordinator,We as CONE_TYPE,Ee as CYLINDER_TYPE,wr as CameraManager,Tr as CameraPipeline,zr as CameraWrapper,Wp as ColorJsonSchema,Ue as CooldownBehavior,Te as DISK_TYPE,Xe as Destructible3DBehavior,Ye as DestructibleMesh,np as EntityJsonSchema,fp as EntitySchema,K as EntityThumbnailCache,Zo as EventEmitterDelegate,dr as FOG_TYPE,_e as FirstPersonBehavior,$e as FirstPersonEvent,ot as FirstPersonFSM,Wr as FirstPersonPerspective,tt as FirstPersonPresentation,rt as FirstPersonShooterCoordinator,et as FirstPersonState,Fr as Fixed2DPerspective,c as Fn,mt as FractureOptions,Ur as Game,Gp as GameConfigJsonSchema,Ep as GameDeviceConfigJsonSchema,Fp as GameInputConfigSchema,jp as GameInputPlayerConfigSchema,ma as Howl,at as Jumper2DBehavior,pt as Jumper2DEvent,ft as Jumper2DFSM,xt as Jumper2DState,it as Jumper3DBehavior,dt as Jumper3DEvent,ct as Jumper3DFSM,st as Jumper3DState,Sp as KeyboardMappingSchema,Ce as LIGHT_TYPE,Ir as LINE_TYPE,cp as LineEntityDataSchema,Tp as MouseConfigSchema,hp as MouseMappingSchema,nt as MultidirectionalSpaceShooterCoordinator,Ve as PARTICLE_SYSTEM_TYPE,Ne as PILL_TYPE,Se as PLANE_TYPE,ze as PYRAMID_TYPE,lt as ParticleEmitterBehavior,ur as Perspectives,St as Platformer2DBehavior,ht as Platformer2DEvent,yt as Platformer2DFSM,Lt as Platformer2DState,vt as Platformer3DBehavior,Zt as Platformer3DEvent,bt as Platformer3DFSM,gt as Platformer3DState,be as RECT_TYPE,Km as RUNTIME_BOUNDARY_2D_BEHAVIOR_KEY,Qm as RUNTIME_DYNAMIC_CIRCLE_BODY_2D_BEHAVIOR_KEY,Rm as RUNTIME_GOAL_ZONE_2D_BEHAVIOR_KEY,Um as RUNTIME_PLAYER_INPUT_2D_BEHAVIOR_KEY,Xm as RUNTIME_RICOCHET_2D_BEHAVIOR_KEY,Ym as RUNTIME_TRIGGER_REGION_2D_BEHAVIOR_KEY,nr as RenderBundleManager,lr as RenderStrategyManager,Dp as ResolutionInputSchema,ut as Ricochet2DBehavior,Tt as Ricochet2DEvent,jt as Ricochet2DFSM,Ft as Ricochet2DState,Wt as Ricochet3DBehavior,kt as Ricochet3DEvent,wt as Ricochet3DFSM,zt as Ricochet3DState,qm as RuntimeBoundary2DBehavior,Am as RuntimeDynamicCircleBody2DBehavior,Cm as RuntimeGoalZone2DBehavior,Hm as RuntimePlayerInput2DBehavior,Im as RuntimeRicochet2DBehavior,Jm as RuntimeTriggerRegion2DBehavior,se as SPHERE_TYPE,Ar as SPRITE_TYPE,_r as STAGE_STATE_CHANGE,Bt as ScreenVisibilityBehavior,Dt as ScreenVisibilityFSM,Et as ScreenWrapBehavior,Gt as ScreenWrapEvent,Mt as ScreenWrapFSM,Nt as ScreenWrapState,Ot as Shooter2DBehavior,ir as SimulationBody,sp as SpriteEntityDataSchema,zp as StageAssetLoaderConfigSchema,$a as StageBodyKind,op as StageBoundaryDim,Bp as StageConfigJsonSchema,rp as StageEventType,wp as StageGLTFAssetLoaderConfigSchema,lp as StageJsonSchema,Or as StageManager,ep as StageRicochetDim,tp as StageRicochetReflection,xp as StageSchema,mp as StageTopDownPlane,Pr as TEXT_TYPE,ip as TextEntityDataSchema,jr as ThirdPersonPerspective,Pt as ThrusterBehavior,Vt as ThrusterEvent,qt as ThrusterFSM,At as ThrusterState,Ct as TopDownMovementBehavior,Ht as TopDownShooterCoordinator,Wo as VEC2_ONE,Fo as VEC2_ZERO,wo as VEC3_ONE,ko as VEC3_ZERO,kp as Vec3ComponentsSchema,pp as Vector2Schema,dp as Vector3TupleSchema,vp as VirtualTouchButtonConfigSchema,bp as VirtualTouchButtonsConfigSchema,up as VirtualTouchConfigSchema,Zp as VirtualTouchJoystickConfigSchema,gp as VirtualTouchJoysticksConfigSchema,Lp as VirtualTouchPositionSchema,yp as VirtualTouchStyleSchema,It as WorldBoundary2DBehavior,Jt as WorldBoundary2DEvent,Kt as WorldBoundary2DFSM,Qt as WorldBoundary2DState,Rt as WorldBoundary3DBehavior,Ut as WorldBoundary3DEvent,Xt as WorldBoundary3DFSM,Yt as WorldBoundary3DState,Le as ZONE_TYPE,fr as ZylemActor,de as ZylemBox,ke as ZylemCone,Ge as ZylemCylinder,je as ZylemDisk,cr as ZylemFog,Ha as ZylemGameElement,He as ZylemLight,Kr as ZylemLine,qe as ZylemParticleSystem,Oe as ZylemPill,he as ZylemPlane,Be as ZylemPyramid,ge as ZylemRect,ne as ZylemSphere,Cr as ZylemSprite,Vr as ZylemText,ve as ZylemZone,u as abs,Er as applyTransformChanges,g as asin,b as atan,_m as bindRuntimeDynamicCircleBody2DHandle,Xo as boxCollision,te as boxMesh,Ja as buildBoxCollider,Qa as buildCapsuleCollider,Ua as buildConvexHullCollider,Ra as buildCylinderCollider,Ya as buildHeightfieldCollider,Ia as buildRuntimeBody,Ka as buildSphereCollider,Xa as buildTrimeshCollider,_a as bundleRuntimeCollision,la as callFunc,L as clamp,A as clearGlobalSubscriptions,_t as computeWorldBoundary2DHits,$t as computeWorldBoundary3DHits,_o as coneCollision,ae as coneMesh,Z as cos,mr as create,xr as createActor,s as createBackgroundShader,ce as createBox,Br as createCamera,we as createCone,Je as createCooldownIcon,Me as createCylinder,Fe as createDisk,ar as createEntity,Rr as createEntityFactory,om as createFirstPersonInputComponent,rm as createFirstPersonMovementComponent,em as createFirstPersonStateComponent,sr as createFog,re as createFollowTarget,Xr as createGame,N as createGlobal,tm as createJumpConfig2D,mm as createJumpConfig3D,am as createJumpInput2D,pm as createJumpInput3D,fm as createJumpState2D,xm as createJumpState3D,Ie as createLight,Qr as createLine,m as createNodeMaterialFromTSL,Ae as createParticleSystem,kr as createPerspective,im as createPhysicsBodyComponent,Pe as createPill,ye as createPlane,dm as createPlatformer2DInputComponent,cm as createPlatformer2DMovementComponent,sm as createPlatformer2DStateComponent,nm as createPlatformer3DInputComponent,lm as createPlatformer3DMovementComponent,Sm as createPlatformer3DStateComponent,De as createPyramid,ue as createRect,hm as createShooter2DStateComponent,ap as createSimulation,le as createSphere,Hr as createSprite,Mr as createStage,qr as createText,ym as createThrusterInputComponent,Lm as createThrusterMovementComponent,vm as createThrusterStateComponent,Zm as createTopDownMovementComponent,bm as createTopDownMovementInputComponent,gm as createTopDownMovementStateComponent,um as createTransformComponent,ua as createTransformStore,hr as createVariable,Ze as createZone,go as crossfadeTransitionShader,or as cylinderCollision,fe as cylinderMesh,C as debugState,Lo as defaultTouchControls,Tm as defineBehavior,na as delay,Ke as destroy,oe as dispatchStageState,B as dot,$m as emitRuntimeGoal,oa as emitRuntimeRicochet,ra as emitRuntimeTriggerRegionEnter,Yr as entitySpawner,Q as entityThumbnailCache,T as exp,Sa as fadeOpacity,jm as fireCooldown,Fm as fireShooter2DIfRequested,d as float,w as floor,br as focusEntity,z as fract,vo as gameConfig,Wm as getCooldown,km as getCooldownStore,xo as getDisplayAspect,wm as getEntityFacingAngle2D,O as getGlobal,q as getGlobals,Da as getPosition,io as getPresetResolution,Ro as getRotation,yr as getVariable,Ea as getVelocity,aa as globalChange,pa as globalChanges,zm as hasAnyWorldBoundary2DHit,Bm as hasAnyWorldBoundary3DHit,$r as initStageStateDispatcher,t as isGLSLShader,jo as isManagedRenderEntity,e as isTSLShader,po as isWebGPUSupported,So as joystickBaseSvg,ho as joystickThumbSvg,D as length,W as max,ao as mergeInputConfigs,k as min,h as mix,G as mod,Ta as move,da as moveBy,Ba as moveForwardXY,ca as moveTo,ja as moveX,ka as moveXY,wa as moveXZ,Fa as moveY,Wa as moveZ,S as normalize,zo as normalizeVec2,Bo as normalizeVec3,o as objectVertexShader,P as onGlobalChange,V as onGlobalChanges,ya as onPress,La as onRelease,Lr as onVariableChange,vr as onVariableChanges,Uo as packCollisionGroups,Za as parallel,co as parseResolution,Dm as particleEffect,Em as particlePresets,Jr as pickZylemLine,rr as pillCollision,xe as pillMesh,ta as pingPongBeep,er as planeCollision,l as positionWorld,n as positionWorldDirection,j as pow,$o as pyramidCollision,pe as pyramidMesh,Gm as registerCooldown,Zr as registerEntityFocusContext,ba as repeat,ga as repeatForever,Mm as resetCooldown,ia as resetEntityOpacity,za as resetVelocity,Nm as resolveAim2D,lo as resolveButtonAccent,uo as resolveRenderCategory,no as resolveTouchTheme,ea as ricochetSound,sa as rotateBy,No as rotateEuler,Go as rotateInDirection,Po as rotateX,Oo as rotateY,Mo as rotateYEuler,Vo as rotateZ,Ca as screenCenterLookDeltas,Aa as screenCenterLookTargets,va as sequence,ee as setCameraFeed,I as setDebugTool,M as setGlobal,H as setPaused,Ga as setPosition,Ma as setPositionX,Na as setPositionY,Oa as setPositionZ,Ko as setRotation,Qo as setRotationDegrees,Ho as setRotationDegreesX,Ao as setRotationDegreesY,Jo as setRotationDegreesZ,Co as setRotationX,qo as setRotationY,Io as setRotationZ,J as setSelectedEntity,gr as setStageFrameProfilerEnabled,Sr as setVariable,qa as shortestAngleDelta,v as sin,y as smoothstep,Yo as sphereCollision,me as sphereMesh,Dr as stageConfig,Nr as stageState,r as standardShader,F as step,ha as throttle,Om as tickCooldowns,f as time,Do as toThreeVector2,Eo as toThreeVector3,yo as touchButtonSvg,so as touchThemes,a as uniform,Pm as updateBoundaryRicochet,R as useArrowsForAxes,X as useArrowsForDirections,U as useArrowsForSecondaryAxes,Vm as useBehavior,$ as useIJKLForAxes,oo as useIJKLForDirections,to as useMouse,ro as useMouseLook,eo as useScreenCenterLook,mo as useVirtualControls,_ as useWASDForAxes,Y as useWASDForDirections,To as usesManagedRenderPath,p as uv,fa as variableChange,xa as variableChanges,E as vec2,x as vec3,i as vec4,Gr as vessel,Va as wrapAround3D,Pa as wrapAroundXY,tr as zoneCollision,bo as zylemEventBus};
package/dist/runtime.d.ts CHANGED
@@ -1,8 +1,8 @@
1
1
  import { StageBodyKindValue, StageBodyConfig, StageColliderConfig } from '@zylem/behaviors/core';
2
2
  export { BehaviorRuntime, EntityDefinition, EntityHandle, Simulation, SimulationBodyDefinition, SimulationColliderDefinition, SimulationEvent, SimulationFrame, SimulationOptions, StageBodyConfig, StageBodyInfo, StageBodyKind, StageBodyKindValue, StageBoundaryDim, StageColliderConfig, StageColliderShape, StageDebugRender, StageEvent, StageEventType, StagePose, StageRaycastHit, StageRenderSlot, StageRicochetDim, StageRicochetReflection, StageTopDownPlane, createSimulation } from '@zylem/behaviors/core';
3
- import { e as Vec3Input } from './vector-CiSHbivc.js';
4
- export { l as SimulationBody, S as SimulationStepClock } from './vector-CiSHbivc.js';
5
- export { p as packCollisionGroups } from './collision-builder-jF-toPIl.js';
3
+ import { e as Vec3Input } from './vector-DN6zlPoE.js';
4
+ export { l as SimulationBody, S as SimulationStepClock } from './vector-DN6zlPoE.js';
5
+ export { p as packCollisionGroups } from './collision-builder-B_tm8OVy.js';
6
6
  import 'three';
7
7
 
8
8
  /**
package/dist/runtime.js CHANGED
@@ -1 +1 @@
1
- import{a as c,b as d,c as e,d as f,e as g,f as h,g as i,h as j,i as k,j as l,k as m,l as n,m as o,n as p,o as q,p as r}from"./chunk-IKWE2W6L.js";import{b}from"./chunk-G4HONLWC.js";import{a}from"./chunk-E3UBSUPX.js";import"./chunk-7WRQ2UAN.js";export{b as SimulationBody,l as StageBodyKind,m as StageBoundaryDim,n as StageEventType,o as StageRicochetDim,p as StageRicochetReflection,q as StageTopDownPlane,d as buildBoxCollider,f as buildCapsuleCollider,h as buildConvexHullCollider,g as buildCylinderCollider,j as buildHeightfieldCollider,c as buildRuntimeBody,e as buildSphereCollider,i as buildTrimeshCollider,k as bundleRuntimeCollision,r as createSimulation,a as packCollisionGroups};
1
+ import{a as c,b as d,c as e,d as f,e as g,f as h,g as i,h as j,i as k,j as l,k as m,l as n,m as o,n as p,o as q,p as r}from"./chunk-47DG7I7M.js";import{b}from"./chunk-YAOXFYOD.js";import{b as a}from"./chunk-EVYHPR3J.js";import"./chunk-7WRQ2UAN.js";export{b as SimulationBody,l as StageBodyKind,m as StageBoundaryDim,n as StageEventType,o as StageRicochetDim,p as StageRicochetReflection,q as StageTopDownPlane,d as buildBoxCollider,f as buildCapsuleCollider,h as buildConvexHullCollider,g as buildCylinderCollider,j as buildHeightfieldCollider,c as buildRuntimeBody,e as buildSphereCollider,i as buildTrimeshCollider,k as bundleRuntimeCollision,r as createSimulation,a as packCollisionGroups};
@@ -65,6 +65,24 @@
65
65
  },
66
66
  "sensitivity": {
67
67
  "type": "number"
68
+ },
69
+ "lookMode": {
70
+ "anyOf": [
71
+ {
72
+ "const": "delta",
73
+ "type": "string"
74
+ },
75
+ {
76
+ "const": "screenCenter",
77
+ "type": "string"
78
+ }
79
+ ]
80
+ },
81
+ "maxLookDegrees": {
82
+ "type": "number"
83
+ },
84
+ "lookSensitivity": {
85
+ "type": "number"
68
86
  }
69
87
  }
70
88
  },
@@ -44,6 +44,24 @@
44
44
  },
45
45
  "sensitivity": {
46
46
  "type": "number"
47
+ },
48
+ "lookMode": {
49
+ "anyOf": [
50
+ {
51
+ "const": "delta",
52
+ "type": "string"
53
+ },
54
+ {
55
+ "const": "screenCenter",
56
+ "type": "string"
57
+ }
58
+ ]
59
+ },
60
+ "maxLookDegrees": {
61
+ "type": "number"
62
+ },
63
+ "lookSensitivity": {
64
+ "type": "number"
47
65
  }
48
66
  }
49
67
  },
package/dist/schema.d.ts CHANGED
@@ -204,6 +204,9 @@ declare const MouseConfigSchema: _sinclair_typebox.TObject<{
204
204
  mapping: _sinclair_typebox.TOptional<_sinclair_typebox.TRecord<_sinclair_typebox.TString, _sinclair_typebox.TArray<_sinclair_typebox.TString>>>;
205
205
  pointerLock: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
206
206
  sensitivity: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
207
+ lookMode: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<[_sinclair_typebox.TLiteral<"delta">, _sinclair_typebox.TLiteral<"screenCenter">]>>;
208
+ maxLookDegrees: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
209
+ lookSensitivity: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
207
210
  }>;
208
211
  /** Per-player input configuration. */
209
212
  declare const GameInputPlayerConfigSchema: _sinclair_typebox.TObject<{
@@ -212,6 +215,9 @@ declare const GameInputPlayerConfigSchema: _sinclair_typebox.TObject<{
212
215
  mapping: _sinclair_typebox.TOptional<_sinclair_typebox.TRecord<_sinclair_typebox.TString, _sinclair_typebox.TArray<_sinclair_typebox.TString>>>;
213
216
  pointerLock: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
214
217
  sensitivity: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
218
+ lookMode: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<[_sinclair_typebox.TLiteral<"delta">, _sinclair_typebox.TLiteral<"screenCenter">]>>;
219
+ maxLookDegrees: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
220
+ lookSensitivity: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
215
221
  }>>;
216
222
  touch: _sinclair_typebox.TOptional<_sinclair_typebox.TObject<{
217
223
  enabled: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<[_sinclair_typebox.TBoolean, _sinclair_typebox.TLiteral<"auto">]>>;
@@ -296,6 +302,9 @@ declare const GameInputConfigSchema: _sinclair_typebox.TRecord<_sinclair_typebox
296
302
  mapping: _sinclair_typebox.TOptional<_sinclair_typebox.TRecord<_sinclair_typebox.TString, _sinclair_typebox.TArray<_sinclair_typebox.TString>>>;
297
303
  pointerLock: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
298
304
  sensitivity: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
305
+ lookMode: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<[_sinclair_typebox.TLiteral<"delta">, _sinclair_typebox.TLiteral<"screenCenter">]>>;
306
+ maxLookDegrees: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
307
+ lookSensitivity: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
299
308
  }>>;
300
309
  touch: _sinclair_typebox.TOptional<_sinclair_typebox.TObject<{
301
310
  enabled: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<[_sinclair_typebox.TBoolean, _sinclair_typebox.TLiteral<"auto">]>>;
@@ -439,6 +448,9 @@ declare const GameConfigJsonSchema: _sinclair_typebox.TObject<{
439
448
  mapping: _sinclair_typebox.TOptional<_sinclair_typebox.TRecord<_sinclair_typebox.TString, _sinclair_typebox.TArray<_sinclair_typebox.TString>>>;
440
449
  pointerLock: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
441
450
  sensitivity: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
451
+ lookMode: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<[_sinclair_typebox.TLiteral<"delta">, _sinclair_typebox.TLiteral<"screenCenter">]>>;
452
+ maxLookDegrees: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
453
+ lookSensitivity: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
442
454
  }>>;
443
455
  touch: _sinclair_typebox.TOptional<_sinclair_typebox.TObject<{
444
456
  enabled: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<[_sinclair_typebox.TBoolean, _sinclair_typebox.TLiteral<"auto">]>>;
package/dist/schema.js CHANGED
@@ -1 +1 @@
1
- import{A,B,C,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z}from"./chunk-M3XNO56P.js";export{v as ColorJsonSchema,h as EntityJsonSchema,b as EntitySchema,C as GameConfigJsonSchema,B as GameDeviceConfigJsonSchema,u as GameInputConfigSchema,t as GameInputPlayerConfigSchema,j as KeyboardMappingSchema,f as LineEntityDataSchema,s as MouseConfigSchema,k as MouseMappingSchema,A as ResolutionInputSchema,g as SpriteEntityDataSchema,y as StageAssetLoaderConfigSchema,z as StageConfigJsonSchema,x as StageGLTFAssetLoaderConfigSchema,i as StageJsonSchema,c as StageSchema,d as TextEntityDataSchema,w as Vec3ComponentsSchema,a as Vector2Schema,e as Vector3TupleSchema,n as VirtualTouchButtonConfigSchema,p as VirtualTouchButtonsConfigSchema,r as VirtualTouchConfigSchema,o as VirtualTouchJoystickConfigSchema,q as VirtualTouchJoysticksConfigSchema,m as VirtualTouchPositionSchema,l as VirtualTouchStyleSchema};
1
+ import{A,B,C,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z}from"./chunk-JNFFTNMH.js";export{v as ColorJsonSchema,h as EntityJsonSchema,b as EntitySchema,C as GameConfigJsonSchema,B as GameDeviceConfigJsonSchema,u as GameInputConfigSchema,t as GameInputPlayerConfigSchema,j as KeyboardMappingSchema,f as LineEntityDataSchema,s as MouseConfigSchema,k as MouseMappingSchema,A as ResolutionInputSchema,g as SpriteEntityDataSchema,y as StageAssetLoaderConfigSchema,z as StageConfigJsonSchema,x as StageGLTFAssetLoaderConfigSchema,i as StageJsonSchema,c as StageSchema,d as TextEntityDataSchema,w as Vec3ComponentsSchema,a as Vector2Schema,e as Vector3TupleSchema,n as VirtualTouchButtonConfigSchema,p as VirtualTouchButtonsConfigSchema,r as VirtualTouchConfigSchema,o as VirtualTouchJoystickConfigSchema,q as VirtualTouchJoysticksConfigSchema,m as VirtualTouchPositionSchema,l as VirtualTouchStyleSchema};
@@ -36,7 +36,19 @@ declare class SimulationBody implements PhysicsRenderPoseProvider {
36
36
  private readonly poseScratch;
37
37
  private readonly renderScratch;
38
38
  private readonly previousScratch;
39
+ /**
40
+ * First step at which the shared render buffers are coherent for this
41
+ * body. After a spawn or an explicit pose write (teleport), the current
42
+ * slot isn't written until the next fixed step and the previous-step
43
+ * copy lags one more; interpolating across that gap would sweep the
44
+ * mesh from a stale pose (often the origin). Until this step is
45
+ * reached, render reads collapse to the live body pose.
46
+ */
47
+ private interpolationValidAfterStep;
39
48
  constructor(simulation: Simulation, handle: EntityHandle, clock: SimulationStepClock);
49
+ /** Suppress interpolation until the render buffers catch up. */
50
+ private markPoseDiscontinuity;
51
+ private isInterpolationStale;
40
52
  translation(): PhysicsVector3;
41
53
  rotation(): PhysicsQuaternion;
42
54
  linvel(): PhysicsVector3;
@@ -46,6 +58,22 @@ declare class SimulationBody implements PhysicsRenderPoseProvider {
46
58
  setLinvel(velocity: PhysicsVector3, _wakeUp?: boolean): void;
47
59
  setAngvel(velocity: PhysicsVector3, _wakeUp?: boolean): void;
48
60
  applyImpulse(impulse: PhysicsVector3, _wakeUp?: boolean): void;
61
+ /**
62
+ * Rotation locks are fixed at body-creation time in the wasm runtime
63
+ * (`SimulationBodyDefinition.lockRotation`); there is no live setter FFI
64
+ * yet. Accepted for Rapier compat — when locking, the angular velocity is
65
+ * zeroed to approximate the intent. Prefer lock flags on the body
66
+ * definition at spawn time.
67
+ */
68
+ lockRotations(locked: boolean, _wakeUp?: boolean): void;
69
+ /**
70
+ * Translation locks are fixed at body-creation time in the wasm runtime
71
+ * (`SimulationBodyDefinition.lockTranslation`); there is no live setter
72
+ * FFI yet. Accepted for Rapier compat — when locking, the linear velocity
73
+ * is zeroed to approximate the intent. Prefer lock flags on the body
74
+ * definition at spawn time.
75
+ */
76
+ lockTranslations(locked: boolean, _wakeUp?: boolean): void;
49
77
  /**
50
78
  * Damping is fixed at body-creation time in the wasm runtime; there is no
51
79
  * live setter FFI yet, so this is accepted (for `MoveableBodyLike`
@@ -1,23 +1,23 @@
1
- import { G as Game, D as DeviceProfile } from './game-C1FHVqXl.js';
2
- import { D as DebugTools } from './debug-state-BPT6jEog.js';
3
- import './base-node-life-cycle-D2NuN1VB.js';
1
+ import { G as Game, D as DeviceProfile } from './game-DbqBQiFC.js';
2
+ import { D as DebugTools } from './debug-state-DRoeasG2.js';
3
+ import './base-node-life-cycle-BK9xebT9.js';
4
4
  import 'three';
5
5
  import './stage-transition-CmGpV4tc.js';
6
- import './game-interfaces-mchNYSZE.js';
7
- import './entity-BdSI8CL3.js';
6
+ import './game-interfaces-vF5sRi1n.js';
7
+ import './entity-BGEq1yfC.js';
8
8
  import '@zylem/behaviors/core';
9
- import './vector-CiSHbivc.js';
10
- import './material-9vJ6SZaI.js';
9
+ import './vector-DN6zlPoE.js';
10
+ import './material-DbSuZBbP.js';
11
11
  import 'three/webgpu';
12
- import './collision-builder-jF-toPIl.js';
12
+ import './collision-builder-B_tm8OVy.js';
13
13
  import './events.js';
14
14
  import 'mitt';
15
- import './entity-type-map-Bd69SpAS.js';
16
- import './entity-DZbFQ1Wg.js';
15
+ import './entity-type-map-CW6RHQkx.js';
16
+ import './entity-B9yZeBm4.js';
17
17
  import '@zylem/behaviors/particle-emitter';
18
18
  import 'three/addons/lines/webgpu/Line2.js';
19
- import './zylem-camera-C3bn6BTI.js';
20
- import './default-controls-0-vCnli7.js';
19
+ import './zylem-camera-Du2UPW9O.js';
20
+ import './default-controls-CAKJ5zlo.js';
21
21
 
22
22
  /**
23
23
  * State interface for editor-to-game communication