@zylem/game-lib 0.9.6 → 0.9.8

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 (142) hide show
  1. package/dist/actions.d.ts +3 -3
  2. package/dist/api/game-lib.api.json +99183 -42019
  3. package/dist/api/game-lib.api.md +3822 -706
  4. package/dist/api/game-lib.d.ts +8703 -784
  5. package/dist/api/game-lib.typedoc.json +336362 -193038
  6. package/dist/audio.js +1 -1
  7. package/dist/behavior/action/fighting.d.ts +1 -0
  8. package/dist/behavior/action/fighting.js +1 -0
  9. package/dist/behavior/action/pinball.d.ts +1 -0
  10. package/dist/behavior/action/pinball.js +1 -0
  11. package/dist/behavior/action/platform.d.ts +1 -0
  12. package/dist/behavior/action/platform.js +1 -0
  13. package/dist/behavior/action/rhythm.d.ts +1 -0
  14. package/dist/behavior/action/rhythm.js +1 -0
  15. package/dist/behavior/action/shooter/first-person.d.ts +1 -0
  16. package/dist/behavior/action/shooter/first-person.js +1 -0
  17. package/dist/behavior/action/shooter/shoot-em-up.d.ts +1 -0
  18. package/dist/behavior/action/shooter/shoot-em-up.js +1 -0
  19. package/dist/behavior/action/shooter.d.ts +1 -0
  20. package/dist/behavior/action/shooter.js +1 -0
  21. package/dist/behavior/action/stealth.d.ts +1 -0
  22. package/dist/behavior/action/stealth.js +1 -0
  23. package/dist/behavior/action/survival.d.ts +1 -0
  24. package/dist/behavior/action/survival.js +1 -0
  25. package/dist/behavior/action-adventure.d.ts +1 -0
  26. package/dist/behavior/action-adventure.js +1 -0
  27. package/dist/behavior/action.d.ts +1 -0
  28. package/dist/behavior/action.js +1 -0
  29. package/dist/behavior/genre-map.d.ts +1 -0
  30. package/dist/behavior/genre-map.js +1 -0
  31. package/dist/behavior/mechanics.d.ts +1 -0
  32. package/dist/behavior/mechanics.js +1 -0
  33. package/dist/behavior/puzzle/physics.d.ts +1 -0
  34. package/dist/behavior/puzzle/physics.js +1 -0
  35. package/dist/behavior/puzzle/tile-matching.d.ts +1 -0
  36. package/dist/behavior/puzzle/tile-matching.js +1 -0
  37. package/dist/behavior/puzzle.d.ts +1 -0
  38. package/dist/behavior/puzzle.js +1 -0
  39. package/dist/behavior/role-playing/action-rpg.d.ts +1 -0
  40. package/dist/behavior/role-playing/action-rpg.js +1 -0
  41. package/dist/behavior/role-playing/monster-taming.d.ts +1 -0
  42. package/dist/behavior/role-playing/monster-taming.js +1 -0
  43. package/dist/behavior/role-playing/tactical-rpg.d.ts +1 -0
  44. package/dist/behavior/role-playing/tactical-rpg.js +1 -0
  45. package/dist/behavior/role-playing/turn-based.d.ts +1 -0
  46. package/dist/behavior/role-playing/turn-based.js +1 -0
  47. package/dist/behavior/role-playing.d.ts +1 -0
  48. package/dist/behavior/role-playing.js +1 -0
  49. package/dist/behavior/simulation/life.d.ts +1 -0
  50. package/dist/behavior/simulation/life.js +1 -0
  51. package/dist/behavior/simulation/vehicle/racing.d.ts +1 -0
  52. package/dist/behavior/simulation/vehicle/racing.js +1 -0
  53. package/dist/behavior/simulation/vehicle.d.ts +1 -0
  54. package/dist/behavior/simulation/vehicle.js +1 -0
  55. package/dist/behavior/simulation.d.ts +1 -0
  56. package/dist/behavior/simulation.js +1 -0
  57. package/dist/behavior/sports/golf.d.ts +1 -0
  58. package/dist/behavior/sports/golf.js +1 -0
  59. package/dist/behavior/sports/racing.d.ts +1 -0
  60. package/dist/behavior/sports/racing.js +1 -0
  61. package/dist/behavior/sports/racket.d.ts +1 -0
  62. package/dist/behavior/sports/racket.js +1 -0
  63. package/dist/behavior/sports/skate.d.ts +1 -0
  64. package/dist/behavior/sports/skate.js +1 -0
  65. package/dist/behavior/sports.d.ts +1 -0
  66. package/dist/behavior/sports.js +1 -0
  67. package/dist/behavior/strategy/real-time-tactics.d.ts +1 -0
  68. package/dist/behavior/strategy/real-time-tactics.js +1 -0
  69. package/dist/behavior/strategy/tower-defense.d.ts +1 -0
  70. package/dist/behavior/strategy/tower-defense.js +1 -0
  71. package/dist/behavior/strategy/turn-based-tactics.d.ts +1 -0
  72. package/dist/behavior/strategy/turn-based-tactics.js +1 -0
  73. package/dist/behavior/strategy.d.ts +1 -0
  74. package/dist/behavior/strategy.js +1 -0
  75. package/dist/behavior.d.ts +34 -0
  76. package/dist/bridge.d.ts +16 -4
  77. package/dist/bridge.js +1 -1
  78. package/dist/catalog.d.ts +1 -1
  79. package/dist/catalog.js +1 -1
  80. package/dist/chunk-26EJFYDX.js +1 -0
  81. package/dist/chunk-2NO4YCLR.js +1 -0
  82. package/dist/chunk-3LXDHDJB.js +1 -0
  83. package/dist/chunk-4DAITCJS.js +1 -0
  84. package/dist/{chunk-Y23IJJPD.js → chunk-5NQGXW75.js} +1 -1
  85. package/dist/chunk-5WRFDAZN.js +1 -0
  86. package/dist/{chunk-OCQ7A5IK.js → chunk-B6GDESCB.js} +1 -1
  87. package/dist/chunk-BIZOIGCZ.js +1 -0
  88. package/dist/chunk-BJYXY2FB.js +1 -0
  89. package/dist/chunk-CI7A5N6G.js +1 -0
  90. package/dist/chunk-GQXYD2JG.js +1 -0
  91. package/dist/{chunk-KIFB427K.js → chunk-ICJ2E2OV.js} +1 -1
  92. package/dist/chunk-NPA6GUGE.js +24 -0
  93. package/dist/chunk-SIRFF4DY.js +1 -0
  94. package/dist/chunk-T6O2SGH5.js +1 -0
  95. package/dist/chunk-UNCP6V7I.js +1 -0
  96. package/dist/chunk-Y5IU6IA5.js +1 -0
  97. package/dist/chunk-YFXNZ2RS.js +1 -0
  98. package/dist/chunk-YW2GTHCV.js +19 -0
  99. package/dist/chunk-YWH5HQDT.js +1 -0
  100. package/dist/cinematics.d.ts +7 -6
  101. package/dist/core.d.ts +20 -17
  102. package/dist/core.js +1 -1
  103. package/dist/{debug-state-DhVkY2aM.d.ts → debug-state-JRneI6c2.d.ts} +2 -2
  104. package/dist/debug.d.ts +28 -126
  105. package/dist/debug.js +1 -1
  106. package/dist/{entity-DC0P747T.d.ts → entity-CY75JJSw.d.ts} +78 -4
  107. package/dist/{entity-type-map-B0S5cfv7.d.ts → entity-type-map-BMaPY8cd.d.ts} +2 -2
  108. package/dist/entity.d.ts +5 -5
  109. package/dist/entity.js +1 -1
  110. package/dist/fbx-loader-SDI6QYTS.js +1 -0
  111. package/dist/game-default-AF5QFXSD.js +1 -0
  112. package/dist/{game-mu6OSCrq.d.ts → game-uQd7k6-m.d.ts} +3 -3
  113. package/dist/gaussian-splat-loader-ACFJKCCL.js +1 -0
  114. package/dist/geometry-mesh-loader-XDJV77TU.js +1 -0
  115. package/dist/graphics.d.ts +3 -3
  116. package/dist/graphics.js +1 -1
  117. package/dist/{material-CxxAyJYp.d.ts → material-D1IVeQc5.d.ts} +48 -2
  118. package/dist/obj-loader-SI5RVY24.js +1 -0
  119. package/dist/placement-session-BNQoL7Jb.d.ts +82 -0
  120. package/dist/placement.d.ts +52 -0
  121. package/dist/placement.js +1 -0
  122. package/dist/public.d.ts +12 -10
  123. package/dist/public.js +1 -1
  124. package/dist/sog-loader-BZFMQ3ZB.js +1 -0
  125. package/dist/{stage-B_KdSEK6.d.ts → stage-Dez16Gxm.d.ts} +186 -16
  126. package/dist/transform-gizmo-DappLQ9w.d.ts +123 -0
  127. package/dist/usd-loader-PCBATNPM.js +1 -0
  128. package/dist/web-components.d.ts +9 -8
  129. package/dist/{zylem-camera-CWhIGXlW.d.ts → zylem-camera-BA3VPFlS.d.ts} +9 -0
  130. package/package.json +150 -7
  131. package/dist/chunk-47HAZZWF.js +0 -1
  132. package/dist/chunk-5V52N34T.js +0 -1
  133. package/dist/chunk-6FGXC4T6.js +0 -19
  134. package/dist/chunk-FUZDTRCU.js +0 -1
  135. package/dist/chunk-P6IOYQHU.js +0 -1
  136. package/dist/chunk-QB3NL7VQ.js +0 -1
  137. package/dist/chunk-RPMV7GDX.js +0 -24
  138. package/dist/chunk-VKWJHFUR.js +0 -1
  139. package/dist/chunk-VXE3CV3K.js +0 -1
  140. package/dist/chunk-YRHRMVHS.js +0 -1
  141. package/dist/game-default-VUMUMTXA.js +0 -1
  142. package/dist/level-types-D10LiOcn.d.ts +0 -91
