@zylem/game-lib 0.8.4 → 0.8.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (64) hide show
  1. package/LICENSE +21 -0
  2. package/dist/actions.d.ts +7 -5
  3. package/dist/api/game-lib.api.json +3529 -500
  4. package/dist/api/game-lib.api.md +188 -10
  5. package/dist/api/game-lib.d.ts +510 -11
  6. package/dist/api/game-lib.typedoc.json +218291 -134637
  7. package/dist/base-node-idopiSw5.d.ts +96 -0
  8. package/dist/bridge.d.ts +30 -6
  9. package/dist/bridge.js +1 -1
  10. package/dist/catalog.d.ts +77 -0
  11. package/dist/catalog.js +1 -0
  12. package/dist/{chunk-TV3AZKT4.js → chunk-34MYRTRP.js} +1 -1
  13. package/dist/{chunk-CM5YRNBJ.js → chunk-7NYP4YAG.js} +1 -1
  14. package/dist/chunk-AE3CTVHY.js +1 -0
  15. package/dist/chunk-BCFFS3FP.js +1 -0
  16. package/dist/chunk-BMRFDDMR.js +1 -0
  17. package/dist/chunk-CBUQBP2U.js +1 -0
  18. package/dist/chunk-EVMLNMGU.js +1 -0
  19. package/dist/chunk-F5LROYZL.js +24 -0
  20. package/dist/chunk-GHJQ2HKI.js +1 -0
  21. package/dist/chunk-IBJLPJLE.js +1 -0
  22. package/dist/chunk-MXO4VGDB.js +1 -0
  23. package/dist/{chunk-VIPINV7V.js → chunk-Q2YDBMVY.js} +1 -1
  24. package/dist/chunk-QDQ4QMAI.js +1 -0
  25. package/dist/chunk-SAQA4SXW.js +1 -0
  26. package/dist/chunk-YOVE25NW.js +1 -0
  27. package/dist/chunk-ZTYNZ2N2.js +1 -0
  28. package/dist/{collision-builder-4TVDzXsp.d.ts → collision-builder-BckxkdmA.d.ts} +1 -1
  29. package/dist/core.d.ts +14 -11
  30. package/dist/core.js +1 -1
  31. package/dist/debug-state-CpnNRUFh.d.ts +97 -0
  32. package/dist/debug.d.ts +194 -7
  33. package/dist/debug.js +1 -1
  34. package/dist/{entity-DDks47JB.d.ts → entity-BIf_a4dl.d.ts} +1 -1
  35. package/dist/{entity-BI7cSlK8.d.ts → entity-XZNGBeca.d.ts} +32 -98
  36. package/dist/{entity-type-map-COHu4fkW.d.ts → entity-type-map-CkkFMSrL.d.ts} +5 -4
  37. package/dist/entity.d.ts +9 -7
  38. package/dist/entity.js +1 -1
  39. package/dist/{game-4fsy55uN.d.ts → game-BPOr7zTB.d.ts} +195 -17
  40. package/dist/game-default-7HCJJF5S.js +1 -0
  41. package/dist/graphics.d.ts +6 -5
  42. package/dist/graphics.js +1 -1
  43. package/dist/{material-BKPYeBC6.d.ts → material-CxxAyJYp.d.ts} +1 -1
  44. package/dist/public.d.ts +13 -11
  45. package/dist/public.js +1 -1
  46. package/dist/runtime.d.ts +3 -3
  47. package/dist/{vector-DPbwlzgG.d.ts → simulation-body-zQw-emOr.d.ts} +1 -40
  48. package/dist/vector-D3eDzvcA.d.ts +41 -0
  49. package/dist/web-components.d.ts +12 -9
  50. package/dist/web-components.js +1 -1
  51. package/dist/{zylem-camera-B73ZNcgs.d.ts → zylem-camera-DZTpPOiD.d.ts} +12 -1
  52. package/package.json +20 -17
  53. package/dist/chunk-3I537JFL.js +0 -1
  54. package/dist/chunk-4CHZUWLF.js +0 -1
  55. package/dist/chunk-6B5JP7T5.js +0 -24
  56. package/dist/chunk-C5NEGC3S.js +0 -1
  57. package/dist/chunk-D3JO4HW2.js +0 -1
  58. package/dist/chunk-LKFF6XJC.js +0 -1
  59. package/dist/chunk-OAWK2UUY.js +0 -1
  60. package/dist/chunk-PNLNC3FA.js +0 -1
  61. package/dist/chunk-W5SXED5T.js +0 -1
  62. package/dist/debug-state-s0s-qndj.d.ts +0 -49
  63. package/dist/game-default-4PPYYGAR.js +0 -1
  64. /package/dist/{chunk-DFLI7ICU.js → chunk-MSCVL5OK.js} +0 -0
@@ -1,12 +1,15 @@
1
1
  import { e as InputPlayerNumber, f as InputProvider, I as Inputs, h as SetupFunction, g as UpdateFunction, j as DestroyFunction, a as SetupContext, U as UpdateContext, D as DestroyContext, L as LoadingEvent, m as IGame, S as StageNavigationOptions } from './base-node-life-cycle-BK9xebT9.js';
2
2
  import { G as GameInputConfig, B as BaseGlobals, Z as ZylemGameConfig } from './game-interfaces-vF5sRi1n.js';
3
- import { G as GameEntity, a as GameEntityOptions, B as BaseNode, y as GameEntityLifeCycle } from './entity-BI7cSlK8.js';
3
+ import { B as BaseNode } from './base-node-idopiSw5.js';
4
4
  import { Scene, Color, Object3D, Vector3, BufferGeometry, Material, Group, Texture } from 'three';
5
- import { al as ZylemWorld, aj as EntityTypeMap } from './entity-type-map-COHu4fkW.js';
6
- import { E as Entity, L as LifecycleFunction, S as StageEntity } from './entity-DDks47JB.js';
7
- import { k as ZylemCamera, R as RendererManager, e as CameraPerspective, d as CameraContext, C as CameraPose, P as PerspectiveType, f as CameraBehavior, g as CameraAction, h as CameraPipelineState, V as Viewport, Z as ZylemPostEffect } from './zylem-camera-B73ZNcgs.js';
8
- import { d as ZylemShader } from './material-BKPYeBC6.js';
9
- import { l as SimulationBody, e as Vec3Input, b as Vec2Input, d as Vec3Components } from './vector-DPbwlzgG.js';
5
+ import { al as ZylemWorld, aj as EntityTypeMap } from './entity-type-map-CkkFMSrL.js';
6
+ import { E as Entity, L as LifecycleFunction, S as StageEntity } from './entity-BIf_a4dl.js';
7
+ import { G as GameEntity, a as GameEntityOptions, y as GameEntityLifeCycle } from './entity-XZNGBeca.js';
8
+ import { k as ZylemCamera, R as RendererManager, e as CameraPerspective, d as CameraContext, C as CameraPose, P as PerspectiveType, f as CameraBehavior, g as CameraAction, h as CameraPipelineState, V as Viewport, Z as ZylemPostEffect } from './zylem-camera-DZTpPOiD.js';
9
+ import { d as ZylemShader } from './material-CxxAyJYp.js';
10
+ import { a as SimulationBody } from './simulation-body-zQw-emOr.js';
11
+ import { e as Vec3Input, b as Vec2Input, d as Vec3Components } from './vector-D3eDzvcA.js';
12
+ import { SceneOperationPayload } from '@zylem/bridge';
10
13
  import { BehaviorSystem, BehaviorEntityLink, BehaviorRuntime, BehaviorSystemFactory, Simulation } from '@zylem/behaviors/core';
11
14
  import { StageEvents, GameEvents } from './events.js';
12
15
  import { D as DefaultTouchControlsOptions } from './default-controls-CAKJ5zlo.js';
@@ -846,13 +849,16 @@ declare function createCamera(options: CameraOptions): CameraWrapper;
846
849
  /**
847
850
  * Owns the stage's in-world debug/editor interaction layer.
848
851
  *
849
- * Self-manages around the global `debugState`: when debug is enabled it draws
850
- * the wasm simulation's collider wireframes, attaches mouse listeners,
851
- * raycasts into the physics world to hover/select/delete/spawn entities, and
852
- * drives the `DebugEntityCursor` highlight. When disabled it tears down
853
- * visuals but stays alive to re-activate. Centralizes all debug-tool plumbing
854
- * so `ZylemStage` doesn't have to know about raycasting, DOM input, or debug
855
- * rendering.
852
+ * Self-manages around the global `debugState`, in two layers that switch on
853
+ * independently. The tool layer — mouse listeners, physics raycasts to
854
+ * hover/select/delete/spawn, the `DebugEntityCursor` highlight and the
855
+ * `PlacementGhost` — is live whenever a tool is armed, so the toolbar's buttons
856
+ * work on their own. The debug layer — the wasm simulation's collider
857
+ * wireframes and the orbit camera — is the part `debugState.enabled` gates, and
858
+ * is torn down when it goes off while the delegate stays alive to re-activate.
859
+ *
860
+ * Centralizes all of this so `ZylemStage` doesn't have to know about
861
+ * raycasting, DOM input, or debug rendering.
856
862
  */
857
863
 
