@zylem/game-lib 0.8.8 → 0.8.9

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 (64) hide show
  1. package/LICENSE +21 -0
  2. package/dist/actions.d.ts +2 -2
  3. package/dist/actions.js +1 -1
  4. package/dist/api/game-lib.api.json +794 -175
  5. package/dist/api/game-lib.api.md +63 -11
  6. package/dist/api/game-lib.d.ts +180 -5
  7. package/dist/api/game-lib.typedoc.json +157334 -208944
  8. package/dist/audio.js +1 -1
  9. package/dist/behavior.js +1 -1
  10. package/dist/bridge.d.ts +31 -6
  11. package/dist/bridge.js +1 -1
  12. package/dist/catalog.d.ts +91 -3
  13. package/dist/catalog.js +1 -1
  14. package/dist/chunk-2HSR5XDQ.js +1 -0
  15. package/dist/{chunk-7NYP4YAG.js → chunk-6FGXC4T6.js} +1 -1
  16. package/dist/chunk-6XFXPIVB.js +1 -0
  17. package/dist/{chunk-YOVE25NW.js → chunk-7JSZEEAE.js} +1 -1
  18. package/dist/chunk-AXJTUVGC.js +24 -0
  19. package/dist/chunk-BWOZF5YK.js +1 -0
  20. package/dist/chunk-EYDC2PMO.js +1 -0
  21. package/dist/chunk-G3TBBZUI.js +1 -0
  22. package/dist/chunk-J6KD2G6F.js +1 -0
  23. package/dist/chunk-KP6DLLJO.js +1 -0
  24. package/dist/chunk-VUJXR5K5.js +1 -0
  25. package/dist/chunk-WOT6VMZA.js +1 -0
  26. package/dist/{chunk-BMRFDDMR.js → chunk-X7T7QRYP.js} +1 -1
  27. package/dist/chunk-YQS7CGXE.js +1 -0
  28. package/dist/{chunk-GHJQ2HKI.js → chunk-YVWDCZNT.js} +1 -1
  29. package/dist/core.d.ts +4 -4
  30. package/dist/core.js +1 -1
  31. package/dist/{debug-state-CpnNRUFh.d.ts → debug-state-Cg3f5FB6.d.ts} +1 -1
  32. package/dist/debug.d.ts +2 -2
  33. package/dist/debug.js +1 -1
  34. package/dist/{entity-XZNGBeca.d.ts → entity-XqvuWgPm.d.ts} +54 -0
  35. package/dist/{entity-type-map-CkkFMSrL.d.ts → entity-type-map-D6BeAdvg.d.ts} +1 -1
  36. package/dist/entity.d.ts +3 -3
  37. package/dist/entity.js +1 -1
  38. package/dist/events.js +1 -1
  39. package/dist/{game-BPOr7zTB.d.ts → game-DyKbOeck.d.ts} +74 -7
  40. package/dist/game-default-6YXFFZ2Q.js +1 -0
  41. package/dist/globals.js +1 -1
  42. package/dist/graphics.js +1 -1
  43. package/dist/input-ui.js +1 -1
  44. package/dist/input.js +1 -1
  45. package/dist/public.d.ts +6 -6
  46. package/dist/public.js +1 -1
  47. package/dist/runtime.js +1 -1
  48. package/dist/schema/entity.schema.json +24 -24
  49. package/dist/schema/game-config.schema.json +10 -10
  50. package/dist/schema/stage.schema.json +29 -29
  51. package/dist/schema.js +1 -1
  52. package/dist/web-components.d.ts +4 -4
  53. package/dist/web-components.js +1 -1
  54. package/package.json +28 -27
  55. package/dist/chunk-AE3CTVHY.js +0 -1
  56. package/dist/chunk-F5LROYZL.js +0 -24
  57. package/dist/chunk-HNCTOJP7.js +0 -1
  58. package/dist/chunk-IBJLPJLE.js +0 -1
  59. package/dist/chunk-MXO4VGDB.js +0 -1
  60. package/dist/chunk-QDQ4QMAI.js +0 -1
  61. package/dist/chunk-SAQA4SXW.js +0 -1
  62. package/dist/chunk-XK63E4SX.js +0 -1
  63. package/dist/chunk-ZTYNZ2N2.js +0 -1
  64. package/dist/game-default-7HCJJF5S.js +0 -1
package/dist/core.d.ts CHANGED
@@ -1,8 +1,8 @@
1
- import { B as Stage, E as StageStateInterface, C as CameraWrapper } from './game-BPOr7zTB.js';
2
- export { A as AspectRatio, q as AspectRatioValue, k as CameraManager, j as CameraOptions, D as DeviceProfile, p as FirstPersonOptions, l as FirstPersonPerspective, o as Fixed2DOptions, F as Fixed2DPerspective, G as Game, b as GameConfigLike, d as GameDeviceConfig, a as GameLoadingEvent, P as PerspectiveOptions, y as RenderBundleManager, z as RenderStrategyManager, R as ResolutionInput, e as ResolveGameConfigRuntime, v as RetroPreset, w as RetroPresetKey, x as RetroResolution, S as StageConfigLike, h as StageOptions, n as ThirdPersonOptions, T as ThirdPersonPerspective, i as createCamera, c as createGame, m as createPerspective, f as createStage, g as gameConfig, r as getDisplayAspect, t as getPresetResolution, u as parseResolution, s as stageConfig } from './game-BPOr7zTB.js';
1
+ import { B as Stage, E as StageStateInterface, C as CameraWrapper } from './game-DyKbOeck.js';
2
+ export { A as AspectRatio, q as AspectRatioValue, k as CameraManager, j as CameraOptions, D as DeviceProfile, p as FirstPersonOptions, l as FirstPersonPerspective, o as Fixed2DOptions, F as Fixed2DPerspective, G as Game, b as GameConfigLike, d as GameDeviceConfig, a as GameLoadingEvent, P as PerspectiveOptions, y as RenderBundleManager, z as RenderStrategyManager, R as ResolutionInput, e as ResolveGameConfigRuntime, v as RetroPreset, w as RetroPresetKey, x as RetroResolution, S as StageConfigLike, h as StageOptions, n as ThirdPersonOptions, T as ThirdPersonPerspective, i as createCamera, c as createGame, m as createPerspective, f as createStage, g as gameConfig, r as getDisplayAspect, t as getPresetResolution, u as parseResolution, s as stageConfig } from './game-DyKbOeck.js';
3
3
  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';
4
4
  import { Vector2 } from 'three';
5
- import { G as GameEntity, a as GameEntityOptions } from './entity-XZNGBeca.js';
5
+ import { G as GameEntity, a as GameEntityOptions } from './entity-XqvuWgPm.js';
6
6
  import { S as StageBlueprint } from './blueprints-TbGY-h53.js';
7
7
  import { a as SetupContext, k as LoadedContext, U as UpdateContext, D as DestroyContext, l as CleanupContext } from './base-node-life-cycle-BK9xebT9.js';
8
8
  export { L as LoadingEvent, S as StageNavigationOptions } from './base-node-life-cycle-BK9xebT9.js';
@@ -13,7 +13,7 @@ import { e as Vec3Input, c as Vec3 } from './vector-D3eDzvcA.js';
13
13
  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, d as Vec3Components, n as normalizeVec2, j as normalizeVec3, t as toThreeVector2, k as toThreeVector3 } from './vector-D3eDzvcA.js';
14
14
  import { S as StageEntity } from './entity-BIf_a4dl.js';
15
15
  import { B as BaseNode, N as NodeInterface } from './base-node-idopiSw5.js';
16
- import './entity-type-map-CkkFMSrL.js';
16
+ import './entity-type-map-D6BeAdvg.js';
17
17
  import './material-CxxAyJYp.js';
18
18
  import 'three/webgpu';
19
19
  import '@zylem/behaviors/core';
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 H,g as I,h as J,i as K,j as L,k as M,l as N,m as O,n as P,o as Q}from"./chunk-F5LROYZL.js";import{a,c as p,d as q,e as r,f as s,g as t,h as u,i as v,k as w,l as x,m as y,n as z,o as A,p as B,q as C,r as D,s as E,t as F,v as G}from"./chunk-IBJLPJLE.js";import{a as o}from"./chunk-7GYFZKK7.js";import"./chunk-Q2YDBMVY.js";import"./chunk-BCFFS3FP.js";import"./chunk-QDQ4QMAI.js";import"./chunk-AE3CTVHY.js";import"./chunk-ZTYNZ2N2.js";import"./chunk-CBUQBP2U.js";import"./chunk-EVMLNMGU.js";import"./chunk-WBQ5TNRZ.js";import"./chunk-YOVE25NW.js";import"./chunk-MXO4VGDB.js";import"./chunk-BMRFDDMR.js";import"./chunk-SAQA4SXW.js";import"./chunk-7NYP4YAG.js";import"./chunk-AIQ6IVT5.js";import"./chunk-QXVH6POE.js";import"./chunk-EVYHPR3J.js";import"./chunk-D2PATZCC.js";import"./chunk-4QLJUQSJ.js";import{a as g,b as h,c as i,d as j,g as k,h as l,i as m,j as n}from"./chunk-7WRQ2UAN.js";import"./chunk-BH53MBAZ.js";import"./chunk-XRP4JJXL.js";import"./chunk-PCFF4LLO.js";import"./chunk-UG22Z42P.js";export{b as AspectRatio,B as CameraManager,w as CameraPipeline,C as CameraWrapper,z as FirstPersonPerspective,y as Fixed2DPerspective,J as Game,v as Perspectives,s as RenderBundleManager,t as RenderStrategyManager,M as STAGE_STATE_CHANGE,I as StageManager,x as ThirdPersonPerspective,h as VEC2_ONE,g as VEC2_ZERO,j as VEC3_ONE,i as VEC3_ZERO,D as createCamera,P as createFollowTarget,K as createGame,A as createPerspective,G as createStage,o as crossfadeTransitionShader,O as dispatchStageState,L as entitySpawner,f as gameConfig,c as getDisplayAspect,d as getPresetResolution,N as initStageStateDispatcher,r as isManagedRenderEntity,a as isWebGPUSupported,k as normalizeVec2,l as normalizeVec3,e as parseResolution,p as resolveRenderCategory,Q as setCameraFeed,u as setStageFrameProfilerEnabled,E as stageConfig,H as stageState,m as toThreeVector2,n as toThreeVector3,q as usesManagedRenderPath,F as vessel};
1
+ import{a as b,b as c,c as d,d as e,e as f,f as H,g as I,h as J,i as K,j as L,k as M,l as N,m as O,n as P,o as Q}from"./chunk-AXJTUVGC.js";import{a,c as p,d as q,e as r,f as s,g as t,h as u,i as v,k as w,l as x,m as y,n as z,o as A,p as B,q as C,r as D,s as E,t as F,v as G}from"./chunk-BWOZF5YK.js";import{a as o}from"./chunk-7GYFZKK7.js";import"./chunk-Q2YDBMVY.js";import"./chunk-BCFFS3FP.js";import"./chunk-EYDC2PMO.js";import"./chunk-2HSR5XDQ.js";import"./chunk-G3TBBZUI.js";import"./chunk-CBUQBP2U.js";import"./chunk-EVMLNMGU.js";import"./chunk-WBQ5TNRZ.js";import"./chunk-7JSZEEAE.js";import"./chunk-YQS7CGXE.js";import"./chunk-X7T7QRYP.js";import"./chunk-KP6DLLJO.js";import"./chunk-6FGXC4T6.js";import"./chunk-AIQ6IVT5.js";import"./chunk-QXVH6POE.js";import"./chunk-EVYHPR3J.js";import"./chunk-VUJXR5K5.js";import"./chunk-D2PATZCC.js";import"./chunk-4QLJUQSJ.js";import{a as g,b as h,c as i,d as j,g as k,h as l,i as m,j as n}from"./chunk-7WRQ2UAN.js";import"./chunk-BH53MBAZ.js";import"./chunk-XRP4JJXL.js";import"./chunk-PCFF4LLO.js";import"./chunk-UG22Z42P.js";import"./chunk-WOT6VMZA.js";export{b as AspectRatio,B as CameraManager,w as CameraPipeline,C as CameraWrapper,z as FirstPersonPerspective,y as Fixed2DPerspective,J as Game,v as Perspectives,s as RenderBundleManager,t as RenderStrategyManager,M as STAGE_STATE_CHANGE,I as StageManager,x as ThirdPersonPerspective,h as VEC2_ONE,g as VEC2_ZERO,j as VEC3_ONE,i as VEC3_ZERO,D as createCamera,P as createFollowTarget,K as createGame,A as createPerspective,G as createStage,o as crossfadeTransitionShader,O as dispatchStageState,L as entitySpawner,f as gameConfig,c as getDisplayAspect,d as getPresetResolution,N as initStageStateDispatcher,r as isManagedRenderEntity,a as isWebGPUSupported,k as normalizeVec2,l as normalizeVec3,e as parseResolution,p as resolveRenderCategory,Q as setCameraFeed,u as setStageFrameProfilerEnabled,E as stageConfig,H as stageState,m as toThreeVector2,n as toThreeVector3,q as usesManagedRenderPath,F as vessel};
@@ -1,4 +1,4 @@
1
- import { G as GameEntity } from './entity-XZNGBeca.js';
1
+ import { G as GameEntity } from './entity-XqvuWgPm.js';
2
2
 