@@ -0,0 +1,82 @@
1
+ import { G as GameEntity, a as PlacementPointContext } from './entity-CY75JJSw.js';
2
+ import { e as Vec3Input, d as Vec3Components } from './vector-D3eDzvcA.js';
3
+
4
+ /**
5
+ * The object drawn under the cursor while a placement is armed.
6
+ *
7
+ * It is not spawned. Spawning it would put a ghost in `childrenMap`, the
8
+ * entity list, and the physics world, and the pointer ray would hit the thing
9
+ * it is trying to place. The render object is cloned (geometry and materials
10
+ * included, so disposing the throwaway source cannot blank the preview) and
11
+ * parented to a scene group, the same idea as the editor's PlacementGhost.
12
+ * Materials are kept, not replaced with a flat color, so a sprite still looks
13
+ * like the sprite. Opacity is animated here; `onFrame` can drive the rest.
14
+ */
15
+
16
+ interface RepresentativeLook {
17
+ opacity?: number;
18
+ color?: number | string;
19
+ }
20
+ interface RepresentativeFrame {
21
+ delta: number;
22
+ opacity: number;
23
+ setOpacity: (opacity: number) => void;
24
+ valid: boolean;
25
+ position: Vec3Components;
26
+ }
27
+ interface EntityRepresentativeOptions {
28
+ /** Resting opacity when a look doesn't override it. Defaults to 0.45. */
29
+ opacity?: number;
30
+ /** Seconds to fade in, and to fade between valid and invalid. */
31
+ fadeIn?: number;
32
+ /** Seconds to fade out when the session ends. */
33
+ fadeOut?: number;
34
+ valid?: RepresentativeLook;
35
+ invalid?: RepresentativeLook;
36
+ /** Added to the preview only. The spawned entity does not inherit it. */
37
+ offset?: Vec3Input;
38
+ onFrame?: (state: RepresentativeFrame) => void;
39
+ }
40
+ type RepresentativeSource = GameEntity<any> | (() => GameEntity<any>);
41
+ interface EntityRepresentative {
42
+ source: RepresentativeSource;
43
+ options: EntityRepresentativeOptions;
44
+ }
45
+ /** What follows the cursor. The stage builds the preview when the session arms. */
46
+ declare function entityRepresentative(source: RepresentativeSource, options?: EntityRepresentativeOptions): EntityRepresentative;
47
+
48
+ /**
49
+ * Authoring types for a click-to-place session.
50
+ *
51
+ * The session is armed on the stage. The representative follows the cursor,
52
+ * and a left click asks `spawnOnClick` for the entity to add. Drag-to-drop is
53
+ * not this session — picking something up is a hover-area click that arms one.
54
+ */
55
+
56
+ interface ArmPlacementOptions {
57
+ representative: EntityRepresentative;
58
+ /** Handed to droppable `accepts` and to `spawnOnClick`. Author-defined. */
59
+ payload?: unknown;
60
+ /**
61
+ * Left click while armed. Return an entity (or a factory / promise the
62
+ * stage can spawn) to add it. Return `null` or `false` to reject the click.
63
+ * Called only when the cursor is somewhere a placement is allowed.
64
+ */
65
+ spawnOnClick?: (ctx: PlacementPointContext) => unknown;
66
+ /** Stay armed after a successful click so the next click places another. */
67
+ repeat?: boolean;
68
+ /** World-unit lattice. Omit to keep the hit point or the area center. */
69
+ snap?: number;
70
+ /**
71
+ * Where the preview sits while a droppable is under the cursor.
72
+ * Defaults to the area's own `placeAt`, then `'area'`.
73
+ */
74
+ placeAt?: 'area' | 'hit';
75
+ }
76
+ interface PlacementSession {
77
+ cancel(): void;
78
+ setPayload(payload: unknown): void;
79
+ setRepresentative(representative: EntityRepresentative): void;
80
+ }
81
+
82
+ export { type ArmPlacementOptions as A, type EntityRepresentative as E, type PlacementSession as P, type RepresentativeFrame as R, type EntityRepresentativeOptions as a, type RepresentativeLook as b, type RepresentativeSource as c, entityRepresentative as e };
@@ -0,0 +1,52 @@
1
+ import { B as BaseNode } from './base-node-idopiSw5.js';
2
+ import { d as GameEntityOptions, H as HoverAreaOptions, G as GameEntity, P as PointerAreaContext, D as DroppableAreaOptions, a as PlacementPointContext } from './entity-CY75JJSw.js';
3
+ export { b as PointerTargetEntity } from './entity-CY75JJSw.js';
4
+ export { A as ArmPlacementOptions, E as EntityRepresentative, a as EntityRepresentativeOptions, P as PlacementSession, R as RepresentativeFrame, b as RepresentativeLook, c as RepresentativeSource, e as entityRepresentative } from './placement-session-BNQoL7Jb.js';
5
+ import './base-node-life-cycle-BK9xebT9.js';
6
+ import 'three';
7
+ import './stage-transition-CmGpV4tc.js';
8
+ import '@zylem/behaviors/core';
9
+ import './simulation-body-zQw-emOr.js';
10
+ import './vector-D3eDzvcA.js';
11
+ import './material-D1IVeQc5.js';
12
+ import 'three/webgpu';
13
+ import './collision-builder-BckxkdmA.js';
14
+ import './events.js';
15
+ import 'mitt';
16
+
17
+ /**
18
+ * Invisible pointer volumes.
19
+ *
20
+ * These are entities so they join a stage the same way a box does, but they
21
+ * have no collider. Hit testing is a ray against the authored box — a sensor
22
+ * would be skipped by the solid-only physics raycast, and a hotspot should
23
+ * not push characters around. An existing mesh can take the same role with
24
+ * `entity.hoverArea(...)` / `entity.droppableArea(...)`.
25
+ */
26
+
27
+ type HoverAreaEntityOptions = GameEntityOptions & HoverAreaOptions;
28
+ type DroppableAreaEntityOptions = GameEntityOptions & DroppableAreaOptions;
29
+ declare const HOVER_AREA_TYPE: unique symbol;
30
+ declare const DROPPABLE_AREA_TYPE: unique symbol;
31
+ declare class ZylemHoverArea extends GameEntity<HoverAreaEntityOptions> {
32
+ static type: symbol;
33
+ protected areaName: string;
34
+ constructor(options?: HoverAreaEntityOptions);
35
+ create(): this;
36
+ onEnter(callback: (ctx: PointerAreaContext) => void): this;
37
+ onLeave(callback: (ctx: PointerAreaContext) => void): this;
38
+ onMove(callback: (ctx: PointerAreaContext) => void): this;
39
+ onClick(callback: (ctx: PointerAreaContext) => void): this;
40
+ }
41
+ declare class ZylemDroppableArea extends ZylemHoverArea {
42
+ static type: symbol;
43
+ protected areaName: string;
44
+ onDrop(callback: (ctx: PlacementPointContext) => void): this;
45
+ accepts(predicate: NonNullable<DroppableAreaOptions['accepts']>): this;
46
+ }
47
+ type HoverAreaArgs = BaseNode | Partial<HoverAreaEntityOptions>;
48
+ type DroppableAreaArgs = BaseNode | Partial<DroppableAreaEntityOptions>;
49
+ declare function createHoverArea(...args: Array<HoverAreaArgs>): ZylemHoverArea;
50
+ declare function createDroppableArea(...args: Array<DroppableAreaArgs>): ZylemDroppableArea;
51
+
52
+ export { DROPPABLE_AREA_TYPE, DroppableAreaOptions, HOVER_AREA_TYPE, HoverAreaOptions, PlacementPointContext, PointerAreaContext, ZylemDroppableArea, ZylemHoverArea, createDroppableArea, createHoverArea };
@@ -0,0 +1 @@
1
+ import{a as b,b as c,c as d,d as e,e as f,f as g}from"./chunk-YFXNZ2RS.js";import{c as a}from"./chunk-Y5IU6IA5.js";import"./chunk-CI7A5N6G.js";import"./chunk-EVYHPR3J.js";import"./chunk-XRP4JJXL.js";import"./chunk-YW2GTHCV.js";import"./chunk-5WRFDAZN.js";import"./chunk-2NO4YCLR.js";import"./chunk-T6O2SGH5.js";import"./chunk-AIQ6IVT5.js";import"./chunk-QXVH6POE.js";import"./chunk-7WRQ2UAN.js";import"./chunk-WOT6VMZA.js";export{c as DROPPABLE_AREA_TYPE,b as HOVER_AREA_TYPE,e as ZylemDroppableArea,d as ZylemHoverArea,g as createDroppableArea,f as createHoverArea,a as entityRepresentative};
package/dist/public.d.ts CHANGED
@@ -1,17 +1,17 @@
1
- export { A as AspectRatio, f as AspectRatioValue, D as DeviceProfile, G as Game, b as GameConfigLike, d as GameDeviceConfig, a as GameLoadingEvent, R as ResolutionInput, e as ResolveGameConfigRuntime, j as RetroPreset, k as RetroPresetKey, l as RetroResolution, c as createGame, g as gameConfig, h as getDisplayAspect, i as getPresetResolution, p as parseResolution } from './game-mu6OSCrq.js';
1
+ export { A as AspectRatio, f as AspectRatioValue, D as DeviceProfile, G as Game, b as GameConfigLike, d as GameDeviceConfig, a as GameLoadingEvent, R as ResolutionInput, e as ResolveGameConfigRuntime, j as RetroPreset, k as RetroPresetKey, l as RetroResolution, c as createGame, g as gameConfig, h as getDisplayAspect, i as getPresetResolution, p as parseResolution } from './game-uQd7k6-m.js';
2
2
  export { G as GameInputConfig, a as GameInputPlayerConfig, K as KeyboardMapping, M as MouseConfig, b as MouseMapping, V as VirtualTouchButtonConfig, d as VirtualTouchButtonSlot, c as VirtualTouchButtonsConfig, e as VirtualTouchConfig, f as VirtualTouchJoystickConfig, g as VirtualTouchJoysticksConfig, h as VirtualTouchPosition, i as VirtualTouchStyle, Z as ZylemGameConfig } from './game-interfaces-vF5sRi1n.js';
3
- export { e as CameraManager, d as CameraOptions, C as CameraWrapper, l as FirstPersonOptions, f as FirstPersonPerspective, k as Fixed2DOptions, F as Fixed2DPerspective, n as IsometricOptions, I as IsometricPerspective, P as PerspectiveOptions, R as RenderBundleManager, p as RenderStrategyManager, m as SecondPersonOptions, g as SecondPersonPerspective, S as StageConfigLike, a as StageOptions, j as ThirdPersonOptions, T as ThirdPersonPerspective, o as TopDownOptions, h as TopDownPerspective, b as createCamera, i as createPerspective, c as createStage, s as stageConfig } from './stage-B_KdSEK6.js';
3
+ export { e as CameraManager, d as CameraOptions, C as CameraWrapper, l as FirstPersonOptions, f as FirstPersonPerspective, k as Fixed2DOptions, F as Fixed2DPerspective, n as IsometricOptions, I as IsometricPerspective, P as PerspectiveOptions, R as RenderBundleManager, p as RenderStrategyManager, m as SecondPersonOptions, g as SecondPersonPerspective, S as StageConfigLike, a as StageOptions, j as ThirdPersonOptions, T as ThirdPersonPerspective, o as TopDownOptions, h as TopDownPerspective, b as createCamera, i as createPerspective, c as createStage, s as stageConfig } from './stage-Dez16Gxm.js';
4
4
  export { CameraFeedOptions, FollowTargetOptions, LevelStage, PlatformAxisMode, PlatformAxisModes, PlatformFollowOptions, RenderCategory, STAGE_STATE_CHANGE, StageManager, StageStateChangeEvent, StrategyPanBehavior, StrategyPanInput, StrategyPanOptions, StrategyPointer, StreamLevelOptions, StreamLevelResult, Vect3, createFollowTarget, createPlatformFollow, createStrategyPan, dispatchStageState, entitySpawner, getActiveLevelDocument, initStageStateDispatcher, isManagedRenderEntity, resolveRenderCategory, setCameraFeed, setStageFrameProfilerEnabled, stageState, streamLevel, streamLevelOnStage, usesManagedRenderPath, vessel } from './core.js';
5
- export { L as LevelDocument } from './level-types-D10LiOcn.js';
6
- export { BRIDGE_READY_EVENT, BridgeChannel, BridgeDebugTool, BridgeHandler, GameLoadingPayload as BridgeLoadingPayload, BridgeMessageType, BridgeMessages, BridgeNdc, BridgeVec3, CameraPosePayload, CutsceneLoadPayload, CutscenePlaybackState, CutsceneStatusPayload, CutsceneViewPayload, EditorToGameMessages, EntityApplySwatchPayload, EntityPickPayload, EntityPickResultPayload, EntitySummaryPayload, EntitySwatchAppliedPayload, EntityThumbnailPayload, GameConfigPayload, GameToEditorMessages, GameVariablePayload, LevelBuffer, StageConfigPayload, StageSnapshotPayload, SwatchApplyFailureReason, SwatchApplyResult, SwatchKind, SwatchSpec, ZylemBridge, announceBridgeReady, applySwatchesToSelection, getZylemBridge } from '@zylem/bridge';
5
+ export { BRIDGE_READY_EVENT, BridgeChannel, BridgeDebugTool, BridgeHandler, GameLoadingPayload as BridgeLoadingPayload, BridgeMessageType, BridgeMessages, BridgeNdc, BridgeVec3, CameraPosePayload, CutsceneLoadPayload, CutscenePlaybackState, CutsceneStatusPayload, CutsceneViewPayload, EditorToGameMessages, EntityApplySwatchPayload, EntityPickPayload, EntityPickResultPayload, EntitySummaryPayload, EntitySwatchAppliedPayload, EntityThumbnailPayload, GameConfigPayload, GameToEditorMessages, GameVariablePayload, LevelBuffer, LevelDocument, StageConfigPayload, StageSnapshotPayload, SwatchApplyFailureReason, SwatchApplyResult, SwatchKind, SwatchSpec, ZylemBridge, announceBridgeReady, applySwatchesToSelection, getZylemBridge } from '@zylem/bridge';
6
+ export { A as ArmPlacementOptions, E as EntityRepresentative, a as EntityRepresentativeOptions, P as PlacementSession, R as RepresentativeFrame, b as RepresentativeLook, c as RepresentativeSource, e as entityRepresentative } from './placement-session-BNQoL7Jb.js';
7
7
  export { f as EntityBlueprint, j as EntityJson, d as EntityJsonSchema, E as EntitySchema, i as LineEntityData, L as LineEntityDataSchema, h as SpriteEntityData, b as SpriteEntityDataSchema, S as StageBlueprint, k as StageJson, e as StageJsonSchema, c as StageSchema, g as TextEntityData, T as TextEntityDataSchema, V as Vector2Schema, a as Vector3TupleSchema } from './blueprints-TbGY-h53.js';
8
8
  export { A as AnalogState, d as ButtonName, B as ButtonState, c as InputGamepad, b as InputPlayer, e as InputPlayerNumber, f as InputProvider, I as Inputs, L as LoadingEvent, a as SetupContext, S as StageNavigationOptions, U as UpdateContext } from './base-node-life-cycle-BK9xebT9.js';
9
9
  export { S as StageTransitionConfig, a as StageTransitionEasing, Z as ZylemTransitionShader, c as crossfadeTransitionShader } from './stage-transition-CmGpV4tc.js';
10
- export { g as CameraAction, f as CameraBehavior, d as CameraContext, e as CameraPerspective, k as CameraPipeline, h as CameraPipelineState, C as CameraPose, j as CameraProjection, P as PerspectiveType, a as Perspectives, c as PoseDelta, T as TransformLike, V as Viewport, Z as ZylemPostEffect, b as ZylemRenderer, i as isWebGPUSupported } from './zylem-camera-CWhIGXlW.js';
10
+ export { g as CameraAction, f as CameraBehavior, d as CameraContext, e as CameraPerspective, k as CameraPipeline, h as CameraPipelineState, C as CameraPose, j as CameraProjection, P as PerspectiveType, a as Perspectives, c as PoseDelta, T as TransformLike, V as Viewport, Z as ZylemPostEffect, b as ZylemRenderer, i as isWebGPUSupported } from './zylem-camera-BA3VPFlS.js';
11
11
  export { S as StageEntity } from './entity-BIf_a4dl.js';
12
12
  export { f as VEC2_ONE, g as VEC2_ZERO, h as VEC3_ONE, i as VEC3_ZERO, V as Vec2, a as Vec2Components, b as Vec2Input, c as Vec3, d as Vec3Components, e as Vec3Input, n as normalizeVec2, j as normalizeVec3, t as toThreeVector2, k as toThreeVector3 } from './vector-D3eDzvcA.js';
13
- export { A as ACTOR_TYPE, a1 as AmbientLightOptions, B as BOX_TYPE, F as CONE_TYPE, L as CYLINDER_TYPE, C as CollisionShapeType, D as DISK_TYPE, a3 as DirectionalLightOptions, am as EntityForType, al as EntityTypeMap, a9 as FOG_TYPE, a2 as HemisphereLightOptions, $ as LIGHT_TYPE, ac as LINE_TYPE, a6 as LightShadowOptions, af as LinePickResult, o as OnEnterParams, p as OnExitParams, O as OnHeldParams, W as PARTICLE_SYSTEM_TYPE, Q as PILL_TYPE, P as PLANE_TYPE, I as PYRAMID_TYPE, a4 as PointLightOptions, R as RECT_TYPE, w as RectShape, S as SPHERE_TYPE, f as SPRITE_TYPE, ak as ScreenAnchor, a5 as SpotLightOptions, h as SpriteAnimation, g as SpriteImage, i as SpriteSheet, T as TEXT_TYPE, n as ZONE_TYPE, r as ZylemActor, Z as ZylemBox, E as ZylemCone, K as ZylemCylinder, y as ZylemDisk, a8 as ZylemFog, ai as ZylemFogHeightOptions, aj as ZylemFogNoiseOptions, ag as ZylemFogOptions, ah as ZylemFogType, _ as ZylemLight, a0 as ZylemLightOptions, ab as ZylemLine, ae as ZylemLineOptions, V as ZylemParticleSystem, X as ZylemParticleSystemOptions, N as ZylemPill, k as ZylemPlane, H as ZylemPyramid, v as ZylemRect, b as ZylemSphere, e as ZylemSprite, t as ZylemText, m as ZylemZone, q as createActor, c as createBox, z as createCone, J as createCylinder, x as createDisk, a7 as createFog, Y as createLight, aa as createLine, U as createParticleSystem, M as createPill, j as createPlane, G as createPyramid, u as createRect, a as createSphere, d as createSprite, s as createText, l as createZone, ad as pickZylemLine } from './entity-type-map-B0S5cfv7.js';
14
- export { A as Action, C as CollisionComponent, G as GameEntity, a as GameEntityOptions, b as boxCollision, d as coneCollision, c as create, e as cylinderCollision, x as getRotation, f as pillCollision, g as planeCollision, p as pyramidCollision, i as rotateEuler, r as rotateInDirection, j as rotateX, k as rotateY, h as rotateYEuler, l as rotateZ, w as setRotation, q as setRotationDegrees, u as setRotationDegreesX, t as setRotationDegreesY, v as setRotationDegreesZ, n as setRotationX, m as setRotationY, o as setRotationZ, s as sphereCollision, z as zoneCollision } from './entity-DC0P747T.js';
13
+ export { A as ACTOR_TYPE, a1 as AmbientLightOptions, B as BOX_TYPE, F as CONE_TYPE, L as CYLINDER_TYPE, C as CollisionShapeType, D as DISK_TYPE, a3 as DirectionalLightOptions, am as EntityForType, al as EntityTypeMap, a9 as FOG_TYPE, a2 as HemisphereLightOptions, $ as LIGHT_TYPE, ac as LINE_TYPE, a6 as LightShadowOptions, af as LinePickResult, o as OnEnterParams, p as OnExitParams, O as OnHeldParams, W as PARTICLE_SYSTEM_TYPE, Q as PILL_TYPE, P as PLANE_TYPE, I as PYRAMID_TYPE, a4 as PointLightOptions, R as RECT_TYPE, w as RectShape, S as SPHERE_TYPE, f as SPRITE_TYPE, ak as ScreenAnchor, a5 as SpotLightOptions, h as SpriteAnimation, g as SpriteImage, i as SpriteSheet, T as TEXT_TYPE, n as ZONE_TYPE, r as ZylemActor, Z as ZylemBox, E as ZylemCone, K as ZylemCylinder, y as ZylemDisk, a8 as ZylemFog, ai as ZylemFogHeightOptions, aj as ZylemFogNoiseOptions, ag as ZylemFogOptions, ah as ZylemFogType, _ as ZylemLight, a0 as ZylemLightOptions, ab as ZylemLine, ae as ZylemLineOptions, V as ZylemParticleSystem, X as ZylemParticleSystemOptions, N as ZylemPill, k as ZylemPlane, H as ZylemPyramid, v as ZylemRect, b as ZylemSphere, e as ZylemSprite, t as ZylemText, m as ZylemZone, q as createActor, c as createBox, z as createCone, J as createCylinder, x as createDisk, a7 as createFog, Y as createLight, aa as createLine, U as createParticleSystem, M as createPill, j as createPlane, G as createPyramid, u as createRect, a as createSphere, d as createSprite, s as createText, l as createZone, ad as pickZylemLine } from './entity-type-map-BMaPY8cd.js';
14
+ export { A as Action, C as CollisionComponent, D as DroppableAreaOptions, G as GameEntity, d as GameEntityOptions, H as HoverAreaOptions, a as PlacementPointContext, P as PointerAreaContext, b as PointerTargetEntity, e as boxCollision, f as coneCollision, c as create, g as cylinderCollision, B as getRotation, h as pillCollision, i as planeCollision, p as pyramidCollision, k as rotateEuler, r as rotateInDirection, l as rotateX, m as rotateY, j as rotateYEuler, n as rotateZ, y as setRotation, u as setRotationDegrees, w as setRotationDegreesX, v as setRotationDegreesY, x as setRotationDegreesZ, q as setRotationX, o as setRotationY, t as setRotationZ, s as sphereCollision, z as zoneCollision } from './entity-CY75JJSw.js';
15
15
  export { IconSize, IconSizePreset, TemplateFactory, boxMesh, coneMesh, createCooldownIcon, createEntity, createEntityFactory, cylinderMesh, destroy, pillMesh, pyramidMesh, sphereMesh } from './entity.js';