858
864
  type AddEntityFactory = (params: {
@@ -875,10 +881,10 @@ declare class StageDebugDelegate {
875
881
  private options;
876
882
  private mouseNdc;
877
883
  private raycaster;
878
- private isMouseDown;
879
884
  private domDisposeFns;
880
885
  private domListenersAttached;
881
886
  private debugCursor;
887
+ private placementGhost;
882
888
  private debugLines;
883
889
  private cameraDebugDelegate;
884
890
  private debugStateUnsubscribe;
@@ -886,6 +892,11 @@ declare class StageDebugDelegate {
886
892
  private entityResolverUnregister;
887
893
  private lastDebugEnabled;
888
894
  private warnedMissingAddFactory;
895
+ private transformTool;
896
+ private grid;
897
+ private lastTool;
898
+ /** Element the current gizmo drag captured, so pointerup is never missed. */
899
+ private capturedPointer;
889
900
  constructor(stage: ZylemStage, options?: StageDebugDelegateOptions);
890
901
  /**
891
902
  * Supply the factory the `add` tool uses to spawn entities at the clicked
@@ -905,18 +916,116 @@ declare class StageDebugDelegate {
905
916
  * rebuild the render pipeline once per frame.
906
917
  */
907
918
  private syncWithDebugState;
919
+ /** Hand the transform tool its mode whenever the active tool changes. */
920
+ private syncToolMode;
921
+ private syncGrid;
908
922
  /** Initialize DOM listeners and switch rendering to the debug orbit camera. */
909
923
  private activate;
910
924
  /** Tear down visuals and restore the gameplay primary camera. */
911
925
  private deactivate;
912
926
  private rebindPostProcessing;
927
+ /**
928
+ * Collider wireframes: the one overlay that really is debug-mode-only, since
929
+ * it draws the simulation itself rather than anything being edited.
930
+ */
913
931
  private initDebugVisuals;
914
932
  private disposeDebugVisuals;
933
+ /**
934
+ * Tool feedback, built on first use and kept for the delegate's life.
935
+ *
936
+ * Separate from {@link initDebugVisuals} because the hover highlight and the
937
+ * placement ghost belong to the tools, not to debug mode: they have to be
938
+ * available when a tool is armed with debug off.
939
+ */
940
+ private ensureToolVisuals;
941
+ /**
942
+ * Hide the overlays whose tool has just gone away.
943
+ *
944
+ * `update()` normally does this, but it stops being called once nothing is
945
+ * armed and debug is off — so the frame that would have hidden a disarmed
946
+ * Add's ghost never arrives, and the preview is left floating in the scene.
947
+ * Driven from the tool transition, which always fires.
948
+ */
949
+ private parkToolVisuals;
950
+ private disposeToolVisuals;
915
951
  update(): void;
952
+ /**
953
+ * Raycast at NDC coordinates (from a host that cannot send DOM pointer
954
+ * events, e.g. an overlay sitting on a preview iframe). Updates hover so
955
+ * the next `update()` paints the highlight.
956
+ */
957
+ pickAtNdc(ndcX: number, ndcY: number): {
958
+ uuid: string;
959
+ name: string;
960
+ } | null;
961
+ /** Collider wireframes, straight from the wasm simulation. */
962
+ private updateColliderWireframes;
963
+ /**
964
+ * Make sure an armed tool can actually receive the pointer.
965
+ *
966
+ * The listeners outlive debug mode once attached — `deactivate()` leaves them
967
+ * in place and only `dispose()` removes them — so this only ever has to run
968
+ * until it succeeds.
969
+ */
970
+ private ensureInteraction;
971
+ /**
972
+ * Drive the translucent preview of the armed entity type from the cursor.
973
+ *
974
+ * Runs while the game is paused as well as while it plays: only the
975
+ * fixed-step `step()` is pause-gated, so this pass still ticks and the
976
+ * ghost keeps following the mouse in a frozen scene — which is exactly when
977
+ * a scene is usually being built. It runs with debug mode off too, for the
978
+ * same reason: arming Add is a request to place something, not to inspect
979
+ * colliders.
980
+ *
981
+ * The ghost is a scene overlay, not an entity, so it is invisible to the
982
+ * physics raycast here and cannot preview itself.
983
+ */
984
+ private updatePlacementGhost;
916
985
  /** Full teardown — unsubscribes from debugState and cleans up all resources. */
917
986
  dispose(): void;
918
- private handleActionOnHit;
987
+ /**
988
+ * Undo or redo a committed operation.
989
+ *
990
+ * The editor holds the history but cannot apply it: reverting a delete means
991
+ * producing the original entity, which only the stage can do. So the editor
992
+ * hands the record back and the inversion happens here.
993
+ */
994
+ applySceneOperation(op: SceneOperationPayload, direction: 'undo' | 'redo'): void;
995
+ /** The mouse ray in world space, from the last pointer position. */
996
+ private currentRay;
997
+ private handleAction;
998
+ /**
999
+ * Spawn the armed entity type at the clicked point.
1000
+ *
1001
+ * Placement resolves in two steps because a click into empty sky is the
1002
+ * common case when building a scene from nothing: the physics hit is
1003
+ * preferred (the entity rests on the surface it was dropped onto), and
1004
+ * otherwise the ray is intersected with the y=0 construction plane. Before
1005
+ * this, clicking anywhere without an existing collider under the cursor did
1006
+ * nothing at all.
1007
+ */
1008
+ private placeEntity;
1009
+ /**
1010
+ * Nudge a freshly placed entity out along the surface normal by half its
1011
+ * own size, so it sits on the surface rather than half-buried in it.
1012
+ *
1013
+ * Runs after spawn because the entity's bounds are not known until its mesh
1014
+ * exists.
1015
+ */
1016
+ private restOnSurface;
1017
+ private warnMissingAddSource;
919
1018
  private attachDomListeners;
1019
+ /**
1020
+ * Own the pointer for the duration of a gizmo drag.
1021
+ *
1022
+ * Capture keeps events coming even when the cursor leaves the canvas, which
1023
+ * happens constantly when dragging an axis toward the edge of the viewport.
1024
+ * Orbit is suspended for the same window so the drag does not also swing the
1025
+ * camera.
1026
+ */
1027
+ private beginPointerCapture;
1028
+ private endPointerCapture;
920
1029
  }
921
1030
 
922
1031
  /**
@@ -1070,6 +1179,21 @@ type NodeLike$1 = {
1070
1179
  create: Function;
1071
1180
  };
1072
1181
  type StageEntityInput = NodeLike$1 | Promise<any> | (() => NodeLike$1 | Promise<any>);
1182
+ /** A detached entity plus the pose to restore it at. */
1183
+ interface DetachedEntity {
1184
+ entity: any;
1185
+ position: {
1186
+ x: number;
1187
+ y: number;
1188
+ z: number;
1189
+ } | null;
1190
+ rotation: {
1191
+ x: number;
1192
+ y: number;
1193
+ z: number;
1194
+ w: number;
1195
+ } | null;
1196
+ }
1073
1197
  /**
1074
1198
  * Runtime context provided by ZylemStage after scene and world are initialized.
1075
1199
  */
@@ -1094,6 +1218,11 @@ declare class StageEntityDelegate {
1094
1218
  readonly childrenMap: Map<string, BaseNode>;
1095
1219
  /** UUID → BaseNode map populated when debug mode is active. */
1096
1220
  readonly debugMap: Map<string, BaseNode>;
1221
+ /**
1222
+ * Entities detached from the stage but kept alive so an editor undo can put
1223
+ * them back. See {@link StageEntityDelegate.detachEntity}.
1224
+ */
1225
+ readonly detachedMap: Map<string, DetachedEntity>;
1097
1226
  private pendingEntities;
1098
1227
  private pendingPromises;
1099
1228
  private _isLoaded;
@@ -1143,10 +1272,48 @@ declare class StageEntityDelegate {
1143
1272
  /** Add the entity to internal maps and notify listeners. */
1144
1273
  addEntityToStage(entity: BaseNode): void;
1145
1274
  /**
1146
- * Remove an entity and its resources by its UUID.
1275
+ * Remove an entity from the stage by its UUID.
1276
+ *
1277
+ * Detaches rather than destroys, so an editor undo can put the same
1278
+ * instance back. See {@link StageEntityDelegate.detachEntity}.
1279
+ *
1147
1280
  * @returns true if removed, false if not found or stage not ready
1148
1281
  */
1149
1282
  removeEntityByUuid(uuid: string): boolean;
1283
+ /**
1284
+ * Take an entity out of the stage while keeping the instance alive.
1285
+ *
1286
+ * The editor cannot rebuild an entity — all it ever receives is a summary of
1287
+ * name, type, and transform, with no material, behaviors, or collider
1288
+ * config. So undoing a delete has to restore the original object, which
1289
+ * means holding onto it here. Keeping the same instance also keeps its uuid
1290
+ * stable, which every other entry in the undo stack depends on.
1291
+ *
1292
+ * Observers are still told the entity is gone: from the outside it has left
1293
+ * the stage, and leaving it in the editor's list or the thumbnail cache
1294
+ * would leak.
1295
+ *
1296
+ * @returns true when the entity was found and detached.
1297
+ */
1298
+ detachEntity(uuid: string): boolean;
1299
+ /**
1300
+ * Put a detached entity back into the stage at the pose it left.
1301
+ *
1302
+ * Unlike {@link StageEntityDelegate.spawnEntity} this never calls
1303
+ * `create()`: the entity is already fully built, and rebuilding it would
1304
+ * discard its meshes and colliders along with any editor scale applied to
1305
+ * them.
1306
+ *
1307
+ * @returns true when the entity was found and restored.
1308
+ */
1309
+ restoreEntity(uuid: string): boolean;
1310
+ /** Whether a uuid is currently recoverable via {@link restoreEntity}. */
1311
+ isDetached(uuid: string): boolean;
1312
+ /**
1313
+ * Destroy detached entities past the recoverable window. Insertion-ordered,
1314
+ * so the oldest detachments go first.
1315
+ */
1316
+ private evictOldestDetached;
1150
1317
  /** Get an entity by its name; returns null if not found. */
1151
1318
  getEntityByName(name: string): BaseNode | null;
1152
1319
  /** Build a serializable state snapshot for an entity. */
@@ -1188,6 +1355,11 @@ declare class StageEntityDelegate {
1188
1355
  */
1189
1356
  destroyAll(): void;
1190
1357
  private registerBehaviorLinks;
1358
+ /**
1359
+ * Re-index an entity's behavior refs after a late `entity.use(...)`.
1360
+ * Spawn-time registration only sees refs that existed at attach.
1361
+ */
1362
+ syncBehaviorLinks(entity: any): void;
1191
1363
  private unregisterBehaviorLinks;
1192
1364
  }
1193
1365
 
@@ -1295,7 +1467,7 @@ declare class ZylemStage extends LifeCycleBase<ZylemStage> {
1295
1467
  protected _setup(params: SetupContext<ZylemStage>): void;
1296
1468
  protected _update(params: UpdateContext<ZylemStage>): void;
1297
1469
  outOfLoop(): void;
1298
- /** Update debug overlays and helpers if enabled. */
1470
+ /** Update debug overlays and the editor's pointer tools. */
1299
1471
  debugUpdate(): void;
1300
1472
  /** Cleanup owned resources when the stage is destroyed. */
1301
1473
  protected _destroy(params: DestroyContext<ZylemStage>): void;
@@ -1712,6 +1884,8 @@ declare class ZylemGame<TGlobals extends BaseGlobals> {
1712
1884
  private lastPublishedGameConfig;
1713
1885
  /** Editor ↔ game bridge adapter (RAF-coalesced publishes, command intake). */
1714
1886
  private gameBridge;
1887
+ /** Stops republishing the entity catalog on registry changes. */
1888
+ private catalogUnsubscribe;
1715
1889
  private readonly gameUpdateParams;
1716
1890
  private readonly stageSetupParams;
1717
1891
  private readonly stageUpdateParams;
@@ -1722,6 +1896,10 @@ declare class ZylemGame<TGlobals extends BaseGlobals> {
1722
1896
  static FRAME_DURATION: number;
1723
1897
  static MAX_DELTA_SECONDS: number;
1724
1898
  constructor(options: ZylemGameOptions<TGlobals>, wrapperRef: Game<TGlobals>, displayRuntime?: ResolveGameConfigRuntime);
1899
+ /** Publish the placeable entity types the editor's Add palette lists. */
1900
+ private publishEntityCatalog;
1901
+ /** Spawn a catalog type programmatically (editor `entity:create`). */
1902
+ private createCatalogEntity;
1725
1903
  setDisplayRuntime(runtime: ResolveGameConfigRuntime): void;
1726
1904
  loadGameCanvas(config: GameConfig): void;
1727
1905
  loadDebugOptions(options: ZylemGameOptions<TGlobals>): void;
@@ -0,0 +1 @@
1
+ import{v as e}from"./chunk-IBJLPJLE.js";import"./chunk-BCFFS3FP.js";import"./chunk-AE3CTVHY.js";import"./chunk-ZTYNZ2N2.js";import"./chunk-CBUQBP2U.js";import"./chunk-EVMLNMGU.js";import"./chunk-WBQ5TNRZ.js";import"./chunk-MXO4VGDB.js";import"./chunk-SAQA4SXW.js";import"./chunk-7NYP4YAG.js";import"./chunk-AIQ6IVT5.js";import"./chunk-QXVH6POE.js";import"./chunk-EVYHPR3J.js";import"./chunk-D2PATZCC.js";import"./chunk-4QLJUQSJ.js";import"./chunk-7WRQ2UAN.js";import"./chunk-BH53MBAZ.js";import"./chunk-XRP4JJXL.js";import"./chunk-UG22Z42P.js";import{proxy as t}from"valtio/vanilla";var s=()=>({id:"zylem",globals:{},stages:[e()],debug:!1,time:0,input:void 0}),a=t({...s()});function o(){return{id:a.id??"zylem",globals:a.globals??{},stages:a.stages??[e()],debug:a.debug,time:a.time,input:a.input}}export{o as getGameDefaultConfig};
@@ -1,13 +1,14 @@
1
- import { b as ZylemTSLShader } from './material-BKPYeBC6.js';
2
- export { d as ZylemShader, Z as ZylemShaderObject, c as createNodeMaterialFromTSL, a as isGLSLShader, i as isTSLShader } from './material-BKPYeBC6.js';
3
- export { Z as ZylemPostEffect } from './zylem-camera-B73ZNcgs.js';
1
+ import { b as ZylemTSLShader } from './material-CxxAyJYp.js';
2
+ export { d as ZylemShader, Z as ZylemShaderObject, c as createNodeMaterialFromTSL, a as isGLSLShader, i as isTSLShader } from './material-CxxAyJYp.js';
3
+ export { Z as ZylemPostEffect } from './zylem-camera-DZTpPOiD.js';
4
4
  export { S as StageTransitionConfig, a as StageTransitionEasing, Z as ZylemTransitionShader, c as crossfadeTransitionShader } from './stage-transition-CmGpV4tc.js';
5
5
  export { Fn, abs, asin, atan, clamp, cos, dot, exp, float, floor, fract, length, max, min, mix, mod, normalize, positionWorld, positionWorldDirection, pow, sin, smoothstep, step, time, uniform, uv, vec2, vec3, vec4 } from 'three/tsl';
6
6
  import 'three';
7
7
  import 'three/webgpu';
8
- import './vector-DPbwlzgG.js';
8
+ import './vector-D3eDzvcA.js';
9
+ import './entity-BIf_a4dl.js';
10
+ import './simulation-body-zQw-emOr.js';
9
11
  import '@zylem/behaviors/core';
10
- import './entity-DDks47JB.js';
11
12
 
12
13
  declare const standardShader: {
13
14
  vertex: string;
package/dist/graphics.js CHANGED
@@ -1 +1 @@
1
- import{a as n,b as o,c as p,d as q,e as r,f as s,g as t,h as u,i as v,j as w,k as x,l as y,m as z,n as A,o as B,p as C,q as D,r as E,s as F,t as G,u as H,v as I,w as J}from"./chunk-QB3NL7VQ.js";import{a}from"./chunk-7GYFZKK7.js";import{a as b,b as c,h as d,i as e,k as f,l as g,m as h,n as i,o as j,p as k,q as l,r as m}from"./chunk-CM5YRNBJ.js";import"./chunk-QXVH6POE.js";import"./chunk-7WRQ2UAN.js";export{m as Fn,y as abs,x as asin,w as atan,t as clamp,v as cos,n as createBackgroundShader,f as createNodeMaterialFromTSL,a as crossfadeTransitionShader,G as dot,z as exp,l as float,E as floor,F as fract,e as isGLSLShader,d as isTSLShader,H as length,C as max,D as min,r as mix,J as mod,q as normalize,b as objectVertexShader,p as positionWorld,o as positionWorldDirection,A as pow,u as sin,s as smoothstep,c as standardShader,B as step,i as time,g as uniform,h as uv,I as vec2,j as vec3,k as vec4};
1
+ import{a as n,b as o,c as p,d as q,e as r,f as s,g as t,h as u,i as v,j as w,k as x,l as y,m as z,n as A,o as B,p as C,q as D,r as E,s as F,t as G,u as H,v as I,w as J}from"./chunk-QB3NL7VQ.js";import{a as m}from"./chunk-7GYFZKK7.js";import{a,b,h as c,i as d,k as e,l as f,m as g,n as h,o as i,p as j,q as k,r as l}from"./chunk-7NYP4YAG.js";import"./chunk-QXVH6POE.js";import"./chunk-7WRQ2UAN.js";export{l as Fn,y as abs,x as asin,w as atan,t as clamp,v as cos,n as createBackgroundShader,e as createNodeMaterialFromTSL,m as crossfadeTransitionShader,G as dot,z as exp,k as float,E as floor,F as fract,d as isGLSLShader,c as isTSLShader,H as length,C as max,D as min,r as mix,J as mod,q as normalize,a as objectVertexShader,p as positionWorld,o as positionWorldDirection,A as pow,u as sin,s as smoothstep,b as standardShader,B as step,h as time,f as uniform,g as uv,I as vec2,i as vec3,j as vec4};
@@ -1,6 +1,6 @@
1
1
  import { Blending, Side, Color, Material } from 'three';
2
2
  import { MeshBasicNodeMaterial } from 'three/webgpu';
3
- import { b as Vec2Input } from './vector-DPbwlzgG.js';
3
+ import { b as Vec2Input } from './vector-D3eDzvcA.js';
4
4
 
5
5
  declare function shortHash(objString: string): string;
6
6
 
package/dist/public.d.ts CHANGED
@@ -1,14 +1,14 @@
1
- export { A as AspectRatio, q as AspectRatioValue, k as CameraManager, j as CameraOptions, C as CameraWrapper, D as DeviceProfile, p as FirstPersonOptions, l as FirstPersonPerspective, o as Fixed2DOptions, F as Fixed2DPerspective, G as Game, b as GameConfigLike, d as GameDeviceConfig, a as GameLoadingEvent, P as PerspectiveOptions, y as RenderBundleManager, z as RenderStrategyManager, R as ResolutionInput, e as ResolveGameConfigRuntime, v as RetroPreset, w as RetroPresetKey, x as RetroResolution, S as StageConfigLike, h as StageOptions, n as ThirdPersonOptions, T as ThirdPersonPerspective, i as createCamera, c as createGame, m as createPerspective, f as createStage, g as gameConfig, r as getDisplayAspect, t as getPresetResolution, u as parseResolution, s as stageConfig } from './game-4fsy55uN.js';
1
+ export { A as AspectRatio, q as AspectRatioValue, k as CameraManager, j as CameraOptions, C as CameraWrapper, D as DeviceProfile, p as FirstPersonOptions, l as FirstPersonPerspective, o as Fixed2DOptions, F as Fixed2DPerspective, G as Game, b as GameConfigLike, d as GameDeviceConfig, a as GameLoadingEvent, P as PerspectiveOptions, y as RenderBundleManager, z as RenderStrategyManager, R as ResolutionInput, e as ResolveGameConfigRuntime, v as RetroPreset, w as RetroPresetKey, x as RetroResolution, S as StageConfigLike, h as StageOptions, n as ThirdPersonOptions, T as ThirdPersonPerspective, i as createCamera, c as createGame, m as createPerspective, f as createStage, g as gameConfig, r as getDisplayAspect, t as getPresetResolution, u as parseResolution, s as stageConfig } from './game-BPOr7zTB.js';
2
2
  export { G as GameInputConfig, a as GameInputPlayerConfig, K as KeyboardMapping, M as MouseConfig, b as MouseMapping, V as VirtualTouchButtonConfig, d as VirtualTouchButtonSlot, c as VirtualTouchButtonsConfig, e as VirtualTouchConfig, f as VirtualTouchJoystickConfig, g as VirtualTouchJoysticksConfig, h as VirtualTouchPosition, i as VirtualTouchStyle, Z as ZylemGameConfig } from './game-interfaces-vF5sRi1n.js';
3
3
  export { CameraFeedOptions, FollowTargetOptions, RenderCategory, STAGE_STATE_CHANGE, StageManager, StageStateChangeEvent, Vect3, createFollowTarget, dispatchStageState, entitySpawner, initStageStateDispatcher, isManagedRenderEntity, resolveRenderCategory, setCameraFeed, setStageFrameProfilerEnabled, stageState, usesManagedRenderPath, vessel } from './core.js';
4
4
  export { f as EntityBlueprint, j as EntityJson, d as EntityJsonSchema, E as EntitySchema, i as LineEntityData, L as LineEntityDataSchema, h as SpriteEntityData, b as SpriteEntityDataSchema, S as StageBlueprint, k as StageJson, e as StageJsonSchema, c as StageSchema, g as TextEntityData, T as TextEntityDataSchema, V as Vector2Schema, a as Vector3TupleSchema } from './blueprints-TbGY-h53.js';
5
5
  export { A as AnalogState, d as ButtonName, B as ButtonState, c as InputGamepad, b as InputPlayer, e as InputPlayerNumber, f as InputProvider, I as Inputs, L as LoadingEvent, a as SetupContext, S as StageNavigationOptions, U as UpdateContext } from './base-node-life-cycle-BK9xebT9.js';
6
6
  export { S as StageTransitionConfig, a as StageTransitionEasing, Z as ZylemTransitionShader, c as crossfadeTransitionShader } from './stage-transition-CmGpV4tc.js';
7
- export { g as CameraAction, f as CameraBehavior, d as CameraContext, e as CameraPerspective, j as CameraPipeline, h as CameraPipelineState, C as CameraPose, P as PerspectiveType, a as Perspectives, c as PoseDelta, T as TransformLike, V as Viewport, Z as ZylemPostEffect, b as ZylemRenderer, i as isWebGPUSupported } from './zylem-camera-B73ZNcgs.js';
8
- export { S as StageEntity } from './entity-DDks47JB.js';
9
- export { l as SimulationBody, S as SimulationStepClock, f as VEC2_ONE, g as VEC2_ZERO, h as VEC3_ONE, i as VEC3_ZERO, V as Vec2, a as Vec2Components, b as Vec2Input, c as Vec3, d as Vec3Components, e as Vec3Input, n as normalizeVec2, j as normalizeVec3, t as toThreeVector2, k as toThreeVector3 } from './vector-DPbwlzgG.js';
10
- export { A as ACTOR_TYPE, a0 as AmbientLightOptions, B as BOX_TYPE, E as CONE_TYPE, K as CYLINDER_TYPE, C as CollisionShapeType, D as DISK_TYPE, a2 as DirectionalLightOptions, ak as EntityForType, aj as EntityTypeMap, a8 as FOG_TYPE, a1 as HemisphereLightOptions, _ as LIGHT_TYPE, ab as LINE_TYPE, a5 as LightShadowOptions, ae as LinePickResult, o as OnEnterParams, p as OnExitParams, O as OnHeldParams, V as PARTICLE_SYSTEM_TYPE, N as PILL_TYPE, P as PLANE_TYPE, H as PYRAMID_TYPE, a3 as PointLightOptions, R as RECT_TYPE, S as SPHERE_TYPE, f as SPRITE_TYPE, a4 as SpotLightOptions, h as SpriteAnimation, g as SpriteImage, i as SpriteSheet, T as TEXT_TYPE, n as ZONE_TYPE, r as ZylemActor, Z as ZylemBox, z as ZylemCone, J as ZylemCylinder, x as ZylemDisk, a7 as ZylemFog, ah as ZylemFogHeightOptions, ai as ZylemFogNoiseOptions, af as ZylemFogOptions, ag as ZylemFogType, Y as ZylemLight, $ as ZylemLightOptions, aa as ZylemLine, ad as ZylemLineOptions, U as ZylemParticleSystem, W as ZylemParticleSystemOptions, M as ZylemPill, k as ZylemPlane, G as ZylemPyramid, v as ZylemRect, b as ZylemSphere, e as ZylemSprite, t as ZylemText, m as ZylemZone, q as createActor, c as createBox, y as createCone, I as createCylinder, w as createDisk, a6 as createFog, X as createLight, a9 as createLine, Q as createParticleSystem, L as createPill, j as createPlane, F as createPyramid, u as createRect, a as createSphere, d as createSprite, s as createText, l as createZone, ac as pickZylemLine } from './entity-type-map-COHu4fkW.js';
11
- export { A as Action, C as CollisionComponent, G as GameEntity, a as GameEntityOptions, b as boxCollision, d as coneCollision, c as create, e as cylinderCollision, x as getRotation, f as pillCollision, g as planeCollision, p as pyramidCollision, i as rotateEuler, r as rotateInDirection, j as rotateX, k as rotateY, h as rotateYEuler, l as rotateZ, w as setRotation, q as setRotationDegrees, u as setRotationDegreesX, t as setRotationDegreesY, v as setRotationDegreesZ, n as setRotationX, m as setRotationY, o as setRotationZ, s as sphereCollision, z as zoneCollision } from './entity-BI7cSlK8.js';
7
+ export { g as CameraAction, f as CameraBehavior, d as CameraContext, e as CameraPerspective, j as CameraPipeline, h as CameraPipelineState, C as CameraPose, P as PerspectiveType, a as Perspectives, c as PoseDelta, T as TransformLike, V as Viewport, Z as ZylemPostEffect, b as ZylemRenderer, i as isWebGPUSupported } from './zylem-camera-DZTpPOiD.js';
8
+ export { S as StageEntity } from './entity-BIf_a4dl.js';
9
+ export { f as VEC2_ONE, g as VEC2_ZERO, h as VEC3_ONE, i as VEC3_ZERO, V as Vec2, a as Vec2Components, b as Vec2Input, c as Vec3, d as Vec3Components, e as Vec3Input, n as normalizeVec2, j as normalizeVec3, t as toThreeVector2, k as toThreeVector3 } from './vector-D3eDzvcA.js';
10
+ export { A as ACTOR_TYPE, a0 as AmbientLightOptions, B as BOX_TYPE, E as CONE_TYPE, K as CYLINDER_TYPE, C as CollisionShapeType, D as DISK_TYPE, a2 as DirectionalLightOptions, ak as EntityForType, aj as EntityTypeMap, a8 as FOG_TYPE, a1 as HemisphereLightOptions, _ as LIGHT_TYPE, ab as LINE_TYPE, a5 as LightShadowOptions, ae as LinePickResult, o as OnEnterParams, p as OnExitParams, O as OnHeldParams, V as PARTICLE_SYSTEM_TYPE, N as PILL_TYPE, P as PLANE_TYPE, H as PYRAMID_TYPE, a3 as PointLightOptions, R as RECT_TYPE, S as SPHERE_TYPE, f as SPRITE_TYPE, a4 as SpotLightOptions, h as SpriteAnimation, g as SpriteImage, i as SpriteSheet, T as TEXT_TYPE, n as ZONE_TYPE, r as ZylemActor, Z as ZylemBox, z as ZylemCone, J as ZylemCylinder, x as ZylemDisk, a7 as ZylemFog, ah as ZylemFogHeightOptions, ai as ZylemFogNoiseOptions, af as ZylemFogOptions, ag as ZylemFogType, Y as ZylemLight, $ as ZylemLightOptions, aa as ZylemLine, ad as ZylemLineOptions, U as ZylemParticleSystem, W as ZylemParticleSystemOptions, M as ZylemPill, k as ZylemPlane, G as ZylemPyramid, v as ZylemRect, b as ZylemSphere, e as ZylemSprite, t as ZylemText, m as ZylemZone, q as createActor, c as createBox, y as createCone, I as createCylinder, w as createDisk, a6 as createFog, X as createLight, a9 as createLine, Q as createParticleSystem, L as createPill, j as createPlane, F as createPyramid, u as createRect, a as createSphere, d as createSprite, s as createText, l as createZone, ac as pickZylemLine } from './entity-type-map-CkkFMSrL.js';
11
+ export { A as Action, C as CollisionComponent, G as GameEntity, a as GameEntityOptions, b as boxCollision, d as coneCollision, c as create, e as cylinderCollision, x as getRotation, f as pillCollision, g as planeCollision, p as pyramidCollision, i as rotateEuler, r as rotateInDirection, j as rotateX, k as rotateY, h as rotateYEuler, l as rotateZ, w as setRotation, q as setRotationDegrees, u as setRotationDegreesX, t as setRotationDegreesY, v as setRotationDegreesZ, n as setRotationX, m as setRotationY, o as setRotationZ, s as sphereCollision, z as zoneCollision } from './entity-XZNGBeca.js';
12
12
  export { IconSize, IconSizePreset, ScreenAnchor, TemplateFactory, boxMesh, coneMesh, createCooldownIcon, createEntity, createEntityFactory, cylinderMesh, destroy, pillMesh, pyramidMesh, sphereMesh } from './entity.js';
13
13
  export { BehaviorDescriptor, BehaviorHandle, BehaviorRef, BehaviorSystem, BehaviorSystemFactory, BoundaryRicochet3DCoordinator, BoundaryRicochet3DEntity, BoundaryRicochetCoordinator, BoundaryRicochetEntity, BoundaryRicochetUpdate, BurstParticlePresetOptions, CooldownBehavior, CooldownConfig, CooldownEntry, CooldownHandle, CooldownOptions, DefineBehaviorConfig, Destructible3DBehavior, Destructible3DBehaviorOptions, Destructible3DColliderOptions, Destructible3DFragmentColliderShape, Destructible3DFragmentPhysicsOptions, Destructible3DHandle, DestructibleMesh, DestructiblePrebakeWorkerAPI, FacingAngle2DEntity, FirstPersonBehavior, FirstPersonBehaviorOptions, FirstPersonContext, FirstPersonEntity, FirstPersonEvent, FirstPersonFSM, FirstPersonInputComponent, FirstPersonMovementComponent, FirstPersonPresentation, FirstPersonShooterCoordinator, FirstPersonShooterEntity, FirstPersonShooterInput, FirstPersonState, FirstPersonStateComponent, FractureOptions, FractureOptionsInput, JumpConfig2D, JumpConfig3D, JumpContext2D, JumpContext3D, JumpInput2D, JumpInput3D, JumpState2D, JumpState3D, Jumper2DBehavior, Jumper2DBehaviorOptions, Jumper2DEntity, Jumper2DEvent, Jumper2DFSM, Jumper2DState, Jumper3DBehavior, Jumper3DBehaviorOptions, Jumper3DEntity, Jumper3DEvent, Jumper3DFSM, Jumper3DState, MultidirectionalSpaceShooterCoordinator, MultidirectionalSpaceShooterEntity, MultidirectionalSpaceShooterInput, ParticleEffectDefinition, ParticleEmitterBehavior, ParticleEmitterBehaviorOptions, ParticleEmitterHandle, ParticleMagicAgency, ParticleMagicAlignment, ParticleMagicModifierInput, ParticleMagicModifierOptions, ParticleMagicOrder, ParticleMagicRealityEffect, ParticleMagicTemperament, ParticlePresetMaterialOptions, PhysicsBodyComponent, PlainBufferGeometryPayload, PlainFractureOptions, Platformer2DBehavior, Platformer2DBehaviorOptions, Platformer2DCollisionContext, Platformer2DContext, Platformer2DEntity, Platformer2DEvent, Platformer2DFSM, Platformer2DInputComponent, Platformer2DMovementComponent, Platformer2DState, Platformer2DStateComponent, Platformer3DBehavior, Platformer3DBehaviorOptions, Platformer3DContext, Platformer3DEntity, Platformer3DEvent, Platformer3DFSM, Platformer3DInputComponent, Platformer3DMovementComponent, Platformer3DState, Platformer3DStateComponent, PlatformerCollisionContext, PlayerInput, PrebakeWorkerRequest, PrebakeWorkerResponse, ResolvedAim2D, Ricochet2DBehavior, Ricochet2DCollisionContext, Ricochet2DEvent, Ricochet2DFSM, Ricochet2DHandle, Ricochet2DOptions, Ricochet2DResult, Ricochet2DState, Ricochet3DBehavior, Ricochet3DCallback, Ricochet3DCollisionContext, Ricochet3DEvent, Ricochet3DFSM, Ricochet3DHandle, Ricochet3DOptions, Ricochet3DResult, Ricochet3DState, RicochetCallback, ScreenVisibilityBehavior, ScreenVisibilityChangeContext, ScreenVisibilityFSM, ScreenVisibilityHandle, ScreenVisibilityOptions, ScreenVisibilitySize, ScreenVisibilitySnapshot, ScreenWrapBehavior, ScreenWrapEvent, ScreenWrapFSM, ScreenWrapOptions, ScreenWrapState, SemanticParticlePresetOptions, Shooter2DAimFireInput, Shooter2DBehavior, Shooter2DBehaviorOptions, Shooter2DFireArgs, Shooter2DHandle, Shooter2DProjectileFactory, Shooter2DSourceEntity, Shooter2DStageLike, Shooter2DStateComponent, Shooter2DTarget, ThrusterBehavior, ThrusterBehaviorOptions, ThrusterEntity, ThrusterEvent, ThrusterFSM, ThrusterFSMContext, ThrusterInputComponent, ThrusterMovementComponent, ThrusterState, ThrusterStateComponent, TopDownMovementBehavior, TopDownMovementBehaviorOptions, TopDownMovementComponent, TopDownMovementEntity, TopDownMovementHandle, TopDownMovementInputComponent, TopDownMovementStateComponent, TopDownShooterCoordinator, TopDownShooterEntity, TopDownShooterInput, TransformComponent, Vec3Like, ViewmodelConfig, VoronoiOptions, WorldBoundary2DBehavior, WorldBoundary2DBounds, WorldBoundary2DEvent, WorldBoundary2DFSM, WorldBoundary2DHandle, WorldBoundary2DHit, WorldBoundary2DHits, WorldBoundary2DOptions, WorldBoundary2DPosition, WorldBoundary2DState, WorldBoundary3DBehavior, WorldBoundary3DBounds, WorldBoundary3DEvent, WorldBoundary3DFSM, WorldBoundary3DHandle, WorldBoundary3DHit, WorldBoundary3DHits, WorldBoundary3DOptions, WorldBoundary3DPosition, WorldBoundary3DState, computeWorldBoundary2DHits, computeWorldBoundary3DHits, createFirstPersonInputComponent, createFirstPersonMovementComponent, createFirstPersonStateComponent, createJumpConfig2D, createJumpConfig3D, createJumpInput2D, createJumpInput3D, createJumpState2D, createJumpState3D, createPhysicsBodyComponent, createPlatformer2DInputComponent, createPlatformer2DMovementComponent, createPlatformer2DStateComponent, createPlatformer3DInputComponent, createPlatformer3DMovementComponent, createPlatformer3DStateComponent, createShooter2DStateComponent, createThrusterInputComponent, createThrusterMovementComponent, createThrusterStateComponent, createTopDownMovementComponent, createTopDownMovementInputComponent, createTopDownMovementStateComponent, createTransformComponent, defineBehavior, fireCooldown, fireShooter2DIfRequested, getCooldown, getCooldownStore, getEntityFacingAngle2D, hasAnyWorldBoundary2DHit, hasAnyWorldBoundary3DHit, particleEffect, particlePresets, registerCooldown, resetCooldown, resolveAim2D, tickCooldowns, updateBoundaryRicochet, useBehavior } from '@zylem/behaviors';
14
14
  export { RUNTIME_BOUNDARY_2D_BEHAVIOR_KEY, RUNTIME_DYNAMIC_CIRCLE_BODY_2D_BEHAVIOR_KEY, RUNTIME_GOAL_ZONE_2D_BEHAVIOR_KEY, RUNTIME_PLAYER_INPUT_2D_BEHAVIOR_KEY, RUNTIME_RICOCHET_2D_BEHAVIOR_KEY, RUNTIME_TRIGGER_REGION_2D_BEHAVIOR_KEY, RuntimeBoundary2DBehavior, RuntimeBoundary2DOptions, RuntimeDynamicCircleBody2DBehavior, RuntimeDynamicCircleBody2DHandle, RuntimeDynamicCircleBody2DOptions, RuntimeGoalZone2DBehavior, RuntimeGoalZone2DEvent, RuntimeGoalZone2DHandle, RuntimeGoalZone2DOptions, RuntimePlayerInput2DBehavior, RuntimePlayerInput2DOptions, RuntimeRicochet2DBehavior, RuntimeRicochet2DEvent, RuntimeRicochet2DHandle, RuntimeRicochet2DOptions, RuntimeTriggerRegion2DBehavior, RuntimeTriggerRegion2DEvent, RuntimeTriggerRegion2DHandle, RuntimeTriggerRegion2DOptions, bindRuntimeDynamicCircleBody2DHandle, emitRuntimeGoal, emitRuntimeRicochet, emitRuntimeTriggerRegionEnter } from '@zylem/behaviors/runtime-2d';
@@ -21,17 +21,19 @@ export { EntityEvents, EventEmitterDelegate, GameEvents, GameLoadingPayload, Sta
21
21
  export { clearGlobalSubscriptions, createGlobal, createVariable, getGlobal, getGlobals, getVariable, globalChange, globalChanges, onGlobalChange, onGlobalChanges, onVariableChange, onVariableChanges, setGlobal, setVariable, variableChange, variableChanges } from './globals.js';
22
22
  export { pingPongBeep, ricochetSound } from './audio.js';
23
23
  export { Howl } from 'howler';
24
- export { k as DebugEntityResolver, D as DebugTools, d as debugState, i as getHoveredEntity, h as getHoveredEntityId, e as getSelectedEntity, g as getSelectedEntityId, r as registerDebugEntityResolver, j as resolveDebugEntity, s as setDebugTool, f as setHoveredEntityId, a as setPaused, b as setSelectedEntity, c as setSelectedEntityId } from './debug-state-s0s-qndj.js';
25
- export { EntityFocusContext, EntityThumbnailCache, EntityThumbnailCacheEntry, EntityThumbnailResult, entityThumbnailCache, focusEntity, registerEntityFocusContext } from './debug.js';
24
+ export { D as DEFAULT_SNAP_SETTINGS, w as DebugEntityResolver, v as DebugTools, S as SnapSettings, T as TRANSFORM_TOOLS, x as TransformTool, d as debugState, k as getHoveredEntity, j as getHoveredEntityId, e as getSelectedEntity, g as getSelectedEntityId, h as getSelectedEntityIds, m as getSnapSettings, t as isPickMode, u as isTransformTool, r as registerDebugEntityResolver, l as resolveDebugEntity, p as setAddType, s as setDebugTool, o as setGridVisible, i as setHoveredEntityId, a as setPaused, q as setPickMode, b as setSelectedEntity, c as setSelectedEntityId, f as setSelectedEntityIds, n as setSnapSettings } from './debug-state-CpnNRUFh.js';
25
+ export { ConstructionGrid, EntityFocusContext, EntityThumbnailCache, EntityThumbnailCacheEntry, EntityThumbnailResult, GizmoAxis, GizmoDelta, GizmoMode, GizmoRay, Quat, TransformGizmo, closestAxisValue, degreesToRadians, entityThumbnailCache, eulerToQuaternion, focusEntity, intersectPlane, quaternionToEuler, radiansToDegrees, registerEntityFocusContext, snapScale, snapToIncrement, snapVec3 } from './debug.js';
26
26
  export { GameBridge, GameBridgeHost } from './bridge.js';
27
- export { BRIDGE_READY_EVENT, BridgeChannel, BridgeDebugTool, BridgeHandler, GameLoadingPayload as BridgeLoadingPayload, BridgeMessageType, BridgeMessages, BridgeVec3, EditorToGameMessages, EntitySummaryPayload, EntityThumbnailPayload, GameConfigPayload, GameToEditorMessages, GameVariablePayload, StageConfigPayload, StageSnapshotPayload, ZylemBridge, announceBridgeReady, getZylemBridge } from '@zylem/bridge';
27
+ export { BRIDGE_READY_EVENT, BridgeChannel, BridgeDebugTool, BridgeHandler, GameLoadingPayload as BridgeLoadingPayload, BridgeMessageType, BridgeMessages, BridgeVec3, EditorToGameMessages, EntityApplySwatchPayload, EntitySummaryPayload, EntityThumbnailPayload, GameConfigPayload, GameToEditorMessages, GameVariablePayload, StageConfigPayload, StageSnapshotPayload, ZylemBridge, announceBridgeReady, getZylemBridge } from '@zylem/bridge';
28
28
  export { ZylemGameElement, ZylemGameState } from './web-components.js';
29
+ export { a as SimulationBody, S as SimulationStepClock } from './simulation-body-zQw-emOr.js';
29
30
  export { RuntimeBodyOptions, RuntimeColliderOptions, RuntimeCollisionBundle, buildBoxCollider, buildCapsuleCollider, buildConvexHullCollider, buildCylinderCollider, buildHeightfieldCollider, buildRuntimeBody, buildSphereCollider, buildTrimeshCollider, bundleRuntimeCollision } from './runtime.js';
30
31
  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';
31
32
  export { createBackgroundShader, objectVertexShader, standardShader } from './graphics.js';
32
- export { d as ZylemShader, Z as ZylemShaderObject, b as ZylemTSLShader, c as createNodeMaterialFromTSL, a as isGLSLShader, i as isTSLShader } from './material-BKPYeBC6.js';
33
+ export { d as ZylemShader, Z as ZylemShaderObject, b as ZylemTSLShader, c as createNodeMaterialFromTSL, a as isGLSLShader, i as isTSLShader } from './material-CxxAyJYp.js';
33
34
  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';
34
- export { p as packCollisionGroups } from './collision-builder-4TVDzXsp.js';
35
+ export { p as packCollisionGroups } from './collision-builder-BckxkdmA.js';
36
+ import './base-node-idopiSw5.js';
35
37
  import 'three';
36
38
  import '@sinclair/typebox';
37
39
  import 'three/webgpu';
package/dist/public.js CHANGED
@@ -1 +1 @@
1
- import{a as s,b as n,c as l,d as S,e as h,f as y,g as L,h as v,i as Z,j as b,k as g,l as u,m as T,n as j,o as F,p as W,q as k,r as w,s as z,t as B,u as D,v as E,w as G}from"./chunk-QB3NL7VQ.js";import"./chunk-BIGH6D34.js";import"./chunk-DFLI7ICU.js";import{a as _a,b as $a,c as op}from"./chunk-HNCTOJP7.js";import{a as rp}from"./chunk-TV3AZKT4.js";import{a as ep,b as tp,c as mp,d as ap,e as pp,f as fp,g as xp,h as ip,i as dp,j as cp,k as sp,l as np,m as lp,n as Sp,o as hp,p as yp}from"./chunk-47DG7I7M.js";import{A as Ip,B as Jp,C as Kp,a as Lp,b as vp,c as Zp,d as bp,e as gp,f as up,g as Tp,h as jp,i as Fp,j as Wp,k as kp,l as wp,m as zp,n as Bp,o as Dp,p as Ep,q as Gp,r as Mp,s as Np,t as Op,u as Pp,v as Vp,w as qp,x as Ap,y as Cp,z as Hp}from"./chunk-JNFFTNMH.js";import{a as ho,b as yo,c as Lo,d as vo,e as Wo,f as Jr,g as Kr,h as me,i as ae,j as pe,k as fe,l as xe,m as ie,n as de,o as ce}from"./chunk-6B5JP7T5.js";import{a as So,c as Go,d as Mo,e as No,f as Tr,g as jr,h as Br,i as Dr,k as Er,l as Gr,m as Mr,n as Nr,o as Or,p as Pr,q as Vr,r as qr,s as Ar,t as Hr,v as Ir}from"./chunk-4CHZUWLF.js";import{a as Eo}from"./chunk-7GYFZKK7.js";import{a as oo,b as ro}from"./chunk-VIPINV7V.js";import"./chunk-C5NEGC3S.js";import{c as Do}from"./chunk-D3JO4HW2.js";import{a as zo,b as Bo}from"./chunk-LKFF6XJC.js";import{a as C,b as H,c as I,e as J,g as K,h as Q,i as R,j as U,k as X,m as Y,n as _,o as $}from"./chunk-W5SXED5T.js";import{b as Zr}from"./chunk-WBQ5TNRZ.js";import{A as Pe,B as Ve,C as qe,D as Ae,E as Ce,F as He,G as Ie,H as Je,I as Ke,J as Qe,K as Re,L as Ue,M as Xe,N as Ye,O as _e,P as $e,Q as ot,R as rt,a as se,b as ne,c as le,d as Se,e as he,f as ye,g as Le,h as ve,i as Ze,j as be,k as ge,l as ue,m as Te,n as je,o as Fe,p as We,q as ke,r as we,s as ze,t as Be,u as De,v as Ee,w as Ge,x as Me,y as Ne,z as Oe}from"./chunk-OAWK2UUY.js";import{b as Qr,c as Rr,d as Ur,e as Xr,f as Yr,g as _r,h as $r,i as oe,j as re,k as ee,m as te}from"./chunk-PNLNC3FA.js";import{A as vr,B as br,C as gr,D as ur,c as fr,d as xr,e as ir,f as dr,g as cr,h as sr,i as nr,j as lr,s as Sr,u as hr,y as yr,z as Lr}from"./chunk-3I537JFL.js";import{a as o,b as r,h as e,i as t,k as m,l as a,m as p,n as f,o as x,p as i,q as d,r as c}from"./chunk-CM5YRNBJ.js";import{a as ko,b as wo}from"./chunk-AIQ6IVT5.js";import"./chunk-QXVH6POE.js";import{b as pr}from"./chunk-EVYHPR3J.js";import{$ as rm,$a as ra,A as kt,Aa as km,B as wt,Ba as wm,C as zt,Ca as zm,D as Bt,Da as Bm,E as Dt,Ea as Dm,F as Et,Fa as Em,G as Gt,Ga as Gm,H as Mt,Ha as Mm,I as Nt,Ia as Nm,J as Ot,Ja as Om,K as Pt,Ka as Pm,L as Vt,La as Vm,M as qt,Ma as qm,N as At,Na as Am,O as Ct,Oa as Cm,P as Ht,Pa as Hm,Q as It,Qa as Im,R as Jt,Ra as Jm,S as Kt,Sa as Km,T as Qt,Ta as Qm,U as Rt,Ua as Rm,V as Ut,Va as Um,W as Xt,Wa as Xm,X as Yt,Xa as Ym,Y as _t,Ya as _m,Z as $t,Za as $m,_ as om,_a as oa,a as et,aa as em,ab as ea,b as tt,ba as tm,bb as ta,c as mt,ca as mm,cb as ma,d as at,da as am,db as aa,e as pt,ea as pm,eb as pa,f as ft,fa as fm,fb as fa,g as xt,ga as xm,gb as xa,h as it,ha as im,hb as ia,i as dt,ia as dm,ib as da,j as ct,ja as cm,k as st,ka as sm,l as nt,la as nm,m as lt,ma as lm,n as St,na as Sm,o as ht,oa as hm,p as yt,pa as ym,q as Lt,qa as Lm,r as vt,ra as vm,s as Zt,sa as Zm,t as bt,ta as bm,u as gt,ua as gm,v as ut,va as um,w as Tt,wa as Tm,x as jt,xa as jm,y as Ft,ya as Fm,z as Wt,za as Wm}from"./chunk-XK63E4SX.js";import{a as ca,b as sa,c as na}from"./chunk-ZRT3ZQVH.js";import{a as la,b as Sa,c as ha,d as ya}from"./chunk-WQ3WMMZD.js";import{h as Fr,i as Wr,j as kr,k as wr,l as zr}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 Oo,b as Po,c as Vo,d as qo,g as Ao,h as Co,i as Ho,j as Io}from"./chunk-7WRQ2UAN.js";import{A as Ia,B as Ja,C as Ka,D as Qa,E as Ra,a as La,b as va,c as Za,d as ba,e as ga,f as ua,g as Ta,h as ja,i as Fa,j as Wa,k as ka,l as wa,m as za,n as Ba,o as Da,p as Ea,q as Ga,r as Ma,s as Na,t as Oa,u as Pa,v as Va,w as qa,x as Aa,y as Ca,z as Ha}from"./chunk-IPWUDOV5.js";import{a as Cr}from"./chunk-BH53MBAZ.js";import{a as Jo,b as Ko,c as Qo,d as Ro,e as Uo,f as Xo,g as Yo,h as _o,i as $o,j as or,k as rr,l as er,m as tr,n as mr,o as ar}from"./chunk-XRP4JJXL.js";import{a as Ua,b as Xa,c as Ya}from"./chunk-7QF6YTEZ.js";import"./chunk-ORIDWL3T.js";import{a as Zo,b as bo,c as go,d as uo,e as To,f as jo,g as Fo}from"./chunk-PCFF4LLO.js";import{a as eo,b as to,c as mo,d as ao,e as po,f as fo,g as xo,h as io,i as co,j as so,k as no,l as lo}from"./chunk-UG22Z42P.js";export{yr as ACTOR_TYPE,ho as AspectRatio,Le as BOX_TYPE,op as BRIDGE_READY_EVENT,et as BoundaryRicochet3DCoordinator,tt as BoundaryRicochetCoordinator,Ne as CONE_TYPE,Ce as CYLINDER_TYPE,Pr as CameraManager,Er as CameraPipeline,Vr as CameraWrapper,Vp as ColorJsonSchema,mt as CooldownBehavior,Ee as DISK_TYPE,at as Destructible3DBehavior,pt as DestructibleMesh,jp as EntityJsonSchema,vp as EntitySchema,oo as EntityThumbnailCache,ko as EventEmitterDelegate,br as FOG_TYPE,ft as FirstPersonBehavior,xt as FirstPersonEvent,it as FirstPersonFSM,Nr as FirstPersonPerspective,st as FirstPersonPresentation,dt as FirstPersonShooterCoordinator,ct as FirstPersonState,Mr as Fixed2DPerspective,c as Fn,nt as FractureOptions,me as Game,Do as GameBridge,Kp as GameConfigJsonSchema,Jp as GameDeviceConfigJsonSchema,Pp as GameInputConfigSchema,Op as GameInputPlayerConfigSchema,na as Howl,lt as Jumper2DBehavior,St as Jumper2DEvent,ht as Jumper2DFSM,yt as Jumper2DState,Lt as Jumper3DBehavior,vt as Jumper3DEvent,Zt as Jumper3DFSM,bt as Jumper3DState,Wp as KeyboardMappingSchema,Ye as LIGHT_TYPE,$r as LINE_TYPE,up as LineEntityDataSchema,Np as MouseConfigSchema,kp as MouseMappingSchema,gt as MultidirectionalSpaceShooterCoordinator,Re as PARTICLE_SYSTEM_TYPE,Je as PILL_TYPE,Te as PLANE_TYPE,Ve as PYRAMID_TYPE,ut as ParticleEmitterBehavior,Dr as Perspectives,Tt as Platformer2DBehavior,jt as Platformer2DEvent,Ft as Platformer2DFSM,Wt as Platformer2DState,kt as Platformer3DBehavior,wt as Platformer3DEvent,zt as Platformer3DFSM,Bt as Platformer3DState,ze as RECT_TYPE,ra as RUNTIME_BOUNDARY_2D_BEHAVIOR_KEY,ea as RUNTIME_DYNAMIC_CIRCLE_BODY_2D_BEHAVIOR_KEY,ta as RUNTIME_GOAL_ZONE_2D_BEHAVIOR_KEY,ma as RUNTIME_PLAYER_INPUT_2D_BEHAVIOR_KEY,aa as RUNTIME_RICOCHET_2D_BEHAVIOR_KEY,pa as RUNTIME_TRIGGER_REGION_2D_BEHAVIOR_KEY,Tr as RenderBundleManager,jr as RenderStrategyManager,Ip as ResolutionInputSchema,Dt as Ricochet2DBehavior,Et as Ricochet2DEvent,Gt as Ricochet2DFSM,Mt as Ricochet2DState,Nt as Ricochet3DBehavior,Ot as Ricochet3DEvent,Pt as Ricochet3DFSM,Vt as Ricochet3DState,Um as RuntimeBoundary2DBehavior,Xm as RuntimeDynamicCircleBody2DBehavior,Ym as RuntimeGoalZone2DBehavior,_m as RuntimePlayerInput2DBehavior,$m as RuntimeRicochet2DBehavior,oa as RuntimeTriggerRegion2DBehavior,be as SPHERE_TYPE,Xr as SPRITE_TYPE,fe as STAGE_STATE_CHANGE,qt as ScreenVisibilityBehavior,At as ScreenVisibilityFSM,Ct as ScreenWrapBehavior,Ht as ScreenWrapEvent,It as ScreenWrapFSM,Jt as ScreenWrapState,Kt as Shooter2DBehavior,Zr as SimulationBody,Tp as SpriteEntityDataSchema,Cp as StageAssetLoaderConfigSchema,cp as StageBodyKind,sp as StageBoundaryDim,Hp as StageConfigJsonSchema,np as StageEventType,Ap as StageGLTFAssetLoaderConfigSchema,Fp as StageJsonSchema,Kr as StageManager,lp as StageRicochetDim,Sp as StageRicochetReflection,Zp as StageSchema,hp as StageTopDownPlane,Qr as TEXT_TYPE,bp as TextEntityDataSchema,Gr as ThirdPersonPerspective,Qt as ThrusterBehavior,Rt as ThrusterEvent,Ut as ThrusterFSM,Xt as ThrusterState,Yt as TopDownMovementBehavior,_t as TopDownShooterCoordinator,Po as VEC2_ONE,Oo as VEC2_ZERO,qo as VEC3_ONE,Vo as VEC3_ZERO,qp as Vec3ComponentsSchema,Lp as Vector2Schema,gp as Vector3TupleSchema,Bp as VirtualTouchButtonConfigSchema,Ep as VirtualTouchButtonsConfigSchema,Mp as VirtualTouchConfigSchema,Dp as VirtualTouchJoystickConfigSchema,Gp as VirtualTouchJoysticksConfigSchema,zp as VirtualTouchPositionSchema,wp as VirtualTouchStyleSchema,$t as WorldBoundary2DBehavior,om as WorldBoundary2DEvent,rm as WorldBoundary2DFSM,em as WorldBoundary2DState,tm as WorldBoundary3DBehavior,mm as WorldBoundary3DEvent,am as WorldBoundary3DFSM,pm as WorldBoundary3DState,We as ZONE_TYPE,Lr as ZylemActor,ve as ZylemBox,Oe as ZylemCone,He as ZylemCylinder,Ge as ZylemDisk,gr as ZylemFog,rp as ZylemGameElement,_e as ZylemLight,re as ZylemLine,Ue as ZylemParticleSystem,Ke as ZylemPill,je as ZylemPlane,qe as ZylemPyramid,Be as ZylemRect,ge as ZylemSphere,Yr as ZylemSprite,Rr as ZylemText,ke as ZylemZone,u as abs,$a as announceBridgeReady,Cr as applyTransformChanges,g as asin,b as atan,fa as bindRuntimeDynamicCircleBody2DHandle,fr as boxCollision,se as boxMesh,tp as buildBoxCollider,ap as buildCapsuleCollider,fp as buildConvexHullCollider,pp as buildCylinderCollider,ip as buildHeightfieldCollider,ep as buildRuntimeBody,mp as buildSphereCollider,xp as buildTrimeshCollider,dp as bundleRuntimeCollision,ua as callFunc,L as clamp,A as clearGlobalSubscriptions,fm as computeWorldBoundary2DHits,xm as computeWorldBoundary3DHits,ir as coneCollision,le as coneMesh,Z as cos,Sr as create,vr as createActor,s as createBackgroundShader,Ze as createBox,qr as createCamera,Pe as createCone,ot as createCooldownIcon,Ie as createCylinder,Me as createDisk,hr as createEntity,te as createEntityFactory,im as createFirstPersonInputComponent,dm as createFirstPersonMovementComponent,cm as createFirstPersonStateComponent,ur as createFog,de as createFollowTarget,ae as createGame,N as createGlobal,sm as createJumpConfig2D,nm as createJumpConfig3D,lm as createJumpInput2D,Sm as createJumpInput3D,hm as createJumpState2D,ym as createJumpState3D,$e as createLight,ee as createLine,m as createNodeMaterialFromTSL,Xe as createParticleSystem,Or as createPerspective,Lm as createPhysicsBodyComponent,Qe as createPill,Fe as createPlane,vm as createPlatformer2DInputComponent,Zm as createPlatformer2DMovementComponent,bm as createPlatformer2DStateComponent,gm as createPlatformer3DInputComponent,um as createPlatformer3DMovementComponent,Tm as createPlatformer3DStateComponent,Ae as createPyramid,De as createRect,jm as createShooter2DStateComponent,yp as createSimulation,ue as createSphere,_r as createSprite,Ir as createStage,Ur as createText,Fm as createThrusterInputComponent,Wm as createThrusterMovementComponent,km as createThrusterStateComponent,wm as createTopDownMovementComponent,zm as createTopDownMovementInputComponent,Bm as createTopDownMovementStateComponent,Dm as createTransformComponent,Da as createTransformStore,Wr as createVariable,we as createZone,Eo as crossfadeTransitionShader,cr as cylinderCollision,he as cylinderMesh,C as debugState,Fo as defaultTouchControls,Em as defineBehavior,ga as delay,rt as destroy,ie as dispatchStageState,B as dot,xa as emitRuntimeGoal,ia as emitRuntimeRicochet,da as emitRuntimeTriggerRegionEnter,pe as entitySpawner,ro as entityThumbnailCache,T as exp,Ta as fadeOpacity,Gm as fireCooldown,Mm as fireShooter2DIfRequested,d as float,w as floor,Bo as focusEntity,z as fract,Wo as gameConfig,Nm as getCooldown,Om as getCooldownStore,yo as getDisplayAspect,Pm as getEntityFacingAngle2D,O as getGlobal,q as getGlobals,_ as getHoveredEntity,U as getHoveredEntityId,Aa as getPosition,Lo as getPresetResolution,ar as getRotation,Y as getSelectedEntity,Q as getSelectedEntityId,kr as getVariable,Ca as getVelocity,_a as getZylemBridge,la as globalChange,Sa as globalChanges,Vm as hasAnyWorldBoundary2DHit,qm as hasAnyWorldBoundary3DHit,xe as initStageStateDispatcher,t as isGLSLShader,No as isManagedRenderEntity,e as isTSLShader,So as isWebGPUSupported,uo as joystickBaseSvg,To as joystickThumbSvg,D as length,W as max,lo as mergeInputConfigs,k as min,h as mix,G as mod,Ea as move,va as moveBy,qa as moveForwardXY,Za as moveTo,Ga as moveX,Oa as moveXY,Pa as moveXZ,Ma as moveY,Na as moveZ,S as normalize,Ao as normalizeVec2,Co as normalizeVec3,o as objectVertexShader,P as onGlobalChange,V as onGlobalChanges,Fa as onPress,Wa as onRelease,wr as onVariableChange,zr as onVariableChanges,pr as packCollisionGroups,wa as parallel,vo as parseResolution,Am as particleEffect,Cm as particlePresets,oe as pickZylemLine,sr as pillCollision,ye as pillMesh,sa as pingPongBeep,nr as planeCollision,l as positionWorld,n as positionWorldDirection,j as pow,dr as pyramidCollision,Se as pyramidMesh,Hm as registerCooldown,H as registerDebugEntityResolver,zo as registerEntityFocusContext,za as repeat,Ba as repeatForever,Im as resetCooldown,La as resetEntityOpacity,Va as resetVelocity,Jm as resolveAim2D,go as resolveButtonAccent,I as resolveDebugEntity,Go as resolveRenderCategory,bo as resolveTouchTheme,ca as ricochetSound,ba as rotateBy,Qo as rotateEuler,Jo as rotateInDirection,Uo as rotateX,Ro as rotateY,Ko as rotateYEuler,Xo as rotateZ,Ya as screenCenterLookDeltas,Xa as screenCenterLookTargets,ka as sequence,ce as setCameraFeed,K as setDebugTool,M as setGlobal,X as setHoveredEntityId,J as setPaused,Ha as setPosition,Ia as setPositionX,Ja as setPositionY,Ka as setPositionZ,tr as setRotation,mr as setRotationDegrees,or as setRotationDegreesX,_o as setRotationDegreesY,er as setRotationDegreesZ,$o as setRotationX,Yo as setRotationY,rr as setRotationZ,$ as setSelectedEntity,R as setSelectedEntityId,Br as setStageFrameProfilerEnabled,Fr as setVariable,Ua as shortestAngleDelta,v as sin,y as smoothstep,xr as sphereCollision,ne as sphereMesh,Ar as stageConfig,Jr as stageState,r as standardShader,F as step,ja as throttle,Km as tickCooldowns,f as time,Ho as toThreeVector2,Io as toThreeVector3,jo as touchButtonSvg,Zo as touchThemes,a as uniform,Qm as updateBoundaryRicochet,eo as useArrowsForAxes,mo as useArrowsForDirections,to as useArrowsForSecondaryAxes,Rm as useBehavior,fo as useIJKLForAxes,xo as useIJKLForDirections,so as useMouse,io as useMouseLook,co as useScreenCenterLook,no as useVirtualControls,po as useWASDForAxes,ao as useWASDForDirections,Mo as usesManagedRenderPath,p as uv,ha as variableChange,ya as variableChanges,E as vec2,x as vec3,i as vec4,Hr as vessel,Ra as wrapAround3D,Qa as wrapAroundXY,lr as zoneCollision,wo as zylemEventBus};
1
+ import{a as s,b as n,c as l,d as S,e as h,f as y,g as L,h as v,i as Z,j as b,k as g,l as u,m as T,n as j,o as F,p as W,q as k,r as w,s as z,t as B,u as D,v as E,w as G}from"./chunk-QB3NL7VQ.js";import"./chunk-BIGH6D34.js";import"./chunk-MSCVL5OK.js";import{a as Zp,b as bp,c as gp}from"./chunk-HNCTOJP7.js";import{a as up}from"./chunk-34MYRTRP.js";import{a as Tp,b as jp,c as Fp,d as Wp,e as kp,f as wp,g as zp,h as Bp,i as Dp,j as Ep,k as Gp,l as Mp,m as Np,n as Op,o as Pp,p as Vp}from"./chunk-47DG7I7M.js";import{A as nf,B as lf,C as Sf,a as qp,b as Ap,c as Cp,d as Hp,e as Ip,f as Jp,g as Kp,h as Qp,i as Rp,j as Up,k as Xp,l as Yp,m as _p,n as $p,o as of,p as rf,q as ef,r as tf,s as mf,t as af,u as pf,v as ff,w as xf,x as df,y as cf,z as sf}from"./chunk-JNFFTNMH.js";import{a as Wo,b as ko,c as wo,d as zo,e as Po,f as _e,g as $e,h as ct,i as st,j as nt,k as lt,l as St,m as ht,n as yt,o as Lt}from"./chunk-F5LROYZL.js";import{a as Fo,c as ye,d as Le,e as ve,f as We,g as ke,h as Pe,i as Ve,k as qe,l as Ae,m as Ce,n as He,o as Ie,p as Je,q as Ke,r as Qe,s as Re,t as Xe,v as Ye}from"./chunk-IBJLPJLE.js";import{a as he}from"./chunk-7GYFZKK7.js";import{a as so,b as no}from"./chunk-Q2YDBMVY.js";import{c as Ge,d as Me,e as Ne,f as Oe}from"./chunk-BCFFS3FP.js";import"./chunk-QDQ4QMAI.js";import"./chunk-AE3CTVHY.js";import{f as Xo}from"./chunk-ZTYNZ2N2.js";import{a as Ao,b as Co,c as Ho,d as Io,e as Jo,f as Ko,g as Qo,h as Ro,i as Uo}from"./chunk-CBUQBP2U.js";import{A as co,a as C,b as H,c as I,d as J,e as K,f as Q,h as R,j as U,l as X,m as Y,n as _,o as $,p as oo,q as ro,r as eo,s as to,t as mo,u as ao,v as po,w as fo,y as xo,z as io}from"./chunk-EVMLNMGU.js";import{b as ue}from"./chunk-WBQ5TNRZ.js";import{a as vt,b as Zt,c as bt,d as gt,e as ut}from"./chunk-GHJQ2HKI.js";import{a as ot,b as rt,c as et,d as tt,e as mt,f as at,g as pt,h as ft,i as xt,j as it,l as dt}from"./chunk-YOVE25NW.js";import{a as Ze,b as be,c as ge,d as Te,e as je,f as Fe}from"./chunk-MXO4VGDB.js";import{A as ee,B as te,C as me,D as ae,E as pe,F as fe,G as xe,H as ie,I as de,J as ce,K as se,L as ne,M as le,N as Se,b as zr,c as Br,d as Dr,e as Er,f as Gr,g as Mr,h as Nr,i as Or,j as Pr,k as Vr,l as qr,m as Ar,n as Cr,o as Hr,p as Ir,q as Jr,r as Kr,s as Qr,t as Rr,u as Ur,v as Xr,w as Yr,x as _r,y as $r,z as re}from"./chunk-BMRFDDMR.js";import{c as br,d as gr,e as ur,f as Tr,g as jr,h as Fr,i as Wr,j as kr,u as wr,z as oe}from"./chunk-SAQA4SXW.js";import{a as o,b as r,h as e,i as t,k as m,l as a,m as p,n as f,o as x,p as i,q as d,r as c}from"./chunk-7NYP4YAG.js";import{a as Vo,b as qo}from"./chunk-AIQ6IVT5.js";import"./chunk-QXVH6POE.js";import{b as Zr}from"./chunk-EVYHPR3J.js";import{$ as um,$a as ua,A as Xt,Aa as Xm,B as Yt,Ba as Ym,C as _t,Ca as _m,D as $t,Da as $m,E as om,Ea as oa,F as rm,Fa as ra,G as em,Ga as ea,H as tm,Ha as ta,I as mm,Ia as ma,J as am,Ja as aa,K as pm,Ka as pa,L as fm,La as fa,M as xm,Ma as xa,N as im,Na as ia,O as dm,Oa as da,P as cm,Pa as ca,Q as sm,Qa as sa,R as nm,Ra as na,S as lm,Sa as la,T as Sm,Ta as Sa,U as hm,Ua as ha,V as ym,Va as ya,W as Lm,Wa as La,X as vm,Xa as va,Y as Zm,Ya as Za,Z as bm,Za as ba,_ as gm,_a as ga,a as Tt,aa as Tm,ab as Ta,b as jt,ba as jm,bb as ja,c as Ft,ca as Fm,cb as Fa,d as Wt,da as Wm,db as Wa,e as kt,ea as km,eb as ka,f as wt,fa as wm,fb as wa,g as zt,ga as zm,gb as za,h as Bt,ha as Bm,hb as Ba,i as Dt,ia as Dm,ib as Da,j as Et,ja as Em,k as Gt,ka as Gm,l as Mt,la as Mm,m as Nt,ma as Nm,n as Ot,na as Om,o as Pt,oa as Pm,p as Vt,pa as Vm,q as qt,qa as qm,r as At,ra as Am,s as Ct,sa as Cm,t as Ht,ta as Hm,u as It,ua as Im,v as Jt,va as Jm,w as Kt,wa as Km,x as Qt,xa as Qm,y as Rt,ya as Rm,z as Ut,za as Um}from"./chunk-XK63E4SX.js";import{a as Ea,b as Ga,c as Ma}from"./chunk-ZRT3ZQVH.js";import{a as Na,b as Oa,c as Pa,d as Va}from"./chunk-WQ3WMMZD.js";import{h as we,i as ze,j as Be,k as De,l as Ee}from"./chunk-D2PATZCC.js";import{e as M,f as N,g as O,h as P,i as V,j as q,m as A}from"./chunk-4QLJUQSJ.js";import{a as Yo,b as _o,c as $o,d as or,g as rr,h as er,i as tr,j as mr}from"./chunk-7WRQ2UAN.js";import{A as sp,B as np,C as lp,D as Sp,E as hp,a as qa,b as Aa,c as Ca,d as Ha,e as Ia,f as Ja,g as Ka,h as Qa,i as Ra,j as Ua,k as Xa,l as Ya,m as _a,n as $a,o as op,p as rp,q as ep,r as tp,s as mp,t as ap,u as pp,v as fp,w as xp,x as ip,y as dp,z as cp}from"./chunk-IPWUDOV5.js";import{a as Ue}from"./chunk-BH53MBAZ.js";import{a as ar,b as pr,c as fr,d as xr,e as ir,f as dr,g as cr,h as sr,i as nr,j as lr,k as Sr,l as hr,m as yr,n as Lr,o as vr}from"./chunk-XRP4JJXL.js";import{a as yp,b as Lp,c as vp}from"./chunk-7QF6YTEZ.js";import"./chunk-ORIDWL3T.js";import{a as Bo,b as Do,c as Eo,d as Go,e as Mo,f as No,g as Oo}from"./chunk-PCFF4LLO.js";import{a as lo,b as So,c as ho,d as yo,e as Lo,f as vo,g as Zo,h as bo,i as go,j as uo,k as To,l as jo}from"./chunk-UG22Z42P.js";export{Ze as ACTOR_TYPE,Wo as AspectRatio,Nr as BOX_TYPE,gp as BRIDGE_READY_EVENT,Tt as BoundaryRicochet3DCoordinator,jt as BoundaryRicochetCoordinator,Cr as CONE_TYPE,Rr as CYLINDER_TYPE,Je as CameraManager,qe as CameraPipeline,Ke as CameraWrapper,ff as ColorJsonSchema,Ge as ConstructionGrid,Ft as CooldownBehavior,I as DEFAULT_SNAP_SETTINGS,re as DISK_TYPE,Wt as Destructible3DBehavior,kt as DestructibleMesh,Qp as EntityJsonSchema,Ap as EntitySchema,so as EntityThumbnailCache,Vo as EventEmitterDelegate,Te as FOG_TYPE,wt as FirstPersonBehavior,zt as FirstPersonEvent,Bt as FirstPersonFSM,He as FirstPersonPerspective,Gt as FirstPersonPresentation,Dt as FirstPersonShooterCoordinator,Et as FirstPersonState,Ce as Fixed2DPerspective,c as Fn,Mt as FractureOptions,ct as Game,Xo as GameBridge,Sf as GameConfigJsonSchema,lf as GameDeviceConfigJsonSchema,pf as GameInputConfigSchema,af as GameInputPlayerConfigSchema,Ma as Howl,Nt as Jumper2DBehavior,Ot as Jumper2DEvent,Pt as Jumper2DFSM,Vt as Jumper2DState,qt as Jumper3DBehavior,At as Jumper3DEvent,Ct as Jumper3DFSM,Ht as Jumper3DState,Up as KeyboardMappingSchema,ne as LIGHT_TYPE,pt as LINE_TYPE,Jp as LineEntityDataSchema,mf as MouseConfigSchema,Xp as MouseMappingSchema,It as MultidirectionalSpaceShooterCoordinator,vt as PARTICLE_SYSTEM_TYPE,Yr as PILL_TYPE,me as PLANE_TYPE,Jr as PYRAMID_TYPE,Jt as ParticleEmitterBehavior,Ve as Perspectives,Kt as Platformer2DBehavior,Qt as Platformer2DEvent,Rt as Platformer2DFSM,Ut as Platformer2DState,Xt as Platformer3DBehavior,Yt as Platformer3DEvent,_t as Platformer3DFSM,$t as Platformer3DState,de as RECT_TYPE,ua as RUNTIME_BOUNDARY_2D_BEHAVIOR_KEY,Ta as RUNTIME_DYNAMIC_CIRCLE_BODY_2D_BEHAVIOR_KEY,ja as RUNTIME_GOAL_ZONE_2D_BEHAVIOR_KEY,Fa as RUNTIME_PLAYER_INPUT_2D_BEHAVIOR_KEY,Wa as RUNTIME_RICOCHET_2D_BEHAVIOR_KEY,ka as RUNTIME_TRIGGER_REGION_2D_BEHAVIOR_KEY,We as RenderBundleManager,ke as RenderStrategyManager,nf as ResolutionInputSchema,om as Ricochet2DBehavior,rm as Ricochet2DEvent,em as Ricochet2DFSM,tm as Ricochet2DState,mm as Ricochet3DBehavior,am as Ricochet3DEvent,pm as Ricochet3DFSM,fm as Ricochet3DState,ya as RuntimeBoundary2DBehavior,La as RuntimeDynamicCircleBody2DBehavior,va as RuntimeGoalZone2DBehavior,Za as RuntimePlayerInput2DBehavior,ba as RuntimeRicochet2DBehavior,ga as RuntimeTriggerRegion2DBehavior,Vr as SPHERE_TYPE,tt as SPRITE_TYPE,lt as STAGE_STATE_CHANGE,xm as ScreenVisibilityBehavior,im as ScreenVisibilityFSM,dm as ScreenWrapBehavior,cm as ScreenWrapEvent,sm as ScreenWrapFSM,nm as ScreenWrapState,lm as Shooter2DBehavior,ue as SimulationBody,Kp as SpriteEntityDataSchema,cf as StageAssetLoaderConfigSchema,Ep as StageBodyKind,Gp as StageBoundaryDim,sf as StageConfigJsonSchema,Mp as StageEventType,df as StageGLTFAssetLoaderConfigSchema,Rp as StageJsonSchema,$e as StageManager,Np as StageRicochetDim,Op as StageRicochetReflection,Cp as StageSchema,Pp as StageTopDownPlane,ot as TEXT_TYPE,C as TRANSFORM_TOOLS,Hp as TextEntityDataSchema,Ae as ThirdPersonPerspective,Sm as ThrusterBehavior,hm as ThrusterEvent,ym as ThrusterFSM,Lm as ThrusterState,vm as TopDownMovementBehavior,Zm as TopDownShooterCoordinator,Oe as TransformGizmo,_o as VEC2_ONE,Yo as VEC2_ZERO,or as VEC3_ONE,$o as VEC3_ZERO,xf as Vec3ComponentsSchema,qp as Vector2Schema,Ip as Vector3TupleSchema,$p as VirtualTouchButtonConfigSchema,rf as VirtualTouchButtonsConfigSchema,tf as VirtualTouchConfigSchema,of as VirtualTouchJoystickConfigSchema,ef as VirtualTouchJoysticksConfigSchema,_p as VirtualTouchPositionSchema,Yp as VirtualTouchStyleSchema,bm as WorldBoundary2DBehavior,gm as WorldBoundary2DEvent,um as WorldBoundary2DFSM,Tm as WorldBoundary2DState,jm as WorldBoundary3DBehavior,Fm as WorldBoundary3DEvent,Wm as WorldBoundary3DFSM,km as WorldBoundary3DState,fe as ZONE_TYPE,be as ZylemActor,Or as ZylemBox,Hr as ZylemCone,Ur as ZylemCylinder,ee as ZylemDisk,je as ZylemFog,up as ZylemGameElement,le as ZylemLight,xt as ZylemLine,Zt as ZylemParticleSystem,_r as ZylemPill,ae as ZylemPlane,Kr as ZylemPyramid,ce as ZylemRect,qr as ZylemSphere,mt as ZylemSprite,rt as ZylemText,xe as ZylemZone,u as abs,bp as announceBridgeReady,Ue as applyTransformChanges,g as asin,b as atan,wa as bindRuntimeDynamicCircleBody2DHandle,br as boxCollision,zr as boxMesh,jp as buildBoxCollider,Wp as buildCapsuleCollider,wp as buildConvexHullCollider,kp as buildCylinderCollider,Bp as buildHeightfieldCollider,Tp as buildRuntimeBody,Fp as buildSphereCollider,zp as buildTrimeshCollider,Dp as bundleRuntimeCollision,Ja as callFunc,L as clamp,A as clearGlobalSubscriptions,Me as closestAxisValue,wm as computeWorldBoundary2DHits,zm as computeWorldBoundary3DHits,ur as coneCollision,Dr as coneMesh,Z as cos,wr as create,ge as createActor,s as createBackgroundShader,Pr as createBox,Qe as createCamera,Ir as createCone,gt as createCooldownIcon,Xr as createCylinder,te as createDisk,oe as createEntity,dt as createEntityFactory,Bm as createFirstPersonInputComponent,Dm as createFirstPersonMovementComponent,Em as createFirstPersonStateComponent,Fe as createFog,yt as createFollowTarget,st as createGame,N as createGlobal,Gm as createJumpConfig2D,Mm as createJumpConfig3D,Nm as createJumpInput2D,Om as createJumpInput3D,Pm as createJumpState2D,Vm as createJumpState3D,Se as createLight,it as createLine,m as createNodeMaterialFromTSL,bt as createParticleSystem,Ie as createPerspective,qm as createPhysicsBodyComponent,$r as createPill,pe as createPlane,Am as createPlatformer2DInputComponent,Cm as createPlatformer2DMovementComponent,Hm as createPlatformer2DStateComponent,Im as createPlatformer3DInputComponent,Jm as createPlatformer3DMovementComponent,Km as createPlatformer3DStateComponent,Qr as createPyramid,se as createRect,Qm as createShooter2DStateComponent,Vp as createSimulation,Ar as createSphere,at as createSprite,Ye as createStage,et as createText,Rm as createThrusterInputComponent,Um as createThrusterMovementComponent,Xm as createThrusterStateComponent,Ym as createTopDownMovementComponent,_m as createTopDownMovementInputComponent,$m as createTopDownMovementStateComponent,oa as createTransformComponent,op as createTransformStore,ze as createVariable,ie as createZone,he as crossfadeTransitionShader,jr as cylinderCollision,Gr as cylinderMesh,J as debugState,Oo as defaultTouchControls,ra as defineBehavior,Ro as degreesToRadians,Ia as delay,ut as destroy,ht as dispatchStageState,B as dot,za as emitRuntimeGoal,Ba as emitRuntimeRicochet,Da as emitRuntimeTriggerRegionEnter,nt as entitySpawner,no as entityThumbnailCache,Ho as eulerToQuaternion,T as exp,Ka as fadeOpacity,ea as fireCooldown,ta as fireShooter2DIfRequested,d as float,w as floor,Co as focusEntity,z as fract,Po as gameConfig,ma as getCooldown,aa as getCooldownStore,ko as getDisplayAspect,pa as getEntityFacingAngle2D,O as getGlobal,q as getGlobals,io as getHoveredEntity,po as getHoveredEntityId,ip as getPosition,wo as getPresetResolution,vr as getRotation,xo as getSelectedEntity,_ as getSelectedEntityId,oo as getSelectedEntityIds,eo as getSnapSettings,Be as getVariable,dp as getVelocity,Zp as getZylemBridge,Na as globalChange,Oa as globalChanges,fa as hasAnyWorldBoundary2DHit,xa as hasAnyWorldBoundary3DHit,St as initStageStateDispatcher,Ne as intersectPlane,t as isGLSLShader,ve as isManagedRenderEntity,Y as isPickMode,e as isTSLShader,H as isTransformTool,Fo as isWebGPUSupported,Go as joystickBaseSvg,Mo as joystickThumbSvg,D as length,W as max,jo as mergeInputConfigs,k as min,h as mix,G as mod,rp as move,Aa as moveBy,xp as moveForwardXY,Ca as moveTo,ep as moveX,ap as moveXY,pp as moveXZ,tp as moveY,mp as moveZ,S as normalize,rr as normalizeVec2,er as normalizeVec3,o as objectVertexShader,P as onGlobalChange,V as onGlobalChanges,Ra as onPress,Ua as onRelease,De as onVariableChange,Ee as onVariableChanges,Zr as packCollisionGroups,Ya as parallel,zo as parseResolution,ia as particleEffect,da as particlePresets,ft as pickZylemLine,Fr as pillCollision,Mr as pillMesh,Ga as pingPongBeep,Wr as planeCollision,l as positionWorld,n as positionWorldDirection,j as pow,Tr as pyramidCollision,Er as pyramidMesh,Io as quaternionToEuler,Uo as radiansToDegrees,ca as registerCooldown,K as registerDebugEntityResolver,Ao as registerEntityFocusContext,_a as repeat,$a as repeatForever,sa as resetCooldown,qa as resetEntityOpacity,fp as resetVelocity,na as resolveAim2D,Eo as resolveButtonAccent,Q as resolveDebugEntity,ye as resolveRenderCategory,Do as resolveTouchTheme,Ea as ricochetSound,Ha as rotateBy,fr as rotateEuler,ar as rotateInDirection,ir as rotateX,xr as rotateY,pr as rotateYEuler,dr as rotateZ,vp as screenCenterLookDeltas,Lp as screenCenterLookTargets,Xa as sequence,ao as setAddType,Lt as setCameraFeed,U as setDebugTool,M as setGlobal,mo as setGridVisible,fo as setHoveredEntityId,R as setPaused,X as setPickMode,cp as setPosition,sp as setPositionX,np as setPositionY,lp as setPositionZ,yr as setRotation,Lr as setRotationDegrees,lr as setRotationDegreesX,sr as setRotationDegreesY,hr as setRotationDegreesZ,nr as setRotationX,cr as setRotationY,Sr as setRotationZ,co as setSelectedEntity,$ as setSelectedEntityId,ro as setSelectedEntityIds,to as setSnapSettings,Pe as setStageFrameProfilerEnabled,we as setVariable,yp as shortestAngleDelta,v as sin,y as smoothstep,Qo as snapScale,Jo as snapToIncrement,Ko as snapVec3,gr as sphereCollision,Br as sphereMesh,Re as stageConfig,_e as stageState,r as standardShader,F as step,Qa as throttle,la as tickCooldowns,f as time,tr as toThreeVector2,mr as toThreeVector3,No as touchButtonSvg,Bo as touchThemes,a as uniform,Sa as updateBoundaryRicochet,lo as useArrowsForAxes,ho as useArrowsForDirections,So as useArrowsForSecondaryAxes,ha as useBehavior,vo as useIJKLForAxes,Zo as useIJKLForDirections,uo as useMouse,bo as useMouseLook,go as useScreenCenterLook,To as useVirtualControls,Lo as useWASDForAxes,yo as useWASDForDirections,Le as usesManagedRenderPath,p as uv,Pa as variableChange,Va as variableChanges,E as vec2,x as vec3,i as vec4,Xe as vessel,hp as wrapAround3D,Sp as wrapAroundXY,kr as zoneCollision,qo as zylemEventBus};
package/dist/runtime.d.ts CHANGED
@@ -1,8 +1,8 @@
1
1
  import { StageBodyKindValue, StageBodyConfig, StageColliderConfig } from '@zylem/behaviors/core';
2
2
  export { BehaviorRuntime, EntityDefinition, EntityHandle, Simulation, SimulationBodyDefinition, SimulationColliderDefinition, SimulationEvent, SimulationFrame, SimulationOptions, StageBodyConfig, StageBodyInfo, StageBodyKind, StageBodyKindValue, StageBoundaryDim, StageColliderConfig, StageColliderShape, StageDebugRender, StageEvent, StageEventType, StagePose, StageRaycastHit, StageRenderSlot, StageRicochetDim, StageRicochetReflection, StageTopDownPlane, createSimulation } from '@zylem/behaviors/core';
3
- import { e as Vec3Input } from './vector-DPbwlzgG.js';
4
- export { l as SimulationBody, S as SimulationStepClock } from './vector-DPbwlzgG.js';
5
- export { p as packCollisionGroups } from './collision-builder-4TVDzXsp.js';
3
+ export { a as SimulationBody, S as SimulationStepClock } from './simulation-body-zQw-emOr.js';
4
+ import { e as Vec3Input } from './vector-D3eDzvcA.js';
5
+ export { p as packCollisionGroups } from './collision-builder-BckxkdmA.js';
6
6
  import 'three';
7
7
 
8
8
  /**
@@ -1,5 +1,4 @@
1
1
  import { EntityHandle, Simulation } from '@zylem/behaviors/core';
2
- import { Vector3, Vector2 } from 'three';
3
2
 
4
3
  interface PhysicsVector3 {
5
4
  x: number;
@@ -128,42 +127,4 @@ declare class SimulationBody implements PhysicsRenderPoseProvider {
128
127
  private writeLivePose;
129
128
  }
130
129
 
131
- type Vec2 = Vector2;
132
- type Vec3 = Vector3 | Vec3Components;
133
- type Vec2Components = {
134
- x: number;
135
- y: number;
136
- };
137
- type Vec3Components = {
138
- x: number;
139
- y: number;
140
- z: number;
141
- };
142
- type Vec2Tuple = readonly [number?, number?] & {
143
- x?: number;
144
- y?: number;
145
- };
146
- type Vec3Tuple = readonly [number?, number?, number?] & {
147
- x?: number;
148
- y?: number;
149
- z?: number;
150
- };
151
- type Vec2Input = Vec2 | {
152
- x?: number;
153
- y?: number;
154
- } | Vec2Tuple;
155
- type Vec3Input = Vec3 | {
156
- x?: number;
157
- y?: number;
158
- z?: number;
159
- } | Vec3Tuple;
160
- declare const VEC2_ZERO: Readonly<Vec2Components>;
161
- declare const VEC2_ONE: Readonly<Vec2Components>;
162
- declare const VEC3_ZERO: Readonly<Vec3Components>;
163
- declare const VEC3_ONE: Readonly<Vec3Components>;
164
- declare function normalizeVec2(input?: Vec2Input | null, defaults?: Vec2Input | Partial<Vec2Components>): Vec2Components;
165
- declare function normalizeVec3(input?: Vec3Input | null, defaults?: Vec3Input | Partial<Vec3Components>): Vec3Components;
166
- declare function toThreeVector2(input?: Vec2Input | null, defaults?: Vec2Input | Partial<Vec2Components>): Vector2;
167
- declare function toThreeVector3(input?: Vec3Input | null, defaults?: Vec3Input | Partial<Vec3Components>): Vector3;
168
-
169
- export { type SimulationStepClock as S, type Vec2 as V, type Vec2Components as a, type Vec2Input as b, type Vec3 as c, type Vec3Components as d, type Vec3Input as e, VEC2_ONE as f, VEC2_ZERO as g, VEC3_ONE as h, VEC3_ZERO as i, normalizeVec3 as j, toThreeVector3 as k, SimulationBody as l, normalizeVec2 as n, toThreeVector2 as t };
130
+ export { type SimulationStepClock as S, SimulationBody as a };
@@ -0,0 +1,41 @@
1
+ import { Vector3, Vector2 } from 'three';
2
+
3
+ type Vec2 = Vector2;
4
+ type Vec3 = Vector3 | Vec3Components;
5
+ type Vec2Components = {
6
+ x: number;
7
+ y: number;
8
+ };
9
+ type Vec3Components = {
10
+ x: number;
11
+ y: number;
12
+ z: number;
13
+ };
14
+ type Vec2Tuple = readonly [number?, number?] & {
15
+ x?: number;
16
+ y?: number;
17
+ };
18
+ type Vec3Tuple = readonly [number?, number?, number?] & {
19
+ x?: number;
20
+ y?: number;
21
+ z?: number;
22
+ };
23
+ type Vec2Input = Vec2 | {
24
+ x?: number;
25
+ y?: number;
26
+ } | Vec2Tuple;
27
+ type Vec3Input = Vec3 | {
28
+ x?: number;
29
+ y?: number;
30
+ z?: number;
31
+ } | Vec3Tuple;
32
+ declare const VEC2_ZERO: Readonly<Vec2Components>;
33
+ declare const VEC2_ONE: Readonly<Vec2Components>;
34
+ declare const VEC3_ZERO: Readonly<Vec3Components>;
35
+ declare const VEC3_ONE: Readonly<Vec3Components>;
36
+ declare function normalizeVec2(input?: Vec2Input | null, defaults?: Vec2Input | Partial<Vec2Components>): Vec2Components;
37
+ declare function normalizeVec3(input?: Vec3Input | null, defaults?: Vec3Input | Partial<Vec3Components>): Vec3Components;
38
+ declare function toThreeVector2(input?: Vec2Input | null, defaults?: Vec2Input | Partial<Vec2Components>): Vector2;
39
+ declare function toThreeVector3(input?: Vec3Input | null, defaults?: Vec3Input | Partial<Vec3Components>): Vector3;
40
+
41
+ export { type Vec2 as V, type Vec2Components as a, type Vec2Input as b, type Vec3 as c, type Vec3Components as d, type Vec3Input as e, VEC2_ONE as f, VEC2_ZERO as g, VEC3_ONE as h, VEC3_ZERO as i, normalizeVec3 as j, toThreeVector3 as k, normalizeVec2 as n, toThreeVector2 as t };