3
3
  type DebugTools = 'select' | 'translate' | 'rotate' | 'scale' | 'delete' | 'add' | 'none';
4
4
  /** Tools that manipulate a selected entity's transform via the gizmo. */
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-CpnNRUFh.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-Cg3f5FB6.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-XZNGBeca.js';
5
+ import { G as GameEntity } from './entity-XqvuWgPm.js';
6
6
  import { WebGPURenderer } from 'three/webgpu';
7
7
  import '@zylem/behaviors/core';
8
8
  import './simulation-body-zQw-emOr.js';
package/dist/debug.js CHANGED
@@ -1 +1 @@
1
- import"./chunk-MSCVL5OK.js";import{a as x,b as y}from"./chunk-Q2YDBMVY.js";import{c as I,d as J,e as K,f as L}from"./chunk-BCFFS3FP.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-CBUQBP2U.js";import{A 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,r as o,s as p,t as q,u as r,v as s,w as t,y as u,z as v}from"./chunk-EVMLNMGU.js";export{I as ConstructionGrid,c as DEFAULT_SNAP_SETTINGS,x as EntityThumbnailCache,a as TRANSFORM_TOOLS,L as TransformGizmo,J 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,K as intersectPlane,j as isPickMode,b as isTransformTool,C as quaternionToEuler,H as radiansToDegrees,e as registerDebugEntityResolver,z as registerEntityFocusContext,f as resolveDebugEntity,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-MSCVL5OK.js";import{a as x,b as y}from"./chunk-Q2YDBMVY.js";import{c as I,d as J,e as K,f as L}from"./chunk-BCFFS3FP.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-CBUQBP2U.js";import{A 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,r as o,s as p,t as q,u as r,v as s,w as t,y as u,z as v}from"./chunk-EVMLNMGU.js";import"./chunk-WOT6VMZA.js";export{I as ConstructionGrid,c as DEFAULT_SNAP_SETTINGS,x as EntityThumbnailCache,a as TRANSFORM_TOOLS,L as TransformGizmo,J 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,K as intersectPlane,j as isPickMode,b as isTransformTool,C as quaternionToEuler,H as radiansToDegrees,e as registerDebugEntityResolver,z as registerEntityFocusContext,f as resolveDebugEntity,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};
@@ -561,6 +561,30 @@ declare class GameEntity<O extends GameEntityOptions> extends BaseNode<O> implem
561
561
  * Used by the stage to auto-register required systems.
562
562
  */
563
563
  getBehaviorRefs(): BehaviorRef[];
564
+ /**
565
+ * Find the attached ref for a behavior, matched by descriptor key so a
566
+ * re-imported copy of the same descriptor still resolves.
567
+ */
568
+ getBehaviorRef<O extends Record<string, any>>(descriptor: BehaviorDescriptor<O, any>): BehaviorRef<O> | null;
569
+ hasBehavior(descriptor: BehaviorDescriptor<any, any>): boolean;
570
+ /**
571
+ * Detach a behavior from this entity.
572
+ *
573
+ * Removes the ref so future spawns skip it. If the entity is live in a
574
+ * stage, the stage must also drop the system link (see
575
+ * `StageEntityDelegate.detachBehaviorLink`); `StageDebugDelegate` does this
576
+ * for editor-driven removals.
577
+ *
578
+ * @param target The descriptor (matched by key) or the exact ref to remove.
579
+ * @returns The removed ref, or `null` when nothing matched.
580
+ */
581
+ removeBehavior(target: BehaviorDescriptor<any, any> | BehaviorRef<any>): BehaviorRef<any> | null;
582
+ /**
583
+ * Re-attach a previously removed ref as-is (options, FSM state and all).
584
+ * Used by undo so a restored behavior is the same object, not a re-created
585
+ * one.
586
+ */
587
+ restoreBehaviorRef(ref: BehaviorRef<any>): void;
564
588
  getCollisionCallbacks(): Array<(params: CollisionContext<this, O>) => void>;
565
589
  getCollisionRegistrations(): Array<CollisionRegistration<this, O>>;
566
590
  private copyBehaviorRefsTo;
@@ -591,6 +615,36 @@ declare class GameEntity<O extends GameEntityOptions> extends BaseNode<O> implem
591
615
  */
592
616
  protected _cleanup(_params: CleanupContext<this>): void;
593
617
  _collision(other: GameEntity<O>, globals?: any, dispatch?: CollisionDispatchMetadata): void;
618
+ /**
619
+ * Whether this entity renders a mesh that a material can be assigned to.
620
+ * Lights, zones, and other mesh-less entities return `false`.
621
+ */
622
+ hasMaterial(): boolean;
623
+ /** The materials currently driving this entity's meshes. */
624
+ getMaterials(): Material[];
625
+ /**
626
+ * Rebuild this entity's material from creation-style options and swap it in
627
+ * on the live mesh, so a runtime change (an editor applying a shader swatch)
628
+ * renders exactly like a restart with `material: options` would.
629
+ *
630
+ * @param options Same shape as `GameEntityOptions.material`.
631
+ * @param settings `disposePrevious` (default `true`) frees the replaced
632
+ * materials; pass `false` when keeping them for undo.
633
+ * @returns The replaced materials, or `null` when the entity has no mesh.
634
+ */
635
+ setMaterial(options: Partial<MaterialOptions>, settings?: {
636
+ disposePrevious?: boolean;
637
+ }): Material[] | null;
638
+ /**
639
+ * Assign already-built materials to every mesh this entity renders. Meshes
640
+ * that carried a material array keep the array shape, cycling through the
641
+ * supplied list so multi-material geometry stays fully covered.
642
+ *
643
+ * @returns The replaced materials, or `null` when the entity has no mesh.
644
+ */
645
+ replaceMaterials(materials: Material[], settings?: {
646
+ disposePrevious?: boolean;
647
+ }): Material[] | null;
594
648
  protected updateMaterials(params: any): void;
595
649
  buildInfo(): Record<string, string>;
596
650
  /**
@@ -1,6 +1,6 @@
1
1
  import { Vector3, Sprite, Texture, Color, 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-XZNGBeca.js';
3
+ import { G as GameEntity, a as GameEntityOptions } from './entity-XqvuWgPm.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';
package/dist/entity.d.ts CHANGED
@@ -1,6 +1,6 @@
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-CkkFMSrL.js';
2
- import { G as GameEntity, a as GameEntityOptions, E as EntityBuilder, B as EntityMeshBuilder, D as EntityCollisionBuilder } from './entity-XZNGBeca.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-XZNGBeca.js';
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-D6BeAdvg.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';
4
4
  import { Color, Mesh } from 'three';
5
5
  import { B as BaseNode } from './base-node-idopiSw5.js';
6
6
  import { b as Vec2Input, e as Vec3Input } from './vector-D3eDzvcA.js';
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-GHJQ2HKI.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-YOVE25NW.js";import{a as X,b as Y,c as Z,d as _,e as $,f as aa}from"./chunk-MXO4VGDB.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-BMRFDDMR.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-SAQA4SXW.js";import"./chunk-7NYP4YAG.js";import"./chunk-AIQ6IVT5.js";import"./chunk-QXVH6POE.js";import"./chunk-EVYHPR3J.js";import"./chunk-4QLJUQSJ.js";import"./chunk-7WRQ2UAN.js";import"./chunk-XRP4JJXL.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-YVWDCZNT.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-7JSZEEAE.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-X7T7QRYP.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-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};
package/dist/events.js CHANGED
@@ -1 +1 @@
1
- import"./chunk-BIGH6D34.js";import{a,b}from"./chunk-AIQ6IVT5.js";import"./chunk-QXVH6POE.js";export{a as EventEmitterDelegate,b as zylemEventBus};
1
+ import"./chunk-BIGH6D34.js";import{a,b}from"./chunk-AIQ6IVT5.js";import"./chunk-QXVH6POE.js";import"./chunk-WOT6VMZA.js";export{a as EventEmitterDelegate,b as zylemEventBus};
@@ -2,15 +2,15 @@ import { e as InputPlayerNumber, f as InputProvider, I as Inputs, h as SetupFunc
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
4
  import { Scene, Color, Object3D, Vector3, BufferGeometry, Material, Group, Texture } from 'three';
5
- import { al as ZylemWorld, aj as EntityTypeMap } from './entity-type-map-CkkFMSrL.js';
5
+ import { al as ZylemWorld, aj as EntityTypeMap } from './entity-type-map-D6BeAdvg.js';
6
6
  import { E as Entity, L as LifecycleFunction, S as StageEntity } from './entity-BIf_a4dl.js';
7
- import { G as GameEntity, a as GameEntityOptions, y as GameEntityLifeCycle } from './entity-XZNGBeca.js';
7
+ import { G as GameEntity, a as GameEntityOptions, y as GameEntityLifeCycle } from './entity-XqvuWgPm.js';
8
8
  import { k as ZylemCamera, R as RendererManager, e as CameraPerspective, d as CameraContext, C as CameraPose, P as PerspectiveType, f as CameraBehavior, g as CameraAction, h as CameraPipelineState, V as Viewport, Z as ZylemPostEffect } from './zylem-camera-DZTpPOiD.js';
9
9
  import { d as ZylemShader } from './material-CxxAyJYp.js';
10
10
  import { a as SimulationBody } from './simulation-body-zQw-emOr.js';
11
11
  import { e as Vec3Input, b as Vec2Input, d as Vec3Components } from './vector-D3eDzvcA.js';
12
- import { SceneOperationPayload } from '@zylem/bridge';
13
- import { BehaviorSystem, BehaviorEntityLink, BehaviorRuntime, BehaviorSystemFactory, Simulation } from '@zylem/behaviors/core';
12
+ import { SwatchApplyResult, SceneOperationEntry, EntityApplySwatchPayload, SceneOperationPayload } from '@zylem/bridge';
13
+ import { BehaviorSystem, BehaviorEntityLink, BehaviorRuntime, BehaviorSystemFactory, BehaviorRef, Simulation } from '@zylem/behaviors/core';
14
14
  import { StageEvents, GameEvents } from './events.js';
15
15
  import { D as DefaultTouchControlsOptions } from './default-controls-CAKJ5zlo.js';
16
16
  import { S as StageTransitionConfig } from './stage-transition-CmGpV4tc.js';
@@ -846,6 +846,28 @@ declare class CameraWrapper {
846
846
  */
847
847
  declare function createCamera(options: CameraOptions): CameraWrapper;
848
848
 
849
+ /**
850
+ * Applies swatches (configured shaders / behaviors) to live entities and
851
+ * inverts those applications for undo.
852
+ *
853
+ * One `entity:apply-swatch` message is a batch: every swatch is applied to
854
+ * every uuid, in order, under a single operation id. Each pair reports its own
855
+ * result so a multi-select apply can partially succeed (a light in the
856
+ * selection has no material) while the rest still land.
857
+ *
858
+ * Undo follows the stage's "editor holds the history, game holds the
859
+ * instances" rule. The original material and any displaced behavior refs are
860
+ * kept here per operation, so undo puts back the exact objects rather than a
861
+ * reconstruction — the pre-swatch material (texture, tint, standard shader) is
862
+ * usually not describable as a swatch at all.
863
+ */
864
+
865
+ interface SwatchApplyOutcome {
866
+ results: SwatchApplyResult[];
867
+ /** One entry per successful pair, ready for a `scene:operation`. */
868
+ entries: SceneOperationEntry[];
869
+ }
870
+
849
871
  /**
850
872
  * Owns the stage's in-world debug/editor interaction layer.
851
873
  *
@@ -893,6 +915,7 @@ declare class StageDebugDelegate {
893
915
  private lastDebugEnabled;
894
916
  private warnedMissingAddFactory;
895
917
  private transformTool;
918
+ private swatchApplier;
896
919
  private grid;
897
920
  private lastTool;
898
921
  /** Element the current gizmo drag captured, so pointerup is never missed. */
@@ -951,13 +974,27 @@ declare class StageDebugDelegate {
951
974
  update(): void;
952
975
  /**
953
976
  * Raycast at NDC coordinates (from a host that cannot send DOM pointer
954
- * events, e.g. an overlay sitting on a preview iframe). Updates hover so
955
- * the next `update()` paints the highlight.
977
+ * events, e.g. an overlay sitting on a preview iframe, or the bridge's
978
+ * `entity:pick`).
979
+ *
980
+ * Hover follows the pick only while pick mode is armed (a drag in flight),
981
+ * so a one-shot pick from an inspector does not disturb the user's hover.
982
+ * While armed, the next `update()` paints the highlight.
956
983
  */
957
- pickAtNdc(ndcX: number, ndcY: number): {
984
+ pickAtNdc(ndcX: number, ndcY: number, options?: {
985
+ updateHover?: boolean;
986
+ }): {
958
987
  uuid: string;
959
988
  name: string;
960
989
  } | null;
990
+ /**
991
+ * Apply swatches to live entities (`entity:apply-swatch`). Every uuid ×
992
+ * swatch pair is attempted and reported; successful pairs are recorded so
993
+ * the operation can be undone exactly via {@link applySceneOperation}.
994
+ */
995
+ applySwatches(payload: EntityApplySwatchPayload & {
996
+ opId: string;
997
+ }): SwatchApplyOutcome;
961
998
  /** Collider wireframes, straight from the wasm simulation. */
962
999
  private updateColliderWireframes;
963
1000
  /**
@@ -1355,11 +1392,35 @@ declare class StageEntityDelegate {
1355
1392
  */
1356
1393
  destroyAll(): void;
1357
1394
  private registerBehaviorLinks;
1395
+ /**
1396
+ * Index one ref, lazily create its system, and attach. Shared by spawn-time
1397
+ * registration and late per-ref attaches.
1398
+ */
1399
+ private linkBehaviorRef;
1400
+ private unlinkBehaviorLink;
1358
1401
  /**
1359
1402
  * Re-index an entity's behavior refs after a late `entity.use(...)`.
1360
1403
  * Spawn-time registration only sees refs that existed at attach.
1404
+ *
1405
+ * Detaches and re-attaches every behavior on the entity, which resets their
1406
+ * per-link state. Prefer {@link attachBehaviorLink} /
1407
+ * {@link detachBehaviorLink} when only one ref changed.
1361
1408
  */
1362
1409
  syncBehaviorLinks(entity: any): void;
1410
+ /**
1411
+ * Attach a single ref that was added to a live entity (`entity.use(...)`
1412
+ * after spawn) without disturbing the entity's other behaviors.
1413
+ *
1414
+ * @returns `false` when the stage is not loaded or the ref is already linked.
1415
+ */
1416
+ attachBehaviorLink(entity: any, ref: BehaviorRef): boolean;
1417
+ /**
1418
+ * Detach a single ref's system link from a live entity, leaving its other
1419
+ * behaviors attached.
1420
+ *
1421
+ * @returns `false` when no link for that ref exists.
1422
+ */
1423
+ detachBehaviorLink(entity: any, ref: BehaviorRef): boolean;
1363
1424
  private unregisterBehaviorLinks;
1364
1425
  }
1365
1426
 
@@ -1896,6 +1957,12 @@ declare class ZylemGame<TGlobals extends BaseGlobals> {
1896
1957
  static FRAME_DURATION: number;
1897
1958
  static MAX_DELTA_SECONDS: number;
1898
1959
  constructor(options: ZylemGameOptions<TGlobals>, wrapperRef: Game<TGlobals>, displayRuntime?: ResolveGameConfigRuntime);
1960
+ /**
1961
+ * Raycast at normalized device coordinates (editor `entity:pick`) and
1962
+ * describe the hit the same way the entity list does, so a consumer can
1963
+ * show name, type, and pose for whatever is under the pointer.
1964
+ */
1965
+ private pickEntityAtNdc;
1899
1966
  /** Publish the placeable entity types the editor's Add palette lists. */
1900
1967
  private publishEntityCatalog;
1901
1968
  /** Spawn a catalog type programmatically (editor `entity:create`). */
@@ -0,0 +1 @@
1
+ import{v as e}from"./chunk-BWOZF5YK.js";import"./chunk-BCFFS3FP.js";import"./chunk-2HSR5XDQ.js";import"./chunk-G3TBBZUI.js";import"./chunk-CBUQBP2U.js";import"./chunk-EVMLNMGU.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-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};
package/dist/globals.js CHANGED
@@ -1 +1 @@
1
- import{a as m,b as n,c as o,d as p}from"./chunk-WQ3WMMZD.js";import{h,i,j,k,l}from"./chunk-D2PATZCC.js";import{e as a,f as b,g as c,h as d,i as e,j as f,m as g}from"./chunk-4QLJUQSJ.js";import"./chunk-7WRQ2UAN.js";export{g as clearGlobalSubscriptions,b as createGlobal,i as createVariable,c as getGlobal,f as getGlobals,j as getVariable,m as globalChange,n as globalChanges,d as onGlobalChange,e as onGlobalChanges,k as onVariableChange,l as onVariableChanges,a as setGlobal,h as setVariable,o as variableChange,p as variableChanges};
1
+ import{a as m,b as n,c as o,d as p}from"./chunk-WQ3WMMZD.js";import{h,i,j,k,l}from"./chunk-D2PATZCC.js";import{e as a,f as b,g as c,h as d,i as e,j as f,m as g}from"./chunk-4QLJUQSJ.js";import"./chunk-7WRQ2UAN.js";import"./chunk-WOT6VMZA.js";export{g as clearGlobalSubscriptions,b as createGlobal,i as createVariable,c as getGlobal,f as getGlobals,j as getVariable,m as globalChange,n as globalChanges,d as onGlobalChange,e as onGlobalChanges,k as onVariableChange,l as onVariableChanges,a as setGlobal,h as setVariable,o as variableChange,p as variableChanges};
package/dist/graphics.js CHANGED
@@ -1 +1 @@
1
- import{a as n,b as o,c as p,d as q,e as r,f as s,g as t,h as u,i as v,j 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}from"./chunk-QB3NL7VQ.js";import{a as m}from"./chunk-7GYFZKK7.js";import{a,b,h as c,i as d,k as e,l as f,m as g,n as h,o as i,p as j,q as k,r as l}from"./chunk-7NYP4YAG.js";import"./chunk-QXVH6POE.js";import"./chunk-7WRQ2UAN.js";export{l as Fn,y as abs,x as asin,w as atan,t as clamp,v as cos,n as createBackgroundShader,e as createNodeMaterialFromTSL,m as crossfadeTransitionShader,G as dot,z as exp,k as float,E as floor,F as fract,d as isGLSLShader,c as isTSLShader,H as length,C as max,D as min,r as mix,J as mod,q as normalize,a as objectVertexShader,p as positionWorld,o as positionWorldDirection,A as pow,u as sin,s as smoothstep,b as standardShader,B as step,h as time,f as uniform,g as uv,I as vec2,i as vec3,j as vec4};
1
+ import{a as n,b as o,c as p,d as q,e as r,f as s,g as t,h as u,i as v,j 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}from"./chunk-QB3NL7VQ.js";import{a as m}from"./chunk-7GYFZKK7.js";import{c as a,d as b,h as c,i as d,k as e,l as f,m as g,n as h,o as i,p as j,q as k,r as l}from"./chunk-6FGXC4T6.js";import"./chunk-QXVH6POE.js";import"./chunk-7WRQ2UAN.js";import"./chunk-WOT6VMZA.js";export{l as Fn,y as abs,x as asin,w as atan,t as clamp,v as cos,n as createBackgroundShader,e as createNodeMaterialFromTSL,m as crossfadeTransitionShader,G as dot,z as exp,k as float,E as floor,F as fract,d as isGLSLShader,c as isTSLShader,H as length,C as max,D as min,r as mix,J as mod,q as normalize,a as objectVertexShader,p as positionWorld,o as positionWorldDirection,A as pow,u as sin,s as smoothstep,b as standardShader,B as step,h as time,f as uniform,g as uv,I as vec2,i as vec3,j as vec4};
package/dist/input-ui.js CHANGED
@@ -1 +1 @@
1
- import"./chunk-ORIDWL3T.js";import{a,b,c,d,e,f,g}from"./chunk-PCFF4LLO.js";import"./chunk-UG22Z42P.js";export{g as defaultTouchControls,d as joystickBaseSvg,e as joystickThumbSvg,c as resolveButtonAccent,b as resolveTouchTheme,f as touchButtonSvg,a as touchThemes};
1
+ import"./chunk-ORIDWL3T.js";import{a,b,c,d,e,f,g}from"./chunk-PCFF4LLO.js";import"./chunk-UG22Z42P.js";import"./chunk-WOT6VMZA.js";export{g as defaultTouchControls,d as joystickBaseSvg,e as joystickThumbSvg,c as resolveButtonAccent,b as resolveTouchTheme,f as touchButtonSvg,a as touchThemes};
package/dist/input.js CHANGED
@@ -1 +1 @@
1
- import{a as m,b as n,c as o}from"./chunk-7QF6YTEZ.js";import{a,b,c,d,e,f,g,h,i,j,k,l}from"./chunk-UG22Z42P.js";export{l as mergeInputConfigs,o as screenCenterLookDeltas,n as screenCenterLookTargets,m as shortestAngleDelta,a as useArrowsForAxes,c as useArrowsForDirections,b as useArrowsForSecondaryAxes,f as useIJKLForAxes,g as useIJKLForDirections,j as useMouse,h as useMouseLook,i as useScreenCenterLook,k as useVirtualControls,e as useWASDForAxes,d as useWASDForDirections};
1
+ import{a as m,b as n,c as o}from"./chunk-7QF6YTEZ.js";import{a,b,c,d,e,f,g,h,i,j,k,l}from"./chunk-UG22Z42P.js";import"./chunk-WOT6VMZA.js";export{l as mergeInputConfigs,o as screenCenterLookDeltas,n as screenCenterLookTargets,m as shortestAngleDelta,a as useArrowsForAxes,c as useArrowsForDirections,b as useArrowsForSecondaryAxes,f as useIJKLForAxes,g as useIJKLForDirections,j as useMouse,h as useMouseLook,i as useScreenCenterLook,k as useVirtualControls,e as useWASDForAxes,d as useWASDForDirections};
package/dist/public.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export { A as AspectRatio, q as AspectRatioValue, k as CameraManager, j as CameraOptions, C as CameraWrapper, D as DeviceProfile, p as FirstPersonOptions, l as FirstPersonPerspective, o as Fixed2DOptions, F as Fixed2DPerspective, G as Game, b as GameConfigLike, d as GameDeviceConfig, a as GameLoadingEvent, P as PerspectiveOptions, y as RenderBundleManager, z as RenderStrategyManager, R as ResolutionInput, e as ResolveGameConfigRuntime, v as RetroPreset, w as RetroPresetKey, x as RetroResolution, S as StageConfigLike, h as StageOptions, n as ThirdPersonOptions, T as ThirdPersonPerspective, i as createCamera, c as createGame, m as createPerspective, f as createStage, g as gameConfig, r as getDisplayAspect, t as getPresetResolution, u as parseResolution, s as stageConfig } from './game-BPOr7zTB.js';
1
+ export { A as AspectRatio, q as AspectRatioValue, k as CameraManager, j as CameraOptions, C as CameraWrapper, D as DeviceProfile, p as FirstPersonOptions, l as FirstPersonPerspective, o as Fixed2DOptions, F as Fixed2DPerspective, G as Game, b as GameConfigLike, d as GameDeviceConfig, a as GameLoadingEvent, P as PerspectiveOptions, y as RenderBundleManager, z as RenderStrategyManager, R as ResolutionInput, e as ResolveGameConfigRuntime, v as RetroPreset, w as RetroPresetKey, x as RetroResolution, S as StageConfigLike, h as StageOptions, n as ThirdPersonOptions, T as ThirdPersonPerspective, i as createCamera, c as createGame, m as createPerspective, f as createStage, g as gameConfig, r as getDisplayAspect, t as getPresetResolution, u as parseResolution, s as stageConfig } from './game-DyKbOeck.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
3
  export { CameraFeedOptions, FollowTargetOptions, RenderCategory, STAGE_STATE_CHANGE, StageManager, StageStateChangeEvent, Vect3, createFollowTarget, dispatchStageState, entitySpawner, initStageStateDispatcher, isManagedRenderEntity, resolveRenderCategory, setCameraFeed, setStageFrameProfilerEnabled, stageState, usesManagedRenderPath, vessel } from './core.js';
4
4
  export { f as EntityBlueprint, j as EntityJson, d as EntityJsonSchema, E as EntitySchema, i as LineEntityData, L as LineEntityDataSchema, h as SpriteEntityData, b as SpriteEntityDataSchema, S as StageBlueprint, k as StageJson, e as StageJsonSchema, c as StageSchema, g as TextEntityData, T as TextEntityDataSchema, V as Vector2Schema, a as Vector3TupleSchema } from './blueprints-TbGY-h53.js';
@@ -7,8 +7,8 @@ export { S as StageTransitionConfig, a as StageTransitionEasing, Z as ZylemTrans
7
7
  export { g as CameraAction, f as CameraBehavior, d as CameraContext, e as CameraPerspective, j as CameraPipeline, h as CameraPipelineState, C as CameraPose, P as PerspectiveType, a as Perspectives, c as PoseDelta, T as TransformLike, V as Viewport, Z as ZylemPostEffect, b as ZylemRenderer, i as isWebGPUSupported } from './zylem-camera-DZTpPOiD.js';
8
8
  export { S as StageEntity } from './entity-BIf_a4dl.js';
9
9
  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';
10
- 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-CkkFMSrL.js';
11
- export { A as Action, C as CollisionComponent, G as GameEntity, a as GameEntityOptions, b as boxCollision, d as coneCollision, c as create, e as cylinderCollision, x as getRotation, f as pillCollision, g as planeCollision, p as pyramidCollision, i as rotateEuler, r as rotateInDirection, j as rotateX, k as rotateY, h as rotateYEuler, l as rotateZ, w as setRotation, q as setRotationDegrees, u as setRotationDegreesX, t as setRotationDegreesY, v as setRotationDegreesZ, n as setRotationX, m as setRotationY, o as setRotationZ, s as sphereCollision, z as zoneCollision } from './entity-XZNGBeca.js';
10
+ 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-D6BeAdvg.js';
11
+ export { A as Action, C as CollisionComponent, G as GameEntity, a as GameEntityOptions, b as boxCollision, d as coneCollision, c as create, e as cylinderCollision, x as getRotation, f as pillCollision, g as planeCollision, p as pyramidCollision, i as rotateEuler, r as rotateInDirection, j as rotateX, k as rotateY, h as rotateYEuler, l as rotateZ, w as setRotation, q as setRotationDegrees, u as setRotationDegreesX, t as setRotationDegreesY, v as setRotationDegreesZ, n as setRotationX, m as setRotationY, o as setRotationZ, s as sphereCollision, z as zoneCollision } from './entity-XqvuWgPm.js';
12
12
  export { IconSize, IconSizePreset, ScreenAnchor, TemplateFactory, boxMesh, coneMesh, createCooldownIcon, createEntity, createEntityFactory, cylinderMesh, destroy, pillMesh, pyramidMesh, sphereMesh } from './entity.js';
13
13
  export { BehaviorDescriptor, BehaviorHandle, BehaviorRef, BehaviorSystem, BehaviorSystemFactory, BoundaryRicochet3DCoordinator, BoundaryRicochet3DEntity, BoundaryRicochetCoordinator, BoundaryRicochetEntity, BoundaryRicochetUpdate, BurstParticlePresetOptions, CooldownBehavior, CooldownConfig, CooldownEntry, CooldownHandle, CooldownOptions, DefineBehaviorConfig, Destructible3DBehavior, Destructible3DBehaviorOptions, Destructible3DColliderOptions, Destructible3DFragmentColliderShape, Destructible3DFragmentPhysicsOptions, Destructible3DHandle, DestructibleMesh, DestructiblePrebakeWorkerAPI, FacingAngle2DEntity, FirstPersonBehavior, FirstPersonBehaviorOptions, FirstPersonContext, FirstPersonEntity, FirstPersonEvent, FirstPersonFSM, FirstPersonInputComponent, FirstPersonMovementComponent, FirstPersonPresentation, FirstPersonShooterCoordinator, FirstPersonShooterEntity, FirstPersonShooterInput, FirstPersonState, FirstPersonStateComponent, FractureOptions, FractureOptionsInput, JumpConfig2D, JumpConfig3D, JumpContext2D, JumpContext3D, JumpInput2D, JumpInput3D, JumpState2D, JumpState3D, Jumper2DBehavior, Jumper2DBehaviorOptions, Jumper2DEntity, Jumper2DEvent, Jumper2DFSM, Jumper2DState, Jumper3DBehavior, Jumper3DBehaviorOptions, Jumper3DEntity, Jumper3DEvent, Jumper3DFSM, Jumper3DState, MultidirectionalSpaceShooterCoordinator, MultidirectionalSpaceShooterEntity, MultidirectionalSpaceShooterInput, ParticleEffectDefinition, ParticleEmitterBehavior, ParticleEmitterBehaviorOptions, ParticleEmitterHandle, ParticleMagicAgency, ParticleMagicAlignment, ParticleMagicModifierInput, ParticleMagicModifierOptions, ParticleMagicOrder, ParticleMagicRealityEffect, ParticleMagicTemperament, ParticlePresetMaterialOptions, PhysicsBodyComponent, PlainBufferGeometryPayload, PlainFractureOptions, Platformer2DBehavior, Platformer2DBehaviorOptions, Platformer2DCollisionContext, Platformer2DContext, Platformer2DEntity, Platformer2DEvent, Platformer2DFSM, Platformer2DInputComponent, Platformer2DMovementComponent, Platformer2DState, Platformer2DStateComponent, Platformer3DBehavior, Platformer3DBehaviorOptions, Platformer3DContext, Platformer3DEntity, Platformer3DEvent, Platformer3DFSM, Platformer3DInputComponent, Platformer3DMovementComponent, Platformer3DState, Platformer3DStateComponent, PlatformerCollisionContext, PlayerInput, PrebakeWorkerRequest, PrebakeWorkerResponse, ResolvedAim2D, Ricochet2DBehavior, Ricochet2DCollisionContext, Ricochet2DEvent, Ricochet2DFSM, Ricochet2DHandle, Ricochet2DOptions, Ricochet2DResult, Ricochet2DState, Ricochet3DBehavior, Ricochet3DCallback, Ricochet3DCollisionContext, Ricochet3DEvent, Ricochet3DFSM, Ricochet3DHandle, Ricochet3DOptions, Ricochet3DResult, Ricochet3DState, RicochetCallback, ScreenVisibilityBehavior, ScreenVisibilityChangeContext, ScreenVisibilityFSM, ScreenVisibilityHandle, ScreenVisibilityOptions, ScreenVisibilitySize, ScreenVisibilitySnapshot, ScreenWrapBehavior, ScreenWrapEvent, ScreenWrapFSM, ScreenWrapOptions, ScreenWrapState, SemanticParticlePresetOptions, Shooter2DAimFireInput, Shooter2DBehavior, Shooter2DBehaviorOptions, Shooter2DFireArgs, Shooter2DHandle, Shooter2DProjectileFactory, Shooter2DSourceEntity, Shooter2DStageLike, Shooter2DStateComponent, Shooter2DTarget, ThrusterBehavior, ThrusterBehaviorOptions, ThrusterEntity, ThrusterEvent, ThrusterFSM, ThrusterFSMContext, ThrusterInputComponent, ThrusterMovementComponent, ThrusterState, ThrusterStateComponent, TopDownMovementBehavior, TopDownMovementBehaviorOptions, TopDownMovementComponent, TopDownMovementEntity, TopDownMovementHandle, TopDownMovementInputComponent, TopDownMovementStateComponent, TopDownShooterCoordinator, TopDownShooterEntity, TopDownShooterInput, TransformComponent, Vec3Like, ViewmodelConfig, VoronoiOptions, WorldBoundary2DBehavior, WorldBoundary2DBounds, WorldBoundary2DEvent, WorldBoundary2DFSM, WorldBoundary2DHandle, WorldBoundary2DHit, WorldBoundary2DHits, WorldBoundary2DOptions, WorldBoundary2DPosition, WorldBoundary2DState, WorldBoundary3DBehavior, WorldBoundary3DBounds, WorldBoundary3DEvent, WorldBoundary3DFSM, WorldBoundary3DHandle, WorldBoundary3DHit, WorldBoundary3DHits, WorldBoundary3DOptions, WorldBoundary3DPosition, WorldBoundary3DState, computeWorldBoundary2DHits, computeWorldBoundary3DHits, createFirstPersonInputComponent, createFirstPersonMovementComponent, createFirstPersonStateComponent, createJumpConfig2D, createJumpConfig3D, createJumpInput2D, createJumpInput3D, createJumpState2D, createJumpState3D, createPhysicsBodyComponent, createPlatformer2DInputComponent, createPlatformer2DMovementComponent, createPlatformer2DStateComponent, createPlatformer3DInputComponent, createPlatformer3DMovementComponent, createPlatformer3DStateComponent, createShooter2DStateComponent, createThrusterInputComponent, createThrusterMovementComponent, createThrusterStateComponent, createTopDownMovementComponent, createTopDownMovementInputComponent, createTopDownMovementStateComponent, createTransformComponent, defineBehavior, fireCooldown, fireShooter2DIfRequested, getCooldown, getCooldownStore, getEntityFacingAngle2D, hasAnyWorldBoundary2DHit, hasAnyWorldBoundary3DHit, particleEffect, particlePresets, registerCooldown, resetCooldown, resolveAim2D, tickCooldowns, updateBoundaryRicochet, useBehavior } from '@zylem/behaviors';
14
14
  export { RUNTIME_BOUNDARY_2D_BEHAVIOR_KEY, RUNTIME_DYNAMIC_CIRCLE_BODY_2D_BEHAVIOR_KEY, RUNTIME_GOAL_ZONE_2D_BEHAVIOR_KEY, RUNTIME_PLAYER_INPUT_2D_BEHAVIOR_KEY, RUNTIME_RICOCHET_2D_BEHAVIOR_KEY, RUNTIME_TRIGGER_REGION_2D_BEHAVIOR_KEY, RuntimeBoundary2DBehavior, RuntimeBoundary2DOptions, RuntimeDynamicCircleBody2DBehavior, RuntimeDynamicCircleBody2DHandle, RuntimeDynamicCircleBody2DOptions, RuntimeGoalZone2DBehavior, RuntimeGoalZone2DEvent, RuntimeGoalZone2DHandle, RuntimeGoalZone2DOptions, RuntimePlayerInput2DBehavior, RuntimePlayerInput2DOptions, RuntimeRicochet2DBehavior, RuntimeRicochet2DEvent, RuntimeRicochet2DHandle, RuntimeRicochet2DOptions, RuntimeTriggerRegion2DBehavior, RuntimeTriggerRegion2DEvent, RuntimeTriggerRegion2DHandle, RuntimeTriggerRegion2DOptions, bindRuntimeDynamicCircleBody2DHandle, emitRuntimeGoal, emitRuntimeRicochet, emitRuntimeTriggerRegionEnter } from '@zylem/behaviors/runtime-2d';
@@ -21,10 +21,10 @@ export { EntityEvents, EventEmitterDelegate, GameEvents, GameLoadingPayload, Sta
21
21
  export { clearGlobalSubscriptions, createGlobal, createVariable, getGlobal, getGlobals, getVariable, globalChange, globalChanges, onGlobalChange, onGlobalChanges, onVariableChange, onVariableChanges, setGlobal, setVariable, variableChange, variableChanges } from './globals.js';
22
22
  export { pingPongBeep, ricochetSound } from './audio.js';
23
23
  export { Howl } from 'howler';
24
- export { D as 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-CpnNRUFh.js';
24
+ 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';
25
25
  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';
26
- export { GameBridge, GameBridgeHost } from './bridge.js';
27
- export { BRIDGE_READY_EVENT, BridgeChannel, BridgeDebugTool, BridgeHandler, GameLoadingPayload as BridgeLoadingPayload, BridgeMessageType, BridgeMessages, BridgeVec3, EditorToGameMessages, EntityApplySwatchPayload, EntitySummaryPayload, EntityThumbnailPayload, GameConfigPayload, GameToEditorMessages, GameVariablePayload, StageConfigPayload, StageSnapshotPayload, ZylemBridge, announceBridgeReady, getZylemBridge } from '@zylem/bridge';
26
+ export { GameBridge, GameBridgeHost, SwatchApplyOutcome } from './bridge.js';
27
+ export { BRIDGE_READY_EVENT, BridgeChannel, BridgeDebugTool, BridgeHandler, GameLoadingPayload as BridgeLoadingPayload, BridgeMessageType, BridgeMessages, BridgeNdc, BridgeVec3, EditorToGameMessages, EntityApplySwatchPayload, EntityPickPayload, EntityPickResultPayload, EntitySummaryPayload, EntitySwatchAppliedPayload, EntityThumbnailPayload, GameConfigPayload, GameToEditorMessages, GameVariablePayload, StageConfigPayload, StageSnapshotPayload, SwatchApplyFailureReason, SwatchApplyResult, SwatchKind, SwatchSpec, ZylemBridge, announceBridgeReady, applySwatchesToSelection, getZylemBridge } from '@zylem/bridge';
28
28
  export { ZylemGameElement, ZylemGameState } from './web-components.js';
29
29
  export { a as SimulationBody, S as SimulationStepClock } from './simulation-body-zQw-emOr.js';
30
30
  export { RuntimeBodyOptions, RuntimeColliderOptions, RuntimeCollisionBundle, buildBoxCollider, buildCapsuleCollider, buildConvexHullCollider, buildCylinderCollider, buildHeightfieldCollider, buildRuntimeBody, buildSphereCollider, buildTrimeshCollider, bundleRuntimeCollision } from './runtime.js';
package/dist/public.js CHANGED
@@ -1 +1 @@
1
- import{a as s,b as n,c as l,d as S,e as h,f as y,g as L,h as v,i as Z,j as b,k as g,l as u,m as T,n as j,o as F,p as W,q as k,r as w,s as z,t as B,u as D,v as E,w as G}from"./chunk-QB3NL7VQ.js";import"./chunk-BIGH6D34.js";import"./chunk-MSCVL5OK.js";import{a as Zp,b as bp,c as gp}from"./chunk-HNCTOJP7.js";import{a as up}from"./chunk-34MYRTRP.js";import{a as Tp,b as jp,c as Fp,d as Wp,e as kp,f as wp,g as zp,h as Bp,i as Dp,j as Ep,k as Gp,l as Mp,m as Np,n as Op,o as Pp,p as Vp}from"./chunk-47DG7I7M.js";import{A as nf,B as lf,C as Sf,a as qp,b as Ap,c as Cp,d as Hp,e as Ip,f as Jp,g as Kp,h as Qp,i as Rp,j as Up,k as Xp,l as Yp,m as _p,n as $p,o as of,p as rf,q as ef,r as tf,s as mf,t as af,u as pf,v as ff,w as xf,x as df,y as cf,z as sf}from"./chunk-JNFFTNMH.js";import{a as Wo,b as ko,c as wo,d as zo,e as Po,f as _e,g as $e,h as ct,i as st,j as nt,k as lt,l as St,m as ht,n as yt,o as Lt}from"./chunk-F5LROYZL.js";import{a as Fo,c as ye,d as Le,e as ve,f as We,g as ke,h as Pe,i as Ve,k as qe,l as Ae,m as Ce,n as He,o as Ie,p as Je,q as Ke,r as Qe,s as Re,t as Xe,v as Ye}from"./chunk-IBJLPJLE.js";import{a as he}from"./chunk-7GYFZKK7.js";import{a as so,b as no}from"./chunk-Q2YDBMVY.js";import{c as Ge,d as Me,e as Ne,f as Oe}from"./chunk-BCFFS3FP.js";import"./chunk-QDQ4QMAI.js";import"./chunk-AE3CTVHY.js";import{f as Xo}from"./chunk-ZTYNZ2N2.js";import{a as Ao,b as Co,c as Ho,d as Io,e as Jo,f as Ko,g as Qo,h as Ro,i as Uo}from"./chunk-CBUQBP2U.js";import{A 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,r as eo,s as to,t as mo,u as ao,v as po,w as fo,y as xo,z as io}from"./chunk-EVMLNMGU.js";import{b as ue}from"./chunk-WBQ5TNRZ.js";import{a as vt,b as Zt,c as bt,d as gt,e as ut}from"./chunk-GHJQ2HKI.js";import{a as ot,b as rt,c as et,d as tt,e as mt,f as at,g as pt,h as ft,i as xt,j as it,l as dt}from"./chunk-YOVE25NW.js";import{a as Ze,b as be,c as ge,d as Te,e as je,f as Fe}from"./chunk-MXO4VGDB.js";import{A as ee,B as te,C as me,D as ae,E as pe,F as fe,G as xe,H as ie,I as de,J as ce,K as se,L as ne,M as le,N as Se,b as zr,c as Br,d as Dr,e as Er,f as Gr,g as Mr,h as Nr,i as Or,j as Pr,k as Vr,l as qr,m as Ar,n as Cr,o as Hr,p as Ir,q as Jr,r as Kr,s as Qr,t as Rr,u as Ur,v as Xr,w as Yr,x as _r,y as $r,z as re}from"./chunk-BMRFDDMR.js";import{c as br,d as gr,e as ur,f as Tr,g as jr,h as Fr,i as Wr,j as kr,u as wr,z as oe}from"./chunk-SAQA4SXW.js";import{a as o,b as r,h as e,i as t,k as m,l as a,m as p,n as f,o as x,p as i,q as d,r as c}from"./chunk-7NYP4YAG.js";import{a as Vo,b as qo}from"./chunk-AIQ6IVT5.js";import"./chunk-QXVH6POE.js";import{b as Zr}from"./chunk-EVYHPR3J.js";import{$ as um,$a as ua,A as Xt,Aa as Xm,B as Yt,Ba as Ym,C as _t,Ca as _m,D as $t,Da as $m,E as om,Ea as oa,F as rm,Fa as ra,G as em,Ga as ea,H as tm,Ha as ta,I as mm,Ia as ma,J as am,Ja as aa,K as pm,Ka as pa,L as fm,La as fa,M as xm,Ma as xa,N as im,Na as ia,O as dm,Oa as da,P as cm,Pa as ca,Q as sm,Qa as sa,R as nm,Ra as na,S as lm,Sa as la,T as Sm,Ta as Sa,U as hm,Ua as ha,V as ym,Va as ya,W as Lm,Wa as La,X as vm,Xa as va,Y as Zm,Ya as Za,Z as bm,Za as ba,_ as gm,_a as ga,a as Tt,aa as Tm,ab as Ta,b as jt,ba as jm,bb as ja,c as Ft,ca as Fm,cb as Fa,d as Wt,da as Wm,db as Wa,e as kt,ea as km,eb as ka,f as wt,fa as wm,fb as wa,g as zt,ga as zm,gb as za,h as Bt,ha as Bm,hb as Ba,i as Dt,ia as Dm,ib as Da,j as Et,ja as Em,k as Gt,ka as Gm,l as Mt,la as Mm,m as Nt,ma as Nm,n as Ot,na as Om,o as Pt,oa as Pm,p as Vt,pa as Vm,q as qt,qa as qm,r as At,ra as Am,s as Ct,sa as Cm,t as Ht,ta as Hm,u as It,ua as Im,v as Jt,va as Jm,w as Kt,wa as Km,x as Qt,xa as Qm,y as Rt,ya as Rm,z as Ut,za as Um}from"./chunk-XK63E4SX.js";import{a as Ea,b as Ga,c as Ma}from"./chunk-ZRT3ZQVH.js";import{a as Na,b as Oa,c as Pa,d as Va}from"./chunk-WQ3WMMZD.js";import{h as we,i as ze,j as Be,k as De,l as Ee}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 Yo,b as _o,c as $o,d as or,g as rr,h as er,i as tr,j as mr}from"./chunk-7WRQ2UAN.js";import{A as sp,B as np,C as lp,D as Sp,E as hp,a as qa,b as Aa,c as Ca,d as Ha,e as Ia,f as Ja,g as Ka,h as Qa,i as Ra,j as Ua,k as Xa,l as Ya,m as _a,n as $a,o as op,p as rp,q as ep,r as tp,s as mp,t as ap,u as pp,v as fp,w as xp,x as ip,y as dp,z as cp}from"./chunk-IPWUDOV5.js";import{a as Ue}from"./chunk-BH53MBAZ.js";import{a as ar,b as pr,c as fr,d as xr,e as ir,f as dr,g as cr,h as sr,i as nr,j as lr,k as Sr,l as hr,m as yr,n as Lr,o as vr}from"./chunk-XRP4JJXL.js";import{a as yp,b as Lp,c as vp}from"./chunk-7QF6YTEZ.js";import"./chunk-ORIDWL3T.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 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";export{Ze as ACTOR_TYPE,Wo as AspectRatio,Nr as BOX_TYPE,gp as BRIDGE_READY_EVENT,Tt as BoundaryRicochet3DCoordinator,jt as BoundaryRicochetCoordinator,Cr as CONE_TYPE,Rr as CYLINDER_TYPE,Je as CameraManager,qe as CameraPipeline,Ke as CameraWrapper,ff as ColorJsonSchema,Ge as ConstructionGrid,Ft as CooldownBehavior,I as DEFAULT_SNAP_SETTINGS,re as DISK_TYPE,Wt as Destructible3DBehavior,kt as DestructibleMesh,Qp as EntityJsonSchema,Ap as EntitySchema,so as EntityThumbnailCache,Vo as EventEmitterDelegate,Te as FOG_TYPE,wt as FirstPersonBehavior,zt as FirstPersonEvent,Bt as FirstPersonFSM,He as FirstPersonPerspective,Gt as FirstPersonPresentation,Dt as FirstPersonShooterCoordinator,Et as FirstPersonState,Ce as Fixed2DPerspective,c as Fn,Mt as FractureOptions,ct as Game,Xo as GameBridge,Sf as GameConfigJsonSchema,lf as GameDeviceConfigJsonSchema,pf as GameInputConfigSchema,af as GameInputPlayerConfigSchema,Ma as Howl,Nt as Jumper2DBehavior,Ot as Jumper2DEvent,Pt as Jumper2DFSM,Vt as Jumper2DState,qt as Jumper3DBehavior,At as Jumper3DEvent,Ct as Jumper3DFSM,Ht as Jumper3DState,Up as KeyboardMappingSchema,ne as LIGHT_TYPE,pt as LINE_TYPE,Jp as LineEntityDataSchema,mf as MouseConfigSchema,Xp as MouseMappingSchema,It as MultidirectionalSpaceShooterCoordinator,vt as PARTICLE_SYSTEM_TYPE,Yr as PILL_TYPE,me as PLANE_TYPE,Jr as PYRAMID_TYPE,Jt as ParticleEmitterBehavior,Ve as Perspectives,Kt as Platformer2DBehavior,Qt as Platformer2DEvent,Rt as Platformer2DFSM,Ut as Platformer2DState,Xt as Platformer3DBehavior,Yt as Platformer3DEvent,_t as Platformer3DFSM,$t as Platformer3DState,de as RECT_TYPE,ua as RUNTIME_BOUNDARY_2D_BEHAVIOR_KEY,Ta as RUNTIME_DYNAMIC_CIRCLE_BODY_2D_BEHAVIOR_KEY,ja as RUNTIME_GOAL_ZONE_2D_BEHAVIOR_KEY,Fa as RUNTIME_PLAYER_INPUT_2D_BEHAVIOR_KEY,Wa as RUNTIME_RICOCHET_2D_BEHAVIOR_KEY,ka as RUNTIME_TRIGGER_REGION_2D_BEHAVIOR_KEY,We as RenderBundleManager,ke as RenderStrategyManager,nf as ResolutionInputSchema,om as Ricochet2DBehavior,rm as Ricochet2DEvent,em as Ricochet2DFSM,tm as Ricochet2DState,mm as Ricochet3DBehavior,am as Ricochet3DEvent,pm as Ricochet3DFSM,fm as Ricochet3DState,ya as RuntimeBoundary2DBehavior,La as RuntimeDynamicCircleBody2DBehavior,va as RuntimeGoalZone2DBehavior,Za as RuntimePlayerInput2DBehavior,ba as RuntimeRicochet2DBehavior,ga as RuntimeTriggerRegion2DBehavior,Vr as SPHERE_TYPE,tt as SPRITE_TYPE,lt as STAGE_STATE_CHANGE,xm as ScreenVisibilityBehavior,im as ScreenVisibilityFSM,dm as ScreenWrapBehavior,cm as ScreenWrapEvent,sm as ScreenWrapFSM,nm as ScreenWrapState,lm as Shooter2DBehavior,ue as SimulationBody,Kp as SpriteEntityDataSchema,cf as StageAssetLoaderConfigSchema,Ep as StageBodyKind,Gp as StageBoundaryDim,sf as StageConfigJsonSchema,Mp as StageEventType,df as StageGLTFAssetLoaderConfigSchema,Rp as StageJsonSchema,$e as StageManager,Np as StageRicochetDim,Op as StageRicochetReflection,Cp as StageSchema,Pp as StageTopDownPlane,ot as TEXT_TYPE,C as TRANSFORM_TOOLS,Hp as TextEntityDataSchema,Ae as ThirdPersonPerspective,Sm as ThrusterBehavior,hm as ThrusterEvent,ym as ThrusterFSM,Lm as ThrusterState,vm as TopDownMovementBehavior,Zm as TopDownShooterCoordinator,Oe as TransformGizmo,_o as VEC2_ONE,Yo as VEC2_ZERO,or as VEC3_ONE,$o as VEC3_ZERO,xf as Vec3ComponentsSchema,qp as Vector2Schema,Ip as Vector3TupleSchema,$p as VirtualTouchButtonConfigSchema,rf as VirtualTouchButtonsConfigSchema,tf as VirtualTouchConfigSchema,of as VirtualTouchJoystickConfigSchema,ef as VirtualTouchJoysticksConfigSchema,_p as VirtualTouchPositionSchema,Yp as VirtualTouchStyleSchema,bm as WorldBoundary2DBehavior,gm as WorldBoundary2DEvent,um as WorldBoundary2DFSM,Tm as WorldBoundary2DState,jm as WorldBoundary3DBehavior,Fm as WorldBoundary3DEvent,Wm as WorldBoundary3DFSM,km as WorldBoundary3DState,fe as ZONE_TYPE,be as ZylemActor,Or as ZylemBox,Hr as ZylemCone,Ur as ZylemCylinder,ee as ZylemDisk,je as ZylemFog,up as ZylemGameElement,le as ZylemLight,xt as ZylemLine,Zt as ZylemParticleSystem,_r as ZylemPill,ae as ZylemPlane,Kr as ZylemPyramid,ce as ZylemRect,qr as ZylemSphere,mt as ZylemSprite,rt as ZylemText,xe as ZylemZone,u as abs,bp as announceBridgeReady,Ue as applyTransformChanges,g as asin,b as atan,wa as bindRuntimeDynamicCircleBody2DHandle,br as boxCollision,zr as boxMesh,jp as buildBoxCollider,Wp as buildCapsuleCollider,wp as buildConvexHullCollider,kp as buildCylinderCollider,Bp as buildHeightfieldCollider,Tp as buildRuntimeBody,Fp as buildSphereCollider,zp as buildTrimeshCollider,Dp as bundleRuntimeCollision,Ja as callFunc,L as clamp,A as clearGlobalSubscriptions,Me as closestAxisValue,wm as computeWorldBoundary2DHits,zm as computeWorldBoundary3DHits,ur as coneCollision,Dr as coneMesh,Z as cos,wr as create,ge as createActor,s as createBackgroundShader,Pr as createBox,Qe as createCamera,Ir as createCone,gt as createCooldownIcon,Xr as createCylinder,te as createDisk,oe as createEntity,dt as createEntityFactory,Bm as createFirstPersonInputComponent,Dm as createFirstPersonMovementComponent,Em as createFirstPersonStateComponent,Fe as createFog,yt as createFollowTarget,st as createGame,N as createGlobal,Gm as createJumpConfig2D,Mm as createJumpConfig3D,Nm as createJumpInput2D,Om as createJumpInput3D,Pm as createJumpState2D,Vm as createJumpState3D,Se as createLight,it as createLine,m as createNodeMaterialFromTSL,bt as createParticleSystem,Ie as createPerspective,qm as createPhysicsBodyComponent,$r as createPill,pe as createPlane,Am as createPlatformer2DInputComponent,Cm as createPlatformer2DMovementComponent,Hm as createPlatformer2DStateComponent,Im as createPlatformer3DInputComponent,Jm as createPlatformer3DMovementComponent,Km as createPlatformer3DStateComponent,Qr as createPyramid,se as createRect,Qm as createShooter2DStateComponent,Vp as createSimulation,Ar as createSphere,at as createSprite,Ye as createStage,et as createText,Rm as createThrusterInputComponent,Um as createThrusterMovementComponent,Xm as createThrusterStateComponent,Ym as createTopDownMovementComponent,_m as createTopDownMovementInputComponent,$m as createTopDownMovementStateComponent,oa as createTransformComponent,op as createTransformStore,ze as createVariable,ie as createZone,he as crossfadeTransitionShader,jr as cylinderCollision,Gr as cylinderMesh,J as debugState,Oo as defaultTouchControls,ra as defineBehavior,Ro as degreesToRadians,Ia as delay,ut as destroy,ht as dispatchStageState,B as dot,za as emitRuntimeGoal,Ba as emitRuntimeRicochet,Da as emitRuntimeTriggerRegionEnter,nt as entitySpawner,no as entityThumbnailCache,Ho as eulerToQuaternion,T as exp,Ka as fadeOpacity,ea as fireCooldown,ta as fireShooter2DIfRequested,d as float,w as floor,Co as focusEntity,z as fract,Po as gameConfig,ma as getCooldown,aa as getCooldownStore,ko as getDisplayAspect,pa as getEntityFacingAngle2D,O as getGlobal,q as getGlobals,io as getHoveredEntity,po as getHoveredEntityId,ip as getPosition,wo as getPresetResolution,vr as getRotation,xo as getSelectedEntity,_ as getSelectedEntityId,oo as getSelectedEntityIds,eo as getSnapSettings,Be as getVariable,dp as getVelocity,Zp as getZylemBridge,Na as globalChange,Oa as globalChanges,fa as hasAnyWorldBoundary2DHit,xa as hasAnyWorldBoundary3DHit,St as initStageStateDispatcher,Ne as intersectPlane,t as isGLSLShader,ve as isManagedRenderEntity,Y as isPickMode,e as isTSLShader,H as isTransformTool,Fo as isWebGPUSupported,Go as joystickBaseSvg,Mo as joystickThumbSvg,D as length,W as max,jo as mergeInputConfigs,k as min,h as mix,G as mod,rp as move,Aa as moveBy,xp as moveForwardXY,Ca as moveTo,ep as moveX,ap as moveXY,pp as moveXZ,tp as moveY,mp as moveZ,S as normalize,rr as normalizeVec2,er as normalizeVec3,o as objectVertexShader,P as onGlobalChange,V as onGlobalChanges,Ra as onPress,Ua as onRelease,De as onVariableChange,Ee as onVariableChanges,Zr as packCollisionGroups,Ya as parallel,zo as parseResolution,ia as particleEffect,da as particlePresets,ft as pickZylemLine,Fr as pillCollision,Mr as pillMesh,Ga as pingPongBeep,Wr as planeCollision,l as positionWorld,n as positionWorldDirection,j as pow,Tr as pyramidCollision,Er as pyramidMesh,Io as quaternionToEuler,Uo as radiansToDegrees,ca as registerCooldown,K as registerDebugEntityResolver,Ao as registerEntityFocusContext,_a as repeat,$a as repeatForever,sa as resetCooldown,qa as resetEntityOpacity,fp as resetVelocity,na as resolveAim2D,Eo as resolveButtonAccent,Q as resolveDebugEntity,ye as resolveRenderCategory,Do as resolveTouchTheme,Ea as ricochetSound,Ha as rotateBy,fr as rotateEuler,ar as rotateInDirection,ir as rotateX,xr as rotateY,pr as rotateYEuler,dr as rotateZ,vp as screenCenterLookDeltas,Lp as screenCenterLookTargets,Xa as sequence,ao as setAddType,Lt as setCameraFeed,U as setDebugTool,M as setGlobal,mo as setGridVisible,fo as setHoveredEntityId,R as setPaused,X as setPickMode,cp as setPosition,sp as setPositionX,np as setPositionY,lp as setPositionZ,yr as setRotation,Lr as setRotationDegrees,lr as setRotationDegreesX,sr as setRotationDegreesY,hr as setRotationDegreesZ,nr as setRotationX,cr as setRotationY,Sr as setRotationZ,co as setSelectedEntity,$ as setSelectedEntityId,ro as setSelectedEntityIds,to as setSnapSettings,Pe as setStageFrameProfilerEnabled,we as setVariable,yp as shortestAngleDelta,v as sin,y as smoothstep,Qo as snapScale,Jo as snapToIncrement,Ko as snapVec3,gr as sphereCollision,Br as sphereMesh,Re as stageConfig,_e as stageState,r as standardShader,F as step,Qa as throttle,la as tickCooldowns,f as time,tr as toThreeVector2,mr as toThreeVector3,No as touchButtonSvg,Bo as touchThemes,a as uniform,Sa as updateBoundaryRicochet,lo as useArrowsForAxes,ho as useArrowsForDirections,So as useArrowsForSecondaryAxes,ha 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,Le as usesManagedRenderPath,p as uv,Pa as variableChange,Va as variableChanges,E as vec2,x as vec3,i as vec4,Xe as vessel,hp as wrapAround3D,Sp as wrapAroundXY,kr as zoneCollision,qo as zylemEventBus};
1
+ import{a as s,b as n,c as l,d as S,e as h,f as y,g as L,h as v,i as Z,j as b,k as g,l as u,m as T,n as j,o as F,p as W,q as k,r as w,s as z,t as B,u as D,v as E,w as G}from"./chunk-QB3NL7VQ.js";import"./chunk-BIGH6D34.js";import"./chunk-MSCVL5OK.js";import{a as Zp,b as bp,c as gp,d as up}from"./chunk-J6KD2G6F.js";import{a as Tp}from"./chunk-34MYRTRP.js";import{a as jp,b as Fp,c as Wp,d as kp,e as wp,f as zp,g as Bp,h as Dp,i as Ep,j as Gp,k as Mp,l as Np,m as Op,n as Pp,o as Vp,p as qp}from"./chunk-47DG7I7M.js";import{A as lf,B as Sf,C as hf,a as Ap,b as Cp,c as Hp,d as Ip,e as Jp,f as Kp,g as Qp,h as Rp,i as Up,j as Xp,k as Yp,l as _p,m as $p,n as of,o as rf,p as ef,q as tf,r as mf,s as af,t as pf,u as ff,v as xf,w as df,x as cf,y as sf,z as nf}from"./chunk-JNFFTNMH.js";import{a as Wo,b as ko,c as wo,d as zo,e as Po,f as Jm,g as Km,h as ma,i as aa,j as pa,k as fa,l as xa,m as ia,n as da,o as ca}from"./chunk-AXJTUVGC.js";import{a as Fo,c as dm,d as cm,e as sm,f as Zm,g as bm,h as Bm,i as Dm,k as Em,l as Gm,m as Mm,n as Nm,o as Om,p as Pm,q as Vm,r as qm,s as Am,t as Hm,v as Im}from"./chunk-BWOZF5YK.js";import{a as im}from"./chunk-7GYFZKK7.js";import{a as so,b as no}from"./chunk-Q2YDBMVY.js";import{c as Wm,d as km,e as wm,f as zm}from"./chunk-BCFFS3FP.js";import"./chunk-EYDC2PMO.js";import"./chunk-2HSR5XDQ.js";import{g as Xo}from"./chunk-G3TBBZUI.js";import{a as Ao,b as Co,c as Ho,d as Io,e as Jo,f as Ko,g as Qo,h as Ro,i as Uo}from"./chunk-CBUQBP2U.js";import{A 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,r as eo,s as to,t as mo,u as ao,v as po,w as fo,y as xo,z as io}from"./chunk-EVMLNMGU.js";import{b as hm}from"./chunk-WBQ5TNRZ.js";import{a as sa,b as na,c as la,d as Sa,e as ha}from"./chunk-YVWDCZNT.js";import{a as Qm,b as Rm,c as Um,d as Xm,e as Ym,f as _m,g as $m,h as oa,i as ra,j as ea,l as ta}from"./chunk-7JSZEEAE.js";import{a as nm,b as lm,c as Sm,d as ym,e as Lm,f as vm}from"./chunk-YQS7CGXE.js";import{A as ee,B as te,C as me,D as ae,E as pe,F as fe,G as xe,H as ie,I as de,J as ce,K as se,L as ne,M as le,N as Se,b as zr,c as Br,d as Dr,e as Er,f as Gr,g as Mr,h as Nr,i as Or,j as Pr,k as Vr,l as qr,m as Ar,n as Cr,o as Hr,p as Ir,q as Jr,r as Kr,s as Qr,t as Rr,u as Ur,v as Xr,w as Yr,x as _r,y as $r,z as re}from"./chunk-X7T7QRYP.js";import{c as br,d as gr,e as ur,f as Tr,g as jr,h as Fr,i as Wr,j as kr,u as wr,z as oe}from"./chunk-KP6DLLJO.js";import{c as o,d as r,h as e,i as t,k as m,l as a,m as p,n as f,o as x,p as i,q as d,r as c}from"./chunk-6FGXC4T6.js";import{a as Vo,b as qo}from"./chunk-AIQ6IVT5.js";import"./chunk-QXVH6POE.js";import{b as Zr}from"./chunk-EVYHPR3J.js";import{a as ya,b as La,c as va,d as Za,e as ba,f as ga,g as ua,h as Ta,i as ja,j as Fa,k as Wa,l as ka,m as wa,n as za,o as Ba,p as Da}from"./chunk-6XFXPIVB.js";import{$ as lt,A as Ae,Aa as At,B as Ce,Ba as Ct,C as He,Ca as Ht,D as Ie,Da as It,E as Je,Ea as Jt,F as Ke,Fa as Kt,G as Qe,Ga as Qt,H as Re,Ha as Rt,I as Ue,Ia as Ut,J as Xe,Ja as Xt,K as Ye,Ka as Yt,L as _e,La as _t,M as $e,Ma as $t,N as ot,Na as om,O as rt,Oa as rm,P as et,Pa as em,Q as tt,Qa as tm,R as mt,Ra as mm,S as at,Sa as am,T as pt,Ta as pm,U as ft,Ua as fm,V as xt,Va as xm,W as it,X as dt,Y as ct,Z as st,_ as nt,aa as St,b as he,ba as ht,c as ye,ca as yt,d as Le,da as Lt,e as ve,ea as vt,f as Ze,fa as Zt,g as be,ga as bt,h as ge,ha as gt,i as ue,ia as ut,j as Te,ja as Tt,k as je,ka as jt,l as Fe,la as Ft,m as We,ma as Wt,n as ke,na as kt,o as we,oa as wt,p as ze,pa as zt,q as Be,qa as Bt,r as De,ra as Dt,s as Ee,sa as Et,t as Ge,ta as Gt,u as Me,ua as Mt,v as Ne,va as Nt,w as Oe,wa as Ot,x as Pe,xa as Pt,y as Ve,ya as Vt,z as qe,za as qt}from"./chunk-VUJXR5K5.js";import{a as Ea,b as Ga,c as Ma}from"./chunk-ZRT3ZQVH.js";import{a as Na,b as Oa,c as Pa,d as Va}from"./chunk-WQ3WMMZD.js";import{h as gm,i as um,j as Tm,k as jm,l as Fm}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 Yo,b as _o,c as $o,d as or,g as rr,h as er,i as tr,j as mr}from"./chunk-7WRQ2UAN.js";import{A as sp,B as np,C as lp,D as Sp,E as hp,a as qa,b as Aa,c as Ca,d as Ha,e as Ia,f as Ja,g as Ka,h as Qa,i as Ra,j as Ua,k as Xa,l as Ya,m as _a,n as $a,o as op,p as rp,q as ep,r as tp,s as mp,t as ap,u as pp,v as fp,w as xp,x as ip,y as dp,z as cp}from"./chunk-IPWUDOV5.js";import{a as Cm}from"./chunk-BH53MBAZ.js";import{a as ar,b as pr,c as fr,d as xr,e as ir,f as dr,g as cr,h as sr,i as nr,j as lr,k as Sr,l as hr,m as yr,n as Lr,o as vr}from"./chunk-XRP4JJXL.js";import{a as yp,b as Lp,c as vp}from"./chunk-7QF6YTEZ.js";import"./chunk-ORIDWL3T.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 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{nm as ACTOR_TYPE,Wo as AspectRatio,Nr as BOX_TYPE,up as BRIDGE_READY_EVENT,he as BoundaryRicochet3DCoordinator,ye as BoundaryRicochetCoordinator,Cr as CONE_TYPE,Rr as CYLINDER_TYPE,Pm as CameraManager,Em as CameraPipeline,Vm as CameraWrapper,xf as ColorJsonSchema,Wm as ConstructionGrid,Le as CooldownBehavior,I as DEFAULT_SNAP_SETTINGS,re as DISK_TYPE,ve as Destructible3DBehavior,Ze as DestructibleMesh,Rp as EntityJsonSchema,Cp as EntitySchema,so as EntityThumbnailCache,Vo as EventEmitterDelegate,ym as FOG_TYPE,be as FirstPersonBehavior,ge as FirstPersonEvent,ue as FirstPersonFSM,Nm as FirstPersonPerspective,Fe as FirstPersonPresentation,Te as FirstPersonShooterCoordinator,je as FirstPersonState,Mm as Fixed2DPerspective,c as Fn,We as FractureOptions,ma as Game,Xo as GameBridge,hf as GameConfigJsonSchema,Sf as GameDeviceConfigJsonSchema,ff as GameInputConfigSchema,pf as GameInputPlayerConfigSchema,Ma as Howl,ke as Jumper2DBehavior,we as Jumper2DEvent,ze as Jumper2DFSM,Be as Jumper2DState,De as Jumper3DBehavior,Ee as Jumper3DEvent,Ge as Jumper3DFSM,Me as Jumper3DState,Xp as KeyboardMappingSchema,ne as LIGHT_TYPE,$m as LINE_TYPE,Kp as LineEntityDataSchema,af as MouseConfigSchema,Yp as MouseMappingSchema,Ne as MultidirectionalSpaceShooterCoordinator,sa as PARTICLE_SYSTEM_TYPE,Yr as PILL_TYPE,me as PLANE_TYPE,Jr as PYRAMID_TYPE,Oe as ParticleEmitterBehavior,Dm as Perspectives,Pe as Platformer2DBehavior,Ve as Platformer2DEvent,qe as Platformer2DFSM,Ae as Platformer2DState,Ce as Platformer3DBehavior,He as Platformer3DEvent,Ie as Platformer3DFSM,Je as Platformer3DState,de as RECT_TYPE,ua as RUNTIME_BOUNDARY_2D_BEHAVIOR_KEY,Ta as RUNTIME_DYNAMIC_CIRCLE_BODY_2D_BEHAVIOR_KEY,ja as RUNTIME_GOAL_ZONE_2D_BEHAVIOR_KEY,Fa as RUNTIME_PLAYER_INPUT_2D_BEHAVIOR_KEY,Wa as RUNTIME_RICOCHET_2D_BEHAVIOR_KEY,ka as RUNTIME_TRIGGER_REGION_2D_BEHAVIOR_KEY,Zm as RenderBundleManager,bm as RenderStrategyManager,lf as ResolutionInputSchema,Ke as Ricochet2DBehavior,Qe as Ricochet2DEvent,Re as Ricochet2DFSM,Ue as Ricochet2DState,Xe as Ricochet3DBehavior,Ye as Ricochet3DEvent,_e as Ricochet3DFSM,$e as Ricochet3DState,ya as RuntimeBoundary2DBehavior,La as RuntimeDynamicCircleBody2DBehavior,va as RuntimeGoalZone2DBehavior,Za as RuntimePlayerInput2DBehavior,ba as RuntimeRicochet2DBehavior,ga as RuntimeTriggerRegion2DBehavior,Vr as SPHERE_TYPE,Xm as SPRITE_TYPE,fa as STAGE_STATE_CHANGE,ot as ScreenVisibilityBehavior,rt as ScreenVisibilityFSM,et as ScreenWrapBehavior,tt as ScreenWrapEvent,mt as ScreenWrapFSM,at as ScreenWrapState,pt as Shooter2DBehavior,hm as SimulationBody,Qp as SpriteEntityDataSchema,sf as StageAssetLoaderConfigSchema,Gp as StageBodyKind,Mp as StageBoundaryDim,nf as StageConfigJsonSchema,Np as StageEventType,cf as StageGLTFAssetLoaderConfigSchema,Up as StageJsonSchema,Km as StageManager,Op as StageRicochetDim,Pp as StageRicochetReflection,Hp as StageSchema,Vp as StageTopDownPlane,Qm as TEXT_TYPE,C as TRANSFORM_TOOLS,Ip as TextEntityDataSchema,Gm as ThirdPersonPerspective,ft as ThrusterBehavior,xt as ThrusterEvent,it as ThrusterFSM,dt as ThrusterState,ct as TopDownMovementBehavior,st as TopDownShooterCoordinator,zm as TransformGizmo,_o as VEC2_ONE,Yo as VEC2_ZERO,or as VEC3_ONE,$o as VEC3_ZERO,df as Vec3ComponentsSchema,Ap as Vector2Schema,Jp as Vector3TupleSchema,of as VirtualTouchButtonConfigSchema,ef as VirtualTouchButtonsConfigSchema,mf as VirtualTouchConfigSchema,rf as VirtualTouchJoystickConfigSchema,tf as VirtualTouchJoysticksConfigSchema,$p as VirtualTouchPositionSchema,_p as VirtualTouchStyleSchema,nt as WorldBoundary2DBehavior,lt as WorldBoundary2DEvent,St as WorldBoundary2DFSM,ht as WorldBoundary2DState,yt as WorldBoundary3DBehavior,Lt as WorldBoundary3DEvent,vt as WorldBoundary3DFSM,Zt as WorldBoundary3DState,fe as ZONE_TYPE,lm as ZylemActor,Or as ZylemBox,Hr as ZylemCone,Ur as ZylemCylinder,ee as ZylemDisk,Lm as ZylemFog,Tp as ZylemGameElement,le as ZylemLight,ra as ZylemLine,na as ZylemParticleSystem,_r as ZylemPill,ae as ZylemPlane,Kr as ZylemPyramid,ce as ZylemRect,qr as ZylemSphere,Ym as ZylemSprite,Rm as ZylemText,xe as ZylemZone,u as abs,bp as announceBridgeReady,gp as applySwatchesToSelection,Cm as applyTransformChanges,g as asin,b as atan,wa as bindRuntimeDynamicCircleBody2DHandle,br as boxCollision,zr as boxMesh,Fp as buildBoxCollider,kp as buildCapsuleCollider,zp as buildConvexHullCollider,wp as buildCylinderCollider,Dp as buildHeightfieldCollider,jp as buildRuntimeBody,Wp as buildSphereCollider,Bp as buildTrimeshCollider,Ep as bundleRuntimeCollision,Ja as callFunc,L as clamp,A as clearGlobalSubscriptions,km as closestAxisValue,bt as computeWorldBoundary2DHits,gt as computeWorldBoundary3DHits,ur as coneCollision,Dr as coneMesh,Z as cos,wr as create,Sm as createActor,s as createBackgroundShader,Pr as createBox,qm as createCamera,Ir as createCone,Sa as createCooldownIcon,Xr as createCylinder,te as createDisk,oe as createEntity,ta as createEntityFactory,ut as createFirstPersonInputComponent,Tt as createFirstPersonMovementComponent,jt as createFirstPersonStateComponent,vm as createFog,da as createFollowTarget,aa as createGame,N as createGlobal,Ft as createJumpConfig2D,Wt as createJumpConfig3D,kt as createJumpInput2D,wt as createJumpInput3D,zt as createJumpState2D,Bt as createJumpState3D,Se as createLight,ea as createLine,m as createNodeMaterialFromTSL,la as createParticleSystem,Om as createPerspective,Dt as createPhysicsBodyComponent,$r as createPill,pe as createPlane,Et as createPlatformer2DInputComponent,Gt as createPlatformer2DMovementComponent,Mt as createPlatformer2DStateComponent,Nt as createPlatformer3DInputComponent,Ot as createPlatformer3DMovementComponent,Pt as createPlatformer3DStateComponent,Qr as createPyramid,se as createRect,Vt as createShooter2DStateComponent,qp as createSimulation,Ar as createSphere,_m as createSprite,Im as createStage,Um as createText,qt as createThrusterInputComponent,At as createThrusterMovementComponent,Ct as createThrusterStateComponent,Ht as createTopDownMovementComponent,It as createTopDownMovementInputComponent,Jt as createTopDownMovementStateComponent,Kt as createTransformComponent,op as createTransformStore,um as createVariable,ie as createZone,im as crossfadeTransitionShader,jr as cylinderCollision,Gr as cylinderMesh,J as debugState,Oo as defaultTouchControls,Qt as defineBehavior,Ro as degreesToRadians,Ia as delay,ha as destroy,ia as dispatchStageState,B as dot,za as emitRuntimeGoal,Ba as emitRuntimeRicochet,Da as emitRuntimeTriggerRegionEnter,pa as entitySpawner,no as entityThumbnailCache,Ho as eulerToQuaternion,T as exp,Ka as fadeOpacity,Rt as fireCooldown,Ut as fireShooter2DIfRequested,d as float,w as floor,Co as focusEntity,z as fract,Po as gameConfig,Xt as getCooldown,Yt as getCooldownStore,ko as getDisplayAspect,_t as getEntityFacingAngle2D,O as getGlobal,q as getGlobals,io as getHoveredEntity,po as getHoveredEntityId,ip as getPosition,wo as getPresetResolution,vr as getRotation,xo as getSelectedEntity,_ as getSelectedEntityId,oo as getSelectedEntityIds,eo as getSnapSettings,Tm as getVariable,dp as getVelocity,Zp as getZylemBridge,Na as globalChange,Oa as globalChanges,$t as hasAnyWorldBoundary2DHit,om as hasAnyWorldBoundary3DHit,xa as initStageStateDispatcher,wm as intersectPlane,t as isGLSLShader,sm as isManagedRenderEntity,Y as isPickMode,e as isTSLShader,H as isTransformTool,Fo as isWebGPUSupported,Go as joystickBaseSvg,Mo as joystickThumbSvg,D as length,W as max,jo as mergeInputConfigs,k as min,h as mix,G as mod,rp as move,Aa as moveBy,xp as moveForwardXY,Ca as moveTo,ep as moveX,ap as moveXY,pp as moveXZ,tp as moveY,mp as moveZ,S as normalize,rr as normalizeVec2,er as normalizeVec3,o as objectVertexShader,P as onGlobalChange,V as onGlobalChanges,Ra as onPress,Ua as onRelease,jm as onVariableChange,Fm as onVariableChanges,Zr as packCollisionGroups,Ya as parallel,zo as parseResolution,rm as particleEffect,em as particlePresets,oa as pickZylemLine,Fr as pillCollision,Mr as pillMesh,Ga as pingPongBeep,Wr as planeCollision,l as positionWorld,n as positionWorldDirection,j as pow,Tr as pyramidCollision,Er as pyramidMesh,Io as quaternionToEuler,Uo as radiansToDegrees,tm as registerCooldown,K as registerDebugEntityResolver,Ao as registerEntityFocusContext,_a as repeat,$a as repeatForever,mm as resetCooldown,qa as resetEntityOpacity,fp as resetVelocity,am as resolveAim2D,Eo as resolveButtonAccent,Q as resolveDebugEntity,dm as resolveRenderCategory,Do as resolveTouchTheme,Ea as ricochetSound,Ha as rotateBy,fr as rotateEuler,ar as rotateInDirection,ir as rotateX,xr as rotateY,pr as rotateYEuler,dr as rotateZ,vp as screenCenterLookDeltas,Lp as screenCenterLookTargets,Xa as sequence,ao as setAddType,ca as setCameraFeed,U as setDebugTool,M as setGlobal,mo as setGridVisible,fo as setHoveredEntityId,R as setPaused,X as setPickMode,cp as setPosition,sp as setPositionX,np as setPositionY,lp as setPositionZ,yr as setRotation,Lr as setRotationDegrees,lr as setRotationDegreesX,sr as setRotationDegreesY,hr as setRotationDegreesZ,nr as setRotationX,cr as setRotationY,Sr as setRotationZ,co as setSelectedEntity,$ as setSelectedEntityId,ro as setSelectedEntityIds,to as setSnapSettings,Bm as setStageFrameProfilerEnabled,gm as setVariable,yp as shortestAngleDelta,v as sin,y as smoothstep,Qo as snapScale,Jo as snapToIncrement,Ko as snapVec3,gr as sphereCollision,Br as sphereMesh,Am as stageConfig,Jm as stageState,r as standardShader,F as step,Qa as throttle,pm as tickCooldowns,f as time,tr as toThreeVector2,mr as toThreeVector3,No as touchButtonSvg,Bo as touchThemes,a as uniform,fm as updateBoundaryRicochet,lo as useArrowsForAxes,ho as useArrowsForDirections,So as useArrowsForSecondaryAxes,xm 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,cm as usesManagedRenderPath,p as uv,Pa as variableChange,Va as variableChanges,E as vec2,x as vec3,i as vec4,Hm as vessel,hp as wrapAround3D,Sp as wrapAroundXY,kr as zoneCollision,qo as zylemEventBus};
package/dist/runtime.js CHANGED
@@ -1 +1 @@
1
- import{a as c,b as d,c as e,d as f,e as g,f as h,g as i,h as j,i as k,j as l,k as m,l as n,m as o,n as p,o as q,p as r}from"./chunk-47DG7I7M.js";import{b}from"./chunk-WBQ5TNRZ.js";import{b as a}from"./chunk-EVYHPR3J.js";import"./chunk-7WRQ2UAN.js";export{b as SimulationBody,l as StageBodyKind,m as StageBoundaryDim,n as StageEventType,o as StageRicochetDim,p as StageRicochetReflection,q as StageTopDownPlane,d as buildBoxCollider,f as buildCapsuleCollider,h as buildConvexHullCollider,g as buildCylinderCollider,j as buildHeightfieldCollider,c as buildRuntimeBody,e as buildSphereCollider,i as buildTrimeshCollider,k as bundleRuntimeCollision,r as createSimulation,a as packCollisionGroups};
1
+ import{a as c,b as d,c as e,d as f,e as g,f as h,g as i,h as j,i as k,j as l,k as m,l as n,m as o,n as p,o as q,p as r}from"./chunk-47DG7I7M.js";import{b}from"./chunk-WBQ5TNRZ.js";import{b as a}from"./chunk-EVYHPR3J.js";import"./chunk-7WRQ2UAN.js";import"./chunk-WOT6VMZA.js";export{b as SimulationBody,l as StageBodyKind,m as StageBoundaryDim,n as StageEventType,o as StageRicochetDim,p as StageRicochetReflection,q as StageTopDownPlane,d as buildBoxCollider,f as buildCapsuleCollider,h as buildConvexHullCollider,g as buildCylinderCollider,j as buildHeightfieldCollider,c as buildRuntimeBody,e as buildSphereCollider,i as buildTrimeshCollider,k as bundleRuntimeCollision,r as createSimulation,a as packCollisionGroups};
@@ -5,6 +5,10 @@
5
5
  "anyOf": [
6
6
  {
7
7
  "type": "object",
8
+ "required": [
9
+ "id",
10
+ "type"
11
+ ],
8
12
  "properties": {
9
13
  "id": {
10
14
  "type": "string"
@@ -48,14 +52,14 @@
48
52
  }
49
53
  }
50
54
  }
51
- },
52
- "required": [
53
- "id",
54
- "type"
55
- ]
55
+ }
56
56
  },
57
57
  {
58
58
  "type": "object",
59
+ "required": [
60
+ "id",
61
+ "type"
62
+ ],
59
63
  "properties": {
60
64
  "id": {
61
65
  "type": "string"
@@ -96,14 +100,14 @@
96
100
  }
97
101
  }
98
102
  }
99
- },
100
- "required": [
101
- "id",
102
- "type"
103
- ]
103
+ }
104
104
  },