16
16
  export { BehaviorDescriptor, BehaviorHandle, BehaviorRef, BehaviorSystem, BehaviorSystemFactory, BoundaryRicochet3DCoordinator, BoundaryRicochet3DEntity, BoundaryRicochetCoordinator, BoundaryRicochetEntity, BoundaryRicochetUpdate, BurstParticlePresetOptions, CooldownBehavior, CooldownConfig, CooldownEntry, CooldownHandle, CooldownOptions, DefineBehaviorConfig, Destructible3DBehavior, Destructible3DBehaviorOptions, Destructible3DColliderOptions, Destructible3DFragmentColliderShape, Destructible3DFragmentPhysicsOptions, Destructible3DHandle, DestructibleMesh, DestructiblePrebakeWorkerAPI, FacingAngle2DEntity, FirstPersonBehavior, FirstPersonBehaviorOptions, FirstPersonContext, FirstPersonEntity, FirstPersonEvent, FirstPersonFSM, FirstPersonInputComponent, FirstPersonMovementComponent, FirstPersonPresentation, FirstPersonShooterCoordinator, FirstPersonShooterEntity, FirstPersonShooterInput, FirstPersonState, FirstPersonStateComponent, FractureOptions, FractureOptionsInput, JumpConfig2D, JumpConfig3D, JumpContext2D, JumpContext3D, JumpInput2D, JumpInput3D, JumpState2D, JumpState3D, Jumper2DBehavior, Jumper2DBehaviorOptions, Jumper2DEntity, Jumper2DEvent, Jumper2DFSM, Jumper2DState, Jumper3DBehavior, Jumper3DBehaviorOptions, Jumper3DEntity, Jumper3DEvent, Jumper3DFSM, Jumper3DState, MultidirectionalSpaceShooterCoordinator, MultidirectionalSpaceShooterEntity, MultidirectionalSpaceShooterInput, ParticleEffectDefinition, ParticleEmitterBehavior, ParticleEmitterBehaviorOptions, ParticleEmitterHandle, ParticleMagicAgency, ParticleMagicAlignment, ParticleMagicModifierInput, ParticleMagicModifierOptions, ParticleMagicOrder, ParticleMagicRealityEffect, ParticleMagicTemperament, ParticlePresetMaterialOptions, PhysicsBodyComponent, PlainBufferGeometryPayload, PlainFractureOptions, Platformer2DBehavior, Platformer2DBehaviorOptions, Platformer2DCollisionContext, Platformer2DContext, Platformer2DEntity, Platformer2DEvent, Platformer2DFSM, Platformer2DInputComponent, Platformer2DMovementComponent, Platformer2DState, Platformer2DStateComponent, Platformer3DBehavior, Platformer3DBehaviorOptions, Platformer3DContext, Platformer3DEntity, Platformer3DEvent, Platformer3DFSM, Platformer3DInputComponent, Platformer3DMovementComponent, Platformer3DState, Platformer3DStateComponent, PlatformerCollisionContext, PlayerInput, PrebakeWorkerRequest, PrebakeWorkerResponse, ResolvedAim2D, Ricochet2DBehavior, Ricochet2DCollisionContext, Ricochet2DEvent, Ricochet2DFSM, Ricochet2DHandle, Ricochet2DOptions, Ricochet2DResult, Ricochet2DState, Ricochet3DBehavior, Ricochet3DCallback, Ricochet3DCollisionContext, Ricochet3DEvent, Ricochet3DFSM, Ricochet3DHandle, Ricochet3DOptions, Ricochet3DResult, Ricochet3DState, RicochetCallback, ScreenVisibilityBehavior, ScreenVisibilityChangeContext, ScreenVisibilityFSM, ScreenVisibilityHandle, ScreenVisibilityOptions, ScreenVisibilitySize, ScreenVisibilitySnapshot, ScreenWrapBehavior, ScreenWrapEvent, ScreenWrapFSM, ScreenWrapOptions, ScreenWrapState, SemanticParticlePresetOptions, Shooter2DAimFireInput, Shooter2DBehavior, Shooter2DBehaviorOptions, Shooter2DFireArgs, Shooter2DHandle, Shooter2DProjectileFactory, Shooter2DSourceEntity, Shooter2DStageLike, Shooter2DStateComponent, Shooter2DTarget, ThrusterBehavior, ThrusterBehaviorOptions, ThrusterEntity, ThrusterEvent, ThrusterFSM, ThrusterFSMContext, ThrusterInputComponent, ThrusterMovementComponent, ThrusterState, ThrusterStateComponent, TopDownMovementBehavior, TopDownMovementBehaviorOptions, TopDownMovementComponent, TopDownMovementEntity, TopDownMovementHandle, TopDownMovementInputComponent, TopDownMovementStateComponent, TopDownShooterCoordinator, TopDownShooterEntity, TopDownShooterInput, TransformComponent, Vec3Like, ViewmodelConfig, VoronoiOptions, WorldBoundary2DBehavior, WorldBoundary2DBounds, WorldBoundary2DEvent, WorldBoundary2DFSM, WorldBoundary2DHandle, WorldBoundary2DHit, WorldBoundary2DHits, WorldBoundary2DOptions, WorldBoundary2DPosition, WorldBoundary2DState, WorldBoundary3DBehavior, WorldBoundary3DBounds, WorldBoundary3DEvent, WorldBoundary3DFSM, WorldBoundary3DHandle, WorldBoundary3DHit, WorldBoundary3DHits, WorldBoundary3DOptions, WorldBoundary3DPosition, WorldBoundary3DState, computeWorldBoundary2DHits, computeWorldBoundary3DHits, createFirstPersonInputComponent, createFirstPersonMovementComponent, createFirstPersonStateComponent, createJumpConfig2D, createJumpConfig3D, createJumpInput2D, createJumpInput3D, createJumpState2D, createJumpState3D, createPhysicsBodyComponent, createPlatformer2DInputComponent, createPlatformer2DMovementComponent, createPlatformer2DStateComponent, createPlatformer3DInputComponent, createPlatformer3DMovementComponent, createPlatformer3DStateComponent, createShooter2DStateComponent, createThrusterInputComponent, createThrusterMovementComponent, createThrusterStateComponent, createTopDownMovementComponent, createTopDownMovementInputComponent, createTopDownMovementStateComponent, createTransformComponent, defineBehavior, fireCooldown, fireShooter2DIfRequested, getCooldown, getCooldownStore, getEntityFacingAngle2D, hasAnyWorldBoundary2DHit, hasAnyWorldBoundary3DHit, particleEffect, particlePresets, registerCooldown, resetCooldown, resolveAim2D, tickCooldowns, updateBoundaryRicochet, useBehavior } from '@zylem/behaviors';
17
17
  export { RUNTIME_BOUNDARY_2D_BEHAVIOR_KEY, RUNTIME_DYNAMIC_CIRCLE_BODY_2D_BEHAVIOR_KEY, RUNTIME_GOAL_ZONE_2D_BEHAVIOR_KEY, RUNTIME_PLAYER_INPUT_2D_BEHAVIOR_KEY, RUNTIME_RICOCHET_2D_BEHAVIOR_KEY, RUNTIME_TRIGGER_REGION_2D_BEHAVIOR_KEY, RuntimeBoundary2DBehavior, RuntimeBoundary2DOptions, RuntimeDynamicCircleBody2DBehavior, RuntimeDynamicCircleBody2DHandle, RuntimeDynamicCircleBody2DOptions, RuntimeGoalZone2DBehavior, RuntimeGoalZone2DEvent, RuntimeGoalZone2DHandle, RuntimeGoalZone2DOptions, RuntimePlayerInput2DBehavior, RuntimePlayerInput2DOptions, RuntimeRicochet2DBehavior, RuntimeRicochet2DEvent, RuntimeRicochet2DHandle, RuntimeRicochet2DOptions, RuntimeTriggerRegion2DBehavior, RuntimeTriggerRegion2DEvent, RuntimeTriggerRegion2DHandle, RuntimeTriggerRegion2DOptions, bindRuntimeDynamicCircleBody2DHandle, emitRuntimeGoal, emitRuntimeRicochet, emitRuntimeTriggerRegionEnter } from '@zylem/behaviors/runtime-2d';
@@ -27,16 +27,18 @@ export { Howl } from 'howler';
27
27
  export { o as AudioClip, A as AudioClipSchema, k as EffectType, E as Envelope, h as InstrumentDefinition, I as InstrumentDefinitionSchema, i as InstrumentEffect, a as InstrumentEffectSchema, j as InstrumentPreset, b as InstrumentPresetSchema, n as NoteClip, N as NoteClipSchema, O as OscillatorType, m as SongClip, d as SongClipSchema, g as SongDefinition, S as SongDefinitionSchema, r as SongLoop, f as SongLoopSchema, p as SongNote, e as SongNoteSchema, l as SongTrack, c as SongTrackSchema, q as TimeSignature, T as TimeSignatureSchema } from './song-definition-rEKksP0B.js';
28
28
  export { w as AudioItem, A as AudioItemSchema, q as AudioTrack, l as CameraKeyframe, c as CameraKeyframeSchema, m as CameraPoseDef, n as CameraShot, d as CameraShotSchema, o as CameraTrack, i as CutsceneCamera, j as CutsceneCameraKind, b as CutsceneCameraSchema, g as CutsceneDefinition, C as CutsceneDefinitionSchema, k as CutsceneEasing, u as CutsceneEvent, e as CutsceneEventSchema, h as CutsceneScene, a as CutsceneSceneSchema, r as CutsceneTrack, f as CutsceneTrackSchema, s as DollyPath, D as DollyPathSchema, v as EventItem, E as EventItemSchema, p as EventTrack, x as SceneTransition, S as SceneTransitionSchema, y as SceneTransitionType, t as ShotBlend, V as Vec3Def } from './cutscene-definition-C479fkei.js';
29
29
  export { CUTSCENE_BEHAVIOR_KEY, CutsceneCameraBehavior, CutsceneFrame, CutsceneHost, CutscenePlayer, CutscenePlayerEvents, CutscenePlayerOptions, CutscenePlayerState, CutscenePreviewController, CutsceneStageLike, EvaluatedPose, StageCutsceneHostOptions, TargetLookup, activeShot, cameraTracks, createCutscenePlayer, createStageCutsceneHost, cutsceneLength, dollyPointAt, easeValue, evaluateCameraPose, evaluateCutscene, itemsBetween, lerpPose, lerpVec3, previousShot, sampleDollyPath, sceneAt, setCutsceneTransitionShaders, shotAt } from './cinematics.js';
30
- export { D as DEFAULT_SNAP_SETTINGS, w as DebugEntityResolver, v as DebugTools, S as SnapSettings, T as TRANSFORM_TOOLS, x as TransformTool, d as debugState, k as getHoveredEntity, j as getHoveredEntityId, e as getSelectedEntity, g as getSelectedEntityId, h as getSelectedEntityIds, m as getSnapSettings, t as isPickMode, u as isTransformTool, r as registerDebugEntityResolver, l as resolveDebugEntity, p as setAddType, s as setDebugTool, o as setGridVisible, i as setHoveredEntityId, a as setPaused, q as setPickMode, b as setSelectedEntity, c as setSelectedEntityId, f as setSelectedEntityIds, n as setSnapSettings } from './debug-state-DhVkY2aM.js';
31
- export { ConstructionGrid, EntityFocusContext, EntityThumbnailCache, EntityThumbnailCacheEntry, EntityThumbnailResult, GizmoAxis, GizmoDelta, GizmoMode, GizmoRay, Quat, TransformGizmo, closestAxisValue, degreesToRadians, entityThumbnailCache, eulerToQuaternion, focusEntity, intersectPlane, quaternionToEuler, radiansToDegrees, registerEntityFocusContext, snapScale, snapToIncrement, snapVec3 } from './debug.js';
30
+ export { D as DEFAULT_SNAP_SETTINGS, w as DebugEntityResolver, v as DebugTools, S as SnapSettings, T as TRANSFORM_TOOLS, x as TransformTool, d as debugState, k as getHoveredEntity, j as getHoveredEntityId, e as getSelectedEntity, g as getSelectedEntityId, h as getSelectedEntityIds, m as getSnapSettings, t as isPickMode, u as isTransformTool, r as registerDebugEntityResolver, l as resolveDebugEntity, p as setAddType, s as setDebugTool, o as setGridVisible, i as setHoveredEntityId, a as setPaused, q as setPickMode, b as setSelectedEntity, c as setSelectedEntityId, f as setSelectedEntityIds, n as setSnapSettings } from './debug-state-JRneI6c2.js';
31
+ export { G as GizmoAxis, a as GizmoDelta, b as GizmoMode, d as GizmoRay, T as TransformGizmo, c as closestAxisValue, i as intersectPlane } from './transform-gizmo-DappLQ9w.js';
32
+ export { ConstructionGrid, EntityFocusContext, EntityThumbnailCache, EntityThumbnailCacheEntry, EntityThumbnailResult, Quat, degreesToRadians, entityThumbnailCache, eulerToQuaternion, focusEntity, quaternionToEuler, radiansToDegrees, registerEntityFocusContext, snapScale, snapToIncrement, snapVec3 } from './debug.js';
32
33
  export { S as SELECTION_BOUNDS_MARGIN, a as SELECTION_THIN_AXIS_FRACTION, c as SELECTION_THIN_AXIS_MAX, b as SELECTION_THIN_AXIS_MIN, d as SelectionBoundsProvider, m as measureObjectSelectionBounds, p as padSelectionBounds, r as resolveSelectionBounds } from './selection-bounds-BKmSo9aG.js';
