@zylem/game-lib 0.9.4 → 0.9.6

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 (47) hide show
  1. package/dist/actions.d.ts +2 -2
  2. package/dist/api/game-lib.api.json +526 -175
  3. package/dist/api/game-lib.api.md +41 -11
  4. package/dist/api/game-lib.d.ts +172 -26
  5. package/dist/api/game-lib.typedoc.json +48945 -48304
  6. package/dist/bridge.d.ts +8 -1
  7. package/dist/bridge.js +1 -1
  8. package/dist/catalog.js +1 -1
  9. package/dist/{chunk-BQRMYLYD.js → chunk-273CUPEO.js} +1 -1
  10. package/dist/chunk-5V52N34T.js +1 -0
  11. package/dist/{chunk-YQS7CGXE.js → chunk-FUZDTRCU.js} +1 -1
  12. package/dist/{chunk-4CZZZCFB.js → chunk-JCGW5PIR.js} +1 -1
  13. package/dist/chunk-KIFB427K.js +1 -0
  14. package/dist/chunk-P6IOYQHU.js +1 -0
  15. package/dist/{chunk-2IJLXFWY.js → chunk-RPMV7GDX.js} +4 -4
  16. package/dist/chunk-UM5VNQPY.js +1 -0
  17. package/dist/chunk-VKWJHFUR.js +1 -0
  18. package/dist/chunk-VXE3CV3K.js +1 -0
  19. package/dist/chunk-Y23IJJPD.js +1 -0
  20. package/dist/chunk-YRHRMVHS.js +1 -0
  21. package/dist/cinematics.d.ts +4 -3
  22. package/dist/core.d.ts +20 -7
  23. package/dist/core.js +1 -1
  24. package/dist/{debug-state-Cg3f5FB6.d.ts → debug-state-DhVkY2aM.d.ts} +2 -2
  25. package/dist/debug.d.ts +2 -2
  26. package/dist/debug.js +1 -1
  27. package/dist/{entity-XqvuWgPm.d.ts → entity-DC0P747T.d.ts} +5 -0
  28. package/dist/{entity-type-map-CrsrKT8c.d.ts → entity-type-map-B0S5cfv7.d.ts} +52 -13
  29. package/dist/entity.d.ts +5 -17
  30. package/dist/entity.js +1 -1
  31. package/dist/{game-default-BAZPDNPS.js → game-default-VUMUMTXA.js} +1 -1
  32. package/dist/{game-DBt7iVu4.d.ts → game-mu6OSCrq.d.ts} +7 -7
  33. package/dist/level-types-D10LiOcn.d.ts +91 -0
  34. package/dist/public.d.ts +8 -7
  35. package/dist/public.js +1 -1
  36. package/dist/{stage-PBmwT5-Y.d.ts → stage-B_KdSEK6.d.ts} +15 -2
  37. package/dist/web-components.d.ts +6 -5
  38. package/dist/web-components.js +1 -1
  39. package/package.json +3 -3
  40. package/dist/chunk-3CLQWJ2I.js +0 -1
  41. package/dist/chunk-GPCSX3M6.js +0 -1
  42. package/dist/chunk-K3NNXZIJ.js +0 -1
  43. package/dist/chunk-KP6DLLJO.js +0 -1
  44. package/dist/chunk-LI43BZQN.js +0 -1
  45. package/dist/chunk-NK4IXK5V.js +0 -1
  46. package/dist/chunk-STVEILJJ.js +0 -1
  47. package/dist/chunk-VSFULLND.js +0 -1
package/dist/core.js CHANGED
@@ -1 +1 @@
1
- import{a as b,b as c,c as d,d as e,e as f,f as L,g as M,h as N,i as O,j as P,k as Q,l as R,m as S,n as T,o as U,p as V,q as W,r as X}from"./chunk-2IJLXFWY.js";import{a,c as q,d as r,e as s,f as t,g as u,h as v,i as w,k as x,l as y,m as z,n as A,o as B,p as C,q as D,r as E,s as F,t as G,u as H,v as I,w as J,y as K}from"./chunk-NK4IXK5V.js";import"./chunk-PCFF4LLO.js";import"./chunk-OCQ7A5IK.js";import"./chunk-47HAZZWF.js";import"./chunk-VSFULLND.js";import"./chunk-2HSR5XDQ.js";import{e as g}from"./chunk-3CLQWJ2I.js";import"./chunk-BQRMYLYD.js";import"./chunk-GPCSX3M6.js";import"./chunk-WBQ5TNRZ.js";import"./chunk-LI43BZQN.js";import"./chunk-YQS7CGXE.js";import"./chunk-STVEILJJ.js";import"./chunk-KP6DLLJO.js";import"./chunk-6FGXC4T6.js";import"./chunk-AIQ6IVT5.js";import"./chunk-QXVH6POE.js";import"./chunk-UUOPT2N4.js";import"./chunk-EVYHPR3J.js";import"./chunk-VUJXR5K5.js";import"./chunk-2XMG3NJS.js";import{a as p}from"./chunk-7GYFZKK7.js";import"./chunk-QGIYILYI.js";import"./chunk-D2PATZCC.js";import"./chunk-4QLJUQSJ.js";import{a as h,b as i,c as j,d as k,g as l,h as m,i as n,j as o}from"./chunk-7WRQ2UAN.js";import"./chunk-BH53MBAZ.js";import"./chunk-XRP4JJXL.js";import"./chunk-UG22Z42P.js";import"./chunk-WOT6VMZA.js";export{b as AspectRatio,F as CameraManager,x as CameraPipeline,G as CameraWrapper,A as FirstPersonPerspective,z as Fixed2DPerspective,N as Game,B as IsometricPerspective,w as Perspectives,t as RenderBundleManager,u as RenderStrategyManager,R as STAGE_STATE_CHANGE,D as SecondPersonPerspective,M as StageManager,y as ThirdPersonPerspective,C as TopDownPerspective,i as VEC2_ONE,h as VEC2_ZERO,k as VEC3_ONE,j as VEC3_ZERO,H as createCamera,U as createFollowTarget,O as createGame,E as createPerspective,V as createPlatformFollow,K as createStage,W as createStrategyPan,p as crossfadeTransitionShader,T as dispatchStageState,Q as entitySpawner,f as gameConfig,c as getDisplayAspect,d as getPresetResolution,S as initStageStateDispatcher,s as isManagedRenderEntity,a as isWebGPUSupported,l as normalizeVec2,m as normalizeVec3,e as parseResolution,q as resolveRenderCategory,X as setCameraFeed,v as setStageFrameProfilerEnabled,I as stageConfig,L as stageState,g as streamLevel,P as streamLevelOnStage,n as toThreeVector2,o as toThreeVector3,r as usesManagedRenderPath,J as vessel};
1
+ import{a as b,b as c,c as d,d as e,e as f,f as M,g as N,h as O,i as P,j as Q,k as R,l as S,m as T,n as U,o as V,p as W,q as X,r as Y}from"./chunk-RPMV7GDX.js";import{a,c as q,d as r,e as s,f as t,g as u,h as v,i as w,j as x,l as y,m as z,n as A,o as B,p as C,q as D,r as E,s as F,t as G,u as H,v as I,w as J,x as K,z as L}from"./chunk-P6IOYQHU.js";import"./chunk-PCFF4LLO.js";import"./chunk-OCQ7A5IK.js";import"./chunk-47HAZZWF.js";import"./chunk-KIFB427K.js";import"./chunk-2HSR5XDQ.js";import{e as g}from"./chunk-VKWJHFUR.js";import"./chunk-273CUPEO.js";import"./chunk-UM5VNQPY.js";import"./chunk-WBQ5TNRZ.js";import"./chunk-YRHRMVHS.js";import"./chunk-FUZDTRCU.js";import"./chunk-5V52N34T.js";import"./chunk-VXE3CV3K.js";import"./chunk-6FGXC4T6.js";import"./chunk-AIQ6IVT5.js";import"./chunk-QXVH6POE.js";import"./chunk-UUOPT2N4.js";import"./chunk-EVYHPR3J.js";import"./chunk-VUJXR5K5.js";import"./chunk-2XMG3NJS.js";import{a as p}from"./chunk-7GYFZKK7.js";import"./chunk-QGIYILYI.js";import"./chunk-D2PATZCC.js";import"./chunk-4QLJUQSJ.js";import{a as h,b as i,c as j,d as k,g as l,h as m,i as n,j as o}from"./chunk-7WRQ2UAN.js";import"./chunk-BH53MBAZ.js";import"./chunk-XRP4JJXL.js";import"./chunk-UG22Z42P.js";import"./chunk-WOT6VMZA.js";export{b as AspectRatio,G as CameraManager,y as CameraPipeline,H as CameraWrapper,B as FirstPersonPerspective,A as Fixed2DPerspective,O as Game,C as IsometricPerspective,x as Perspectives,t as RenderBundleManager,u as RenderStrategyManager,S as STAGE_STATE_CHANGE,E as SecondPersonPerspective,N as StageManager,z as ThirdPersonPerspective,D as TopDownPerspective,i as VEC2_ONE,h as VEC2_ZERO,k as VEC3_ONE,j as VEC3_ZERO,I as createCamera,V as createFollowTarget,P as createGame,F as createPerspective,W as createPlatformFollow,L as createStage,X as createStrategyPan,p as crossfadeTransitionShader,U as dispatchStageState,R as entitySpawner,f as gameConfig,v as getActiveLevelDocument,c as getDisplayAspect,d as getPresetResolution,T as initStageStateDispatcher,s as isManagedRenderEntity,a as isWebGPUSupported,l as normalizeVec2,m as normalizeVec3,e as parseResolution,q as resolveRenderCategory,Y as setCameraFeed,w as setStageFrameProfilerEnabled,J as stageConfig,M as stageState,g as streamLevel,Q as streamLevelOnStage,n as toThreeVector2,o as toThreeVector3,r as usesManagedRenderPath,K as vessel};
@@ -1,6 +1,6 @@
1
- import { G as GameEntity } from './entity-XqvuWgPm.js';
1
+ import { G as GameEntity } from './entity-DC0P747T.js';
2
2
 
3
- type DebugTools = 'select' | 'translate' | 'rotate' | 'scale' | 'delete' | 'add' | 'none';
3
+ type DebugTools = 'select' | 'translate' | 'rotate' | 'scale' | 'delete' | 'add' | 'brush' | 'clip' | 'vertex' | 'none';
4
4
  /** Tools that manipulate a selected entity's transform via the gizmo. */
5
5
  declare const TRANSFORM_TOOLS: readonly ["translate", "rotate", "scale"];
6
6
  type TransformTool = (typeof TRANSFORM_TOOLS)[number];
package/dist/debug.d.ts CHANGED
@@ -1,8 +1,8 @@
1
- export { D as DEFAULT_SNAP_SETTINGS, w as DebugEntityResolver, v as DebugTools, S as SnapSettings, T as TRANSFORM_TOOLS, x as TransformTool, d as debugState, k as getHoveredEntity, j as getHoveredEntityId, e as getSelectedEntity, g as getSelectedEntityId, h as getSelectedEntityIds, m as getSnapSettings, t as isPickMode, u as isTransformTool, r as registerDebugEntityResolver, l as resolveDebugEntity, p as setAddType, s as setDebugTool, o as setGridVisible, i as setHoveredEntityId, a as setPaused, q as setPickMode, b as setSelectedEntity, c as setSelectedEntityId, f as setSelectedEntityIds, n as setSnapSettings } from './debug-state-Cg3f5FB6.js';
1
+ export { D as DEFAULT_SNAP_SETTINGS, w as DebugEntityResolver, v as DebugTools, S as SnapSettings, T as TRANSFORM_TOOLS, x as TransformTool, d as debugState, k as getHoveredEntity, j as getHoveredEntityId, e as getSelectedEntity, g as getSelectedEntityId, h as getSelectedEntityIds, m as getSnapSettings, t as isPickMode, u as isTransformTool, r as registerDebugEntityResolver, l as resolveDebugEntity, p as setAddType, s as setDebugTool, o as setGridVisible, i as setHoveredEntityId, a as setPaused, q as setPickMode, b as setSelectedEntity, c as setSelectedEntityId, f as setSelectedEntityIds, n as setSnapSettings } from './debug-state-DhVkY2aM.js';
2
2
  import * as three from 'three';
3
3
  import { Group, Scene, Vector3, Camera, Object3D } from 'three';
4
4
  import { c as Vec3 } from './vector-D3eDzvcA.js';
5
- import { G as GameEntity } from './entity-XqvuWgPm.js';
5
+ import { G as GameEntity } from './entity-DC0P747T.js';
6
6
  export { S as SELECTION_BOUNDS_MARGIN, a as SELECTION_THIN_AXIS_FRACTION, c as SELECTION_THIN_AXIS_MAX, b as SELECTION_THIN_AXIS_MIN, d as SelectionBoundsProvider, m as measureObjectSelectionBounds, p as padSelectionBounds, r as resolveSelectionBounds } from './selection-bounds-BKmSo9aG.js';
7
7
  import { WebGPURenderer } from 'three/webgpu';
8
8
  import '@zylem/behaviors/core';