105
105
  {
106
106
  "type": "object",
107
+ "required": [
108
+ "id",
109
+ "type"
110
+ ],
107
111
  "properties": {
108
112
  "id": {
109
113
  "type": "string"
@@ -132,6 +136,9 @@
132
136
  "title": "LineEntityData",
133
137
  "additionalProperties": true,
134
138
  "type": "object",
139
+ "required": [
140
+ "points"
141
+ ],
135
142
  "properties": {
136
143
  "points": {
137
144
  "minItems": 2,
@@ -191,19 +198,16 @@
191
198
  "pickThreshold": {
192
199
  "type": "number"
193
200
  }
194
- },
195
- "required": [
196
- "points"
197
- ]
201
+ }
198
202
  }
199
- },
200
- "required": [
201
- "id",
202
- "type"
203
- ]
203
+ }
204
204
  },
205
205
  {
206
206
  "type": "object",
207
+ "required": [
208
+ "id",
209
+ "type"
210
+ ],
207
211
  "properties": {
208
212
  "id": {
209
213
  "type": "string"
@@ -234,11 +238,7 @@
234
238
  "^(.*)$": {}
235
239
  }
236
240
  }
237
- },
238
- "required": [
239
- "id",
240
- "type"
241
- ]
241
+ }
242
242
  }
243
243
  ]
244
244
  }