33
34
  export { GameBridge, GameBridgeHost, SwatchApplyOutcome } from './bridge.js';
34
35
  export { ZylemGameElement, ZylemGameState } from './web-components.js';
35
36
  export { a as SimulationBody, S as SimulationStepClock } from './simulation-body-zQw-emOr.js';
36
37
  export { RuntimeBodyOptions, RuntimeColliderOptions, RuntimeCollisionBundle, buildBoxCollider, buildCapsuleCollider, buildConvexHullCollider, buildCylinderCollider, buildHeightfieldCollider, buildRuntimeBody, buildSphereCollider, buildTrimeshCollider, bundleRuntimeCollision } from './runtime.js';
37
38
  export { ColorJsonSchema, GameConfigJson, GameConfigJsonSchema, GameDeviceConfigJson, GameDeviceConfigJsonSchema, GameInputConfigJson, GameInputConfigSchema, GameInputPlayerConfigSchema, KeyboardMappingSchema, MouseConfigSchema, MouseMappingSchema, ResolutionInputSchema, StageAssetLoaderConfigSchema, StageConfigJson, StageConfigJsonSchema, StageGLTFAssetLoaderConfigSchema, Vec3ComponentsSchema, VirtualTouchButtonConfigSchema, VirtualTouchButtonsConfigSchema, VirtualTouchConfigSchema, VirtualTouchJoystickConfigSchema, VirtualTouchJoysticksConfigSchema, VirtualTouchPositionSchema, VirtualTouchStyleSchema } from './schema.js';
39
+ export { DROPPABLE_AREA_TYPE, HOVER_AREA_TYPE, ZylemDroppableArea, ZylemHoverArea, createDroppableArea, createHoverArea } from './placement.js';
38
40
  export { createBackgroundShader, objectVertexShader, standardShader } from './graphics.js';
39
- export { d as ZylemShader, Z as ZylemShaderObject, b as ZylemTSLShader, c as createNodeMaterialFromTSL, a as isGLSLShader, i as isTSLShader } from './material-CxxAyJYp.js';
41
+ export { E as EntityGlowOptions, f as ZylemShader, Z as ZylemShaderObject, e as ZylemTSLShader, b as applyEntityGlow, d as createEntityGlowMaterial, c as createNodeMaterialFromTSL, a as isGLSLShader, i as isTSLShader } from './material-D1IVeQc5.js';
40
42
  export { Fn, abs, asin, atan, clamp, cos, dot, exp, float, floor, fract, length, max, min, mix, mod, normalize, positionWorld, positionWorldDirection, pow, sin, smoothstep, step, time, uniform, uv, vec2, vec3, vec4 } from 'three/tsl';
41
43
  export { p as packCollisionGroups } from './collision-builder-BckxkdmA.js';
42
44
  import './base-node-idopiSw5.js';