package/dist/debug.js CHANGED
@@ -1 +1 @@
1
- import"./chunk-ELQN62PQ.js";import{a as x,b as y}from"./chunk-OCQ7A5IK.js";import{c as P,d as Q,e as R,f as S}from"./chunk-47HAZZWF.js";import{a as z,b as A,c as B,d as C,e as D,f as E,g as F,h as G,i as H}from"./chunk-BQRMYLYD.js";import{B as u,C as v,D as w,a,b,c,d,e,f,h as g,j as h,l as i,m as j,n as k,o as l,p as m,q as n,u as o,v as p,w as q,x as r,y as s,z as t}from"./chunk-GPCSX3M6.js";import{a as I,b as J,c as K,d as L,e as M,f as N,g as O}from"./chunk-UUOPT2N4.js";import"./chunk-WOT6VMZA.js";export{P as ConstructionGrid,c as DEFAULT_SNAP_SETTINGS,x as EntityThumbnailCache,I as SELECTION_BOUNDS_MARGIN,J as SELECTION_THIN_AXIS_FRACTION,L as SELECTION_THIN_AXIS_MAX,K as SELECTION_THIN_AXIS_MIN,a as TRANSFORM_TOOLS,S as TransformGizmo,Q as closestAxisValue,d as debugState,G as degreesToRadians,y as entityThumbnailCache,B as eulerToQuaternion,A as focusEntity,v as getHoveredEntity,s as getHoveredEntityId,u as getSelectedEntity,k as getSelectedEntityId,m as getSelectedEntityIds,o as getSnapSettings,R as intersectPlane,j as isPickMode,b as isTransformTool,N as measureObjectSelectionBounds,M as padSelectionBounds,C as quaternionToEuler,H as radiansToDegrees,e as registerDebugEntityResolver,z as registerEntityFocusContext,f as resolveDebugEntity,O as resolveSelectionBounds,r as setAddType,h as setDebugTool,q as setGridVisible,t as setHoveredEntityId,g as setPaused,i as setPickMode,w as setSelectedEntity,l as setSelectedEntityId,n as setSelectedEntityIds,p as setSnapSettings,F as snapScale,D as snapToIncrement,E as snapVec3};
1
+ import"./chunk-ELQN62PQ.js";import{a as x,b as y}from"./chunk-OCQ7A5IK.js";import{c as P,d as Q,e as R,f as S}from"./chunk-47HAZZWF.js";import{a as z,b as A,c as B,d as C,e as D,f as E,g as F,h as G,i as H}from"./chunk-273CUPEO.js";import{B as u,C as v,D as w,a,b,c,d,e,f,h as g,j as h,l as i,m as j,n as k,o as l,p as m,q as n,u as o,v as p,w as q,x as r,y as s,z as t}from"./chunk-UM5VNQPY.js";import{a as I,b as J,c as K,d as L,e as M,f as N,g as O}from"./chunk-UUOPT2N4.js";import"./chunk-WOT6VMZA.js";export{P as ConstructionGrid,c as DEFAULT_SNAP_SETTINGS,x as EntityThumbnailCache,I as SELECTION_BOUNDS_MARGIN,J as SELECTION_THIN_AXIS_FRACTION,L as SELECTION_THIN_AXIS_MAX,K as SELECTION_THIN_AXIS_MIN,a as TRANSFORM_TOOLS,S as TransformGizmo,Q as closestAxisValue,d as debugState,G as degreesToRadians,y as entityThumbnailCache,B as eulerToQuaternion,A as focusEntity,v as getHoveredEntity,s as getHoveredEntityId,u as getSelectedEntity,k as getSelectedEntityId,m as getSelectedEntityIds,o as getSnapSettings,R as intersectPlane,j as isPickMode,b as isTransformTool,N as measureObjectSelectionBounds,M as padSelectionBounds,C as quaternionToEuler,H as radiansToDegrees,e as registerDebugEntityResolver,z as registerEntityFocusContext,f as resolveDebugEntity,O as resolveSelectionBounds,r as setAddType,h as setDebugTool,q as setGridVisible,t as setHoveredEntityId,g as setPaused,i as setPickMode,w as setSelectedEntity,l as setSelectedEntityId,n as setSelectedEntityIds,p as setSnapSettings,F as snapScale,D as snapToIncrement,E as snapVec3};
@@ -328,6 +328,11 @@ type GameEntityOptions = {
328
328
  hideUntilPositioned?: boolean;
329
329
  /** Explicit render visibility. When false, entity stays hidden until {@link GameEntity.reveal}. */
330
330
  visible?: boolean;
331
+ /**
332
+ * Level-mode object. Stays out of the entity list so the live stage cannot
333
+ * be written back over the level document.
334
+ */
335
+ editorOwned?: boolean;
331
336
  /** Render path: `environment` (bundle), `pack` (instanced), or `none` (default). */
332
337
  category?: RenderCategory;
333
338
  runtime?: RuntimeEntityOptions;
@@ -1,6 +1,6 @@
1
1
  import { Vector3, Sprite, Texture, Color, Box3, Object3D, ColorRepresentation, Light, Fog, FogExp2, Scene, Raycaster } from 'three';
2
2
  import { B as BaseNode } from './base-node-idopiSw5.js';
3
- import { G as GameEntity, a as GameEntityOptions } from './entity-XqvuWgPm.js';
3
+ import { G as GameEntity, a as GameEntityOptions } from './entity-DC0P747T.js';
4
4
  import { d as Vec3Components, e as Vec3Input, b as Vec2Input } from './vector-D3eDzvcA.js';
5
5
  import { U as UpdateContext, a as SetupContext, D as DestroyContext, l as CleanupContext } from './base-node-life-cycle-BK9xebT9.js';
6
6
  import { T as TexturePath, e as MaterialOptions } from './material-CxxAyJYp.js';
@@ -185,6 +185,23 @@ declare class ZylemSphere extends GameEntity<ZylemSphereOptions> {
185
185
  type SphereOptions = BaseNode | Partial<ZylemSphereOptions>;
186
186
  declare function createSphere(...args: Array<SphereOptions>): ZylemSphere;
187
187
 
188
+ /**
189
+ * Viewport placement shared by the camera-attached HUD entities.
190
+ *
191
+ * Text, rects, and cooldown icons all pin a canvas-drawn sprite to a point on
192
+ * screen by parenting it to the camera and placing it on a plane `zDistance`
193
+ * in front of the lens. This module holds what they share: the named viewport
194
+ * anchors, the viewport size layouts resolve against, and the camera-local
195
+ * transform for a box of a given pixel size pinned to a point on screen.
196
+ */
197
+
198
+ /**
199
+ * Reference point on the viewport for positioning UI elements.
200
+ * The offset in `screenPosition` is applied relative to this anchor.
201
+ */
202
+ type ScreenAnchor = 'top-left' | 'top-center' | 'top-right' | 'center-left' | 'center' | 'center-right' | 'bottom-left' | 'bottom-center' | 'bottom-right';
203
+
204
+ type RectShape = 'rect' | 'ellipse';
188
205
  type ZylemRectOptions = GameEntityOptions & {
189
206
  width?: number;
190
207
  height?: number;
@@ -193,9 +210,23 @@ type ZylemRectOptions = GameEntityOptions & {
193
210
  strokeWidth?: number;
194
211
  radius?: number;
195
212
  padding?: number;
213
+ /** `ellipse` inscribes an ellipse in the width × height box and ignores `radius`. */
214
+ shape?: RectShape;
215
+ /** Image URL drawn over the fill, stretched to the box and clipped to the shape. */
216
+ image?: string | null;
196
217
  stickToViewport?: boolean;
218
+ /**
219
+ * Viewport point the rect is positioned from. When set, `screenPosition` is
220
+ * a pixel offset from it (+x right, +y down) and `anchor` defaults to the
221
+ * same point, so a `bottom-right` rect sits inside that corner.
222
+ */
223
+ screenAnchor?: ScreenAnchor;
197
224
  screenPosition?: Vec2Input;
198
225
  zDistance?: number;
226
+ /**
227
+ * Point of the rect placed on its screen position, 0-100 per axis. Defaults
228
+ * to the `screenAnchor` point when one is set, otherwise top-left (0,0).
229
+ */
199
230
  anchor?: Vec2Input;
200
231
  bounds?: {
201
232
  screen?: {
@@ -224,25 +255,27 @@ declare class ZylemRect extends GameEntity<ZylemRectOptions> {
224
255
  private _cameraRef;
225
256
  private _lastCanvasW;
226
257
  private _lastCanvasH;
258
+ private _image;
259
+ private _imageSource;
227
260
  constructor(options?: ZylemRectOptions);
228
261
  private createSprite;
262
+ /** Starts loading `options.image` when it differs from what is drawn. */
263
+ private loadImage;
229
264
  private redrawRect;
230
265
  getWidth(): number;
231
266
  getHeight(): number;
232
267
  private roundedRectPath;
233
268
  private toCssColor;
234
- /**
235
- * Get the viewport resolution from the renderer DOM element,
236
- * falling back to the camera's screenResolution if the renderer
237
- * is not available (e.g. when using the new RendererManager path).
238
- */
239
- private getResolution;
240
269
  private rectSetup;
241
270
  private rectUpdate;
271
+ /** Where the rect's anchor goes on screen, in pixels from the top-left. */
272
+ private screenPoint;
273
+ /** Point of the rect placed on its screen position, as 0..1 fractions of its box. */
274
+ private pivot;
242
275
  private updateStickyTransform;
243
276
  private worldToScreen;
244
277
  private computeScreenBoundsFromOptions;
245
- updateRect(options?: Partial<Pick<ZylemRectOptions, 'width' | 'height' | 'fillColor' | 'strokeColor' | 'strokeWidth' | 'radius'>>): void;
278
+ updateRect(options?: Partial<Pick<ZylemRectOptions, 'width' | 'height' | 'fillColor' | 'strokeColor' | 'strokeWidth' | 'radius' | 'shape' | 'image'>>): void;
246
279
  buildInfo(): Record<string, any>;
247
280
  }
248
281
  type RectOptions = BaseNode | Partial<ZylemRectOptions>;
@@ -256,6 +289,14 @@ type ZylemTextOptions = GameEntityOptions & {
256
289
  backgroundColor?: Color | string | null;
257
290
  padding?: number;
258
291
  stickToViewport?: boolean;
292
+ /**
293
+ * Viewport point the text is positioned from. When set, `screenPosition` is
294
+ * a pixel offset from it (+x right, +y down) and the text aligns to the same
295
+ * point, so `top-right` text ends at that corner. Without it,
296
+ * `screenPosition` is the text's centre, in pixels or as 0..1 fractions of
297
+ * the viewport.
298
+ */
299
+ screenAnchor?: ScreenAnchor;
259
300
  screenPosition?: Vec2Input;
260
301
  zDistance?: number;
261
302
  };
@@ -279,10 +320,8 @@ declare class ZylemText extends GameEntity<ZylemTextOptions> {
279
320
  private toCssColor;
280
321
  private textSetup;
281
322
  private textUpdate;
282
- private getResolution;
283
- private getScreenPixels;
284
- private computeWorldExtents;
285
- private updateSpriteScale;
323
+ /** Where the text's pivot goes on screen, in pixels from the top-left. */
324
+ private screenPoint;
286
325
  private updateWorldSpriteScale;
287
326
  private updateStickyTransform;
288
327
  updateText(_text: string): void;
@@ -969,4 +1008,4 @@ interface EntityTypeMap {
969
1008
  */
970
1009
  type EntityForType<T> = T extends keyof EntityTypeMap ? EntityTypeMap[T] : BaseNode;
971
1010
 
972
- export { type ZylemLightOptions as $, ACTOR_TYPE as A, BOX_TYPE as B, type CollisionShapeType as C, DISK_TYPE as D, CONE_TYPE as E, createPyramid as F, ZylemPyramid as G, PYRAMID_TYPE as H, createCylinder as I, ZylemCylinder as J, CYLINDER_TYPE as K, createPill as L, ZylemPill as M, PILL_TYPE as N, type OnHeldParams as O, PLANE_TYPE as P, createParticleSystem as Q, RECT_TYPE as R, SPHERE_TYPE as S, TEXT_TYPE as T, ZylemParticleSystem as U, PARTICLE_SYSTEM_TYPE as V, type ZylemParticleSystemOptions as W, createLight as X, ZylemLight as Y, ZylemBox as Z, LIGHT_TYPE as _, createSphere as a, type AmbientLightOptions as a0, type HemisphereLightOptions as a1, type DirectionalLightOptions as a2, type PointLightOptions as a3, type SpotLightOptions as a4, type LightShadowOptions as a5, createFog as a6, ZylemFog as a7, FOG_TYPE as a8, createLine as a9, ZylemLine as aa, LINE_TYPE as ab, pickZylemLine as ac, type ZylemLineOptions as ad, type LinePickResult as ae, type ZylemFogOptions as af, type ZylemFogType as ag, type ZylemFogHeightOptions as ah, type ZylemFogNoiseOptions as ai, type EntityTypeMap as aj, type EntityForType as ak, ZylemWorld as al, ZylemSphere as b, createBox as c, createSprite as d, ZylemSprite as e, SPRITE_TYPE as f, type SpriteImage as g, type SpriteAnimation as h, type SpriteSheet as i, createPlane as j, ZylemPlane as k, createZone as l, ZylemZone as m, ZONE_TYPE as n, type OnEnterParams as o, type OnExitParams as p, createActor as q, ZylemActor as r, createText as s, ZylemText as t, createRect as u, ZylemRect as v, createDisk as w, ZylemDisk as x, createCone as y, ZylemCone as z };
1011
+ export { LIGHT_TYPE as $, ACTOR_TYPE as A, BOX_TYPE as B, type CollisionShapeType as C, DISK_TYPE as D, ZylemCone as E, CONE_TYPE as F, createPyramid as G, ZylemPyramid as H, PYRAMID_TYPE as I, createCylinder as J, ZylemCylinder as K, CYLINDER_TYPE as L, createPill as M, ZylemPill as N, type OnHeldParams as O, PLANE_TYPE as P, PILL_TYPE as Q, RECT_TYPE as R, SPHERE_TYPE as S, TEXT_TYPE as T, createParticleSystem as U, ZylemParticleSystem as V, PARTICLE_SYSTEM_TYPE as W, type ZylemParticleSystemOptions as X, createLight as Y, ZylemBox as Z, ZylemLight as _, createSphere as a, type ZylemLightOptions as a0, type AmbientLightOptions as a1, type HemisphereLightOptions as a2, type DirectionalLightOptions as a3, type PointLightOptions as a4, type SpotLightOptions as a5, type LightShadowOptions as a6, createFog as a7, ZylemFog as a8, FOG_TYPE as a9, createLine as aa, ZylemLine as ab, LINE_TYPE as ac, pickZylemLine as ad, type ZylemLineOptions as ae, type LinePickResult as af, type ZylemFogOptions as ag, type ZylemFogType as ah, type ZylemFogHeightOptions as ai, type ZylemFogNoiseOptions as aj, type ScreenAnchor as ak, type EntityTypeMap as al, type EntityForType as am, ZylemWorld as an, ZylemSphere as b, createBox as c, createSprite as d, ZylemSprite as e, SPRITE_TYPE as f, type SpriteImage as g, type SpriteAnimation as h, type SpriteSheet as i, createPlane as j, ZylemPlane as k, createZone as l, ZylemZone as m, ZONE_TYPE as n, type OnEnterParams as o, type OnExitParams as p, createActor as q, ZylemActor as r, createText as s, ZylemText as t, createRect as u, ZylemRect as v, type RectShape as w, createDisk as x, ZylemDisk as y, createCone as z };
package/dist/entity.d.ts CHANGED
@@ -1,6 +1,7 @@
1
- export { A as ACTOR_TYPE, a0 as AmbientLightOptions, B as BOX_TYPE, E as CONE_TYPE, K as CYLINDER_TYPE, C as CollisionShapeType, D as DISK_TYPE, a2 as DirectionalLightOptions, ak as EntityForType, aj as EntityTypeMap, a8 as FOG_TYPE, a1 as HemisphereLightOptions, _ as LIGHT_TYPE, ab as LINE_TYPE, a5 as LightShadowOptions, ae as LinePickResult, o as OnEnterParams, p as OnExitParams, O as OnHeldParams, V as PARTICLE_SYSTEM_TYPE, N as PILL_TYPE, P as PLANE_TYPE, H as PYRAMID_TYPE, a3 as PointLightOptions, R as RECT_TYPE, S as SPHERE_TYPE, f as SPRITE_TYPE, a4 as SpotLightOptions, h as SpriteAnimation, g as SpriteImage, i as SpriteSheet, T as TEXT_TYPE, n as ZONE_TYPE, r as ZylemActor, Z as ZylemBox, z as ZylemCone, J as ZylemCylinder, x as ZylemDisk, a7 as ZylemFog, ah as ZylemFogHeightOptions, ai as ZylemFogNoiseOptions, af as ZylemFogOptions, ag as ZylemFogType, Y as ZylemLight, $ as ZylemLightOptions, aa as ZylemLine, ad as ZylemLineOptions, U as ZylemParticleSystem, W as ZylemParticleSystemOptions, M as ZylemPill, k as ZylemPlane, G as ZylemPyramid, v as ZylemRect, b as ZylemSphere, e as ZylemSprite, t as ZylemText, m as ZylemZone, q as createActor, c as createBox, y as createCone, I as createCylinder, w as createDisk, a6 as createFog, X as createLight, a9 as createLine, Q as createParticleSystem, L as createPill, j as createPlane, F as createPyramid, u as createRect, a as createSphere, d as createSprite, s as createText, l as createZone, ac as pickZylemLine } from './entity-type-map-CrsrKT8c.js';
2
- import { G as GameEntity, a as GameEntityOptions, E as EntityBuilder, B as EntityMeshBuilder, D as EntityCollisionBuilder } from './entity-XqvuWgPm.js';
3
- export { C as CollisionComponent, b as boxCollision, d as coneCollision, c as create, e as cylinderCollision, f as pillCollision, g as planeCollision, p as pyramidCollision, s as sphereCollision, z as zoneCollision } from './entity-XqvuWgPm.js';
1
+ import { ak as ScreenAnchor } from './entity-type-map-B0S5cfv7.js';
2
+ export { A as ACTOR_TYPE, a1 as AmbientLightOptions, B as BOX_TYPE, F as CONE_TYPE, L as CYLINDER_TYPE, C as CollisionShapeType, D as DISK_TYPE, a3 as DirectionalLightOptions, am as EntityForType, al as EntityTypeMap, a9 as FOG_TYPE, a2 as HemisphereLightOptions, $ as LIGHT_TYPE, ac as LINE_TYPE, a6 as LightShadowOptions, af as LinePickResult, o as OnEnterParams, p as OnExitParams, O as OnHeldParams, W as PARTICLE_SYSTEM_TYPE, Q as PILL_TYPE, P as PLANE_TYPE, I as PYRAMID_TYPE, a4 as PointLightOptions, R as RECT_TYPE, w as RectShape, S as SPHERE_TYPE, f as SPRITE_TYPE, a5 as SpotLightOptions, h as SpriteAnimation, g as SpriteImage, i as SpriteSheet, T as TEXT_TYPE, n as ZONE_TYPE, r as ZylemActor, Z as ZylemBox, E as ZylemCone, K as ZylemCylinder, y as ZylemDisk, a8 as ZylemFog, ai as ZylemFogHeightOptions, aj as ZylemFogNoiseOptions, ag as ZylemFogOptions, ah as ZylemFogType, _ as ZylemLight, a0 as ZylemLightOptions, ab as ZylemLine, ae as ZylemLineOptions, V as ZylemParticleSystem, X as ZylemParticleSystemOptions, N as ZylemPill, k as ZylemPlane, H as ZylemPyramid, v as ZylemRect, b as ZylemSphere, e as ZylemSprite, t as ZylemText, m as ZylemZone, q as createActor, c as createBox, z as createCone, J as createCylinder, x as createDisk, a7 as createFog, Y as createLight, aa as createLine, U as createParticleSystem, M as createPill, j as createPlane, G as createPyramid, u as createRect, a as createSphere, d as createSprite, s as createText, l as createZone, ad as pickZylemLine } from './entity-type-map-B0S5cfv7.js';
3
+ import { G as GameEntity, a as GameEntityOptions, E as EntityBuilder, B as EntityMeshBuilder, D as EntityCollisionBuilder } from './entity-DC0P747T.js';
4
+ export { C as CollisionComponent, b as boxCollision, d as coneCollision, c as create, e as cylinderCollision, f as pillCollision, g as planeCollision, p as pyramidCollision, s as sphereCollision, z as zoneCollision } from './entity-DC0P747T.js';
4
5
  import { Color, Mesh } from 'three';
5
6
  import { B as BaseNode } from './base-node-idopiSw5.js';
6
7
  import { b as Vec2Input, e as Vec3Input } from './vector-D3eDzvcA.js';
@@ -75,11 +76,6 @@ declare function createEntityFactory<E extends GameEntity<O>, O extends GameEnti
75
76
  * Modeled after ZylemRect's canvas-based viewport-attached sprite pattern.
76
77
  */
77
78
 
78
- /**
79
- * Reference point on the viewport for positioning UI elements.
80
- * The offset in `screenPosition` is applied relative to this anchor.
81
- */
82
- type ScreenAnchor = 'top-left' | 'top-center' | 'top-right' | 'center-left' | 'center' | 'center-right' | 'bottom-left' | 'bottom-center' | 'bottom-right';
83
79
  /** Preset icon sizes in view units. */
84
80
  declare const ICON_SIZE_PRESETS: {
85
81
  readonly xs: 8;
@@ -152,21 +148,13 @@ declare class ZylemCooldownIcon extends GameEntity<ZylemCooldownIconOptions> {
152
148
  private createSprite;
153
149
  private redraw;
154
150
  private toCssColor;
155
- private getResolution;
156
151
  private iconSetup;
157
152
  private iconUpdate;
158
- /**
159
- * Resolve screen position to pixels.
160
- * Computes the anchor point in pixels, then adds the view-unit offset.
161
- */
162
- private resolveScreenPosition;
163
153
  /**
164
154
  * Resolve `iconSize` to screen pixels using the view-unit grid.
165
155
  * Viewport height = {@link VIEW_UNITS_HEIGHT} units; width scales with aspect ratio.
166
156
  */
167
157
  private resolveIconSize;
168
- /** Compute the world-space half-extents at a given distance from the camera. */
169
- private computeWorldExtents;
170
158
  private updateStickyTransform;
171
159
  /**
172
160
  * Dispose Three.js / DOM resources when the entity is destroyed.
@@ -270,4 +258,4 @@ interface PillMeshOptions extends BaseMeshOptions {
270
258
  */
271
259
  declare function pillMesh(opts?: PillMeshOptions): Mesh;
272
260
 
273
- export { GameEntity, GameEntityOptions, type IconSize, type IconSizePreset, type ScreenAnchor, type TemplateFactory, boxMesh, coneMesh, createCooldownIcon, createEntity, createEntityFactory, cylinderMesh, destroy, pillMesh, pyramidMesh, sphereMesh };
261
+ export { GameEntity, GameEntityOptions, type IconSize, type IconSizePreset, ScreenAnchor, type TemplateFactory, boxMesh, coneMesh, createCooldownIcon, createEntity, createEntityFactory, cylinderMesh, destroy, pillMesh, pyramidMesh, sphereMesh };
package/dist/entity.js CHANGED
@@ -1 +1 @@
1
- import{a as ma,b as na,c as oa,d as pa,e as qa}from"./chunk-K3NNXZIJ.js";import{a as ba,b as ca,c as da,d as ea,e as fa,f as ga,g as ha,h as ia,i as ja,j as ka,l as la}from"./chunk-LI43BZQN.js";import{a as X,b as Y,c as Z,d as _,e as $,f as aa}from"./chunk-YQS7CGXE.js";import{A as J,B as K,C as L,D as M,E as N,F as O,G as P,H as Q,I as R,J as S,K as T,L as U,M as V,N as W,b as j,c as k,d as l,e as m,f as n,g as o,h as p,i as q,j as r,k as s,l as t,m as u,n as v,o as w,p as x,q as y,r as z,s as A,t as B,u as C,v as D,w as E,x as F,y as G,z as I}from"./chunk-STVEILJJ.js";import{c as a,d as b,e as c,f as d,g as e,h as f,i as g,j as h,u as i,z as H}from"./chunk-KP6DLLJO.js";import"./chunk-6FGXC4T6.js";import"./chunk-AIQ6IVT5.js";import"./chunk-QXVH6POE.js";import"./chunk-UUOPT2N4.js";import"./chunk-EVYHPR3J.js";import"./chunk-4QLJUQSJ.js";import"./chunk-7WRQ2UAN.js";import"./chunk-XRP4JJXL.js";import"./chunk-WOT6VMZA.js";export{X as ACTOR_TYPE,p as BOX_TYPE,v as CONE_TYPE,B as CYLINDER_TYPE,I as DISK_TYPE,_ as FOG_TYPE,U as LIGHT_TYPE,ha as LINE_TYPE,ma as PARTICLE_SYSTEM_TYPE,E as PILL_TYPE,L as PLANE_TYPE,y as PYRAMID_TYPE,R as RECT_TYPE,s as SPHERE_TYPE,ea as SPRITE_TYPE,ba as TEXT_TYPE,O as ZONE_TYPE,Y as ZylemActor,q as ZylemBox,w as ZylemCone,C as ZylemCylinder,J as ZylemDisk,$ as ZylemFog,V as ZylemLight,ja as ZylemLine,na as ZylemParticleSystem,F as ZylemPill,M as ZylemPlane,z as ZylemPyramid,S as ZylemRect,t as ZylemSphere,fa as ZylemSprite,ca as ZylemText,P as ZylemZone,a as boxCollision,j as boxMesh,c as coneCollision,l as coneMesh,i as create,Z as createActor,r as createBox,x as createCone,pa as createCooldownIcon,D as createCylinder,K as createDisk,H as createEntity,la as createEntityFactory,aa as createFog,W as createLight,ka as createLine,oa as createParticleSystem,G as createPill,N as createPlane,A as createPyramid,T as createRect,u as createSphere,ga as createSprite,da as createText,Q as createZone,e as cylinderCollision,n as cylinderMesh,qa as destroy,ia as pickZylemLine,f as pillCollision,o as pillMesh,g as planeCollision,d as pyramidCollision,m as pyramidMesh,b as sphereCollision,k as sphereMesh,h as zoneCollision};
1
+ import{a as ma,b as na,c as oa,d as pa,e as qa}from"./chunk-Y23IJJPD.js";import{a as ba,b as ca,c as da,d as ea,e as fa,f as ga,g as ha,h as ia,i as ja,j as ka,l as la}from"./chunk-YRHRMVHS.js";import{a as X,b as Y,c as Z,d as _,e as $,f as aa}from"./chunk-FUZDTRCU.js";import{A as J,B as K,C as L,D as M,E as N,J as R,K as S,L as T,M as U,N as V,O as W,b as j,c as k,d as l,e as m,f as n,g as o,h as p,i as q,j as r,k as s,l as t,m as u,n as v,o as w,p as x,q as y,r as z,s as A,t as B,u as C,v as D,w as E,x as F,y as G,z as I}from"./chunk-5V52N34T.js";import{A as O,B as P,C as Q,c as a,d as b,e as c,f as d,g as e,h as f,i as g,j as h,u as i,z as H}from"./chunk-VXE3CV3K.js";import"./chunk-6FGXC4T6.js";import"./chunk-AIQ6IVT5.js";import"./chunk-QXVH6POE.js";import"./chunk-UUOPT2N4.js";import"./chunk-EVYHPR3J.js";import"./chunk-4QLJUQSJ.js";import"./chunk-7WRQ2UAN.js";import"./chunk-XRP4JJXL.js";import"./chunk-WOT6VMZA.js";export{X as ACTOR_TYPE,p as BOX_TYPE,v as CONE_TYPE,B as CYLINDER_TYPE,I as DISK_TYPE,_ as FOG_TYPE,U as LIGHT_TYPE,ha as LINE_TYPE,ma as PARTICLE_SYSTEM_TYPE,E as PILL_TYPE,L as PLANE_TYPE,y as PYRAMID_TYPE,R as RECT_TYPE,s as SPHERE_TYPE,ea as SPRITE_TYPE,ba as TEXT_TYPE,O as ZONE_TYPE,Y as ZylemActor,q as ZylemBox,w as ZylemCone,C as ZylemCylinder,J as ZylemDisk,$ as ZylemFog,V as ZylemLight,ja as ZylemLine,na as ZylemParticleSystem,F as ZylemPill,M as ZylemPlane,z as ZylemPyramid,S as ZylemRect,t as ZylemSphere,fa as ZylemSprite,ca as ZylemText,P as ZylemZone,a as boxCollision,j as boxMesh,c as coneCollision,l as coneMesh,i as create,Z as createActor,r as createBox,x as createCone,pa as createCooldownIcon,D as createCylinder,K as createDisk,H as createEntity,la as createEntityFactory,aa as createFog,W as createLight,ka as createLine,oa as createParticleSystem,G as createPill,N as createPlane,A as createPyramid,T as createRect,u as createSphere,ga as createSprite,da as createText,Q as createZone,e as cylinderCollision,n as cylinderMesh,qa as destroy,ia as pickZylemLine,f as pillCollision,o as pillMesh,g as planeCollision,d as pyramidCollision,m as pyramidMesh,b as sphereCollision,k as sphereMesh,h as zoneCollision};
@@ -1 +1 @@
1
- import{y as e}from"./chunk-NK4IXK5V.js";import"./chunk-47HAZZWF.js";import"./chunk-2HSR5XDQ.js";import"./chunk-3CLQWJ2I.js";import"./chunk-BQRMYLYD.js";import"./chunk-GPCSX3M6.js";import"./chunk-WBQ5TNRZ.js";import"./chunk-YQS7CGXE.js";import"./chunk-KP6DLLJO.js";import"./chunk-6FGXC4T6.js";import"./chunk-AIQ6IVT5.js";import"./chunk-QXVH6POE.js";import"./chunk-UUOPT2N4.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"./chunk-WOT6VMZA.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
+ import{z as e}from"./chunk-P6IOYQHU.js";import"./chunk-47HAZZWF.js";import"./chunk-2HSR5XDQ.js";import"./chunk-VKWJHFUR.js";import"./chunk-273CUPEO.js";import"./chunk-UM5VNQPY.js";import"./chunk-WBQ5TNRZ.js";import"./chunk-FUZDTRCU.js";import"./chunk-VXE3CV3K.js";import"./chunk-6FGXC4T6.js";import"./chunk-AIQ6IVT5.js";import"./chunk-QXVH6POE.js";import"./chunk-UUOPT2N4.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"./chunk-WOT6VMZA.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,8 +1,8 @@
1
1
  import { e as InputPlayerNumber, f as InputProvider, I as Inputs, a as SetupContext, U as UpdateContext, D as DestroyContext, m as IGame, h as SetupFunction, g as UpdateFunction, j as DestroyFunction, S as StageNavigationOptions } from './base-node-life-cycle-BK9xebT9.js';
2
2
  import { G as GameInputConfig, B as BaseGlobals, Z as ZylemGameConfig } from './game-interfaces-vF5sRi1n.js';
3
3
  import { B as BaseNode } from './base-node-idopiSw5.js';
4
- import { B as BaseEntityInterface, q as Stage } from './stage-PBmwT5-Y.js';
5
- import { y as GameEntityLifeCycle } from './entity-XqvuWgPm.js';
4
+ import { B as BaseEntityInterface, q as Stage } from './stage-B_KdSEK6.js';
5
+ import { y as GameEntityLifeCycle } from './entity-DC0P747T.js';
6
6
  import { Color, Vector3 } from 'three';
7
7
  import { d as Vec3Components } from './vector-D3eDzvcA.js';
8
8
  import { D as DefaultTouchControlsOptions } from './default-controls-CAKJ5zlo.js';
@@ -126,6 +126,11 @@ declare class Timer {
126
126
  update(timestamp?: number): Timer;
127
127
  }
128
128
 
129
+ interface ViewportSize {
130
+ width: number;
131
+ height: number;
132
+ }
133
+
129
134
  /**
130
135
  * Stage state interface - minimal to prevent circular dependencies
131
136
  */
@@ -190,11 +195,6 @@ declare class AspectRatioDelegate {
190
195
  apply(): void;
191
196
  }
192
197
 
193
- interface ViewportSize {
194
- width: number;
195
- height: number;
196
- }
197
-
198
198
  type RetroResolution = {
199
199
  key: string;
200
200
  width: number;
@@ -0,0 +1,91 @@
1
+ import { BridgePose, BridgeVec3 } from '@zylem/bridge';
2
+
3
+ /**
4
+ * Convex brush kernel.
5
+ *
6
+ * A brush is the intersection of half-spaces: a point is inside when
7
+ * `normal · point <= distance` for every plane. The normal points outward.
8
+ * Planes are world-space, so moving a brush shifts every distance by
9
+ * `normal · delta`. No Three.js and no physics types.
10
+ *
11
+ * Copy of `packages/bridge/src/level/brush.ts`, kept inside this package so
12
+ * the declaration build does not reach outside `src`.
13
+ */
14
+ interface BrushVec3 {
15
+ x: number;
16
+ y: number;
17
+ z: number;
18
+ }
19
+ interface BrushPlane {
20
+ normal: BrushVec3;
21
+ /** The solid is `normal · point <= distance`. */
22
+ distance: number;
23
+ }
24
+
25
+ /**
26
+ * Level document shapes shared with the editor over the bridge.
27
+ *
28
+ * Defined here, matching `packages/bridge/src/protocol.ts`, because the
29
+ * installed `@zylem/bridge` build does not export them yet and the
30
+ * declaration build cannot import files outside this package.
31
+ */
32
+
33
+ /** Which list in a level document an edit or a visibility toggle addresses. */
34
+ type LevelLayerId = 'solid' | 'doodad' | 'entity';
35
+ /** One convex solid. Planes are world-space half-spaces. */
36
+ interface BrushSolid {
37
+ id: string;
38
+ planes: BrushPlane[];
39
+ }
40
+ /** A visual placement. Spawned with no collider. */
41
+ interface DoodadPlacement {
42
+ id: string;
43
+ typeId: string;
44
+ pose: BridgePose;
45
+ props: Record<string, unknown>;
46
+ }
47
+ /**
48
+ * A gameplay marker.
49
+ *
50
+ * `typeId` is `spawn` or `zone`. Spawn props carry `spawnKind`
51
+ * (`player` | `enemy` | `item`) and `archetype`. Trigger props carry `size`.
52
+ */
53
+ interface EntityPlacement {
54
+ id: string;
55
+ typeId: string;
56
+ name: string;
57
+ pose: BridgePose;
58
+ props: Record<string, unknown>;
59
+ }
60
+ /**
61
+ * The level file. The editor owns it; the stage only previews and plays it.
62
+ *
63
+ * `version` is 2 so a v1 catalog buffer is recognisable and left alone.
64
+ */
65
+ interface LevelDocument {
66
+ version: 2;
67
+ solids: BrushSolid[];
68
+ doodads: DoodadPlacement[];
69
+ entities: EntityPlacement[];
70
+ }
71
+ /** What the Add tool will write into the document on the next click. */
72
+ type LevelPlacementArm = {
73
+ kind: 'doodad';
74
+ typeId: string;
75
+ props?: Record<string, unknown>;
76
+ } | {
77
+ kind: 'spawn';
78
+ } | {
79
+ kind: 'trigger';
80
+ size: BridgeVec3;
81
+ };
82
+ /** Edit-time preview. Hidden layers are omitted; play ignores this and streams everything. */
83
+ interface LevelSyncPayload {
84
+ document: LevelDocument;
85
+ hiddenLayers: LevelLayerId[];
86
+ selectedIds: string[];
87
+ activeLayer: LevelLayerId;
88
+ placement: LevelPlacementArm | null;
89
+ }
90
+
91
+ export type { LevelDocument as L, LevelSyncPayload as a };
package/dist/public.d.ts CHANGED
@@ -1,7 +1,8 @@
1
- export { A as AspectRatio, f as AspectRatioValue, D as DeviceProfile, G as Game, b as GameConfigLike, d as GameDeviceConfig, a as GameLoadingEvent, R as ResolutionInput, e as ResolveGameConfigRuntime, j as RetroPreset, k as RetroPresetKey, l as RetroResolution, c as createGame, g as gameConfig, h as getDisplayAspect, i as getPresetResolution, p as parseResolution } from './game-DBt7iVu4.js';
1
+ export { A as AspectRatio, f as AspectRatioValue, D as DeviceProfile, G as Game, b as GameConfigLike, d as GameDeviceConfig, a as GameLoadingEvent, R as ResolutionInput, e as ResolveGameConfigRuntime, j as RetroPreset, k as RetroPresetKey, l as RetroResolution, c as createGame, g as gameConfig, h as getDisplayAspect, i as getPresetResolution, p as parseResolution } from './game-mu6OSCrq.js';
2
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
- export { e as CameraManager, d as CameraOptions, C as CameraWrapper, l as FirstPersonOptions, f as FirstPersonPerspective, k as Fixed2DOptions, F as Fixed2DPerspective, n as IsometricOptions, I as IsometricPerspective, P as PerspectiveOptions, R as RenderBundleManager, p as RenderStrategyManager, m as SecondPersonOptions, g as SecondPersonPerspective, S as StageConfigLike, a as StageOptions, j as ThirdPersonOptions, T as ThirdPersonPerspective, o as TopDownOptions, h as TopDownPerspective, b as createCamera, i as createPerspective, c as createStage, s as stageConfig } from './stage-PBmwT5-Y.js';
4
- export { CameraFeedOptions, FollowTargetOptions, LevelStage, PlatformAxisMode, PlatformAxisModes, PlatformFollowOptions, RenderCategory, STAGE_STATE_CHANGE, StageManager, StageStateChangeEvent, StrategyPanBehavior, StrategyPanInput, StrategyPanOptions, StrategyPointer, StreamLevelOptions, StreamLevelResult, Vect3, createFollowTarget, createPlatformFollow, createStrategyPan, dispatchStageState, entitySpawner, initStageStateDispatcher, isManagedRenderEntity, resolveRenderCategory, setCameraFeed, setStageFrameProfilerEnabled, stageState, streamLevel, streamLevelOnStage, usesManagedRenderPath, vessel } from './core.js';
3
+ export { e as CameraManager, d as CameraOptions, C as CameraWrapper, l as FirstPersonOptions, f as FirstPersonPerspective, k as Fixed2DOptions, F as Fixed2DPerspective, n as IsometricOptions, I as IsometricPerspective, P as PerspectiveOptions, R as RenderBundleManager, p as RenderStrategyManager, m as SecondPersonOptions, g as SecondPersonPerspective, S as StageConfigLike, a as StageOptions, j as ThirdPersonOptions, T as ThirdPersonPerspective, o as TopDownOptions, h as TopDownPerspective, b as createCamera, i as createPerspective, c as createStage, s as stageConfig } from './stage-B_KdSEK6.js';
4
+ export { CameraFeedOptions, FollowTargetOptions, LevelStage, PlatformAxisMode, PlatformAxisModes, PlatformFollowOptions, RenderCategory, STAGE_STATE_CHANGE, StageManager, StageStateChangeEvent, StrategyPanBehavior, StrategyPanInput, StrategyPanOptions, StrategyPointer, StreamLevelOptions, StreamLevelResult, Vect3, createFollowTarget, createPlatformFollow, createStrategyPan, dispatchStageState, entitySpawner, getActiveLevelDocument, initStageStateDispatcher, isManagedRenderEntity, resolveRenderCategory, setCameraFeed, setStageFrameProfilerEnabled, stageState, streamLevel, streamLevelOnStage, usesManagedRenderPath, vessel } from './core.js';
5
+ export { L as LevelDocument } from './level-types-D10LiOcn.js';
5
6
  export { BRIDGE_READY_EVENT, BridgeChannel, BridgeDebugTool, BridgeHandler, GameLoadingPayload as BridgeLoadingPayload, BridgeMessageType, BridgeMessages, BridgeNdc, BridgeVec3, CameraPosePayload, CutsceneLoadPayload, CutscenePlaybackState, CutsceneStatusPayload, CutsceneViewPayload, EditorToGameMessages, EntityApplySwatchPayload, EntityPickPayload, EntityPickResultPayload, EntitySummaryPayload, EntitySwatchAppliedPayload, EntityThumbnailPayload, GameConfigPayload, GameToEditorMessages, GameVariablePayload, LevelBuffer, StageConfigPayload, StageSnapshotPayload, SwatchApplyFailureReason, SwatchApplyResult, SwatchKind, SwatchSpec, ZylemBridge, announceBridgeReady, applySwatchesToSelection, getZylemBridge } from '@zylem/bridge';
6
7
  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';
7
8
  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';
@@ -9,9 +10,9 @@ export { S as StageTransitionConfig, a as StageTransitionEasing, Z as ZylemTrans
9
10
  export { g as CameraAction, f as CameraBehavior, d as CameraContext, e as CameraPerspective, k as CameraPipeline, h as CameraPipelineState, C as CameraPose, j as CameraProjection, 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-CWhIGXlW.js';
10
11
  export { S as StageEntity } from './entity-BIf_a4dl.js';
11
12
  export { 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-D3eDzvcA.js';
12
- export { A as ACTOR_TYPE, a0 as AmbientLightOptions, B as BOX_TYPE, E as CONE_TYPE, K as CYLINDER_TYPE, C as CollisionShapeType, D as DISK_TYPE, a2 as DirectionalLightOptions, ak as EntityForType, aj as EntityTypeMap, a8 as FOG_TYPE, a1 as HemisphereLightOptions, _ as LIGHT_TYPE, ab as LINE_TYPE, a5 as LightShadowOptions, ae as LinePickResult, o as OnEnterParams, p as OnExitParams, O as OnHeldParams, V as PARTICLE_SYSTEM_TYPE, N as PILL_TYPE, P as PLANE_TYPE, H as PYRAMID_TYPE, a3 as PointLightOptions, R as RECT_TYPE, S as SPHERE_TYPE, f as SPRITE_TYPE, a4 as SpotLightOptions, h as SpriteAnimation, g as SpriteImage, i as SpriteSheet, T as TEXT_TYPE, n as ZONE_TYPE, r as ZylemActor, Z as ZylemBox, z as ZylemCone, J as ZylemCylinder, x as ZylemDisk, a7 as ZylemFog, ah as ZylemFogHeightOptions, ai as ZylemFogNoiseOptions, af as ZylemFogOptions, ag as ZylemFogType, Y as ZylemLight, $ as ZylemLightOptions, aa as ZylemLine, ad as ZylemLineOptions, U as ZylemParticleSystem, W as ZylemParticleSystemOptions, M as ZylemPill, k as ZylemPlane, G as ZylemPyramid, v as ZylemRect, b as ZylemSphere, e as ZylemSprite, t as ZylemText, m as ZylemZone, q as createActor, c as createBox, y as createCone, I as createCylinder, w as createDisk, a6 as createFog, X as createLight, a9 as createLine, Q as createParticleSystem, L as createPill, j as createPlane, F as createPyramid, u as createRect, a as createSphere, d as createSprite, s as createText, l as createZone, ac as pickZylemLine } from './entity-type-map-CrsrKT8c.js';
13
- 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-XqvuWgPm.js';
14
- export { IconSize, IconSizePreset, ScreenAnchor, TemplateFactory, boxMesh, coneMesh, createCooldownIcon, createEntity, createEntityFactory, cylinderMesh, destroy, pillMesh, pyramidMesh, sphereMesh } from './entity.js';
13
+ export { A as ACTOR_TYPE, a1 as AmbientLightOptions, B as BOX_TYPE, F as CONE_TYPE, L as CYLINDER_TYPE, C as CollisionShapeType, D as DISK_TYPE, a3 as DirectionalLightOptions, am as EntityForType, al as EntityTypeMap, a9 as FOG_TYPE, a2 as HemisphereLightOptions, $ as LIGHT_TYPE, ac as LINE_TYPE, a6 as LightShadowOptions, af as LinePickResult, o as OnEnterParams, p as OnExitParams, O as OnHeldParams, W as PARTICLE_SYSTEM_TYPE, Q as PILL_TYPE, P as PLANE_TYPE, I as PYRAMID_TYPE, a4 as PointLightOptions, R as RECT_TYPE, w as RectShape, S as SPHERE_TYPE, f as SPRITE_TYPE, ak as ScreenAnchor, a5 as SpotLightOptions, h as SpriteAnimation, g as SpriteImage, i as SpriteSheet, T as TEXT_TYPE, n as ZONE_TYPE, r as ZylemActor, Z as ZylemBox, E as ZylemCone, K as ZylemCylinder, y as ZylemDisk, a8 as ZylemFog, ai as ZylemFogHeightOptions, aj as ZylemFogNoiseOptions, ag as ZylemFogOptions, ah as ZylemFogType, _ as ZylemLight, a0 as ZylemLightOptions, ab as ZylemLine, ae as ZylemLineOptions, V as ZylemParticleSystem, X as ZylemParticleSystemOptions, N as ZylemPill, k as ZylemPlane, H as ZylemPyramid, v as ZylemRect, b as ZylemSphere, e as ZylemSprite, t as ZylemText, m as ZylemZone, q as createActor, c as createBox, z as createCone, J as createCylinder, x as createDisk, a7 as createFog, Y as createLight, aa as createLine, U as createParticleSystem, M as createPill, j as createPlane, G as createPyramid, u as createRect, a as createSphere, d as createSprite, s as createText, l as createZone, ad as pickZylemLine } from './entity-type-map-B0S5cfv7.js';
14
+ 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-DC0P747T.js';
15
+ export { IconSize, IconSizePreset, TemplateFactory, boxMesh, coneMesh, createCooldownIcon, createEntity, createEntityFactory, cylinderMesh, destroy, pillMesh, pyramidMesh, sphereMesh } from './entity.js';
15
16
  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';
16
17
  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';
17
18
  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';
@@ -26,7 +27,7 @@ export { Howl } from 'howler';
26
27
  export { o as AudioClip, A as AudioClipSchema, k as EffectType, E as Envelope, h as InstrumentDefinition, I as InstrumentDefinitionSchema, i as InstrumentEffect, a as InstrumentEffectSchema, j as InstrumentPreset, b as InstrumentPresetSchema, n as NoteClip, N as NoteClipSchema, O as OscillatorType, m as SongClip, d as SongClipSchema, g as SongDefinition, S as SongDefinitionSchema, r as SongLoop, f as SongLoopSchema, p as SongNote, e as SongNoteSchema, l as SongTrack, c as SongTrackSchema, q as TimeSignature, T as TimeSignatureSchema } from './song-definition-rEKksP0B.js';
27
28
  export { w as AudioItem, A as AudioItemSchema, q as AudioTrack, l as CameraKeyframe, c as CameraKeyframeSchema, m as CameraPoseDef, n as CameraShot, d as CameraShotSchema, o as CameraTrack, i as CutsceneCamera, j as CutsceneCameraKind, b as CutsceneCameraSchema, g as CutsceneDefinition, C as CutsceneDefinitionSchema, k as CutsceneEasing, u as CutsceneEvent, e as CutsceneEventSchema, h as CutsceneScene, a as CutsceneSceneSchema, r as CutsceneTrack, f as CutsceneTrackSchema, s as DollyPath, D as DollyPathSchema, v as EventItem, E as EventItemSchema, p as EventTrack, x as SceneTransition, S as SceneTransitionSchema, y as SceneTransitionType, t as ShotBlend, V as Vec3Def } from './cutscene-definition-C479fkei.js';
28
29
  export { CUTSCENE_BEHAVIOR_KEY, CutsceneCameraBehavior, CutsceneFrame, CutsceneHost, CutscenePlayer, CutscenePlayerEvents, CutscenePlayerOptions, CutscenePlayerState, CutscenePreviewController, CutsceneStageLike, EvaluatedPose, StageCutsceneHostOptions, TargetLookup, activeShot, cameraTracks, createCutscenePlayer, createStageCutsceneHost, cutsceneLength, dollyPointAt, easeValue, evaluateCameraPose, evaluateCutscene, itemsBetween, lerpPose, lerpVec3, previousShot, sampleDollyPath, sceneAt, setCutsceneTransitionShaders, shotAt } from './cinematics.js';
29
- export { D as DEFAULT_SNAP_SETTINGS, w as DebugEntityResolver, v as DebugTools, S as SnapSettings, T as TRANSFORM_TOOLS, x as TransformTool, d as debugState, k as getHoveredEntity, j as getHoveredEntityId, e as getSelectedEntity, g as getSelectedEntityId, h as getSelectedEntityIds, m as getSnapSettings, t as isPickMode, u as isTransformTool, r as registerDebugEntityResolver, l as resolveDebugEntity, p as setAddType, s as setDebugTool, o as setGridVisible, i as setHoveredEntityId, a as setPaused, q as setPickMode, b as setSelectedEntity, c as setSelectedEntityId, f as setSelectedEntityIds, n as setSnapSettings } from './debug-state-Cg3f5FB6.js';
30
+ export { D as DEFAULT_SNAP_SETTINGS, w as DebugEntityResolver, v as DebugTools, S as SnapSettings, T as TRANSFORM_TOOLS, x as TransformTool, d as debugState, k as getHoveredEntity, j as getHoveredEntityId, e as getSelectedEntity, g as getSelectedEntityId, h as getSelectedEntityIds, m as getSnapSettings, t as isPickMode, u as isTransformTool, r as registerDebugEntityResolver, l as resolveDebugEntity, p as setAddType, s as setDebugTool, o as setGridVisible, i as setHoveredEntityId, a as setPaused, q as setPickMode, b as setSelectedEntity, c as setSelectedEntityId, f as setSelectedEntityIds, n as setSnapSettings } from './debug-state-DhVkY2aM.js';
30
31
  export { ConstructionGrid, EntityFocusContext, EntityThumbnailCache, EntityThumbnailCacheEntry, EntityThumbnailResult, GizmoAxis, GizmoDelta, GizmoMode, GizmoRay, Quat, TransformGizmo, closestAxisValue, degreesToRadians, entityThumbnailCache, eulerToQuaternion, focusEntity, intersectPlane, quaternionToEuler, radiansToDegrees, registerEntityFocusContext, snapScale, snapToIncrement, snapVec3 } from './debug.js';
31
32
  export { S as SELECTION_BOUNDS_MARGIN, a as SELECTION_THIN_AXIS_FRACTION, c as SELECTION_THIN_AXIS_MAX, b as SELECTION_THIN_AXIS_MIN, d as SelectionBoundsProvider, m as measureObjectSelectionBounds, p as padSelectionBounds, r as resolveSelectionBounds } from './selection-bounds-BKmSo9aG.js';
32
33
  export { GameBridge, GameBridgeHost, SwatchApplyOutcome } from './bridge.js';
package/dist/public.js CHANGED
@@ -1 +1 @@
1
- import{A as Ox,B as Px,C as Vx,a as cx,b as sx,c as nx,d as lx,e as Sx,f as hx,g as yx,h as Lx,i as vx,j as Zx,k as bx,l as gx,m as ux,n as Tx,o as jx,p as Fx,q as Wx,r as kx,s as wx,t as zx,u as Bx,v as Dx,w as Ex,x as Gx,y as Mx,z as Nx}from"./chunk-KSEP7AUF.js";import"./chunk-ORIDWL3T.js";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-ELQN62PQ.js";import{a as If,b as Jf,c as Kf,d as Qf}from"./chunk-FZNEWOC5.js";import{a as Rf}from"./chunk-4CZZZCFB.js";import{a as Uf,b as Xf,c as Yf,d as _f,e as $f,f as ox,g as rx,h as ex,i as tx,j as mx,k as px,l as ax,m as fx,n as xx,o as ix,p as dx}from"./chunk-47DG7I7M.js";import{a as Wo,b as ko,c as wo,d as zo,e as Po,f as qp,g as Ap,h as $p,i as oa,j as ra,k as ea,l as ta,m as ma,n as pa,o as aa,p as fa,q as xa,r as ia}from"./chunk-2IJLXFWY.js";import{a as Fo,c as Lm,d as vm,e as Zm,f as sp,g as np,h as up,i as Tp,k as jp,l as Fp,m as Wp,n as kp,o as wp,p as zp,q as Bp,r as Dp,s as Ep,t as Gp,u as Mp,v as Np,w as Pp,y as Vp}from"./chunk-NK4IXK5V.js";import{a as Bo,b as Do,c as Eo,d as Go,e as Mo,f as No,g as Oo}from"./chunk-PCFF4LLO.js";import{a as so,b as no}from"./chunk-OCQ7A5IK.js";import{c as vp,d as Zp,e as bp,f as gp}from"./chunk-47HAZZWF.js";import"./chunk-VSFULLND.js";import"./chunk-2HSR5XDQ.js";import{e as Ho,n as Yo}from"./chunk-3CLQWJ2I.js";import{a as Ao,b as Co,c as Io,d as Jo,e as Ko,f as Qo,g as Ro,h as Uo,i as Xo}from"./chunk-BQRMYLYD.js";import{B as xo,C as io,D as co,a as C,b as H,c as I,d as J,e as K,f as Q,h as R,j as U,l as X,m as Y,n as _,o as $,p as oo,q as ro,u as eo,v as to,w as mo,x as po,y as ao,z as fo}from"./chunk-GPCSX3M6.js";import{b as xp}from"./chunk-WBQ5TNRZ.js";import{a as da,b as ca,c as sa,d as na,e as la}from"./chunk-K3NNXZIJ.js";import{a as Cp,b as Hp,c as Ip,d as Jp,e as Kp,f as Qp,g as Rp,h as Up,i as Xp,j as Yp,l as _p}from"./chunk-LI43BZQN.js";import{a as pp,b as ap,c as fp,d as ip,e as dp,f as cp}from"./chunk-YQS7CGXE.js";import{A as te,B as me,C as pe,D as ae,E as fe,F as Se,G as he,H as ye,I as Le,J as ve,K as Ze,L as be,M as ge,N as ue,b as Br,c as Dr,d as Er,e as Gr,f as Mr,g as Nr,h as Or,i as Pr,j as Vr,k as qr,l as Ar,m as Cr,n as Hr,o as Ir,p as Jr,q as Kr,r as Qr,s as Rr,t as Ur,u as Xr,v as Yr,w as _r,x as $r,y as oe,z as ee}from"./chunk-STVEILJJ.js";import{c as gr,d as ur,e as Tr,f as jr,g as Fr,h as Wr,i as kr,j as wr,u as zr,z as re}from"./chunk-KP6DLLJO.js";import{c as o,d as r,h as e,i as t,k as m,l as p,m as a,n as f,o as x,p as i,q as d,r as c}from"./chunk-6FGXC4T6.js";import{a as Vo,b as qo}from"./chunk-AIQ6IVT5.js";import"./chunk-QXVH6POE.js";import{a as xe,b as ie,c as de,d as ce,e as se,f as ne,g as le}from"./chunk-UUOPT2N4.js";import{b as br}from"./chunk-EVYHPR3J.js";import{a as Sa,b as ha,c as ya,d as La,e as va,f as Za,g as ba,h as ga,i as ua,j as Ta,k as ja,l as Fa,m as Wa,n as ka,o as wa,p as za}from"./chunk-6XFXPIVB.js";import{$ as gt,A as Ue,Aa as Ut,B as Xe,Ba as Xt,C as Ye,Ca as Yt,D as _e,Da as _t,E as $e,Ea as $t,F as ot,Fa as om,G as rt,Ga as rm,H as et,Ha as em,I as tt,Ia as tm,J as mt,Ja as mm,K as pt,Ka as pm,L as at,La as am,M as ft,Ma as fm,N as xt,Na as xm,O as it,Oa as im,P as dt,Pa as dm,Q as ct,Qa as cm,R as st,Ra as sm,S as nt,Sa as nm,T as lt,Ta as lm,U as St,Ua as Sm,V as ht,Va as hm,W as yt,X as Lt,Y as vt,Z as Zt,_ as bt,aa as ut,b as Te,ba as Tt,c as je,ca as jt,d as Fe,da as Ft,e as We,ea as Wt,f as ke,fa as kt,g as we,ga as wt,h as ze,ha as zt,i as Be,ia as Bt,j as De,ja as Dt,k as Ee,ka as Et,l as Ge,la as Gt,m as Me,ma as Mt,n as Ne,na as Nt,o as Oe,oa as Ot,p as Pe,pa as Pt,q as Ve,qa as Vt,r as qe,ra as qt,s as Ae,sa as At,t as Ce,ta as Ct,u as He,ua as Ht,v as Ie,va as It,w as Je,wa as Jt,x as Ke,xa as Kt,y as Qe,ya as Qt,z as Re,za as Rt}from"./chunk-VUJXR5K5.js";import{a as Ba,b as Da,c as Ia,d as Ja,e as Ka,f as Qa}from"./chunk-ZZO4CKRU.js";import{a as Ea,b as Ga,c as Ma,d as Na,e as Oa,f as Pa,g as Va,h as qa,i as Aa,j as Ca,k as Ha}from"./chunk-NVVLLWIM.js";import{a as Xm,c as Ym,d as _m,e as $m,f as op,g as rp}from"./chunk-2PFNNGTV.js";import"./chunk-VMXSE3EC.js";import{a as Ra,b as Ua,c as Xa,d as Ya,e as _a,f as $a,g as of,h as rf,i as ef,j as tf,k as mf}from"./chunk-YNX3Q3CL.js";import{a as bm,b as gm,c as um,d as Tm,e as jm,f as Fm,g as Wm,h as km,i as wm,j as zm,k as Bm,l as Dm,m as Em,n as Gm,o as Mm,p as Nm,q as Om,r as ep,s as tp,t as mp}from"./chunk-2XMG3NJS.js";import{a as ym}from"./chunk-7GYFZKK7.js";import{a as Pm,b as Vm,c as qm,d as Am,e as Cm,f as Hm,g as Im,h as Jm,i as Km,j as Qm,k as Rm,l as Um}from"./chunk-QGIYILYI.js";import{a as pf,b as af,c as ff,d as xf}from"./chunk-WQ3WMMZD.js";import{h as lp,i as Sp,j as hp,k as yp,l as Lp}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 _o,b as $o,c as or,d as rr,g as er,h as tr,i as mr,j as pr}from"./chunk-7WRQ2UAN.js";import{A as Nf,B as Of,C as Pf,D as Vf,E as qf,a as df,b as cf,c as sf,d as nf,e as lf,f as Sf,g as hf,h as yf,i as Lf,j as vf,k as Zf,l as bf,m as gf,n as uf,o as Tf,p as jf,q as Ff,r as Wf,s as kf,t as wf,u as zf,v as Bf,w as Df,x as Ef,y as Gf,z as Mf}from"./chunk-IPWUDOV5.js";import{a as Op}from"./chunk-BH53MBAZ.js";import{a as ar,b as fr,c as xr,d as ir,e as dr,f as cr,g as sr,h as nr,i as lr,j as Sr,k as hr,l as yr,m as Lr,n as vr,o as Zr}from"./chunk-XRP4JJXL.js";import{a as Af,b as Cf,c as Hf}from"./chunk-7QF6YTEZ.js";import{a as lo,b as So,c as ho,d as yo,e as Lo,f as vo,g as Zo,h as bo,i as go,j as uo,k as To,l as jo}from"./chunk-UG22Z42P.js";import"./chunk-WOT6VMZA.js";export{pp as ACTOR_TYPE,Wo as AspectRatio,Va as AudioClipSchema,ef as AudioItemSchema,Or as BOX_TYPE,Qf as BRIDGE_READY_EVENT,Te as BoundaryRicochet3DCoordinator,je as BoundaryRicochetCoordinator,Hr as CONE_TYPE,bm as CUTSCENE_BEHAVIOR_KEY,Ur as CYLINDER_TYPE,Xa as CameraKeyframeSchema,Ep as CameraManager,jp as CameraPipeline,$a as CameraShotSchema,Gp as CameraWrapper,Dx as ColorJsonSchema,vp as ConstructionGrid,Fe as CooldownBehavior,gm as CutsceneCameraBehavior,Ya as CutsceneCameraSchema,mf as CutsceneDefinitionSchema,of as CutsceneEventSchema,mp as CutscenePreviewController,Ua as CutsceneSceneSchema,tf as CutsceneTrackSchema,I as DEFAULT_SNAP_SETTINGS,ee as DISK_TYPE,We as Destructible3DBehavior,ke as DestructibleMesh,_a as DollyPathSchema,Lx as EntityJsonSchema,sx as EntitySchema,so as EntityThumbnailCache,Vo as EventEmitterDelegate,rf as EventItemSchema,ip as FOG_TYPE,we as FirstPersonBehavior,ze as FirstPersonEvent,Be as FirstPersonFSM,kp as FirstPersonPerspective,Ge as FirstPersonPresentation,De as FirstPersonShooterCoordinator,Ee as FirstPersonState,Wp as Fixed2DPerspective,c as Fn,Me as FractureOptions,$p as Game,Yo as GameBridge,Vx as GameConfigJsonSchema,Px as GameDeviceConfigJsonSchema,Bx as GameInputConfigSchema,zx as GameInputPlayerConfigSchema,Qa as Howl,Ma as InstrumentDefinitionSchema,Ga as InstrumentEffectSchema,Ea as InstrumentPresetSchema,wp as IsometricPerspective,Ne as Jumper2DBehavior,Oe as Jumper2DEvent,Pe as Jumper2DFSM,Ve as Jumper2DState,qe as Jumper3DBehavior,Ae as Jumper3DEvent,Ce as Jumper3DFSM,He as Jumper3DState,Zx as KeyboardMappingSchema,be as LIGHT_TYPE,Rp as LINE_TYPE,hx as LineEntityDataSchema,wx as MouseConfigSchema,bx as MouseMappingSchema,Ie as MultidirectionalSpaceShooterCoordinator,Pa as NoteClipSchema,da as PARTICLE_SYSTEM_TYPE,_r as PILL_TYPE,pe as PLANE_TYPE,Kr as PYRAMID_TYPE,Je as ParticleEmitterBehavior,Tp as Perspectives,Ke as Platformer2DBehavior,Qe as Platformer2DEvent,Re as Platformer2DFSM,Ue as Platformer2DState,Xe as Platformer3DBehavior,Ye as Platformer3DEvent,_e as Platformer3DFSM,$e as Platformer3DState,Le as RECT_TYPE,ba as RUNTIME_BOUNDARY_2D_BEHAVIOR_KEY,ga as RUNTIME_DYNAMIC_CIRCLE_BODY_2D_BEHAVIOR_KEY,ua as RUNTIME_GOAL_ZONE_2D_BEHAVIOR_KEY,Ta as RUNTIME_PLAYER_INPUT_2D_BEHAVIOR_KEY,ja as RUNTIME_RICOCHET_2D_BEHAVIOR_KEY,Fa as RUNTIME_TRIGGER_REGION_2D_BEHAVIOR_KEY,sp as RenderBundleManager,np as RenderStrategyManager,Ox as ResolutionInputSchema,ot as Ricochet2DBehavior,rt as Ricochet2DEvent,et as Ricochet2DFSM,tt as Ricochet2DState,mt as Ricochet3DBehavior,pt as Ricochet3DEvent,at as Ricochet3DFSM,ft as Ricochet3DState,Sa as RuntimeBoundary2DBehavior,ha as RuntimeDynamicCircleBody2DBehavior,ya as RuntimeGoalZone2DBehavior,La as RuntimePlayerInput2DBehavior,va as RuntimeRicochet2DBehavior,Za as RuntimeTriggerRegion2DBehavior,xe as SELECTION_BOUNDS_MARGIN,ie as SELECTION_THIN_AXIS_FRACTION,ce as SELECTION_THIN_AXIS_MAX,de as SELECTION_THIN_AXIS_MIN,qr as SPHERE_TYPE,Jp as SPRITE_TYPE,ta as STAGE_STATE_CHANGE,Ra as SceneTransitionSchema,xt as ScreenVisibilityBehavior,it as ScreenVisibilityFSM,dt as ScreenWrapBehavior,ct as ScreenWrapEvent,st as ScreenWrapFSM,nt as ScreenWrapState,Bp as SecondPersonPerspective,lt as Shooter2DBehavior,xp as SimulationBody,qa as SongClipSchema,Ha as SongDefinitionSchema,Ca as SongLoopSchema,Na as SongNoteSchema,Oa as SongTrackSchema,yx as SpriteEntityDataSchema,Mx as StageAssetLoaderConfigSchema,mx as StageBodyKind,px as StageBoundaryDim,Nx as StageConfigJsonSchema,ax as StageEventType,Gx as StageGLTFAssetLoaderConfigSchema,vx as StageJsonSchema,Ap as StageManager,fx as StageRicochetDim,xx as StageRicochetReflection,nx as StageSchema,ix as StageTopDownPlane,Cp as TEXT_TYPE,C as TRANSFORM_TOOLS,lx as TextEntityDataSchema,Fp as ThirdPersonPerspective,St as ThrusterBehavior,ht as ThrusterEvent,yt as ThrusterFSM,Lt as ThrusterState,Aa as TimeSignatureSchema,vt as TopDownMovementBehavior,zp as TopDownPerspective,Zt as TopDownShooterCoordinator,gp as TransformGizmo,$o as VEC2_ONE,_o as VEC2_ZERO,rr as VEC3_ONE,or as VEC3_ZERO,Ex as Vec3ComponentsSchema,cx as Vector2Schema,Sx as Vector3TupleSchema,Tx as VirtualTouchButtonConfigSchema,Fx as VirtualTouchButtonsConfigSchema,kx as VirtualTouchConfigSchema,jx as VirtualTouchJoystickConfigSchema,Wx as VirtualTouchJoysticksConfigSchema,ux as VirtualTouchPositionSchema,gx as VirtualTouchStyleSchema,bt as WorldBoundary2DBehavior,gt as WorldBoundary2DEvent,ut as WorldBoundary2DFSM,Tt as WorldBoundary2DState,jt as WorldBoundary3DBehavior,Ft as WorldBoundary3DEvent,Wt as WorldBoundary3DFSM,kt as WorldBoundary3DState,Se as ZONE_TYPE,ap as ZylemActor,Pr as ZylemBox,Ir as ZylemCone,Xr as ZylemCylinder,te as ZylemDisk,dp as ZylemFog,Rf as ZylemGameElement,ge as ZylemLight,Xp as ZylemLine,ca as ZylemParticleSystem,$r as ZylemPill,ae as ZylemPlane,Qr as ZylemPyramid,ve as ZylemRect,Ar as ZylemSphere,Kp as ZylemSprite,Hp as ZylemText,he as ZylemZone,u as abs,km as activeShot,Jf as announceBridgeReady,Kf as applySwatchesToSelection,Op as applyTransformChanges,g as asin,b as atan,Qm as audibleTrackIds,Pm as beatsPerBar,qm as beatsToSeconds,Wa as bindRuntimeDynamicCircleBody2DHandle,gr as boxCollision,Br as boxMesh,Xf as buildBoxCollider,_f as buildCapsuleCollider,ox as buildConvexHullCollider,$f as buildCylinderCollider,ex as buildHeightfieldCollider,Uf as buildRuntimeBody,Yf as buildSphereCollider,rx as buildTrimeshCollider,tx as bundleRuntimeCollision,Sf as callFunc,Mm as cameraTracks,L as clamp,A as clearGlobalSubscriptions,Um as clipsAt,Zp as closestAxisValue,wt as computeWorldBoundary2DHits,zt as computeWorldBoundary3DHits,Tr as coneCollision,Er as coneMesh,Z as cos,zr as create,fp as createActor,s as createBackgroundShader,Vr as createBox,Mp as createCamera,Jr as createCone,na as createCooldownIcon,Om as createCutscenePlayer,Yr as createCylinder,me as createDisk,re as createEntity,_p as createEntityFactory,Bt as createFirstPersonInputComponent,Dt as createFirstPersonMovementComponent,Et as createFirstPersonStateComponent,cp as createFog,aa as createFollowTarget,oa as createGame,N as createGlobal,Xm as createInstrument,Gt as createJumpConfig2D,Mt as createJumpConfig3D,Nt as createJumpInput2D,Ot as createJumpInput3D,Pt as createJumpState2D,Vt as createJumpState3D,ue as createLight,Yp as createLine,m as createNodeMaterialFromTSL,sa as createParticleSystem,Dp as createPerspective,qt as createPhysicsBodyComponent,oe as createPill,fe as createPlane,fa as createPlatformFollow,At as createPlatformer2DInputComponent,Ct as createPlatformer2DMovementComponent,Ht as createPlatformer2DStateComponent,It as createPlatformer3DInputComponent,Jt as createPlatformer3DMovementComponent,Kt as createPlatformer3DStateComponent,Rr as createPyramid,Ze as createRect,Qt as createShooter2DStateComponent,dx as createSimulation,op as createSongPlayer,Cr as createSphere,Qp as createSprite,Vp as createStage,tp as createStageCutsceneHost,xa as createStrategyPan,Ip as createText,Rt as createThrusterInputComponent,Ut as createThrusterMovementComponent,Xt as createThrusterStateComponent,Yt as createTopDownMovementComponent,_t as createTopDownMovementInputComponent,$t as createTopDownMovementStateComponent,om as createTransformComponent,Tf as createTransformStore,Sp as createVariable,ye as createZone,ym as crossfadeTransitionShader,Nm as cutsceneLength,Fr as cylinderCollision,Mr as cylinderMesh,Jm as dbToGain,J as debugState,Oo as defaultTouchControls,rm as defineBehavior,Uo as degreesToRadians,lf as delay,la as destroy,pa as dispatchStageState,zm as dollyPointAt,B as dot,um as easeValue,ka as emitRuntimeGoal,wa as emitRuntimeRicochet,za as emitRuntimeTriggerRegionEnter,Ja as encodeWav,Ka as encodeWavBlob,_m as ensureAudio,ea as entitySpawner,no as entityThumbnailCache,Io as eulerToQuaternion,Dm as evaluateCameraPose,Em as evaluateCutscene,T as exp,hf as fadeOpacity,em as fireCooldown,tm as fireShooter2DIfRequested,d as float,w as floor,Co as focusEntity,z as fract,Km as gainToDb,Po as gameConfig,rp as getActiveSongPlayer,mm as getCooldown,pm as getCooldownStore,ko as getDisplayAspect,am as getEntityFacingAngle2D,O as getGlobal,q as getGlobals,io as getHoveredEntity,ao as getHoveredEntityId,Ef as getPosition,wo as getPresetResolution,Zr as getRotation,xo as getSelectedEntity,_ as getSelectedEntityId,oo as getSelectedEntityIds,eo as getSnapSettings,hp as getVariable,Gf as getVelocity,If as getZylemBridge,pf as globalChange,af as globalChanges,fm as hasAnyWorldBoundary2DHit,xm as hasAnyWorldBoundary3DHit,ma as initStageStateDispatcher,bp as intersectPlane,$m as isAudioReady,t as isGLSLShader,Zm as isManagedRenderEntity,Y as isPickMode,e as isTSLShader,H as isTransformTool,Fo as isWebGPUSupported,Gm as itemsBetween,Go as joystickBaseSvg,Mo as joystickThumbSvg,D as length,jm as lerpPose,Tm as lerpVec3,Ym as loadTone,W as max,ne as measureObjectSelectionBounds,jo as mergeInputConfigs,Hm as midiToFrequency,Im as midiToNoteName,k as min,h as mix,G as mod,jf as move,cf as moveBy,Df as moveForwardXY,sf as moveTo,Ff as moveX,wf as moveXY,zf as moveXZ,Wf as moveY,kf as moveZ,S as normalize,er as normalizeVec2,tr as normalizeVec3,o as objectVertexShader,P as onGlobalChange,V as onGlobalChanges,Lf as onPress,vf as onRelease,yp as onVariableChange,Lp as onVariableChanges,br as packCollisionGroups,se as padSelectionBounds,bf as parallel,zo as parseResolution,im as particleEffect,dm as particlePresets,Up as pickZylemLine,Wr as pillCollision,Nr as pillMesh,Da as pingPongBeep,kr as planeCollision,l as positionWorld,n as positionWorldDirection,j as pow,wm as previousShot,jr as pyramidCollision,Gr as pyramidMesh,Jo as quaternionToEuler,Xo as radiansToDegrees,cm as registerCooldown,K as registerDebugEntityResolver,Ao as registerEntityFocusContext,Ia as renderSong,gf as repeat,uf as repeatForever,sm as resetCooldown,df as resetEntityOpacity,Bf as resetVelocity,nm as resolveAim2D,Eo as resolveButtonAccent,Q as resolveDebugEntity,Lm as resolveRenderCategory,le as resolveSelectionBounds,Do as resolveTouchTheme,Ba as ricochetSound,nf as rotateBy,xr as rotateEuler,ar as rotateInDirection,dr as rotateX,ir as rotateY,fr as rotateYEuler,cr as rotateZ,Bm as sampleDollyPath,Fm as sceneAt,Rm as scheduleSong,Hf as screenCenterLookDeltas,Cf as screenCenterLookTargets,Am as secondsToBeats,Zf as sequence,po as setAddType,ia as setCameraFeed,ep as setCutsceneTransitionShaders,U as setDebugTool,M as setGlobal,mo as setGridVisible,fo as setHoveredEntityId,R as setPaused,X as setPickMode,Mf as setPosition,Nf as setPositionX,Of as setPositionY,Pf as setPositionZ,Lr as setRotation,vr as setRotationDegrees,Sr as setRotationDegreesX,nr as setRotationDegreesY,yr as setRotationDegreesZ,lr as setRotationX,sr as setRotationY,hr as setRotationZ,co as setSelectedEntity,$ as setSelectedEntityId,ro as setSelectedEntityIds,to as setSnapSettings,up as setStageFrameProfilerEnabled,lp as setVariable,Af as shortestAngleDelta,Wm as shotAt,v as sin,y as smoothstep,Ro as snapScale,Ko as snapToIncrement,Qo as snapVec3,Vm as songLengthBeats,Cm as songLengthSeconds,ur as sphereCollision,Dr as sphereMesh,Np as stageConfig,qp as stageState,r as standardShader,F as step,Ho as streamLevel,ra as streamLevelOnStage,yf as throttle,lm as tickCooldowns,f as time,mr as toThreeVector2,pr as toThreeVector3,No as touchButtonSvg,Bo as touchThemes,p as uniform,Sm as updateBoundaryRicochet,lo as useArrowsForAxes,ho as useArrowsForDirections,So as useArrowsForSecondaryAxes,hm as useBehavior,vo as useIJKLForAxes,Zo as useIJKLForDirections,uo as useMouse,bo as useMouseLook,go as useScreenCenterLook,To as useVirtualControls,Lo as useWASDForAxes,yo as useWASDForDirections,vm as usesManagedRenderPath,a as uv,ff as variableChange,xf as variableChanges,E as vec2,x as vec3,i as vec4,Pp as vessel,qf as wrapAround3D,Vf as wrapAroundXY,wr as zoneCollision,qo as zylemEventBus};
1
+ import{A as Px,B as Vx,C as qx,a as sx,b as nx,c as lx,d as Sx,e as hx,f as yx,g as Lx,h as vx,i as Zx,j as bx,k as gx,l as ux,m as Tx,n as jx,o as Fx,p as Wx,q as kx,r as wx,s as zx,t as Bx,u as Dx,v as Ex,w as Gx,x as Mx,y as Nx,z as Ox}from"./chunk-KSEP7AUF.js";import"./chunk-ORIDWL3T.js";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-ELQN62PQ.js";import{a as Jf,b as Kf,c as Qf,d as Rf}from"./chunk-FZNEWOC5.js";import{a as Uf}from"./chunk-JCGW5PIR.js";import{a as Xf,b as Yf,c as _f,d as $f,e as ox,f as rx,g as ex,h as tx,i as mx,j as px,k as ax,l as fx,m as xx,n as ix,o as dx,p as cx}from"./chunk-47DG7I7M.js";import{a as Wo,b as ko,c as wo,d as zo,e as Po,f as Ap,g as Cp,h as oa,i as ra,j as ea,k as ta,l as ma,m as pa,n as aa,o as fa,p as xa,q as ia,r as da}from"./chunk-RPMV7GDX.js";import{a as Fo,c as Lm,d as vm,e as Zm,f as sp,g as np,h as vp,i as Tp,j as jp,l as Fp,m as Wp,n as kp,o as wp,p as zp,q as Bp,r as Dp,s as Ep,t as Gp,u as Mp,v as Np,w as Op,x as Vp,z as qp}from"./chunk-P6IOYQHU.js";import{a as Bo,b as Do,c as Eo,d as Go,e as Mo,f as No,g as Oo}from"./chunk-PCFF4LLO.js";import{a as so,b as no}from"./chunk-OCQ7A5IK.js";import{c as Zp,d as bp,e as gp,f as up}from"./chunk-47HAZZWF.js";import"./chunk-KIFB427K.js";import"./chunk-2HSR5XDQ.js";import{e as Ho,n as Yo}from"./chunk-VKWJHFUR.js";import{a as Ao,b as Co,c as Io,d as Jo,e as Ko,f as Qo,g as Ro,h as Uo,i as Xo}from"./chunk-273CUPEO.js";import{B as xo,C as io,D as co,a as C,b as H,c as I,d as J,e as K,f as Q,h as R,j as U,l as X,m as Y,n as _,o as $,p as oo,q as ro,u as eo,v as to,w as mo,x as po,y as ao,z as fo}from"./chunk-UM5VNQPY.js";import{b as xp}from"./chunk-WBQ5TNRZ.js";import{a as ca,b as sa,c as na,d as la,e as Sa}from"./chunk-Y23IJJPD.js";import{a as Hp,b as Ip,c as Jp,d as Kp,e as Qp,f as Rp,g as Up,h as Xp,i as Yp,j as _p,l as $p}from"./chunk-YRHRMVHS.js";import{a as pp,b as ap,c as fp,d as ip,e as dp,f as cp}from"./chunk-FUZDTRCU.js";import{A as te,B as me,C as pe,D as ae,E as fe,J as Le,K as ve,L as Ze,M as be,N as ge,O as ue,b as Br,c as Dr,d as Er,e as Gr,f as Mr,g as Nr,h as Or,i as Pr,j as Vr,k as qr,l as Ar,m as Cr,n as Hr,o as Ir,p as Jr,q as Kr,r as Qr,s as Rr,t as Ur,u as Xr,v as Yr,w as _r,x as $r,y as oe,z as ee}from"./chunk-5V52N34T.js";import{A as Se,B as he,C as ye,c as gr,d as ur,e as Tr,f as jr,g as Fr,h as Wr,i as kr,j as wr,u as zr,z as re}from"./chunk-VXE3CV3K.js";import{c as o,d as r,h as e,i as t,k as m,l as p,m as a,n as f,o as x,p as i,q as d,r as c}from"./chunk-6FGXC4T6.js";import{a as Vo,b as qo}from"./chunk-AIQ6IVT5.js";import"./chunk-QXVH6POE.js";import{a as xe,b as ie,c as de,d as ce,e as se,f as ne,g as le}from"./chunk-UUOPT2N4.js";import{b as br}from"./chunk-EVYHPR3J.js";import{a as ha,b as ya,c as La,d as va,e as Za,f as ba,g as ga,h as ua,i as Ta,j as ja,k as Fa,l as Wa,m as ka,n as wa,o as za,p as Ba}from"./chunk-6XFXPIVB.js";import{$ as gt,A as Ue,Aa as Ut,B as Xe,Ba as Xt,C as Ye,Ca as Yt,D as _e,Da as _t,E as $e,Ea as $t,F as ot,Fa as om,G as rt,Ga as rm,H as et,Ha as em,I as tt,Ia as tm,J as mt,Ja as mm,K as pt,Ka as pm,L as at,La as am,M as ft,Ma as fm,N as xt,Na as xm,O as it,Oa as im,P as dt,Pa as dm,Q as ct,Qa as cm,R as st,Ra as sm,S as nt,Sa as nm,T as lt,Ta as lm,U as St,Ua as Sm,V as ht,Va as hm,W as yt,X as Lt,Y as vt,Z as Zt,_ as bt,aa as ut,b as Te,ba as Tt,c as je,ca as jt,d as Fe,da as Ft,e as We,ea as Wt,f as ke,fa as kt,g as we,ga as wt,h as ze,ha as zt,i as Be,ia as Bt,j as De,ja as Dt,k as Ee,ka as Et,l as Ge,la as Gt,m as Me,ma as Mt,n as Ne,na as Nt,o as Oe,oa as Ot,p as Pe,pa as Pt,q as Ve,qa as Vt,r as qe,ra as qt,s as Ae,sa as At,t as Ce,ta as Ct,u as He,ua as Ht,v as Ie,va as It,w as Je,wa as Jt,x as Ke,xa as Kt,y as Qe,ya as Qt,z as Re,za as Rt}from"./chunk-VUJXR5K5.js";import{a as Da,b as Ea,c as Ja,d as Ka,e as Qa,f as Ra}from"./chunk-ZZO4CKRU.js";import{a as Ga,b as Ma,c as Na,d as Oa,e as Pa,f as Va,g as qa,h as Aa,i as Ca,j as Ha,k as Ia}from"./chunk-NVVLLWIM.js";import{a as Xm,c as Ym,d as _m,e as $m,f as op,g as rp}from"./chunk-2PFNNGTV.js";import"./chunk-VMXSE3EC.js";import{a as Ua,b as Xa,c as Ya,d as _a,e as $a,f as of,g as rf,h as ef,i as tf,j as mf,k as pf}from"./chunk-YNX3Q3CL.js";import{a as bm,b as gm,c as um,d as Tm,e as jm,f as Fm,g as Wm,h as km,i as wm,j as zm,k as Bm,l as Dm,m as Em,n as Gm,o as Mm,p as Nm,q as Om,r as ep,s as tp,t as mp}from"./chunk-2XMG3NJS.js";import{a as ym}from"./chunk-7GYFZKK7.js";import{a as Pm,b as Vm,c as qm,d as Am,e as Cm,f as Hm,g as Im,h as Jm,i as Km,j as Qm,k as Rm,l as Um}from"./chunk-QGIYILYI.js";import{a as af,b as ff,c as xf,d as df}from"./chunk-WQ3WMMZD.js";import{h as lp,i as Sp,j as hp,k as yp,l as Lp}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 _o,b as $o,c as or,d as rr,g as er,h as tr,i as mr,j as pr}from"./chunk-7WRQ2UAN.js";import{A as Of,B as Pf,C as Vf,D as qf,E as Af,a as cf,b as sf,c as nf,d as lf,e as Sf,f as hf,g as yf,h as Lf,i as vf,j as Zf,k as bf,l as gf,m as uf,n as Tf,o as jf,p as Ff,q as Wf,r as kf,s as wf,t as zf,u as Bf,v as Df,w as Ef,x as Gf,y as Mf,z as Nf}from"./chunk-IPWUDOV5.js";import{a as Pp}from"./chunk-BH53MBAZ.js";import{a as ar,b as fr,c as xr,d as ir,e as dr,f as cr,g as sr,h as nr,i as lr,j as Sr,k as hr,l as yr,m as Lr,n as vr,o as Zr}from"./chunk-XRP4JJXL.js";import{a as Cf,b as Hf,c as If}from"./chunk-7QF6YTEZ.js";import{a as lo,b as So,c as ho,d as yo,e as Lo,f as vo,g as Zo,h as bo,i as go,j as uo,k as To,l as jo}from"./chunk-UG22Z42P.js";import"./chunk-WOT6VMZA.js";export{pp as ACTOR_TYPE,Wo as AspectRatio,qa as AudioClipSchema,tf as AudioItemSchema,Or as BOX_TYPE,Rf as BRIDGE_READY_EVENT,Te as BoundaryRicochet3DCoordinator,je as BoundaryRicochetCoordinator,Hr as CONE_TYPE,bm as CUTSCENE_BEHAVIOR_KEY,Ur as CYLINDER_TYPE,Ya as CameraKeyframeSchema,Gp as CameraManager,Fp as CameraPipeline,of as CameraShotSchema,Mp as CameraWrapper,Ex as ColorJsonSchema,Zp as ConstructionGrid,Fe as CooldownBehavior,gm as CutsceneCameraBehavior,_a as CutsceneCameraSchema,pf as CutsceneDefinitionSchema,rf as CutsceneEventSchema,mp as CutscenePreviewController,Xa as CutsceneSceneSchema,mf as CutsceneTrackSchema,I as DEFAULT_SNAP_SETTINGS,ee as DISK_TYPE,We as Destructible3DBehavior,ke as DestructibleMesh,$a as DollyPathSchema,vx as EntityJsonSchema,nx as EntitySchema,so as EntityThumbnailCache,Vo as EventEmitterDelegate,ef as EventItemSchema,ip as FOG_TYPE,we as FirstPersonBehavior,ze as FirstPersonEvent,Be as FirstPersonFSM,wp as FirstPersonPerspective,Ge as FirstPersonPresentation,De as FirstPersonShooterCoordinator,Ee as FirstPersonState,kp as Fixed2DPerspective,c as Fn,Me as FractureOptions,oa as Game,Yo as GameBridge,qx as GameConfigJsonSchema,Vx as GameDeviceConfigJsonSchema,Dx as GameInputConfigSchema,Bx as GameInputPlayerConfigSchema,Ra as Howl,Na as InstrumentDefinitionSchema,Ma as InstrumentEffectSchema,Ga as InstrumentPresetSchema,zp as IsometricPerspective,Ne as Jumper2DBehavior,Oe as Jumper2DEvent,Pe as Jumper2DFSM,Ve as Jumper2DState,qe as Jumper3DBehavior,Ae as Jumper3DEvent,Ce as Jumper3DFSM,He as Jumper3DState,bx as KeyboardMappingSchema,be as LIGHT_TYPE,Up as LINE_TYPE,yx as LineEntityDataSchema,zx as MouseConfigSchema,gx as MouseMappingSchema,Ie as MultidirectionalSpaceShooterCoordinator,Va as NoteClipSchema,ca as PARTICLE_SYSTEM_TYPE,_r as PILL_TYPE,pe as PLANE_TYPE,Kr as PYRAMID_TYPE,Je as ParticleEmitterBehavior,jp as Perspectives,Ke as Platformer2DBehavior,Qe as Platformer2DEvent,Re as Platformer2DFSM,Ue as Platformer2DState,Xe as Platformer3DBehavior,Ye as Platformer3DEvent,_e as Platformer3DFSM,$e as Platformer3DState,Le as RECT_TYPE,ga as RUNTIME_BOUNDARY_2D_BEHAVIOR_KEY,ua as RUNTIME_DYNAMIC_CIRCLE_BODY_2D_BEHAVIOR_KEY,Ta as RUNTIME_GOAL_ZONE_2D_BEHAVIOR_KEY,ja as RUNTIME_PLAYER_INPUT_2D_BEHAVIOR_KEY,Fa as RUNTIME_RICOCHET_2D_BEHAVIOR_KEY,Wa as RUNTIME_TRIGGER_REGION_2D_BEHAVIOR_KEY,sp as RenderBundleManager,np as RenderStrategyManager,Px as ResolutionInputSchema,ot as Ricochet2DBehavior,rt as Ricochet2DEvent,et as Ricochet2DFSM,tt as Ricochet2DState,mt as Ricochet3DBehavior,pt as Ricochet3DEvent,at as Ricochet3DFSM,ft as Ricochet3DState,ha as RuntimeBoundary2DBehavior,ya as RuntimeDynamicCircleBody2DBehavior,La as RuntimeGoalZone2DBehavior,va as RuntimePlayerInput2DBehavior,Za as RuntimeRicochet2DBehavior,ba as RuntimeTriggerRegion2DBehavior,xe as SELECTION_BOUNDS_MARGIN,ie as SELECTION_THIN_AXIS_FRACTION,ce as SELECTION_THIN_AXIS_MAX,de as SELECTION_THIN_AXIS_MIN,qr as SPHERE_TYPE,Kp as SPRITE_TYPE,ma as STAGE_STATE_CHANGE,Ua as SceneTransitionSchema,xt as ScreenVisibilityBehavior,it as ScreenVisibilityFSM,dt as ScreenWrapBehavior,ct as ScreenWrapEvent,st as ScreenWrapFSM,nt as ScreenWrapState,Dp as SecondPersonPerspective,lt as Shooter2DBehavior,xp as SimulationBody,Aa as SongClipSchema,Ia as SongDefinitionSchema,Ha as SongLoopSchema,Oa as SongNoteSchema,Pa as SongTrackSchema,Lx as SpriteEntityDataSchema,Nx as StageAssetLoaderConfigSchema,px as StageBodyKind,ax as StageBoundaryDim,Ox as StageConfigJsonSchema,fx as StageEventType,Mx as StageGLTFAssetLoaderConfigSchema,Zx as StageJsonSchema,Cp as StageManager,xx as StageRicochetDim,ix as StageRicochetReflection,lx as StageSchema,dx as StageTopDownPlane,Hp as TEXT_TYPE,C as TRANSFORM_TOOLS,Sx as TextEntityDataSchema,Wp as ThirdPersonPerspective,St as ThrusterBehavior,ht as ThrusterEvent,yt as ThrusterFSM,Lt as ThrusterState,Ca as TimeSignatureSchema,vt as TopDownMovementBehavior,Bp as TopDownPerspective,Zt as TopDownShooterCoordinator,up as TransformGizmo,$o as VEC2_ONE,_o as VEC2_ZERO,rr as VEC3_ONE,or as VEC3_ZERO,Gx as Vec3ComponentsSchema,sx as Vector2Schema,hx as Vector3TupleSchema,jx as VirtualTouchButtonConfigSchema,Wx as VirtualTouchButtonsConfigSchema,wx as VirtualTouchConfigSchema,Fx as VirtualTouchJoystickConfigSchema,kx as VirtualTouchJoysticksConfigSchema,Tx as VirtualTouchPositionSchema,ux as VirtualTouchStyleSchema,bt as WorldBoundary2DBehavior,gt as WorldBoundary2DEvent,ut as WorldBoundary2DFSM,Tt as WorldBoundary2DState,jt as WorldBoundary3DBehavior,Ft as WorldBoundary3DEvent,Wt as WorldBoundary3DFSM,kt as WorldBoundary3DState,Se as ZONE_TYPE,ap as ZylemActor,Pr as ZylemBox,Ir as ZylemCone,Xr as ZylemCylinder,te as ZylemDisk,dp as ZylemFog,Uf as ZylemGameElement,ge as ZylemLight,Yp as ZylemLine,sa as ZylemParticleSystem,$r as ZylemPill,ae as ZylemPlane,Qr as ZylemPyramid,ve as ZylemRect,Ar as ZylemSphere,Qp as ZylemSprite,Ip as ZylemText,he as ZylemZone,u as abs,km as activeShot,Kf as announceBridgeReady,Qf as applySwatchesToSelection,Pp as applyTransformChanges,g as asin,b as atan,Qm as audibleTrackIds,Pm as beatsPerBar,qm as beatsToSeconds,ka as bindRuntimeDynamicCircleBody2DHandle,gr as boxCollision,Br as boxMesh,Yf as buildBoxCollider,$f as buildCapsuleCollider,rx as buildConvexHullCollider,ox as buildCylinderCollider,tx as buildHeightfieldCollider,Xf as buildRuntimeBody,_f as buildSphereCollider,ex as buildTrimeshCollider,mx as bundleRuntimeCollision,hf as callFunc,Mm as cameraTracks,L as clamp,A as clearGlobalSubscriptions,Um as clipsAt,bp as closestAxisValue,wt as computeWorldBoundary2DHits,zt as computeWorldBoundary3DHits,Tr as coneCollision,Er as coneMesh,Z as cos,zr as create,fp as createActor,s as createBackgroundShader,Vr as createBox,Np as createCamera,Jr as createCone,la as createCooldownIcon,Om as createCutscenePlayer,Yr as createCylinder,me as createDisk,re as createEntity,$p as createEntityFactory,Bt as createFirstPersonInputComponent,Dt as createFirstPersonMovementComponent,Et as createFirstPersonStateComponent,cp as createFog,fa as createFollowTarget,ra as createGame,N as createGlobal,Xm as createInstrument,Gt as createJumpConfig2D,Mt as createJumpConfig3D,Nt as createJumpInput2D,Ot as createJumpInput3D,Pt as createJumpState2D,Vt as createJumpState3D,ue as createLight,_p as createLine,m as createNodeMaterialFromTSL,na as createParticleSystem,Ep as createPerspective,qt as createPhysicsBodyComponent,oe as createPill,fe as createPlane,xa as createPlatformFollow,At as createPlatformer2DInputComponent,Ct as createPlatformer2DMovementComponent,Ht as createPlatformer2DStateComponent,It as createPlatformer3DInputComponent,Jt as createPlatformer3DMovementComponent,Kt as createPlatformer3DStateComponent,Rr as createPyramid,Ze as createRect,Qt as createShooter2DStateComponent,cx as createSimulation,op as createSongPlayer,Cr as createSphere,Rp as createSprite,qp as createStage,tp as createStageCutsceneHost,ia as createStrategyPan,Jp as createText,Rt as createThrusterInputComponent,Ut as createThrusterMovementComponent,Xt as createThrusterStateComponent,Yt as createTopDownMovementComponent,_t as createTopDownMovementInputComponent,$t as createTopDownMovementStateComponent,om as createTransformComponent,jf as createTransformStore,Sp as createVariable,ye as createZone,ym as crossfadeTransitionShader,Nm as cutsceneLength,Fr as cylinderCollision,Mr as cylinderMesh,Jm as dbToGain,J as debugState,Oo as defaultTouchControls,rm as defineBehavior,Uo as degreesToRadians,Sf as delay,Sa as destroy,aa as dispatchStageState,zm as dollyPointAt,B as dot,um as easeValue,wa as emitRuntimeGoal,za as emitRuntimeRicochet,Ba as emitRuntimeTriggerRegionEnter,Ka as encodeWav,Qa as encodeWavBlob,_m as ensureAudio,ta as entitySpawner,no as entityThumbnailCache,Io as eulerToQuaternion,Dm as evaluateCameraPose,Em as evaluateCutscene,T as exp,yf as fadeOpacity,em as fireCooldown,tm as fireShooter2DIfRequested,d as float,w as floor,Co as focusEntity,z as fract,Km as gainToDb,Po as gameConfig,vp as getActiveLevelDocument,rp as getActiveSongPlayer,mm as getCooldown,pm as getCooldownStore,ko as getDisplayAspect,am as getEntityFacingAngle2D,O as getGlobal,q as getGlobals,io as getHoveredEntity,ao as getHoveredEntityId,Gf as getPosition,wo as getPresetResolution,Zr as getRotation,xo as getSelectedEntity,_ as getSelectedEntityId,oo as getSelectedEntityIds,eo as getSnapSettings,hp as getVariable,Mf as getVelocity,Jf as getZylemBridge,af as globalChange,ff as globalChanges,fm as hasAnyWorldBoundary2DHit,xm as hasAnyWorldBoundary3DHit,pa as initStageStateDispatcher,gp as intersectPlane,$m as isAudioReady,t as isGLSLShader,Zm as isManagedRenderEntity,Y as isPickMode,e as isTSLShader,H as isTransformTool,Fo as isWebGPUSupported,Gm as itemsBetween,Go as joystickBaseSvg,Mo as joystickThumbSvg,D as length,jm as lerpPose,Tm as lerpVec3,Ym as loadTone,W as max,ne as measureObjectSelectionBounds,jo as mergeInputConfigs,Hm as midiToFrequency,Im as midiToNoteName,k as min,h as mix,G as mod,Ff as move,sf as moveBy,Ef as moveForwardXY,nf as moveTo,Wf as moveX,zf as moveXY,Bf as moveXZ,kf as moveY,wf as moveZ,S as normalize,er as normalizeVec2,tr as normalizeVec3,o as objectVertexShader,P as onGlobalChange,V as onGlobalChanges,vf as onPress,Zf as onRelease,yp as onVariableChange,Lp as onVariableChanges,br as packCollisionGroups,se as padSelectionBounds,gf as parallel,zo as parseResolution,im as particleEffect,dm as particlePresets,Xp as pickZylemLine,Wr as pillCollision,Nr as pillMesh,Ea as pingPongBeep,kr as planeCollision,l as positionWorld,n as positionWorldDirection,j as pow,wm as previousShot,jr as pyramidCollision,Gr as pyramidMesh,Jo as quaternionToEuler,Xo as radiansToDegrees,cm as registerCooldown,K as registerDebugEntityResolver,Ao as registerEntityFocusContext,Ja as renderSong,uf as repeat,Tf as repeatForever,sm as resetCooldown,cf as resetEntityOpacity,Df as resetVelocity,nm as resolveAim2D,Eo as resolveButtonAccent,Q as resolveDebugEntity,Lm as resolveRenderCategory,le as resolveSelectionBounds,Do as resolveTouchTheme,Da as ricochetSound,lf as rotateBy,xr as rotateEuler,ar as rotateInDirection,dr as rotateX,ir as rotateY,fr as rotateYEuler,cr as rotateZ,Bm as sampleDollyPath,Fm as sceneAt,Rm as scheduleSong,If as screenCenterLookDeltas,Hf as screenCenterLookTargets,Am as secondsToBeats,bf as sequence,po as setAddType,da as setCameraFeed,ep as setCutsceneTransitionShaders,U as setDebugTool,M as setGlobal,mo as setGridVisible,fo as setHoveredEntityId,R as setPaused,X as setPickMode,Nf as setPosition,Of as setPositionX,Pf as setPositionY,Vf as setPositionZ,Lr as setRotation,vr as setRotationDegrees,Sr as setRotationDegreesX,nr as setRotationDegreesY,yr as setRotationDegreesZ,lr as setRotationX,sr as setRotationY,hr as setRotationZ,co as setSelectedEntity,$ as setSelectedEntityId,ro as setSelectedEntityIds,to as setSnapSettings,Tp as setStageFrameProfilerEnabled,lp as setVariable,Cf as shortestAngleDelta,Wm as shotAt,v as sin,y as smoothstep,Ro as snapScale,Ko as snapToIncrement,Qo as snapVec3,Vm as songLengthBeats,Cm as songLengthSeconds,ur as sphereCollision,Dr as sphereMesh,Op as stageConfig,Ap as stageState,r as standardShader,F as step,Ho as streamLevel,ea as streamLevelOnStage,Lf as throttle,lm as tickCooldowns,f as time,mr as toThreeVector2,pr as toThreeVector3,No as touchButtonSvg,Bo as touchThemes,p as uniform,Sm as updateBoundaryRicochet,lo as useArrowsForAxes,ho as useArrowsForDirections,So as useArrowsForSecondaryAxes,hm as useBehavior,vo as useIJKLForAxes,Zo as useIJKLForDirections,uo as useMouse,bo as useMouseLook,go as useScreenCenterLook,To as useVirtualControls,Lo as useWASDForAxes,yo as useWASDForDirections,vm as usesManagedRenderPath,a as uv,xf as variableChange,df as variableChanges,E as vec2,x as vec3,i as vec4,Vp as vessel,Af as wrapAround3D,qf as wrapAroundXY,wr as zoneCollision,qo as zylemEventBus};
@@ -1,9 +1,9 @@
1
1
  import { B as BaseNode } from './base-node-idopiSw5.js';
2
2
  import { h as SetupFunction, g as UpdateFunction, j as DestroyFunction, a as SetupContext, U as UpdateContext, D as DestroyContext, L as LoadingEvent } from './base-node-life-cycle-BK9xebT9.js';
3
3
  import { Scene, Color, Object3D, Vector3, BufferGeometry, Material, Group, Texture } from 'three';
4
- import { al as ZylemWorld, aj as EntityTypeMap } from './entity-type-map-CrsrKT8c.js';
4
+ import { an as ZylemWorld, al as EntityTypeMap } from './entity-type-map-B0S5cfv7.js';
5
5
  import { E as Entity, L as LifecycleFunction, S as StageEntity } from './entity-BIf_a4dl.js';
6
- import { G as GameEntity, a as GameEntityOptions } from './entity-XqvuWgPm.js';
6
+ import { G as GameEntity, a as GameEntityOptions } from './entity-DC0P747T.js';
7
7
  import { l 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-CWhIGXlW.js';
8
8
  import { d as ZylemShader } from './material-CxxAyJYp.js';
9
9
  import { a as SimulationBody } from './simulation-body-zQw-emOr.js';
@@ -11,6 +11,7 @@ import { e as Vec3Input, b as Vec2Input, d as Vec3Components } from './vector-D3
11
11
  import { StageEvents } from './events.js';
12
12
  import { G as GameInputConfig } from './game-interfaces-vF5sRi1n.js';
13
13
  import { SwatchApplyResult, SceneOperationEntry, EntityApplySwatchPayload, SceneOperationPayload } from '@zylem/bridge';
14
+ import { a as LevelSyncPayload, L as LevelDocument } from './level-types-D10LiOcn.js';
14
15
  import { BehaviorSystem, BehaviorEntityLink, BehaviorRuntime, BehaviorSystemFactory, BehaviorRef } from '@zylem/behaviors/core';
15
16
 
16
17
  /**
@@ -76,6 +77,8 @@ declare class CameraManager implements EditorCameraHost {
76
77
  get primaryCamera(): ZylemCamera | null;
77
78
  /** True while side, top, isometric, or free is the main view. */
78
79
  isEditorViewActive(): boolean;
80
+ /** Id of the editor view that is currently the main camera, if one is. */
81
+ activeEditorCameraId(): string | null;
79
82
  /** True after the four editor views have been created. */
80
83
  hasEditorCameras(): boolean;
81
84
  /**
@@ -958,6 +961,9 @@ declare class StageDebugDelegate {
958
961
  private selectionBoundsPool;
959
962
  private hoverBounds;
960
963
  private grid;
964
+ private levelSession;
965
+ /** The press belongs to the level session, through pointerup. */
966
+ private levelPointer;
961
967
  private lastTool;
962
968
  /** Element the current gizmo drag captured, so pointerup is never missed. */
963
969
  private capturedPointer;
@@ -967,6 +973,13 @@ declare class StageDebugDelegate {
967
973
  * point. Without one the tool warns instead of silently doing nothing.
968
974
  */
969
975
  setAddEntityFactory(factory: AddEntityFactory | null): void;
976
+ /** Show the level document as an edit preview. Brush faces, no collision. */
977
+ syncLevel(payload: LevelSyncPayload): void;
978
+ /** Respawn the document for play: hull collision, hidden brush faces, live zones. */
979
+ playLevel(document: LevelDocument): void;
980
+ /** Remove the preview and any play collision. Stage entities stay. */
981
+ closeLevel(): void;
982
+ private levelSessionHost;
970
983
  /** Camera used for raycasts and gizmos: whichever one is rendering. */
971
984
  private getDebugViewCamera;
972
985
  private resolveEntity;