@mml-io/3d-web-client-core 0.26.1 → 0.27.1

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.
@@ -84,6 +84,8 @@ export declare class CameraManager {
84
84
  private onContextMenu;
85
85
  setTarget(target: Vect3): void;
86
86
  setLerpedTarget(target: Vect3, targetDistance: number): void;
87
+ /** Set the horizontal orbit angle (theta). The camera will smoothly rotate to this angle via the shortest path. */
88
+ setOrbitAngle(theta: number): void;
87
89
  reverseUpdateFromPositions(position: Vect3, rotation: Quat): void;
88
90
  adjustCameraPosition(position: Vect3, rotation: Quat): void;
89
91
  private updateFlyCameraOrbitControls;
@@ -1 +1 @@
1
- {"version":3,"file":"CameraManager.d.ts","sourceRoot":"","sources":["../../src/camera/CameraManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CameraManager.d.ts","sourceRoot":"","sources":["../../src/camera/CameraManager.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,6 @@ import { PositionAndRotation } from "@mml-io/mml-web";
2
2
  import { CameraManager } from "../camera/CameraManager";
3
3
  import { CollisionsManager } from "../collisions/CollisionsManager";
4
4
  import { KeyInputManager } from "../input/KeyInputManager";
5
- import { VirtualJoystick } from "../input/VirtualJoystick";
6
5
  import { EulXYZ } from "../math/EulXYZ";
7
6
  import { Vect3 } from "../math/Vect3";
8
7
  import { CharacterRenderState, CharacterDescription } from "../rendering/IRenderer";
@@ -10,7 +9,7 @@ import { CharacterControllerValues } from "../tweakpane/blades/characterControls
10
9
  import { TweakPane } from "../tweakpane/TweakPane";
11
10
  import { AnimationMixer } from "./AnimationMixer";
12
11
  import { CharacterState } from "./CharacterState";
13
- import { LocalController } from "./LocalController";
12
+ import { InputProvider, LocalController } from "./LocalController";
14
13
  import { RemoteController } from "./RemoteController";
15
14
  type SpawnPosition = {
16
15
  x: number;
@@ -35,26 +34,25 @@ export type SpawnConfiguration = {
35
34
  spawnPositionVariance?: Partial<SpawnPositionVariance>;
36
35
  spawnYRotation?: number;
37
36
  respawnTrigger?: Partial<RespawnTrigger>;
38
- enableRespawnButton?: boolean;
39
37
  };
40
38
  export type SpawnConfigurationState = {
41
39
  spawnPosition: SpawnPosition;
42
40
  spawnPositionVariance: SpawnPositionVariance;
43
41
  spawnYRotation: number;
44
42
  respawnTrigger: RespawnTrigger;
45
- enableRespawnButton: boolean;
46
43
  };
44
+ export declare function normalizeSpawnConfiguration(spawnConfig?: SpawnConfiguration): SpawnConfigurationState;
47
45
  export type CharacterManagerConfig = {
48
46
  collisionsManager: CollisionsManager;
49
47
  cameraManager: CameraManager;
50
48
  keyInputManager: KeyInputManager;
51
- virtualJoystick?: VirtualJoystick;
49
+ additionalInputProvider?: InputProvider;
52
50
  remoteUserStates: Map<number, CharacterState>;
53
51
  sendUpdate: (update: CharacterState) => void;
54
52
  sendLocalCharacterColors: (colors: Array<[number, number, number]>) => void;
55
53
  spawnConfiguration: SpawnConfigurationState;
56
54
  characterControllerValues: CharacterControllerValues;
57
- characterResolve: (clientId: number) => {
55
+ characterResolve: (connectionId: number) => {
58
56
  username: string | null;
59
57
  characterDescription: CharacterDescription | null;
60
58
  colors: Array<[number, number, number]> | null;
@@ -73,7 +71,7 @@ type RemoteCharacterState = {
73
71
  export declare class CharacterManager {
74
72
  private config;
75
73
  static readonly headTargetOffset: Vect3;
76
- private localClientId;
74
+ private localConnectionId;
77
75
  remoteCharacters: Map<number, RemoteCharacterState>;
78
76
  localController: LocalController | null;
79
77
  private localRenderState;
@@ -84,11 +82,12 @@ export declare class CharacterManager {
84
82
  private pendingDescriptionUpdates;
85
83
  private pendingRemovals;
86
84
  constructor(config: CharacterManagerConfig);
85
+ setAdditionalInputProvider(inputProvider: InputProvider | undefined): void;
87
86
  /**
88
- * Sets the local client ID early to prevent the local character from being
87
+ * Sets the local connection ID early to prevent the local character from being
89
88
  * spawned as a remote character when network updates arrive before spawnLocalCharacter is called.
90
89
  */
91
- setLocalClientId(id: number): void;
90
+ setLocalConnectionId(id: number): void;
92
91
  spawnLocalCharacter(id: number, spawnPosition?: Vect3, spawnRotation?: EulXYZ): void;
93
92
  setupTweakPane(tweakPane: TweakPane): void;
94
93
  getLocalCharacterPositionAndRotation(): PositionAndRotation;
@@ -97,10 +96,10 @@ export declare class CharacterManager {
97
96
  networkCharacterInfoUpdated(id: number): void;
98
97
  update(deltaTime: number, frameCounter: number): {
99
98
  updatedCharacterDescriptions: number[];
100
- removedUserIds: number[];
99
+ removedConnectionIds: number[];
101
100
  };
102
101
  getAllCharacterStates(): Map<number, CharacterRenderState>;
103
- getLocalClientId(): number;
102
+ getLocalConnectionId(): number;
104
103
  }
105
104
  export {};
106
105
  //# sourceMappingURL=CharacterManager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CharacterManager.d.ts","sourceRoot":"","sources":["../../src/character/CharacterManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CharacterManager.d.ts","sourceRoot":"","sources":["../../src/character/CharacterManager.ts"],"names":[],"mappings":"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"}
@@ -14,8 +14,7 @@ export type CharacterState = {
14
14
  z: number;
15
15
  };
16
16
  rotation: {
17
- quaternionY: number;
18
- quaternionW: number;
17
+ eulerY: number;
19
18
  };
20
19
  state: AnimationState;
21
20
  };
@@ -1 +1 @@
1
- {"version":3,"file":"CharacterState.d.ts","sourceRoot":"","sources":["../../src/character/CharacterState.ts"],"names":[],"mappings":"AAAA,oBAAY,cAAc;IACxB,MAAM,IAAI;IACV,SAAS,IAAI;IACb,SAAS,IAAI;IACb,WAAW,IAAI;IACf,KAAK,IAAI;IACT,aAAa,IAAI;IACjB,YAAY,IAAI;CACjB;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,EAAE;QACR,CAAC,EAAE,MAAM,CAAC;QACV,CAAC,EAAE,MAAM,CAAC;QACV,CAAC,EAAE,MAAM,CAAC;KACX,CAAC;IACF,QAAQ,EAAE;QACR,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,KAAK,EAAE,cAAc,CAAC;CACvB,CAAC"}
1
+ {"version":3,"file":"CharacterState.d.ts","sourceRoot":"","sources":["../../src/character/CharacterState.ts"],"names":[],"mappings":"AAAA,oBAAY,cAAc;IACxB,MAAM,IAAI;IACV,SAAS,IAAI;IACb,SAAS,IAAI;IACb,WAAW,IAAI;IACf,KAAK,IAAI;IACT,aAAa,IAAI;IACjB,YAAY,IAAI;CACjB;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,EAAE;QACR,CAAC,EAAE,MAAM,CAAC;QACV,CAAC,EAAE,MAAM,CAAC;QACV,CAAC,EAAE,MAAM,CAAC;KACX,CAAC;IACF,QAAQ,EAAE;QACR,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,KAAK,EAAE,cAAc,CAAC;CACvB,CAAC"}
@@ -1,21 +1,30 @@
1
- import { CameraManager } from "../camera/CameraManager";
2
1
  import { CollisionsManager } from "../collisions/CollisionsManager";
3
- import { KeyInputManager } from "../input/KeyInputManager";
4
- import { VirtualJoystick } from "../input/VirtualJoystick";
5
2
  import { Line } from "../math/Line";
6
3
  import { Quat } from "../math/Quat";
7
4
  import { IVect3, Vect3 } from "../math/Vect3";
8
5
  import { CharacterControllerValues } from "../tweakpane/blades/characterControlsFolder";
9
6
  import { SpawnConfigurationState } from "./CharacterManager";
10
7
  import { AnimationState, CharacterState } from "./CharacterState";
8
+ export type InputOutput = {
9
+ direction: number | null;
10
+ isSprinting: boolean;
11
+ jump: boolean;
12
+ };
13
+ export type InputProvider = {
14
+ getOutput(): InputOutput | null;
15
+ };
16
+ export type CameraProvider = {
17
+ getCameraPosition(): Vect3;
18
+ getCameraRotation(): Quat;
19
+ };
11
20
  export type LocalControllerConfig = {
12
21
  id: number;
13
22
  position: Vect3;
14
23
  quaternion: Quat;
15
24
  collisionsManager: CollisionsManager;
16
- keyInputManager: KeyInputManager;
17
- virtualJoystick?: VirtualJoystick;
18
- cameraManager: CameraManager;
25
+ keyInputManager: InputProvider;
26
+ additionalInputProvider?: InputProvider;
27
+ cameraManager: CameraProvider;
19
28
  spawnConfiguration: SpawnConfigurationState;
20
29
  characterControllerValues: CharacterControllerValues;
21
30
  };
@@ -44,6 +53,7 @@ export declare class LocalController {
44
53
  characterOnGround: boolean;
45
54
  coyoteTime: boolean;
46
55
  private collisionDetectionSteps;
56
+ private useCollisionsCulling;
47
57
  private characterWasOnGround;
48
58
  private characterAirborneSince;
49
59
  private currentHeight;
@@ -101,6 +111,23 @@ export declare class LocalController {
101
111
  position: Vect3;
102
112
  } | null;
103
113
  private updateNetworkState;
114
+ /**
115
+ * Programmatic jump with optional custom force. Supports double jump.
116
+ * Returns true if the jump was initiated.
117
+ */
118
+ jump(force?: number): boolean;
119
+ /**
120
+ * Set horizontal velocity directly, bypassing the input-based acceleration.
121
+ * Useful for programmatic movement (e.g., agent bridge waypoint following).
122
+ * Vertical velocity is not affected (gravity and jump still apply normally).
123
+ */
124
+ setHorizontalVelocity(vx: number, vz: number): void;
125
+ /** Current vertical velocity (positive = upward). */
126
+ get verticalVelocity(): number;
127
+ /**
128
+ * Reset velocity and jump state (e.g., on teleport).
129
+ */
130
+ resetVelocity(): void;
104
131
  resetPosition(): void;
105
132
  }
106
133
  //# sourceMappingURL=LocalController.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"LocalController.d.ts","sourceRoot":"","sources":["../../src/character/LocalController.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LocalController.d.ts","sourceRoot":"","sources":["../../src/character/LocalController.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"RemoteController.d.ts","sourceRoot":"","sources":["../../src/character/RemoteController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAE9C,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAIlE;;;GAGG;AACH,qBAAa,gBAAgB;IAEpB,QAAQ,EAAE,KAAK,CAAC;IAChB,QAAQ,EAAE,IAAI,CAAC;IACf,cAAc,EAAE,cAAc,CAAC;IAEtC,OAAO,CAAC,wBAAwB,CAAS;IACzC,OAAO,CAAC,iBAAiB,CAAO;IAChC,OAAO,CAAC,eAAe,CAAe;gBAE1B,eAAe,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,EAAE,gBAAgB,EAAE,cAAc;IAMtF,MAAM,CAAC,aAAa,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAkC9D,gBAAgB,IAAI,MAAM;CAGlC"}
1
+ {"version":3,"file":"RemoteController.d.ts","sourceRoot":"","sources":["../../src/character/RemoteController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAE9C,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAIlE;;;GAGG;AACH,qBAAa,gBAAgB;IAEpB,QAAQ,EAAE,KAAK,CAAC;IAChB,QAAQ,EAAE,IAAI,CAAC;IACf,cAAc,EAAE,cAAc,CAAC;IAEtC,OAAO,CAAC,wBAAwB,CAAS;IACzC,OAAO,CAAC,iBAAiB,CAAO;IAChC,OAAO,CAAC,eAAe,CAAe;gBAE1B,eAAe,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,EAAE,gBAAgB,EAAE,cAAc;IAMtF,MAAM,CAAC,aAAa,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAmC9D,gBAAgB,IAAI,MAAM;CAGlC"}
@@ -11,6 +11,7 @@ export type CollisionMeshState = {
11
11
  source: CollisionSourceRef;
12
12
  meshBVH: MeshBVH;
13
13
  trackCollisions: boolean;
14
+ boundingSphereRadius: number;
14
15
  };
15
16
  export type CollisionMesh = {
16
17
  meshBVH: MeshBVH;
@@ -31,14 +32,23 @@ export declare class CollisionsManager {
31
32
  private tempCollisionPosition;
32
33
  private tempMinimalNormal;
33
34
  private tempMinimalPoint;
35
+ private tempBoundsBox;
34
36
  collisionMeshState: Map<CollisionSourceRef, CollisionMeshState>;
35
37
  private collisionTrigger;
36
38
  private previouslyCollidingElements;
37
39
  private debugEnabled;
38
40
  onDebugChange?: (enabled: boolean) => void;
41
+ private cullingEnabled;
42
+ private cullingRadius;
43
+ private characterPosition;
44
+ private exemptFromCulling;
39
45
  constructor();
40
46
  isDebugEnabled(): boolean;
41
47
  toggleDebug(enabled: boolean): void;
48
+ setCullingEnabled(enabled: boolean): void;
49
+ setCharacterPosition(position: IVect3): void;
50
+ setExemptFromCulling(meshState: CollisionMeshState | null): void;
51
+ private isMeshWithinCullingDistance;
42
52
  raycastFirst(ray: Ray, maximumDistance?: number | null): [number, Vect3, CollisionMeshState, Vect3] | null;
43
53
  addMeshesGroup(group: CollisionSourceRef, creationResult: CollisionMesh, mElement?: MElement): void;
44
54
  updateMeshesGroup(group: CollisionSourceRef, matrix: Matr4, localScale: IVect3): void;
@@ -1 +1 @@
1
- {"version":3,"file":"CollisionsManager.d.ts","sourceRoot":"","sources":["../../src/collisions/CollisionsManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAuB,MAAM,iBAAiB,CAAC;AAEhE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAI9C,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAEtC,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAClC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAI9C,KAAK,kBAAkB,GAAG,OAAO,CAAC;AAElC,MAAM,MAAM,kBAAkB,GAAG;IAC/B,MAAM,EAAE,KAAK,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,kBAAkB,CAAC;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,eAAe,EAAE,OAAO,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,KAAK,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,UAAU,CAAsB;IACxC,OAAO,CAAC,WAAW,CAAsB;IACzC,OAAO,CAAC,SAAS,CAAsB;IACvC,OAAO,CAAC,QAAQ,CAAoB;IACpC,OAAO,CAAC,OAAO,CAAkB;IACjC,OAAO,CAAC,UAAU,CAAe;IACjC,OAAO,CAAC,OAAO,CAAa;IAC5B,OAAO,CAAC,UAAU,CAAgB;IAClC,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,YAAY,CAAc;IAClC,OAAO,CAAC,qBAAqB,CAAe;IAC5C,OAAO,CAAC,iBAAiB,CAAe;IACxC,OAAO,CAAC,gBAAgB,CAAe;IAEhC,kBAAkB,EAAE,GAAG,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,CAAa;IACnF,OAAO,CAAC,gBAAgB,CAA0C;IAClE,OAAO,CAAC,2BAA2B,CAGjC;IAEF,OAAO,CAAC,YAAY,CAAkB;IAC/B,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;;IAO3C,cAAc,IAAI,OAAO;IAIzB,WAAW,CAAC,OAAO,EAAE,OAAO;IAO5B,YAAY,CACjB,GAAG,EAAE,GAAG,EACR,eAAe,GAAE,MAAM,GAAG,IAAW,GACpC,CAAC,MAAM,EAAE,KAAK,EAAE,kBAAkB,EAAE,KAAK,CAAC,GAAG,IAAI;IAwC7C,cAAc,CACnB,KAAK,EAAE,kBAAkB,EACzB,cAAc,EAAE,aAAa,EAC7B,QAAQ,CAAC,EAAE,QAAQ,GAClB,IAAI;IAgBA,iBAAiB,CAAC,KAAK,EAAE,kBAAkB,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI;IAUrF,iBAAiB,CAAC,KAAK,EAAE,kBAAkB,GAAG,IAAI;IAQzD,OAAO,CAAC,aAAa;IAuGd,cAAc,CAAC,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM;CA8CxD"}
1
+ {"version":3,"file":"CollisionsManager.d.ts","sourceRoot":"","sources":["../../src/collisions/CollisionsManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAuB,MAAM,iBAAiB,CAAC;AAEhE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAI9C,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAEtC,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAClC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAI9C,KAAK,kBAAkB,GAAG,OAAO,CAAC;AAElC,MAAM,MAAM,kBAAkB,GAAG;IAC/B,MAAM,EAAE,KAAK,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,kBAAkB,CAAC;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,eAAe,EAAE,OAAO,CAAC;IACzB,oBAAoB,EAAE,MAAM,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,KAAK,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,UAAU,CAAsB;IACxC,OAAO,CAAC,WAAW,CAAsB;IACzC,OAAO,CAAC,SAAS,CAAsB;IACvC,OAAO,CAAC,QAAQ,CAAoB;IACpC,OAAO,CAAC,OAAO,CAAkB;IACjC,OAAO,CAAC,UAAU,CAAe;IACjC,OAAO,CAAC,OAAO,CAAa;IAC5B,OAAO,CAAC,UAAU,CAAgB;IAClC,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,YAAY,CAAc;IAClC,OAAO,CAAC,qBAAqB,CAAe;IAC5C,OAAO,CAAC,iBAAiB,CAAe;IACxC,OAAO,CAAC,gBAAgB,CAAe;IACvC,OAAO,CAAC,aAAa,CAAa;IAE3B,kBAAkB,EAAE,GAAG,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,CAAa;IACnF,OAAO,CAAC,gBAAgB,CAA0C;IAClE,OAAO,CAAC,2BAA2B,CAGjC;IAEF,OAAO,CAAC,YAAY,CAAkB;IAC/B,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAElD,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,aAAa,CAAc;IACnC,OAAO,CAAC,iBAAiB,CAAsB;IAE/C,OAAO,CAAC,iBAAiB,CAAmC;;IAOrD,cAAc,IAAI,OAAO;IAIzB,WAAW,CAAC,OAAO,EAAE,OAAO;IAO5B,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAIzC,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAI5C,oBAAoB,CAAC,SAAS,EAAE,kBAAkB,GAAG,IAAI,GAAG,IAAI;IAIvE,OAAO,CAAC,2BAA2B;IAiC5B,YAAY,CACjB,GAAG,EAAE,GAAG,EACR,eAAe,GAAE,MAAM,GAAG,IAAW,GACpC,CAAC,MAAM,EAAE,KAAK,EAAE,kBAAkB,EAAE,KAAK,CAAC,GAAG,IAAI;IA4C7C,cAAc,CACnB,KAAK,EAAE,kBAAkB,EACzB,cAAc,EAAE,aAAa,EAC7B,QAAQ,CAAC,EAAE,QAAQ,GAClB,IAAI;IAsCA,iBAAiB,CAAC,KAAK,EAAE,kBAAkB,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI;IAUrF,iBAAiB,CAAC,KAAK,EAAE,kBAAkB,GAAG,IAAI;IAQzD,OAAO,CAAC,aAAa;IAuGd,cAAc,CAAC,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM;CAmDxD"}
package/build/index.d.ts CHANGED
@@ -1,11 +1,12 @@
1
1
  export { CameraManager } from "./camera/CameraManager";
2
- export { CharacterManager, SpawnConfiguration, SpawnConfigurationState, } from "./character/CharacterManager";
2
+ export { CharacterManager, SpawnConfiguration, SpawnConfigurationState, normalizeSpawnConfiguration, } from "./character/CharacterManager";
3
3
  export * from "./character/Spawning";
4
4
  export * from "./character/url-position";
5
5
  export * from "./character/types";
6
6
  export * from "./helpers/math-helpers";
7
7
  export * from "./rendering/IRenderer";
8
8
  export { CharacterState, AnimationState } from "./character/CharacterState";
9
+ export { InputOutput, InputProvider, CameraProvider, LocalControllerConfig, LocalController, } from "./character/LocalController";
9
10
  export { AnimationMixer, AnimationWeights, AnimationTimes } from "./character/AnimationMixer";
10
11
  export { Key, KeyInputManager } from "./input/KeyInputManager";
11
12
  export { VirtualJoystick } from "./input/VirtualJoystick";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,uBAAuB,GACxB,MAAM,8BAA8B,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5E,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC9F,OAAO,EAAE,GAAG,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAClF,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AACpF,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EACL,yBAAyB,EACzB,sCAAsC,GACvC,MAAM,4CAA4C,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AAC1F,cAAc,QAAQ,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,uBAAuB,EACvB,2BAA2B,GAC5B,MAAM,8BAA8B,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5E,OAAO,EACL,WAAW,EACX,aAAa,EACb,cAAc,EACd,qBAAqB,EACrB,eAAe,GAChB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC9F,OAAO,EAAE,GAAG,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAClF,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AACpF,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EACL,yBAAyB,EACzB,sCAAsC,GACvC,MAAM,4CAA4C,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AAC1F,cAAc,QAAQ,CAAC"}