package/dist/public.js CHANGED
@@ -1 +1 @@
1
- import{A as Px,B as Vx,C as qx,a as sx,b as nx,c as lx,d as Sx,e as hx,f as yx,g as Lx,h as vx,i as Zx,j as bx,k as gx,l as ux,m as Tx,n as jx,o as Fx,p as Wx,q as kx,r as wx,s as zx,t as Bx,u as Dx,v as Ex,w as Gx,x as Mx,y as Nx,z as Ox}from"./chunk-KSEP7AUF.js";import"./chunk-ORIDWL3T.js";import{a as s,b as n,c as l,d as S,e as h,f as y,g as L,h as v,i as Z,j as b,k as g,l as u,m as T,n as j,o as F,p as W,q as k,r as w,s as z,t as B,u as D,v as E,w as G}from"./chunk-QB3NL7VQ.js";import"./chunk-BIGH6D34.js";import"./chunk-ELQN62PQ.js";import{a as Jf,b as Kf,c as Qf,d as Rf}from"./chunk-FZNEWOC5.js";import{a as Uf}from"./chunk-JCGW5PIR.js";import{a as Xf,b as Yf,c as _f,d as $f,e as ox,f as rx,g as ex,h as tx,i as mx,j as px,k as ax,l as fx,m as xx,n as ix,o as dx,p as cx}from"./chunk-47DG7I7M.js";import{a as Wo,b as ko,c as wo,d as zo,e as Po,f as Ap,g as Cp,h as oa,i as ra,j as ea,k as ta,l as ma,m as pa,n as aa,o as fa,p as xa,q as ia,r as da}from"./chunk-RPMV7GDX.js";import{a as Fo,c as Lm,d as vm,e as Zm,f as sp,g as np,h as vp,i as Tp,j as jp,l as Fp,m as Wp,n as kp,o as wp,p as zp,q as Bp,r as Dp,s as Ep,t as Gp,u as Mp,v as Np,w as Op,x as Vp,z as qp}from"./chunk-P6IOYQHU.js";import{a as Bo,b as Do,c as Eo,d as Go,e as Mo,f as No,g as Oo}from"./chunk-PCFF4LLO.js";import{a as so,b as no}from"./chunk-OCQ7A5IK.js";import{c as Zp,d as bp,e as gp,f as up}from"./chunk-47HAZZWF.js";import"./chunk-KIFB427K.js";import"./chunk-2HSR5XDQ.js";import{e as Ho,n as Yo}from"./chunk-VKWJHFUR.js";import{a as Ao,b as Co,c as Io,d as Jo,e as Ko,f as Qo,g as Ro,h as Uo,i as Xo}from"./chunk-273CUPEO.js";import{B as xo,C as io,D as co,a as C,b as H,c as I,d as J,e as K,f as Q,h as R,j as U,l as X,m as Y,n as _,o as $,p as oo,q as ro,u as eo,v as to,w as mo,x as po,y as ao,z as fo}from"./chunk-UM5VNQPY.js";import{b as xp}from"./chunk-WBQ5TNRZ.js";import{a as ca,b as sa,c as na,d as la,e as Sa}from"./chunk-Y23IJJPD.js";import{a as Hp,b as Ip,c as Jp,d as Kp,e as Qp,f as Rp,g as Up,h as Xp,i as Yp,j as _p,l as $p}from"./chunk-YRHRMVHS.js";import{a as pp,b as ap,c as fp,d as ip,e as dp,f as cp}from"./chunk-FUZDTRCU.js";import{A as te,B as me,C as pe,D as ae,E as fe,J as Le,K as ve,L as Ze,M as be,N as ge,O as ue,b as Br,c as Dr,d as Er,e as Gr,f as Mr,g as Nr,h as Or,i as Pr,j as Vr,k as qr,l as Ar,m as Cr,n as Hr,o as Ir,p as Jr,q as Kr,r as Qr,s as Rr,t as Ur,u as Xr,v as Yr,w as _r,x as $r,y as oe,z as ee}from"./chunk-5V52N34T.js";import{A as Se,B as he,C as ye,c as gr,d as ur,e as Tr,f as jr,g as Fr,h as Wr,i as kr,j as wr,u as zr,z as re}from"./chunk-VXE3CV3K.js";import{c as o,d as r,h as e,i as t,k as m,l as p,m as a,n as f,o as x,p as i,q as d,r as c}from"./chunk-6FGXC4T6.js";import{a as Vo,b as qo}from"./chunk-AIQ6IVT5.js";import"./chunk-QXVH6POE.js";import{a as xe,b as ie,c as de,d as ce,e as se,f as ne,g as le}from"./chunk-UUOPT2N4.js";import{b as br}from"./chunk-EVYHPR3J.js";import{a as ha,b as ya,c as La,d as va,e as Za,f as ba,g as ga,h as ua,i as Ta,j as ja,k as Fa,l as Wa,m as ka,n as wa,o as za,p as Ba}from"./chunk-6XFXPIVB.js";import{$ as gt,A as Ue,Aa as Ut,B as Xe,Ba as Xt,C as Ye,Ca as Yt,D as _e,Da as _t,E as $e,Ea as $t,F as ot,Fa as om,G as rt,Ga as rm,H as et,Ha as em,I as tt,Ia as tm,J as mt,Ja as mm,K as pt,Ka as pm,L as at,La as am,M as ft,Ma as fm,N as xt,Na as xm,O as it,Oa as im,P as dt,Pa as dm,Q as ct,Qa as cm,R as st,Ra as sm,S as nt,Sa as nm,T as lt,Ta as lm,U as St,Ua as Sm,V as ht,Va as hm,W as yt,X as Lt,Y as vt,Z as Zt,_ as bt,aa as ut,b as Te,ba as Tt,c as je,ca as jt,d as Fe,da as Ft,e as We,ea as Wt,f as ke,fa as kt,g as we,ga as wt,h as ze,ha as zt,i as Be,ia as Bt,j as De,ja as Dt,k as Ee,ka as Et,l as Ge,la as Gt,m as Me,ma as Mt,n as Ne,na as Nt,o as Oe,oa as Ot,p as Pe,pa as Pt,q as Ve,qa as Vt,r as qe,ra as qt,s as Ae,sa as At,t as Ce,ta as Ct,u as He,ua as Ht,v as Ie,va as It,w as Je,wa as Jt,x as Ke,xa as Kt,y as Qe,ya as Qt,z as Re,za as Rt}from"./chunk-VUJXR5K5.js";import{a as Da,b as Ea,c as Ja,d as Ka,e as Qa,f as Ra}from"./chunk-ZZO4CKRU.js";import{a as Ga,b as Ma,c as Na,d as Oa,e as Pa,f as Va,g as qa,h as Aa,i as Ca,j as Ha,k as Ia}from"./chunk-NVVLLWIM.js";import{a as Xm,c as Ym,d as _m,e as $m,f as op,g as rp}from"./chunk-2PFNNGTV.js";import"./chunk-VMXSE3EC.js";import{a as Ua,b as Xa,c as Ya,d as _a,e as $a,f as of,g as rf,h as ef,i as tf,j as mf,k as pf}from"./chunk-YNX3Q3CL.js";import{a as bm,b as gm,c as um,d as Tm,e as jm,f as Fm,g as Wm,h as km,i as wm,j as zm,k as Bm,l as Dm,m as Em,n as Gm,o as Mm,p as Nm,q as Om,r as ep,s as tp,t as mp}from"./chunk-2XMG3NJS.js";import{a as ym}from"./chunk-7GYFZKK7.js";import{a as Pm,b as Vm,c as qm,d as Am,e as Cm,f as Hm,g as Im,h as Jm,i as Km,j as Qm,k as Rm,l as Um}from"./chunk-QGIYILYI.js";import{a as af,b as ff,c as xf,d as df}from"./chunk-WQ3WMMZD.js";import{h as lp,i as Sp,j as hp,k as yp,l as Lp}from"./chunk-D2PATZCC.js";import{e as M,f as N,g as O,h as P,i as V,j as q,m as A}from"./chunk-4QLJUQSJ.js";import{a as _o,b as $o,c as or,d as rr,g as er,h as tr,i as mr,j as pr}from"./chunk-7WRQ2UAN.js";import{A as Of,B as Pf,C as Vf,D as qf,E as Af,a as cf,b as sf,c as nf,d as lf,e as Sf,f as hf,g as yf,h as Lf,i as vf,j as Zf,k as bf,l as gf,m as uf,n as Tf,o as jf,p as Ff,q as Wf,r as kf,s as wf,t as zf,u as Bf,v as Df,w as Ef,x as Gf,y as Mf,z as Nf}from"./chunk-IPWUDOV5.js";import{a as Pp}from"./chunk-BH53MBAZ.js";import{a as ar,b as fr,c as xr,d as ir,e as dr,f as cr,g as sr,h as nr,i as lr,j as Sr,k as hr,l as yr,m as Lr,n as vr,o as Zr}from"./chunk-XRP4JJXL.js";import{a as Cf,b as Hf,c as If}from"./chunk-7QF6YTEZ.js";import{a as lo,b as So,c as ho,d as yo,e as Lo,f as vo,g as Zo,h as bo,i as go,j as uo,k as To,l as jo}from"./chunk-UG22Z42P.js";import"./chunk-WOT6VMZA.js";export{pp as ACTOR_TYPE,Wo as AspectRatio,qa as AudioClipSchema,tf as AudioItemSchema,Or as BOX_TYPE,Rf as BRIDGE_READY_EVENT,Te as BoundaryRicochet3DCoordinator,je as BoundaryRicochetCoordinator,Hr as CONE_TYPE,bm as CUTSCENE_BEHAVIOR_KEY,Ur as CYLINDER_TYPE,Ya as CameraKeyframeSchema,Gp as CameraManager,Fp as CameraPipeline,of as CameraShotSchema,Mp as CameraWrapper,Ex as ColorJsonSchema,Zp as ConstructionGrid,Fe as CooldownBehavior,gm as CutsceneCameraBehavior,_a as CutsceneCameraSchema,pf as CutsceneDefinitionSchema,rf as CutsceneEventSchema,mp as CutscenePreviewController,Xa as CutsceneSceneSchema,mf as CutsceneTrackSchema,I as DEFAULT_SNAP_SETTINGS,ee as DISK_TYPE,We as Destructible3DBehavior,ke as DestructibleMesh,$a as DollyPathSchema,vx as EntityJsonSchema,nx as EntitySchema,so as EntityThumbnailCache,Vo as EventEmitterDelegate,ef as EventItemSchema,ip as FOG_TYPE,we as FirstPersonBehavior,ze as FirstPersonEvent,Be as FirstPersonFSM,wp as FirstPersonPerspective,Ge as FirstPersonPresentation,De as FirstPersonShooterCoordinator,Ee as FirstPersonState,kp as Fixed2DPerspective,c as Fn,Me as FractureOptions,oa as Game,Yo as GameBridge,qx as GameConfigJsonSchema,Vx as GameDeviceConfigJsonSchema,Dx as GameInputConfigSchema,Bx as GameInputPlayerConfigSchema,Ra as Howl,Na as InstrumentDefinitionSchema,Ma as InstrumentEffectSchema,Ga as InstrumentPresetSchema,zp as IsometricPerspective,Ne as Jumper2DBehavior,Oe as Jumper2DEvent,Pe as Jumper2DFSM,Ve as Jumper2DState,qe as Jumper3DBehavior,Ae as Jumper3DEvent,Ce as Jumper3DFSM,He as Jumper3DState,bx as KeyboardMappingSchema,be as LIGHT_TYPE,Up as LINE_TYPE,yx as LineEntityDataSchema,zx as MouseConfigSchema,gx as MouseMappingSchema,Ie as MultidirectionalSpaceShooterCoordinator,Va as NoteClipSchema,ca as PARTICLE_SYSTEM_TYPE,_r as PILL_TYPE,pe as PLANE_TYPE,Kr as PYRAMID_TYPE,Je as ParticleEmitterBehavior,jp as Perspectives,Ke as Platformer2DBehavior,Qe as Platformer2DEvent,Re as Platformer2DFSM,Ue as Platformer2DState,Xe as Platformer3DBehavior,Ye as Platformer3DEvent,_e as Platformer3DFSM,$e as Platformer3DState,Le as RECT_TYPE,ga as RUNTIME_BOUNDARY_2D_BEHAVIOR_KEY,ua as RUNTIME_DYNAMIC_CIRCLE_BODY_2D_BEHAVIOR_KEY,Ta as RUNTIME_GOAL_ZONE_2D_BEHAVIOR_KEY,ja as RUNTIME_PLAYER_INPUT_2D_BEHAVIOR_KEY,Fa as RUNTIME_RICOCHET_2D_BEHAVIOR_KEY,Wa as RUNTIME_TRIGGER_REGION_2D_BEHAVIOR_KEY,sp as RenderBundleManager,np as RenderStrategyManager,Px as ResolutionInputSchema,ot as Ricochet2DBehavior,rt as Ricochet2DEvent,et as Ricochet2DFSM,tt as Ricochet2DState,mt as Ricochet3DBehavior,pt as Ricochet3DEvent,at as Ricochet3DFSM,ft as Ricochet3DState,ha as RuntimeBoundary2DBehavior,ya as RuntimeDynamicCircleBody2DBehavior,La as RuntimeGoalZone2DBehavior,va as RuntimePlayerInput2DBehavior,Za as RuntimeRicochet2DBehavior,ba as RuntimeTriggerRegion2DBehavior,xe as SELECTION_BOUNDS_MARGIN,ie as SELECTION_THIN_AXIS_FRACTION,ce as SELECTION_THIN_AXIS_MAX,de as SELECTION_THIN_AXIS_MIN,qr as SPHERE_TYPE,Kp as SPRITE_TYPE,ma as STAGE_STATE_CHANGE,Ua as SceneTransitionSchema,xt as ScreenVisibilityBehavior,it as ScreenVisibilityFSM,dt as ScreenWrapBehavior,ct as ScreenWrapEvent,st as ScreenWrapFSM,nt as ScreenWrapState,Dp as SecondPersonPerspective,lt as Shooter2DBehavior,xp as SimulationBody,Aa as SongClipSchema,Ia as SongDefinitionSchema,Ha as SongLoopSchema,Oa as SongNoteSchema,Pa as SongTrackSchema,Lx as SpriteEntityDataSchema,Nx as StageAssetLoaderConfigSchema,px as StageBodyKind,ax as StageBoundaryDim,Ox as StageConfigJsonSchema,fx as StageEventType,Mx as StageGLTFAssetLoaderConfigSchema,Zx as StageJsonSchema,Cp as StageManager,xx as StageRicochetDim,ix as StageRicochetReflection,lx as StageSchema,dx as StageTopDownPlane,Hp as TEXT_TYPE,C as TRANSFORM_TOOLS,Sx as TextEntityDataSchema,Wp as ThirdPersonPerspective,St as ThrusterBehavior,ht as ThrusterEvent,yt as ThrusterFSM,Lt as ThrusterState,Ca as TimeSignatureSchema,vt as TopDownMovementBehavior,Bp as TopDownPerspective,Zt as TopDownShooterCoordinator,up as TransformGizmo,$o as VEC2_ONE,_o as VEC2_ZERO,rr as VEC3_ONE,or as VEC3_ZERO,Gx as Vec3ComponentsSchema,sx as Vector2Schema,hx as Vector3TupleSchema,jx as VirtualTouchButtonConfigSchema,Wx as VirtualTouchButtonsConfigSchema,wx as VirtualTouchConfigSchema,Fx as VirtualTouchJoystickConfigSchema,kx as VirtualTouchJoysticksConfigSchema,Tx as VirtualTouchPositionSchema,ux as VirtualTouchStyleSchema,bt as WorldBoundary2DBehavior,gt as WorldBoundary2DEvent,ut as WorldBoundary2DFSM,Tt as WorldBoundary2DState,jt as WorldBoundary3DBehavior,Ft as WorldBoundary3DEvent,Wt as WorldBoundary3DFSM,kt as WorldBoundary3DState,Se as ZONE_TYPE,ap as ZylemActor,Pr as ZylemBox,Ir as ZylemCone,Xr as ZylemCylinder,te as ZylemDisk,dp as ZylemFog,Uf as ZylemGameElement,ge as ZylemLight,Yp as ZylemLine,sa as ZylemParticleSystem,$r as ZylemPill,ae as ZylemPlane,Qr as ZylemPyramid,ve as ZylemRect,Ar as ZylemSphere,Qp as ZylemSprite,Ip as ZylemText,he as ZylemZone,u as abs,km as activeShot,Kf as announceBridgeReady,Qf as applySwatchesToSelection,Pp as applyTransformChanges,g as asin,b as atan,Qm as audibleTrackIds,Pm as beatsPerBar,qm as beatsToSeconds,ka as bindRuntimeDynamicCircleBody2DHandle,gr as boxCollision,Br as boxMesh,Yf as buildBoxCollider,$f as buildCapsuleCollider,rx as buildConvexHullCollider,ox as buildCylinderCollider,tx as buildHeightfieldCollider,Xf as buildRuntimeBody,_f as buildSphereCollider,ex as buildTrimeshCollider,mx as bundleRuntimeCollision,hf as callFunc,Mm as cameraTracks,L as clamp,A as clearGlobalSubscriptions,Um as clipsAt,bp as closestAxisValue,wt as computeWorldBoundary2DHits,zt as computeWorldBoundary3DHits,Tr as coneCollision,Er as coneMesh,Z as cos,zr as create,fp as createActor,s as createBackgroundShader,Vr as createBox,Np as createCamera,Jr as createCone,la as createCooldownIcon,Om as createCutscenePlayer,Yr as createCylinder,me as createDisk,re as createEntity,$p as createEntityFactory,Bt as createFirstPersonInputComponent,Dt as createFirstPersonMovementComponent,Et as createFirstPersonStateComponent,cp as createFog,fa as createFollowTarget,ra as createGame,N as createGlobal,Xm as createInstrument,Gt as createJumpConfig2D,Mt as createJumpConfig3D,Nt as createJumpInput2D,Ot as createJumpInput3D,Pt as createJumpState2D,Vt as createJumpState3D,ue as createLight,_p as createLine,m as createNodeMaterialFromTSL,na as createParticleSystem,Ep as createPerspective,qt as createPhysicsBodyComponent,oe as createPill,fe as createPlane,xa as createPlatformFollow,At as createPlatformer2DInputComponent,Ct as createPlatformer2DMovementComponent,Ht as createPlatformer2DStateComponent,It as createPlatformer3DInputComponent,Jt as createPlatformer3DMovementComponent,Kt as createPlatformer3DStateComponent,Rr as createPyramid,Ze as createRect,Qt as createShooter2DStateComponent,cx as createSimulation,op as createSongPlayer,Cr as createSphere,Rp as createSprite,qp as createStage,tp as createStageCutsceneHost,ia as createStrategyPan,Jp as createText,Rt as createThrusterInputComponent,Ut as createThrusterMovementComponent,Xt as createThrusterStateComponent,Yt as createTopDownMovementComponent,_t as createTopDownMovementInputComponent,$t as createTopDownMovementStateComponent,om as createTransformComponent,jf as createTransformStore,Sp as createVariable,ye as createZone,ym as crossfadeTransitionShader,Nm as cutsceneLength,Fr as cylinderCollision,Mr as cylinderMesh,Jm as dbToGain,J as debugState,Oo as defaultTouchControls,rm as defineBehavior,Uo as degreesToRadians,Sf as delay,Sa as destroy,aa as dispatchStageState,zm as dollyPointAt,B as dot,um as easeValue,wa as emitRuntimeGoal,za as emitRuntimeRicochet,Ba as emitRuntimeTriggerRegionEnter,Ka as encodeWav,Qa as encodeWavBlob,_m as ensureAudio,ta as entitySpawner,no as entityThumbnailCache,Io as eulerToQuaternion,Dm as evaluateCameraPose,Em as evaluateCutscene,T as exp,yf as fadeOpacity,em as fireCooldown,tm as fireShooter2DIfRequested,d as float,w as floor,Co as focusEntity,z as fract,Km as gainToDb,Po as gameConfig,vp as getActiveLevelDocument,rp as getActiveSongPlayer,mm as getCooldown,pm as getCooldownStore,ko as getDisplayAspect,am as getEntityFacingAngle2D,O as getGlobal,q as getGlobals,io as getHoveredEntity,ao as getHoveredEntityId,Gf as getPosition,wo as getPresetResolution,Zr as getRotation,xo as getSelectedEntity,_ as getSelectedEntityId,oo as getSelectedEntityIds,eo as getSnapSettings,hp as getVariable,Mf as getVelocity,Jf as getZylemBridge,af as globalChange,ff as globalChanges,fm as hasAnyWorldBoundary2DHit,xm as hasAnyWorldBoundary3DHit,pa as initStageStateDispatcher,gp as intersectPlane,$m as isAudioReady,t as isGLSLShader,Zm as isManagedRenderEntity,Y as isPickMode,e as isTSLShader,H as isTransformTool,Fo as isWebGPUSupported,Gm as itemsBetween,Go as joystickBaseSvg,Mo as joystickThumbSvg,D as length,jm as lerpPose,Tm as lerpVec3,Ym as loadTone,W as max,ne as measureObjectSelectionBounds,jo as mergeInputConfigs,Hm as midiToFrequency,Im as midiToNoteName,k as min,h as mix,G as mod,Ff as move,sf as moveBy,Ef as moveForwardXY,nf as moveTo,Wf as moveX,zf as moveXY,Bf as moveXZ,kf as moveY,wf as moveZ,S as normalize,er as normalizeVec2,tr as normalizeVec3,o as objectVertexShader,P as onGlobalChange,V as onGlobalChanges,vf as onPress,Zf as onRelease,yp as onVariableChange,Lp as onVariableChanges,br as packCollisionGroups,se as padSelectionBounds,gf as parallel,zo as parseResolution,im as particleEffect,dm as particlePresets,Xp as pickZylemLine,Wr as pillCollision,Nr as pillMesh,Ea as pingPongBeep,kr as planeCollision,l as positionWorld,n as positionWorldDirection,j as pow,wm as previousShot,jr as pyramidCollision,Gr as pyramidMesh,Jo as quaternionToEuler,Xo as radiansToDegrees,cm as registerCooldown,K as registerDebugEntityResolver,Ao as registerEntityFocusContext,Ja as renderSong,uf as repeat,Tf as repeatForever,sm as resetCooldown,cf as resetEntityOpacity,Df as resetVelocity,nm as resolveAim2D,Eo as resolveButtonAccent,Q as resolveDebugEntity,Lm as resolveRenderCategory,le as resolveSelectionBounds,Do as resolveTouchTheme,Da as ricochetSound,lf as rotateBy,xr as rotateEuler,ar as rotateInDirection,dr as rotateX,ir as rotateY,fr as rotateYEuler,cr as rotateZ,Bm as sampleDollyPath,Fm as sceneAt,Rm as scheduleSong,If as screenCenterLookDeltas,Hf as screenCenterLookTargets,Am as secondsToBeats,bf as sequence,po as setAddType,da as setCameraFeed,ep as setCutsceneTransitionShaders,U as setDebugTool,M as setGlobal,mo as setGridVisible,fo as setHoveredEntityId,R as setPaused,X as setPickMode,Nf as setPosition,Of as setPositionX,Pf as setPositionY,Vf as setPositionZ,Lr as setRotation,vr as setRotationDegrees,Sr as setRotationDegreesX,nr as setRotationDegreesY,yr as setRotationDegreesZ,lr as setRotationX,sr as setRotationY,hr as setRotationZ,co as setSelectedEntity,$ as setSelectedEntityId,ro as setSelectedEntityIds,to as setSnapSettings,Tp as setStageFrameProfilerEnabled,lp as setVariable,Cf as shortestAngleDelta,Wm as shotAt,v as sin,y as smoothstep,Ro as snapScale,Ko as snapToIncrement,Qo as snapVec3,Vm as songLengthBeats,Cm as songLengthSeconds,ur as sphereCollision,Dr as sphereMesh,Op as stageConfig,Ap as stageState,r as standardShader,F as step,Ho as streamLevel,ea as streamLevelOnStage,Lf as throttle,lm as tickCooldowns,f as time,mr as toThreeVector2,pr as toThreeVector3,No as touchButtonSvg,Bo as touchThemes,p as uniform,Sm as updateBoundaryRicochet,lo as useArrowsForAxes,ho as useArrowsForDirections,So as useArrowsForSecondaryAxes,hm as useBehavior,vo as useIJKLForAxes,Zo as useIJKLForDirections,uo as useMouse,bo as useMouseLook,go as useScreenCenterLook,To as useVirtualControls,Lo as useWASDForAxes,yo as useWASDForDirections,vm as usesManagedRenderPath,a as uv,xf as variableChange,df as variableChanges,E as vec2,x as vec3,i as vec4,Vp as vessel,Af as wrapAround3D,qf as wrapAroundXY,wr as zoneCollision,qo as zylemEventBus};
1
+ import{a as $m,b as en,c as rn,d as tn}from"./chunk-FZNEWOC5.js";import{a as on}from"./chunk-JCGW5PIR.js";import{a as an,b as pn,c as mn,d as nn,e as fn,f as xn,g as ln,h as sn,i as cn,j as dn,k as yn,l as vn,m as En,n as Sn,o as An,p as hn}from"./chunk-47DG7I7M.js";import{A as In,B as Jn,C as Kn,a as Rn,b as Pn,c as Ln,d as On,e as bn,f as Tn,g as Zn,h as Dn,i as gn,j as un,k as wn,l as Gn,m as Hn,n as _n,o as Fn,p as jn,q as kn,r as Bn,s as Cn,t as Mn,u as Vn,v as Wn,w as Yn,x as zn,y as Nn,z as qn}from"./chunk-KSEP7AUF.js";import{A as Nm,B as qm,C as Im,D as Jm,E as Km,a as Am,b as hm,c as Rm,d as Pm,e as Lm,f as Om,g as bm,h as Tm,i as Zm,j as Dm,k as gm,l as um,m as wm,n as Gm,o as Hm,p as _m,q as Fm,r as jm,s as km,t as Bm,u as Cm,v as Mm,w as Vm,x as Wm,y as Ym,z as zm}from"./chunk-IPWUDOV5.js";import{a as Qm,b as Um,c as Xm}from"./chunk-7QF6YTEZ.js";import"./chunk-ORIDWL3T.js";import{a as y,b as v,c as E,d as S,e as A,f as h}from"./chunk-YFXNZ2RS.js";import{a as R,b as P,c as L,d as O,e as b,f as T,g as Z,h as D,i as g,j as u,k as w,l as G,m as H,n as _,o as F,p as j,q as k,r as B,s as C,t as M,u as V,v as W,w as Y}from"./chunk-4DAITCJS.js";import"./chunk-BIGH6D34.js";import"./chunk-ELQN62PQ.js";import{a as Vi,b as Wi,c as em,d as rm,e as tm,f as om}from"./chunk-ZZO4CKRU.js";import{a as pp,c as ip,d as mp,e as np,f as fp,g as xp}from"./chunk-2PFNNGTV.js";import{a as Yi,b as zi,c as Ni,d as qi,e as Ii,f as Ji,g as Ki,h as Qi,i as Ui,j as Xi,k as $i}from"./chunk-NVVLLWIM.js";import"./chunk-VMXSE3EC.js";import{a as am,b as pm,c as im,d as mm,e as nm,f as fm,g as xm,h as lm,i as sm,j as cm,k as dm}from"./chunk-YNX3Q3CL.js";import{a as ym,b as vm,c as Em,d as Sm}from"./chunk-WQ3WMMZD.js";import{a as Fe,b as je,c as ke,d as Be,e as qe,f as Qp,g as Up,h as fi,i as xi,j as li,k as si,l as ci,m as di,n as yi,o as vi,p as Ei,q as Si,r as Ai}from"./chunk-NPA6GUGE.js";import{a as _e,c as Za,d as Da,e as ga,f as Rp,g as Pp,h as wp,i as Hp,j as _p,l as Fp,m as jp,n as kp,o as Bp,p as Cp,q as Mp,r as Vp,s as Wp,t as Yp,u as zp,v as Np,w as qp,x as Jp,z as Kp}from"./chunk-BIZOIGCZ.js";import{e as Ue,n as pr}from"./chunk-26EJFYDX.js";import{b as Ep}from"./chunk-WBQ5TNRZ.js";import{a as Ip}from"./chunk-BH53MBAZ.js";import{a as Ce,b as Me,c as Ve,d as We,e as Ye,f as ze,g as Ne}from"./chunk-PCFF4LLO.js";import{a as Pe,b as Le,c as Oe,d as be,e as Te,f as Ze,g as De,h as ge,i as ue,j as we,k as Ge,l as He}from"./chunk-UG22Z42P.js";import{c as d}from"./chunk-Y5IU6IA5.js";import{a as he,b as Re}from"./chunk-B6GDESCB.js";import{c as Dp,d as gp,e as up,f as Gp}from"./chunk-SIRFF4DY.js";import{a as Ke,b as Qe,c as Xe,d as $e,e as er,f as rr,g as tr,h as or,i as ar}from"./chunk-273CUPEO.js";import{B as Ee,C as Se,D as Ae,a as U,b as X,c as $,d as ee,e as re,f as te,h as oe,j as ae,l as pe,m as ie,n as me,o as ne,p as fe,q as xe,u as le,v as se,w as ce,x as de,y as ye,z as ve}from"./chunk-UM5VNQPY.js";import"./chunk-ICJ2E2OV.js";import"./chunk-2HSR5XDQ.js";import{a as ua,b as wa,c as Ga,d as Ha,e as _a,f as Fa,g as ja,h as ka,i as Ba,j as Ca,k as Ma,l as Va,m as Wa,n as Ya,o as za,p as Na,q as qa,r as lp,s as sp,t as cp}from"./chunk-2XMG3NJS.js";import{a as Ta}from"./chunk-7GYFZKK7.js";import{a as Ia,b as Ja,c as Ka,d as Qa,e as Ua,f as Xa,g as $a,h as ep,i as rp,j as tp,k as op,l as ap}from"./chunk-QGIYILYI.js";import{h as Lp,i as Op,j as bp,k as Tp,l as Zp}from"./chunk-D2PATZCC.js";import{a as hi,b as Ri,c as Pi,d as Li,e as Oi}from"./chunk-5NQGXW75.js";import{a as Xp,b as $p,c as ei,d as ri,e as ti,f as oi,g as ai,h as pi,i as ii,j as mi,l as ni}from"./chunk-3LXDHDJB.js";import{a as dp,b as yp,c as vp,d as Sp,e as Ap,f as hp}from"./chunk-BJYXY2FB.js";import{A as lt,B as st,C as ct,D as dt,E as yt,J as Tt,K as Zt,L as Dt,M as gt,N as ut,O as wt,b as Cr,c as Mr,d as Vr,e as Wr,f as Yr,g as zr,h as Nr,i as qr,j as Ir,k as Jr,l as Kr,m as Qr,n as Ur,o as Xr,p as $r,q as et,r as rt,s as tt,t as ot,u as at,v as pt,w as it,x as mt,y as nt,z as xt}from"./chunk-YWH5HQDT.js";import{d as ft,e as Lt,f as Ot,g as bt}from"./chunk-UNCP6V7I.js";import{E as Br,c as ur,d as wr,e as Gr,f as Hr,g as _r,h as Fr,i as jr,j as kr}from"./chunk-CI7A5N6G.js";import{b as gr}from"./chunk-EVYHPR3J.js";import{a as dr,b as yr,c as vr,d as Er,e as Sr,f as Ar,g as hr,h as Rr,i as Pr,j as Lr,k as Or,l as br,m as Tr,n as Zr,o as Dr}from"./chunk-XRP4JJXL.js";import{c as e,d as r,g as t,h as o,i as a,j as p,l as i,m,n,o as f,p as x,q as l,r as s,s as c}from"./chunk-YW2GTHCV.js";import"./chunk-5WRFDAZN.js";import"./chunk-2NO4YCLR.js";import"./chunk-T6O2SGH5.js";import{a as Ie,b as Je}from"./chunk-AIQ6IVT5.js";import"./chunk-QXVH6POE.js";import{a as vt,b as Et,c as St,d as At,e as ht,f as Rt,g as Pt}from"./chunk-UUOPT2N4.js";import{e as z,f as N,g as q,h as I,i as J,j as K,m as Q}from"./chunk-4QLJUQSJ.js";import{a as ir,b as mr,c as nr,d as fr,g as xr,h as lr,i as sr,j as cr}from"./chunk-7WRQ2UAN.js";import{a as bi,b as Ti,c as Zi,d as Di,e as gi,f as ui,g as wi,h as Gi,i as Hi,j as _i,k as Fi,l as ji,m as ki,n as Bi,o as Ci,p as Mi}from"./chunk-6XFXPIVB.js";import{$ as wo,A as oo,Aa as aa,B as ao,Ba as pa,C as po,Ca as ia,D as io,Da as ma,E as mo,Ea as na,F as no,Fa as fa,G as fo,Ga as xa,H as xo,Ha as la,I as lo,Ia as sa,J as so,Ja as ca,K as co,Ka as da,L as yo,La as ya,M as vo,Ma as va,N as Eo,Na as Ea,O as So,Oa as Sa,P as Ao,Pa as Aa,Q as ho,Qa as ha,R as Ro,Ra,S as Po,Sa as Pa,T as Lo,Ta as La,U as Oo,Ua as Oa,V as bo,Va as ba,W as To,X as Zo,Y as Do,Z as go,_ as uo,aa as Go,b as Gt,ba as Ho,c as Ht,ca as _o,d as _t,da as Fo,e as Ft,ea as jo,f as jt,fa as ko,g as kt,ga as Bo,h as Bt,ha as Co,i as Ct,ia as Mo,j as Mt,ja as Vo,k as Vt,ka as Wo,l as Wt,la as Yo,m as Yt,ma as zo,n as zt,na as No,o as Nt,oa as qo,p as qt,pa as Io,q as It,qa as Jo,r as Jt,ra as Ko,s as Kt,sa as Qo,t as Qt,ta as Uo,u as Ut,ua as Xo,v as Xt,va as $o,w as $t,wa as ea,x as eo,xa as ra,y as ro,ya as ta,z as to,za as oa}from"./chunk-VUJXR5K5.js";import"./chunk-WOT6VMZA.js";export{dp as ACTOR_TYPE,Fe as AspectRatio,Ki as AudioClipSchema,sm as AudioItemSchema,Nr as BOX_TYPE,tn as BRIDGE_READY_EVENT,Gt as BoundaryRicochet3DCoordinator,Ht as BoundaryRicochetCoordinator,Ur as CONE_TYPE,ua as CUTSCENE_BEHAVIOR_KEY,ot as CYLINDER_TYPE,im as CameraKeyframeSchema,Yp as CameraManager,Fp as CameraPipeline,fm as CameraShotSchema,zp as CameraWrapper,Wn as ColorJsonSchema,Gp as ConstructionGrid,_t as CooldownBehavior,wa as CutsceneCameraBehavior,mm as CutsceneCameraSchema,dm as CutsceneDefinitionSchema,xm as CutsceneEventSchema,cp as CutscenePreviewController,pm as CutsceneSceneSchema,cm as CutsceneTrackSchema,$ as DEFAULT_SNAP_SETTINGS,xt as DISK_TYPE,v as DROPPABLE_AREA_TYPE,Ft as Destructible3DBehavior,jt as DestructibleMesh,nm as DollyPathSchema,Dn as EntityJsonSchema,Pn as EntitySchema,he as EntityThumbnailCache,Ie as EventEmitterDelegate,lm as EventItemSchema,Sp as FOG_TYPE,kt as FirstPersonBehavior,Bt as FirstPersonEvent,Ct as FirstPersonFSM,Bp as FirstPersonPerspective,Wt as FirstPersonPresentation,Mt as FirstPersonShooterCoordinator,Vt as FirstPersonState,kp as Fixed2DPerspective,c as Fn,Yt as FractureOptions,fi as Game,pr as GameBridge,Kn as GameConfigJsonSchema,Jn as GameDeviceConfigJsonSchema,Vn as GameInputConfigSchema,Mn as GameInputPlayerConfigSchema,y as HOVER_AREA_TYPE,om as Howl,Ni as InstrumentDefinitionSchema,zi as InstrumentEffectSchema,Yi as InstrumentPresetSchema,Cp as IsometricPerspective,zt as Jumper2DBehavior,Nt as Jumper2DEvent,qt as Jumper2DFSM,It as Jumper2DState,Jt as Jumper3DBehavior,Kt as Jumper3DEvent,Qt as Jumper3DFSM,Ut as Jumper3DState,un as KeyboardMappingSchema,gt as LIGHT_TYPE,ai as LINE_TYPE,Tn as LineEntityDataSchema,Cn as MouseConfigSchema,wn as MouseMappingSchema,Xt as MultidirectionalSpaceShooterCoordinator,Ji as NoteClipSchema,hi as PARTICLE_SYSTEM_TYPE,it as PILL_TYPE,ct as PLANE_TYPE,et as PYRAMID_TYPE,$t as ParticleEmitterBehavior,_p as Perspectives,eo as Platformer2DBehavior,ro as Platformer2DEvent,to as Platformer2DFSM,oo as Platformer2DState,ao as Platformer3DBehavior,po as Platformer3DEvent,io as Platformer3DFSM,mo as Platformer3DState,Tt as RECT_TYPE,wi as RUNTIME_BOUNDARY_2D_BEHAVIOR_KEY,Gi as RUNTIME_DYNAMIC_CIRCLE_BODY_2D_BEHAVIOR_KEY,Hi as RUNTIME_GOAL_ZONE_2D_BEHAVIOR_KEY,_i as RUNTIME_PLAYER_INPUT_2D_BEHAVIOR_KEY,Fi as RUNTIME_RICOCHET_2D_BEHAVIOR_KEY,ji as RUNTIME_TRIGGER_REGION_2D_BEHAVIOR_KEY,Rp as RenderBundleManager,Pp as RenderStrategyManager,In as ResolutionInputSchema,no as Ricochet2DBehavior,fo as Ricochet2DEvent,xo as Ricochet2DFSM,lo as Ricochet2DState,so as Ricochet3DBehavior,co as Ricochet3DEvent,yo as Ricochet3DFSM,vo as Ricochet3DState,bi as RuntimeBoundary2DBehavior,Ti as RuntimeDynamicCircleBody2DBehavior,Zi as RuntimeGoalZone2DBehavior,Di as RuntimePlayerInput2DBehavior,gi as RuntimeRicochet2DBehavior,ui as RuntimeTriggerRegion2DBehavior,vt as SELECTION_BOUNDS_MARGIN,Et as SELECTION_THIN_AXIS_FRACTION,At as SELECTION_THIN_AXIS_MAX,St as SELECTION_THIN_AXIS_MIN,Jr as SPHERE_TYPE,ri as SPRITE_TYPE,ci as STAGE_STATE_CHANGE,am as SceneTransitionSchema,Eo as ScreenVisibilityBehavior,So as ScreenVisibilityFSM,Ao as ScreenWrapBehavior,ho as ScreenWrapEvent,Ro as ScreenWrapFSM,Po as ScreenWrapState,Vp as SecondPersonPerspective,Lo as Shooter2DBehavior,Ep as SimulationBody,Qi as SongClipSchema,$i as SongDefinitionSchema,Xi as SongLoopSchema,qi as SongNoteSchema,Ii as SongTrackSchema,Zn as SpriteEntityDataSchema,Nn as StageAssetLoaderConfigSchema,dn as StageBodyKind,yn as StageBoundaryDim,qn as StageConfigJsonSchema,vn as StageEventType,zn as StageGLTFAssetLoaderConfigSchema,gn as StageJsonSchema,Up as StageManager,En as StageRicochetDim,Sn as StageRicochetReflection,Ln as StageSchema,An as StageTopDownPlane,Xp as TEXT_TYPE,U as TRANSFORM_TOOLS,On as TextEntityDataSchema,jp as ThirdPersonPerspective,Oo as ThrusterBehavior,bo as ThrusterEvent,To as ThrusterFSM,Zo as ThrusterState,Ui as TimeSignatureSchema,Do as TopDownMovementBehavior,Mp as TopDownPerspective,go as TopDownShooterCoordinator,up as TransformGizmo,mr as VEC2_ONE,ir as VEC2_ZERO,fr as VEC3_ONE,nr as VEC3_ZERO,Yn as Vec3ComponentsSchema,Rn as Vector2Schema,bn as Vector3TupleSchema,_n as VirtualTouchButtonConfigSchema,jn as VirtualTouchButtonsConfigSchema,Bn as VirtualTouchConfigSchema,Fn as VirtualTouchJoystickConfigSchema,kn as VirtualTouchJoysticksConfigSchema,Hn as VirtualTouchPositionSchema,Gn as VirtualTouchStyleSchema,uo as WorldBoundary2DBehavior,wo as WorldBoundary2DEvent,Go as WorldBoundary2DFSM,Ho as WorldBoundary2DState,_o as WorldBoundary3DBehavior,Fo as WorldBoundary3DEvent,jo as WorldBoundary3DFSM,ko as WorldBoundary3DState,Lt as ZONE_TYPE,yp as ZylemActor,qr as ZylemBox,Xr as ZylemCone,at as ZylemCylinder,lt as ZylemDisk,S as ZylemDroppableArea,Ap as ZylemFog,on as ZylemGameElement,E as ZylemHoverArea,ut as ZylemLight,ii as ZylemLine,Ri as ZylemParticleSystem,mt as ZylemPill,dt as ZylemPlane,rt as ZylemPyramid,Zt as ZylemRect,Kr as ZylemSphere,ti as ZylemSprite,$p as ZylemText,Ot as ZylemZone,G as abs,ka as activeShot,en as announceBridgeReady,o as applyEntityGlow,rn as applySwatchesToSelection,Ip as applyTransformChanges,w as asin,u as atan,tp as audibleTrackIds,Ia as beatsPerBar,Ka as beatsToSeconds,ki as bindRuntimeDynamicCircleBody2DHandle,ur as boxCollision,Cr as boxMesh,pn as buildBoxCollider,nn as buildCapsuleCollider,xn as buildConvexHullCollider,fn as buildCylinderCollider,sn as buildHeightfieldCollider,an as buildRuntimeBody,mn as buildSphereCollider,ln as buildTrimeshCollider,cn as bundleRuntimeCollision,Om as callFunc,za as cameraTracks,Z as clamp,Q as clearGlobalSubscriptions,ap as clipsAt,Dp as closestAxisValue,Bo as computeWorldBoundary2DHits,Co as computeWorldBoundary3DHits,Gr as coneCollision,Vr as coneMesh,g as cos,Br as create,vp as createActor,R as createBackgroundShader,Ir as createBox,Np as createCamera,$r as createCone,Li as createCooldownIcon,qa as createCutscenePlayer,pt as createCylinder,st as createDisk,h as createDroppableArea,ft as createEntity,ni as createEntityFactory,t as createEntityGlowMaterial,Mo as createFirstPersonInputComponent,Vo as createFirstPersonMovementComponent,Wo as createFirstPersonStateComponent,hp as createFog,vi as createFollowTarget,xi as createGame,N as createGlobal,A as createHoverArea,pp as createInstrument,Yo as createJumpConfig2D,zo as createJumpConfig3D,No as createJumpInput2D,qo as createJumpInput3D,Io as createJumpState2D,Jo as createJumpState3D,wt as createLight,mi as createLine,i as createNodeMaterialFromTSL,Pi as createParticleSystem,Wp as createPerspective,Ko as createPhysicsBodyComponent,nt as createPill,yt as createPlane,Ei as createPlatformFollow,Qo as createPlatformer2DInputComponent,Uo as createPlatformer2DMovementComponent,Xo as createPlatformer2DStateComponent,$o as createPlatformer3DInputComponent,ea as createPlatformer3DMovementComponent,ra as createPlatformer3DStateComponent,tt as createPyramid,Dt as createRect,ta as createShooter2DStateComponent,hn as createSimulation,fp as createSongPlayer,Qr as createSphere,oi as createSprite,Kp as createStage,sp as createStageCutsceneHost,Si as createStrategyPan,ei as createText,oa as createThrusterInputComponent,aa as createThrusterMovementComponent,pa as createThrusterStateComponent,ia as createTopDownMovementComponent,ma as createTopDownMovementInputComponent,na as createTopDownMovementStateComponent,fa as createTransformComponent,Hm as createTransformStore,Op as createVariable,bt as createZone,Ta as crossfadeTransitionShader,Na as cutsceneLength,_r as cylinderCollision,Yr as cylinderMesh,ep as dbToGain,ee as debugState,Ne as defaultTouchControls,xa as defineBehavior,or as degreesToRadians,Lm as delay,Oi as destroy,yi as dispatchStageState,Ca as dollyPointAt,M as dot,Ga as easeValue,Bi as emitRuntimeGoal,Ci as emitRuntimeRicochet,Mi as emitRuntimeTriggerRegionEnter,rm as encodeWav,tm as encodeWavBlob,mp as ensureAudio,d as entityRepresentative,si as entitySpawner,Re as entityThumbnailCache,Xe as eulerToQuaternion,Va as evaluateCameraPose,Wa as evaluateCutscene,H as exp,bm as fadeOpacity,la as fireCooldown,sa as fireShooter2DIfRequested,s as float,B as floor,Qe as focusEntity,C as fract,rp as gainToDb,qe as gameConfig,wp as getActiveLevelDocument,xp as getActiveSongPlayer,ca as getCooldown,da as getCooldownStore,je as getDisplayAspect,ya as getEntityFacingAngle2D,q as getGlobal,K as getGlobals,Se as getHoveredEntity,ye as getHoveredEntityId,Wm as getPosition,ke as getPresetResolution,Dr as getRotation,Ee as getSelectedEntity,me as getSelectedEntityId,fe as getSelectedEntityIds,le as getSnapSettings,bp as getVariable,Ym as getVelocity,$m as getZylemBridge,ym as globalChange,vm as globalChanges,va as hasAnyWorldBoundary2DHit,Ea as hasAnyWorldBoundary3DHit,di as initStageStateDispatcher,gp as intersectPlane,np as isAudioReady,p as isGLSLShader,ga as isManagedRenderEntity,ie as isPickMode,a as isTSLShader,X as isTransformTool,_e as isWebGPUSupported,Ya as itemsBetween,We as joystickBaseSvg,Ye as joystickThumbSvg,V as length,_a as lerpPose,Ha as lerpVec3,ip as loadTone,j as max,Rt as measureObjectSelectionBounds,He as mergeInputConfigs,Xa as midiToFrequency,$a as midiToNoteName,k as min,b as mix,Y as mod,_m as move,hm as moveBy,Vm as moveForwardXY,Rm as moveTo,Fm as moveX,Bm as moveXY,Cm as moveXZ,jm as moveY,km as moveZ,O as normalize,xr as normalizeVec2,lr as normalizeVec3,e as objectVertexShader,I as onGlobalChange,J as onGlobalChanges,Zm as onPress,Dm as onRelease,Tp as onVariableChange,Zp as onVariableChanges,gr as packCollisionGroups,ht as padSelectionBounds,um as parallel,Be as parseResolution,Sa as particleEffect,Aa as particlePresets,pi as pickZylemLine,Fr as pillCollision,zr as pillMesh,Wi as pingPongBeep,jr as planeCollision,L as positionWorld,P as positionWorldDirection,_ as pow,Ba as previousShot,Hr as pyramidCollision,Wr as pyramidMesh,$e as quaternionToEuler,ar as radiansToDegrees,ha as registerCooldown,re as registerDebugEntityResolver,Ke as registerEntityFocusContext,em as renderSong,wm as repeat,Gm as repeatForever,Ra as resetCooldown,Am as resetEntityOpacity,Mm as resetVelocity,Pa as resolveAim2D,Ve as resolveButtonAccent,te as resolveDebugEntity,Za as resolveRenderCategory,Pt as resolveSelectionBounds,Me as resolveTouchTheme,Vi as ricochetSound,Pm as rotateBy,vr as rotateEuler,dr as rotateInDirection,Sr as rotateX,Er as rotateY,yr as rotateYEuler,Ar as rotateZ,Ma as sampleDollyPath,Fa as sceneAt,op as scheduleSong,Xm as screenCenterLookDeltas,Um as screenCenterLookTargets,Qa as secondsToBeats,gm as sequence,de as setAddType,Ai as setCameraFeed,lp as setCutsceneTransitionShaders,ae as setDebugTool,z as setGlobal,ce as setGridVisible,ve as setHoveredEntityId,oe as setPaused,pe as setPickMode,zm as setPosition,Nm as setPositionX,qm as setPositionY,Im as setPositionZ,Tr as setRotation,Zr as setRotationDegrees,Lr as setRotationDegreesX,Rr as setRotationDegreesY,br as setRotationDegreesZ,Pr as setRotationX,hr as setRotationY,Or as setRotationZ,Ae as setSelectedEntity,ne as setSelectedEntityId,xe as setSelectedEntityIds,se as setSnapSettings,Hp as setStageFrameProfilerEnabled,Lp as setVariable,Qm as shortestAngleDelta,ja as shotAt,D as sin,T as smoothstep,tr as snapScale,er as snapToIncrement,rr as snapVec3,Ja as songLengthBeats,Ua as songLengthSeconds,wr as sphereCollision,Mr as sphereMesh,qp as stageConfig,Qp as stageState,r as standardShader,F as step,Ue as streamLevel,li as streamLevelOnStage,Tm as throttle,La as tickCooldowns,f as time,sr as toThreeVector2,cr as toThreeVector3,ze as touchButtonSvg,Ce as touchThemes,m as uniform,Oa as updateBoundaryRicochet,Pe as useArrowsForAxes,Oe as useArrowsForDirections,Le as useArrowsForSecondaryAxes,ba as useBehavior,Ze as useIJKLForAxes,De as useIJKLForDirections,we as useMouse,ge as useMouseLook,ue as useScreenCenterLook,Ge as useVirtualControls,Te as useWASDForAxes,be as useWASDForDirections,Da as usesManagedRenderPath,n as uv,Em as variableChange,Sm as variableChanges,W as vec2,x as vec3,l as vec4,Jp as vessel,Km as wrapAround3D,Jm as wrapAroundXY,kr as zoneCollision,Je as zylemEventBus};
@@ -0,0 +1 @@
1
+ import{a as l,b as d}from"./chunk-GQXYD2JG.js";import{b as y,c as g}from"./chunk-5WRFDAZN.js";import{a as S}from"./chunk-2NO4YCLR.js";import{h as u,i as a,j as f,k as m}from"./chunk-T6O2SGH5.js";import"./chunk-WOT6VMZA.js";var p="zylem-decoded.spz";async function R(o=D){try{return await o()}catch(e){throw new Error(g,{cause:e})}}async function D(){return import("@playcanvas/splat-transform")}function h(){return R()}function P(o){if(a(o)==="lod-meta.json")throw new Error(y)}async function F(o,e,t){let c=o.createChunkDataPool(),r=(await o.readFile({filename:e,inputFormat:"sog",fileSystem:t}))[0];if(!r)throw new Error(`SOG file ${e} did not contain a splat scene.`);let n=new o.MemoryFileSystem;try{await o.writeSource({filename:p,outputFormat:"spz",source:r,pool:c,options:{}},n)}finally{await r.close?.()}let s=n.results.get(p);if(!s)throw new Error("SOG decoder did not produce an SPZ buffer.");return s}async function O(o,e,t,c){let i=new o.MemoryReadFileSystem;i.set?.(t,e);let r=await F(o,t,i),n=await d("spz",r.buffer.slice(r.byteOffset,r.byteOffset+r.byteLength));return l(n,c)}async function b(o,e,t){P(e),t?.onProgress?.(0);let i=m(e)==="sog"?await O(o,await S(e,t),a(e)||"model.sog",t):await(async()=>{let r=a(e),n=new o.UrlReadFileSystem(f(e)),s=await F(o,r,n),M=await d("spz",s.buffer.slice(s.byteOffset,s.byteOffset+s.byteLength));return l(M,t)})();return t?.onProgress?.(1),i}var w=class{decoderPromise=null;decoder(){return this.decoderPromise??=h(),this.decoderPromise}isSupported(e){return m(e)==="sog"||a(e)==="meta.json"}async load(e,t){return P(e),b(await this.decoder(),e,t)}clone(e){return{object:u(e.object),animations:[]}}};export{w as SogLoaderAdapter,P as assertBundledSog,h as importSogDecoder,R as loadSogDecoder,O as modelFromSogBytes,b as modelFromSogUrl};
@@ -1,30 +1,33 @@
1
1
  import { B as BaseNode } from './base-node-idopiSw5.js';
2
2
  import { h as SetupFunction, g as UpdateFunction, j as DestroyFunction, a as SetupContext, U as UpdateContext, D as DestroyContext, L as LoadingEvent } from './base-node-life-cycle-BK9xebT9.js';
3
- import { Scene, Color, Object3D, Vector3, BufferGeometry, Material, Group, Texture } from 'three';
4
- import { an as ZylemWorld, al as EntityTypeMap } from './entity-type-map-B0S5cfv7.js';
3
+ import { Box3, Scene, Color, Object3D, Vector3, BufferGeometry, Material, Group, Texture, Camera } from 'three';
4
+ import { an as ZylemWorld, al as EntityTypeMap } from './entity-type-map-BMaPY8cd.js';
5
5
  import { E as Entity, L as LifecycleFunction, S as StageEntity } from './entity-BIf_a4dl.js';
6
- import { G as GameEntity, a as GameEntityOptions } from './entity-DC0P747T.js';
7
- import { l as ZylemCamera, R as RendererManager, e as CameraPerspective, d as CameraContext, C as CameraPose, P as PerspectiveType, f as CameraBehavior, g as CameraAction, h as CameraPipelineState, V as Viewport, Z as ZylemPostEffect } from './zylem-camera-CWhIGXlW.js';
8
- import { d as ZylemShader } from './material-CxxAyJYp.js';
6
+ import { G as GameEntity, d as GameEntityOptions, b as PointerTargetEntity } from './entity-CY75JJSw.js';
7
+ import { l as ZylemCamera, R as RendererManager, e as CameraPerspective, d as CameraContext, C as CameraPose, P as PerspectiveType, f as CameraBehavior, g as CameraAction, h as CameraPipelineState, V as Viewport, Z as ZylemPostEffect } from './zylem-camera-BA3VPFlS.js';
8
+ import { f as ZylemShader } from './material-D1IVeQc5.js';
9
9
  import { a as SimulationBody } from './simulation-body-zQw-emOr.js';
10
10
  import { e as Vec3Input, b as Vec2Input, d as Vec3Components } from './vector-D3eDzvcA.js';
11
11
  import { StageEvents } from './events.js';
12
12
  import { G as GameInputConfig } from './game-interfaces-vF5sRi1n.js';
13
- import { SwatchApplyResult, SceneOperationEntry, EntityApplySwatchPayload, SceneOperationPayload } from '@zylem/bridge';
14
- import { a as LevelSyncPayload, L as LevelDocument } from './level-types-D10LiOcn.js';
13
+ import { A as ArmPlacementOptions, P as PlacementSession } from './placement-session-BNQoL7Jb.js';
14
+ import { SwatchApplyResult, SceneOperationEntry, LevelSyncPayload, LevelDocument, EntityApplySwatchPayload, SceneOperationPayload } from '@zylem/bridge';
15
15
  import { BehaviorSystem, BehaviorEntityLink, BehaviorRuntime, BehaviorSystemFactory, BehaviorRef } from '@zylem/behaviors/core';
16
+ import { d as GizmoRay } from './transform-gizmo-DappLQ9w.js';
16
17
 
17
18
  /**
18
19
  * Editor-view cameras exist only while an editor is attached.
19
20
  *
20
21
  * `GameBridge.connect()` runs for every game, so it is not the signal. The
21
22
  * bridge marks the session attached when an editor subscribes, and every live
22
- * camera manager creates or destroys its four view cameras from that flag.
23
+ * camera manager creates or destroys its view cameras from that flag.
23
24
  */
24
25
  interface EditorCameraHost {
25
26
  ensureEditorCameras(): Promise<void>;
26
27
  destroyEditorCameras(): void;
27
28
  activateCameraById(id: string): boolean;
29
+ /** Copy the gameplay camera onto the free view, then show it. */
30
+ syncFreeCameraToGame(): void;
28
31
  }
29
32
 
30
33
  /**
@@ -33,7 +36,7 @@ interface EditorCameraHost {
33
36
  * Responsibilities:
34
37
  * - Named camera registry (add/remove/get by name or reference)
35
38
  * - Active camera list management (determines which cameras render)
36
- * - Editor view cameras (side, top, isometric, free), created only while an editor is attached
39
+ * - Editor view cameras, created only while an editor is attached
37
40
  * - Per-frame update of all active cameras' perspective controllers
38
41
  * - Coordinating rendering via RendererManager for all active viewports
39
42
  */
@@ -48,6 +51,10 @@ declare class CameraManager implements EditorCameraHost {
48
51
  private _lockedEditorIds;
49
52
  /** Which editor views pan in screen space (the view plane). */
50
53
  private _screenSpacePanIds;
54
+ /** Side, top, and isometric views that have already been placed on the gameplay camera. */
55
+ private _framedEditorViews;
56
+ /** World boxes of stage entities, read when an orthographic view is first shown. */
57
+ private _entityBounds;
51
58
  /** Game camera to restore when the editor releases the main view. */
52
59
  private _rememberedGameCamera;
53
60
  /**
@@ -75,12 +82,22 @@ declare class CameraManager implements EditorCameraHost {
75
82
  * Get the primary active camera (first in the active list).
76
83
  */
77
84
  get primaryCamera(): ZylemCamera | null;
78
- /** True while side, top, isometric, or free is the main view. */
85
+ /** True while an editor view is the main camera. */
79
86
  isEditorViewActive(): boolean;
80
87
  /** Id of the editor view that is currently the main camera, if one is. */
81
88
  activeEditorCameraId(): string | null;
82
- /** True after the four editor views have been created. */
89
+ /** True after the editor views have been created. */
83
90
  hasEditorCameras(): boolean;
91
+ /**
92
+ * World boxes used the first time side, top, or isometric is shown.
93
+ * Pass null to stop contributing boxes.
94
+ */
95
+ setEditorEntityBounds(read: (() => readonly Box3[]) | null): void;
96
+ /**
97
+ * Copy the gameplay camera onto the free view, then show that view.
98
+ * Waits for the editor cameras when they have not been created yet.
99
+ */
100
+ syncFreeCameraToGame(): void;
84
101
  /**
85
102
  * Get all registered cameras.
86
103
  */
@@ -127,13 +144,13 @@ declare class CameraManager implements EditorCameraHost {
127
144
  */
128
145
  setup(scene: Scene, rendererManager: RendererManager): Promise<void>;
129
146
  /**
130
- * Create side, top, isometric, and free cameras seeded from the current
131
- * game camera. Does not change which camera is rendering.
147
+ * Create the editor view cameras seeded from the current game camera.
148
+ * Does not change which camera is rendering.
132
149
  */
133
150
  ensureEditorCameras(): Promise<void>;
134
151
  /**
135
152
  * Restore the game camera when an editor view is showing, then destroy
136
- * the four editor cameras.
153
+ * the editor cameras.
137
154
  */
138
155
  destroyEditorCameras(): void;
139
156
  /**
@@ -168,6 +185,15 @@ declare class CameraManager implements EditorCameraHost {
168
185
  private showGameCamera;
169
186
  /** Enable orbit on the active editor view only. Inactive views keep their pose. */
170
187
  private syncEditorOrbit;
188
+ private isOrthographicEditorView;
189
+ /** Snapshot the gameplay camera onto the free orbit camera. Does not switch views. */
190
+ private copyFreeFromGame;
191
+ private copyGameplayProjection;
192
+ /**
193
+ * Place an orthographic view on the gameplay camera's look-at and fit the
194
+ * stage around that point. Returns false when there is no gameplay camera.
195
+ */
196
+ private frameOrthographicView;
171
197
  /** Stop game-camera orbit controls from sharing the canvas with an editor view. */
172
198
  private suspendOtherOrbits;
173
199
  private restoreOrbitFor;
@@ -917,8 +943,9 @@ interface SwatchApplyOutcome {
917
943
  * `PlacementGhost` — is live whenever a tool is armed, so the toolbar's buttons
918
944
  * work on their own. The debug layer — the wasm simulation's collider
919
945
  * wireframes — is the part `debugState.enabled` gates, and is torn down when
920
- * it goes off while the delegate stays alive to re-activate. Debug mode does
921
- * not switch cameras; picking and gizmos use whichever camera is rendering.
946
+ * it goes off while the delegate stays alive to re-activate. This delegate
947
+ * does not switch cameras; the bridge shows the free camera when debug is
948
+ * enabled. Picking and gizmos use whichever camera is rendering.
922
949
  *
923
950
  * Centralizes all of this so `ZylemStage` doesn't have to know about
924
951
  * raycasting, DOM input, or debug rendering.
@@ -1001,6 +1028,8 @@ declare class StageDebugDelegate {
1001
1028
  private syncWithDebugState;
1002
1029
  /** Hand the transform tool its mode whenever the active tool changes. */
1003
1030
  private syncToolMode;
1031
+ /** The entity gizmo stands down while a level is edited; the level session runs its own. */
1032
+ private syncTransformTool;
1004
1033
  private syncGrid;
1005
1034
  /** Initialize DOM listeners. The rendering camera stays whatever the editor selected. */
1006
1035
  private activate;
@@ -1085,6 +1114,8 @@ declare class StageDebugDelegate {
1085
1114
  * physics raycast here and cannot preview itself.
1086
1115
  */
1087
1116
  private updatePlacementGhost;
1117
+ /** Selection boxes for the first side, top, and isometric placement. Level brushes are not included. */
1118
+ private editorEntityBoxes;
1088
1119
  /** Full teardown — unsubscribes from debugState and cleans up all resources. */
1089
1120
  dispose(): void;
1090
1121
  /**
@@ -1490,6 +1521,113 @@ declare class StageEntityDelegate {
1490
1521
  private unregisterBehaviorLinks;
1491
1522
  }
1492
1523
 
1524
+ /**
1525
+ * Geometry for the add tool's placement click.
1526
+ *
1527
+ * Split out from `StageDebugDelegate` because it is pure: rays and bounds in,
1528
+ * a position out, with no scene, world, or entity state involved. Placement is
1529
+ * also the part most worth pinning down — the fallback plane and the surface
1530
+ * offset are what make a click into empty space land somewhere sensible.
1531
+ */
1532
+
1533
+ /** A ray/collider intersection, as reported by the physics world. */
1534
+ interface PlacementHit {
1535
+ distance: number;
1536
+ normal: [number, number, number];
1537
+ }
1538
+
1539
+ /**
1540
+ * Play-mode pointer: hover areas, droppable areas, and click-to-place.
1541
+ *
1542
+ * The editor's Add tool owns the canvas while `isEditorInteractionActive()`
1543
+ * is true. This delegate stays out of that — an armed session is hidden and
1544
+ * not cancelled, and its listeners come off so the gizmo and the add ghost
1545
+ * keep the pointer. Left click is swallowed only when a placement commits or
1546
+ * a hover area handles the click, so an empty press still reaches the camera.
1547
+ */
1548
+
1549
+ interface StagePointerHost {
1550
+ getScene(): Scene | null;
1551
+ raycast(origin: Vector3, direction: Vector3, maxDistance: number): PlacementHit | null;
1552
+ addSpawn(entity: unknown): void;
1553
+ getCanvas(): HTMLElement | null;
1554
+ getCamera(): Camera | null;
1555
+ /** The durable stage should drop its saved session. Not called while repeating. */
1556
+ onSessionEnded?: () => void;
1557
+ }
1558
+ declare class StagePointerDelegate {
1559
+ private readonly host;
1560
+ private readonly unsubscribe;
1561
+ private readonly known;
1562
+ private readonly targets;
1563
+ private readonly bounds;
1564
+ private readonly raycaster;
1565
+ private readonly mouseNdc;
1566
+ private session;
1567
+ private view;
1568
+ private closing;
1569
+ private disposed;
1570
+ private hovered;
1571
+ private hoveredId;
1572
+ private lastAim;
1573
+ /** Test and host injection. When set, the camera ray is not used. */
1574
+ private rayOverride;
1575
+ private canvas;
1576
+ private listening;
1577
+ private keys;
1578
+ constructor(host: StagePointerHost);
1579
+ /** True while a click would still try to place. False during the fade-out. */
1580
+ get isPlacing(): boolean;
1581
+ get previewOpacity(): number;
1582
+ get previewPosition(): Vector3 | null;
1583
+ /**
1584
+ * Use this ray instead of the camera. Tests inject one; a live stage leaves
1585
+ * it null and rebuilds the ray from the canvas every frame so a moving
1586
+ * camera does not leave the preview behind.
1587
+ */
1588
+ setRay(ray: GizmoRay | null): void;
1589
+ /** Register a target that is not going through the stage entity list. */
1590
+ registerTarget(entity: PointerTargetEntity): void;
1591
+ unregisterTarget(uuid: string): void;
1592
+ arm(options: ArmPlacementOptions): void;
1593
+ setPayload(payload: unknown): void;
1594
+ setRepresentative(representative: ArmPlacementOptions['representative']): void;
1595
+ cancel(): void;
1596
+ update(delta: number): void;
1597
+ /**
1598
+ * @returns whether the press was handled. Unhandled presses are left for
1599
+ * the camera.
1600
+ */
1601
+ pointerDown(button: number): boolean;
1602
+ dispose(): void;
1603
+ private suspended;
1604
+ private mountView;
1605
+ private syncTarget;
1606
+ private resolveAim;
1607
+ private nearestArea;
1608
+ private hasDroppable;
1609
+ private surfacePoint;
1610
+ private present;
1611
+ private applyHover;
1612
+ private leaveHovered;
1613
+ private fire;
1614
+ private areaContext;
1615
+ private tryCommit;
1616
+ private pointContext;
1617
+ private notifyDrop;
1618
+ private finishCommit;
1619
+ private beginClose;
1620
+ private clickHovered;
1621
+ private currentRay;
1622
+ private syncListeners;
1623
+ private detachListeners;
1624
+ private detachPointer;
1625
+ private onPointerMove;
1626
+ private onPointerDown;
1627
+ private onKeyDown;
1628
+ private trackPointer;
1629
+ }
1630
+
1493
1631
  /**
1494
1632
  * The runtime heart of a loaded stage.
1495
1633
  *
@@ -1549,6 +1687,8 @@ declare class ZylemStage extends LifeCycleBase<ZylemStage> {
1549
1687
  scene: ZylemScene | null;
1550
1688
  renderStrategy: RenderStrategyManager | null;
1551
1689
  debugDelegate: StageDebugDelegate | null;
1690
+ /** Play-mode hover, drop, and click-to-place. Suspended while the editor tools are live. */
1691
+ readonly pointerDelegate: StagePointerDelegate;
1552
1692
  uuid: string;
1553
1693
  wrapperRef: Stage | null;
1554
1694
  camera?: CameraWrapper;
@@ -1659,6 +1799,9 @@ declare class Stage {
1659
1799
  private eventDelegate;
1660
1800
  /** Per-stage input configuration overrides. Merged with game-level defaults on stage load. */
1661
1801
  inputConfig: GameInputConfig | null;
1802
+ /** Placement armed before the runtime stage exists, applied on load. */
1803
+ private pendingPlacement;
1804
+ private placementGeneration;
1662
1805
  /**
1663
1806
  * Callback set by the game to trigger input reconfiguration
1664
1807
  * when this stage's input config changes at runtime.
@@ -1692,6 +1835,33 @@ declare class Stage {
1692
1835
  * @example stage.getEntityByName('scoreText', TEXT_TYPE)
1693
1836
  */
1694
1837
  getEntityByName<T extends symbol | void = void>(name: string, type?: T): T extends keyof EntityTypeMap ? EntityTypeMap[T] | undefined : BaseNode | undefined;
1838
+ /**
1839
+ * Follow the cursor with a representative and place an entity on left click.
1840
+ *
1841
+ * Click-to-place, not a drag. A hover area's `onClick` can call this to
1842
+ * pick something up. While the stage has any droppable, the click only
1843
+ * commits over one that accepts `payload`. Otherwise it lands on the
1844
+ * physics hit, or the ground plane. Right click, Escape, and
1845
+ * {@link cancelPlacement} fade the preview out.
1846
+ *
1847
+ * @example
1848
+ * stage.armPlacement({
1849
+ * payload: 'tower',
1850
+ * repeat: true,
1851
+ * representative: entityRepresentative(createBox, { opacity: 0.45 }),
1852
+ * spawnOnClick: ({ valid, position }) => valid ? createBox({ position }) : false,
1853
+ * });
1854
+ */
1855
+ armPlacement(options: ArmPlacementOptions): PlacementSession;
1856
+ /** Fade out the armed representative and ignore further placement clicks. */
1857
+ cancelPlacement(): this;
1858
+ /**
1859
+ * Drop the session the next load would re-arm.
1860
+ * The pointer delegate calls this after a cancel or a one-shot commit.
1861
+ * It does not touch the live preview — {@link cancelPlacement} does both.
1862
+ * @internal
1863
+ */
1864
+ abandonPlacement(): void;
1695
1865
  /**
1696
1866
  * Add a camera to this stage.
1697
1867
  * @param camera The ZylemCamera or CameraWrapper to add