@mml-io/3d-web-client-core 0.25.0 → 0.26.0

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 (173) hide show
  1. package/build/camera/CameraManager.d.ts +45 -11
  2. package/build/camera/CameraManager.d.ts.map +1 -1
  3. package/build/character/AnimationMixer.d.ts +74 -0
  4. package/build/character/AnimationMixer.d.ts.map +1 -0
  5. package/build/character/CharacterManager.d.ts +28 -43
  6. package/build/character/CharacterManager.d.ts.map +1 -1
  7. package/build/character/LocalController.d.ts +10 -8
  8. package/build/character/LocalController.d.ts.map +1 -1
  9. package/build/character/RemoteController.d.ts +13 -10
  10. package/build/character/RemoteController.d.ts.map +1 -1
  11. package/build/character/types.d.ts +8 -0
  12. package/build/character/types.d.ts.map +1 -0
  13. package/build/character/url-position.d.ts +8 -3
  14. package/build/character/url-position.d.ts.map +1 -1
  15. package/build/collisions/CollisionsManager.d.ts +19 -16
  16. package/build/collisions/CollisionsManager.d.ts.map +1 -1
  17. package/build/collisions/getRelativePositionAndRotationRelativeToObject.d.ts +2 -2
  18. package/build/collisions/getRelativePositionAndRotationRelativeToObject.d.ts.map +1 -1
  19. package/build/index.d.ts +7 -11
  20. package/build/index.d.ts.map +1 -1
  21. package/build/index.js +2213 -11798
  22. package/build/index.js.map +4 -4
  23. package/build/math/EulXYZ.d.ts +6 -1
  24. package/build/math/EulXYZ.d.ts.map +1 -1
  25. package/build/math/Matr4.d.ts +3 -2
  26. package/build/math/Matr4.d.ts.map +1 -1
  27. package/build/math/Quat.d.ts +1 -1
  28. package/build/math/Quat.d.ts.map +1 -1
  29. package/build/rendering/IRenderer.d.ts +141 -0
  30. package/build/rendering/IRenderer.d.ts.map +1 -0
  31. package/build/tweakpane/TweakPane.d.ts +10 -31
  32. package/build/tweakpane/TweakPane.d.ts.map +1 -1
  33. package/build/tweakpane/blades/cameraFolder.d.ts +4 -49
  34. package/build/tweakpane/blades/cameraFolder.d.ts.map +1 -1
  35. package/build/tweakpane/blades/characterControlsFolder.d.ts +4 -59
  36. package/build/tweakpane/blades/characterControlsFolder.d.ts.map +1 -1
  37. package/package.json +4 -16
  38. package/build/character/CanvasText.d.ts +0 -35
  39. package/build/character/CanvasText.d.ts.map +0 -1
  40. package/build/character/Character.d.ts +0 -72
  41. package/build/character/Character.d.ts.map +0 -1
  42. package/build/character/CharacterMaterial.d.ts +0 -20
  43. package/build/character/CharacterMaterial.d.ts.map +0 -1
  44. package/build/character/CharacterModel.d.ts +0 -45
  45. package/build/character/CharacterModel.d.ts.map +0 -1
  46. package/build/character/CharacterTooltip.d.ts +0 -33
  47. package/build/character/CharacterTooltip.d.ts.map +0 -1
  48. package/build/character/LowPolyModel.d.ts +0 -2
  49. package/build/character/LowPolyModel.d.ts.map +0 -1
  50. package/build/character/instancing/CharacterColourSamplingUtils.d.ts +0 -15
  51. package/build/character/instancing/CharacterColourSamplingUtils.d.ts.map +0 -1
  52. package/build/character/instancing/CharacterInstances.d.ts +0 -93
  53. package/build/character/instancing/CharacterInstances.d.ts.map +0 -1
  54. package/build/character/instancing/CharacterInstancingAnimationUtils.d.ts +0 -8
  55. package/build/character/instancing/CharacterInstancingAnimationUtils.d.ts.map +0 -1
  56. package/build/character/instancing/CharacterInstancingUtils.d.ts +0 -4
  57. package/build/character/instancing/CharacterInstancingUtils.d.ts.map +0 -1
  58. package/build/character/instancing/vendor/core/InstancedEntity.d.ts +0 -192
  59. package/build/character/instancing/vendor/core/InstancedEntity.d.ts.map +0 -1
  60. package/build/character/instancing/vendor/core/InstancedMesh2.d.ts +0 -362
  61. package/build/character/instancing/vendor/core/InstancedMesh2.d.ts.map +0 -1
  62. package/build/character/instancing/vendor/core/InstancedMeshBVH.d.ts +0 -146
  63. package/build/character/instancing/vendor/core/InstancedMeshBVH.d.ts.map +0 -1
  64. package/build/character/instancing/vendor/core/feature/Capacity.d.ts +0 -14
  65. package/build/character/instancing/vendor/core/feature/Capacity.d.ts.map +0 -1
  66. package/build/character/instancing/vendor/core/feature/FrustumCulling.d.ts +0 -38
  67. package/build/character/instancing/vendor/core/feature/FrustumCulling.d.ts.map +0 -1
  68. package/build/character/instancing/vendor/core/feature/Instances.d.ts +0 -50
  69. package/build/character/instancing/vendor/core/feature/Instances.d.ts.map +0 -1
  70. package/build/character/instancing/vendor/core/feature/LOD.d.ts +0 -90
  71. package/build/character/instancing/vendor/core/feature/LOD.d.ts.map +0 -1
  72. package/build/character/instancing/vendor/core/feature/Morph.d.ts +0 -19
  73. package/build/character/instancing/vendor/core/feature/Morph.d.ts.map +0 -1
  74. package/build/character/instancing/vendor/core/feature/Raycasting.d.ts +0 -8
  75. package/build/character/instancing/vendor/core/feature/Raycasting.d.ts.map +0 -1
  76. package/build/character/instancing/vendor/core/feature/Skeleton.d.ts +0 -20
  77. package/build/character/instancing/vendor/core/feature/Skeleton.d.ts.map +0 -1
  78. package/build/character/instancing/vendor/core/feature/Uniforms.d.ts +0 -43
  79. package/build/character/instancing/vendor/core/feature/Uniforms.d.ts.map +0 -1
  80. package/build/character/instancing/vendor/core/utils/GLInstancedBufferAttribute.d.ts +0 -43
  81. package/build/character/instancing/vendor/core/utils/GLInstancedBufferAttribute.d.ts.map +0 -1
  82. package/build/character/instancing/vendor/core/utils/InstancedRenderList.d.ts +0 -26
  83. package/build/character/instancing/vendor/core/utils/InstancedRenderList.d.ts.map +0 -1
  84. package/build/character/instancing/vendor/core/utils/SquareDataTexture.d.ts +0 -157
  85. package/build/character/instancing/vendor/core/utils/SquareDataTexture.d.ts.map +0 -1
  86. package/build/character/instancing/vendor/index.d.ts +0 -26
  87. package/build/character/instancing/vendor/index.d.ts.map +0 -1
  88. package/build/character/instancing/vendor/shaders/ShaderChunk.d.ts +0 -2
  89. package/build/character/instancing/vendor/shaders/ShaderChunk.d.ts.map +0 -1
  90. package/build/character/instancing/vendor/shaders/chunks/instanced_color_pars_vertex.d.ts +0 -2
  91. package/build/character/instancing/vendor/shaders/chunks/instanced_color_pars_vertex.d.ts.map +0 -1
  92. package/build/character/instancing/vendor/shaders/chunks/instanced_color_vertex.d.ts +0 -2
  93. package/build/character/instancing/vendor/shaders/chunks/instanced_color_vertex.d.ts.map +0 -1
  94. package/build/character/instancing/vendor/shaders/chunks/instanced_material_color_pars_vertex.d.ts +0 -2
  95. package/build/character/instancing/vendor/shaders/chunks/instanced_material_color_pars_vertex.d.ts.map +0 -1
  96. package/build/character/instancing/vendor/shaders/chunks/instanced_material_color_vertex.d.ts +0 -2
  97. package/build/character/instancing/vendor/shaders/chunks/instanced_material_color_vertex.d.ts.map +0 -1
  98. package/build/character/instancing/vendor/shaders/chunks/instanced_pars_vertex.d.ts +0 -2
  99. package/build/character/instancing/vendor/shaders/chunks/instanced_pars_vertex.d.ts.map +0 -1
  100. package/build/character/instancing/vendor/shaders/chunks/instanced_skinning_pars_vertex.d.ts +0 -2
  101. package/build/character/instancing/vendor/shaders/chunks/instanced_skinning_pars_vertex.d.ts.map +0 -1
  102. package/build/character/instancing/vendor/shaders/chunks/instanced_vertex.d.ts +0 -2
  103. package/build/character/instancing/vendor/shaders/chunks/instanced_vertex.d.ts.map +0 -1
  104. package/build/character/instancing/vendor/utils/CreateFrom.d.ts +0 -10
  105. package/build/character/instancing/vendor/utils/CreateFrom.d.ts.map +0 -1
  106. package/build/character/instancing/vendor/utils/SortingUtils.d.ts +0 -17
  107. package/build/character/instancing/vendor/utils/SortingUtils.d.ts.map +0 -1
  108. package/build/character/loading/CharacterModelLoader.d.ts +0 -12
  109. package/build/character/loading/CharacterModelLoader.d.ts.map +0 -1
  110. package/build/character/loading/GLTFLoadingWorker.worker.d.ts +0 -3
  111. package/build/character/loading/GLTFLoadingWorker.worker.d.ts.map +0 -1
  112. package/build/character/loading/GLTFLoadingWorkerBrowserCache.d.ts +0 -9
  113. package/build/character/loading/GLTFLoadingWorkerBrowserCache.d.ts.map +0 -1
  114. package/build/character/loading/GLTFLoadingWorkerPool.d.ts +0 -23
  115. package/build/character/loading/GLTFLoadingWorkerPool.d.ts.map +0 -1
  116. package/build/character/loading/GLTFLoadingWorkerTypes.d.ts +0 -19
  117. package/build/character/loading/GLTFLoadingWorkerTypes.d.ts.map +0 -1
  118. package/build/ground-plane/GroundPlane.d.ts +0 -10
  119. package/build/ground-plane/GroundPlane.d.ts.map +0 -1
  120. package/build/mml/MMLCompositionScene.d.ts +0 -31
  121. package/build/mml/MMLCompositionScene.d.ts.map +0 -1
  122. package/build/rendering/PostProcessingManager.d.ts +0 -93
  123. package/build/rendering/PostProcessingManager.d.ts.map +0 -1
  124. package/build/rendering/composer.d.ts +0 -106
  125. package/build/rendering/composer.d.ts.map +0 -1
  126. package/build/rendering/post-effects/bright-contrast-sat.d.ts +0 -3
  127. package/build/rendering/post-effects/bright-contrast-sat.d.ts.map +0 -1
  128. package/build/rendering/post-effects/gauss-grain.d.ts +0 -3
  129. package/build/rendering/post-effects/gauss-grain.d.ts.map +0 -1
  130. package/build/rendering/post-effects/n8-ssao/BlueNoise.d.ts +0 -2
  131. package/build/rendering/post-effects/n8-ssao/BlueNoise.d.ts.map +0 -1
  132. package/build/rendering/post-effects/n8-ssao/DepthDownSample.d.ts +0 -18
  133. package/build/rendering/post-effects/n8-ssao/DepthDownSample.d.ts.map +0 -1
  134. package/build/rendering/post-effects/n8-ssao/EffectCompositer.d.ts +0 -40
  135. package/build/rendering/post-effects/n8-ssao/EffectCompositer.d.ts.map +0 -1
  136. package/build/rendering/post-effects/n8-ssao/EffectShader.d.ts +0 -32
  137. package/build/rendering/post-effects/n8-ssao/EffectShader.d.ts.map +0 -1
  138. package/build/rendering/post-effects/n8-ssao/FullScreenTriangle.d.ts +0 -12
  139. package/build/rendering/post-effects/n8-ssao/FullScreenTriangle.d.ts.map +0 -1
  140. package/build/rendering/post-effects/n8-ssao/N8SSAOPass.d.ts +0 -66
  141. package/build/rendering/post-effects/n8-ssao/N8SSAOPass.d.ts.map +0 -1
  142. package/build/rendering/post-effects/n8-ssao/PoissionBlur.d.ts +0 -31
  143. package/build/rendering/post-effects/n8-ssao/PoissionBlur.d.ts.map +0 -1
  144. package/build/rendering/shaders/bayer-dither.d.ts +0 -2
  145. package/build/rendering/shaders/bayer-dither.d.ts.map +0 -1
  146. package/build/rendering/shaders/shader-helpers.d.ts +0 -5
  147. package/build/rendering/shaders/shader-helpers.d.ts.map +0 -1
  148. package/build/rendering/shaders/vertex-shader.d.ts +0 -2
  149. package/build/rendering/shaders/vertex-shader.d.ts.map +0 -1
  150. package/build/sun/Sun.d.ts +0 -19
  151. package/build/sun/Sun.d.ts.map +0 -1
  152. package/build/time/TimeManager.d.ts +0 -21
  153. package/build/time/TimeManager.d.ts.map +0 -1
  154. package/build/tweakpane/blades/characterFolder.d.ts +0 -21
  155. package/build/tweakpane/blades/characterFolder.d.ts.map +0 -1
  156. package/build/tweakpane/blades/collisionsStatsFolder.d.ts +0 -8
  157. package/build/tweakpane/blades/collisionsStatsFolder.d.ts.map +0 -1
  158. package/build/tweakpane/blades/effects/bcsFolder.d.ts +0 -13
  159. package/build/tweakpane/blades/effects/bcsFolder.d.ts.map +0 -1
  160. package/build/tweakpane/blades/effects/bloomAndGrain.d.ts +0 -13
  161. package/build/tweakpane/blades/effects/bloomAndGrain.d.ts.map +0 -1
  162. package/build/tweakpane/blades/effects/ssaoFolder.d.ts +0 -50
  163. package/build/tweakpane/blades/effects/ssaoFolder.d.ts.map +0 -1
  164. package/build/tweakpane/blades/effects/toneMappingFolder.d.ts +0 -19
  165. package/build/tweakpane/blades/effects/toneMappingFolder.d.ts.map +0 -1
  166. package/build/tweakpane/blades/environmentFolder.d.ts +0 -54
  167. package/build/tweakpane/blades/environmentFolder.d.ts.map +0 -1
  168. package/build/tweakpane/blades/postProcessingFolder.d.ts +0 -32
  169. package/build/tweakpane/blades/postProcessingFolder.d.ts.map +0 -1
  170. package/build/tweakpane/blades/rendererFolder.d.ts +0 -14
  171. package/build/tweakpane/blades/rendererFolder.d.ts.map +0 -1
  172. package/build/tweakpane/blades/rendererStatsFolder.d.ts +0 -11
  173. package/build/tweakpane/blades/rendererStatsFolder.d.ts.map +0 -1
@@ -1,13 +1,14 @@
1
- import { PerspectiveCamera } from "three";
2
1
  import { CollisionsManager } from "../collisions/CollisionsManager";
3
- import { Vect3 } from "../math";
4
- import { TweakPane } from "../tweakpane/TweakPane";
2
+ import { Quat, Vect3 } from "../math";
3
+ export type CameraState = {
4
+ position: Vect3;
5
+ rotation: Quat;
6
+ fov: number;
7
+ aspect: number;
8
+ };
5
9
  export declare class CameraManager {
6
10
  private targetElement;
7
11
  private collisionsManager;
8
- readonly camera: PerspectiveCamera;
9
- private flyCamera;
10
- private orbitControls;
11
12
  private isMainCameraActive;
12
13
  initialDistance: number;
13
14
  minDistance: number;
@@ -42,11 +43,38 @@ export declare class CameraManager {
42
43
  private lerpDuration;
43
44
  private tempMatr4;
44
45
  private activePointers;
46
+ private cameraState;
47
+ private flyCameraState;
48
+ private aspect;
49
+ private flyCameraLookAt;
50
+ private flyCameraYaw;
51
+ private flyCameraPitch;
52
+ private flyCameraDistance;
53
+ private flyCameraMouseDown;
54
+ private flyCameraIsPanning;
55
+ private flyCameraLastMouseX;
56
+ private flyCameraLastMouseY;
57
+ private flyCameraEventHandlerCollection;
58
+ private orbitControlsRotateSensitivity;
59
+ private orbitControlsPanSensitivity;
60
+ private orbitControlsZoomSensitivity;
61
+ private orbitControlsMinPolarAngle;
62
+ private orbitControlsMaxPolarAngle;
63
+ private tempPanRight;
64
+ private tempPanUp;
65
+ private tempPanForward;
45
66
  constructor(targetElement: HTMLElement, collisionsManager: CollisionsManager, initialPhi?: number, initialTheta?: number);
46
67
  private createEventHandlers;
47
68
  private disposeEventHandlers;
69
+ private createFlyCameraEventHandlers;
70
+ private disposeFlyCameraEventHandlers;
71
+ private onFlyCameraBlur;
72
+ private onFlyCameraMouseDown;
73
+ private onFlyCameraMouseUp;
74
+ private onFlyCameraMouseMove;
75
+ private panFlyCameraLookAt;
76
+ private onFlyCameraWheel;
48
77
  private preventDefaultAndStopPropagation;
49
- setupTweakPane(tweakPane: TweakPane): void;
50
78
  private onPointerDown;
51
79
  private onPointerUp;
52
80
  private getAveragePointerPositionAndSpread;
@@ -56,16 +84,22 @@ export declare class CameraManager {
56
84
  private onContextMenu;
57
85
  setTarget(target: Vect3): void;
58
86
  setLerpedTarget(target: Vect3, targetDistance: number): void;
59
- reverseUpdateFromPositions(): void;
60
- adjustCameraPosition(): void;
87
+ reverseUpdateFromPositions(position: Vect3, rotation: Quat): void;
88
+ adjustCameraPosition(position: Vect3, rotation: Quat): void;
89
+ private updateFlyCameraOrbitControls;
61
90
  dispose(): void;
62
91
  private easeOutExpo;
63
92
  updateAspect(aspect: number): void;
64
93
  recomputeFoV(immediately?: boolean): void;
65
94
  isFlyCameraOn(): boolean;
66
95
  toggleFlyCamera(): void;
67
- get activeCamera(): PerspectiveCamera;
68
- update(): void;
96
+ getCameraState(): CameraState;
97
+ getMainCameraState(): CameraState;
98
+ getFlyCameraState(): CameraState;
99
+ getCameraPosition(): Vect3;
100
+ getCameraRotation(): Quat;
101
+ getCameraFOV(): number;
102
+ update(onFlyCameraUpdate?: (state: CameraState) => void): void;
69
103
  hasActiveInput(): boolean;
70
104
  }
71
105
  //# sourceMappingURL=CameraManager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CameraManager.d.ts","sourceRoot":"","sources":["../../src/camera/CameraManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAW,MAAM,OAAO,CAAC;AAGnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAGpE,OAAO,EAAc,KAAK,EAAE,MAAM,SAAS,CAAC;AAE5C,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAOnD,qBAAa,aAAa;IAmDtB,OAAO,CAAC,aAAa;IACrB,OAAO,CAAC,iBAAiB;IAnD3B,SAAgB,MAAM,EAAE,iBAAiB,CAAC;IAC1C,OAAO,CAAC,SAAS,CAAoB;IACrC,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,kBAAkB,CAAiB;IAEpC,eAAe,EAAE,MAAM,CAA6B;IACpD,WAAW,EAAE,MAAM,CAAyB;IAC5C,WAAW,EAAE,MAAM,CAAyB;IAC5C,OAAO,EAAE,MAAM,CAAqB;IACpC,SAAS,EAAE,MAAM,CAAuB;IACxC,WAAW,EAAE,MAAM,CAAyB;IAE5C,UAAU,EAAE,MAAM,CAAwB;IAC1C,MAAM,EAAE,MAAM,CAAoB;IAClC,MAAM,EAAE,MAAM,CAAoB;IAClC,gBAAgB,EAAE,OAAO,CAA8B;IACvD,GAAG,EAAE,MAAM,CAAmB;IACrC,OAAO,CAAC,SAAS,CAA2B;IAErC,aAAa,EAAE,MAAM,CAAkB;IAC9C,OAAO,CAAC,aAAa,CAA0B;IAExC,QAAQ,EAAE,MAAM,CAAwB;IACxC,cAAc,EAAE,MAAM,CAAwB;IAC9C,eAAe,EAAE,MAAM,CAAwB;IAEtD,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,WAAW,CAAS;IAE5B,OAAO,CAAC,MAAM,CAAgC;IAC9C,OAAO,CAAC,SAAS,CAAkB;IAEnC,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,QAAQ,CAAsB;IAEtC,OAAO,CAAC,sBAAsB,CAAyB;IAEvD,OAAO,CAAC,WAAW,CAAsB;IACzC,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,UAAU,CAAsB;IACxC,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,YAAY,CAAe;IAEnC,OAAO,CAAC,SAAS,CAAsB;IAEvC,OAAO,CAAC,cAAc,CAA+C;gBAG3D,aAAa,EAAE,WAAW,EAC1B,iBAAiB,EAAE,iBAAiB,EAC5C,UAAU,SAAc,EACxB,YAAY,SAAe;IA4B7B,OAAO,CAAC,mBAAmB;IAY3B,OAAO,CAAC,oBAAoB;IAI5B,OAAO,CAAC,gCAAgC;IAKjC,cAAc,CAAC,SAAS,EAAE,SAAS;IAI1C,OAAO,CAAC,aAAa;IAUrB,OAAO,CAAC,WAAW;IAUnB,OAAO,CAAC,kCAAkC;IAiB1C,OAAO,CAAC,aAAa;IAiCrB,OAAO,CAAC,YAAY;IASpB,OAAO,CAAC,IAAI;IASZ,OAAO,CAAC,aAAa;IAId,SAAS,CAAC,MAAM,EAAE,KAAK,GAAG,IAAI;IAe9B,eAAe,CAAC,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,GAAG,IAAI;IAO5D,0BAA0B,IAAI,IAAI;IAelC,oBAAoB,IAAI,IAAI;IAmB5B,OAAO;IAMd,OAAO,CAAC,WAAW;IAIZ,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAKlC,YAAY,CAAC,WAAW,GAAE,OAAe,GAAG,IAAI;IAahD,aAAa,IAAI,OAAO;IAIxB,eAAe,IAAI,IAAI;IAwB9B,IAAI,YAAY,IAAI,iBAAiB,CAEpC;IAEM,MAAM,IAAI,IAAI;IAmCd,cAAc,IAAI,OAAO;CAGjC"}
1
+ {"version":3,"file":"CameraManager.d.ts","sourceRoot":"","sources":["../../src/camera/CameraManager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,74 @@
1
+ import { AnimationState } from "./CharacterState";
2
+ export { AnimationState };
3
+ /**
4
+ * Animation weights for rendering. Each animation can have a weight between 0 and 1.
5
+ * When transitioning between animations, multiple animations can have non-zero weights.
6
+ */
7
+ export type AnimationWeights = {
8
+ [AnimationState.idle]: number;
9
+ [AnimationState.walking]: number;
10
+ [AnimationState.running]: number;
11
+ [AnimationState.jumpToAir]: number;
12
+ [AnimationState.air]: number;
13
+ [AnimationState.airToGround]: number;
14
+ [AnimationState.doubleJump]: number;
15
+ };
16
+ /**
17
+ * Animation times for rendering. Each animation has its own time value in seconds.
18
+ * When an animation starts playing, its time is reset to 0.
19
+ */
20
+ export type AnimationTimes = {
21
+ [AnimationState.idle]: number;
22
+ [AnimationState.walking]: number;
23
+ [AnimationState.running]: number;
24
+ [AnimationState.jumpToAir]: number;
25
+ [AnimationState.air]: number;
26
+ [AnimationState.airToGround]: number;
27
+ [AnimationState.doubleJump]: number;
28
+ };
29
+ /**
30
+ * Manages smooth transitions between animation states.
31
+ * Calculates animation weights for blending during transitions.
32
+ */
33
+ export declare class AnimationMixer {
34
+ private currentState;
35
+ private targetState;
36
+ private transitionProgress;
37
+ private transitionDuration;
38
+ private weights;
39
+ private animationTimes;
40
+ constructor(initialState?: AnimationState);
41
+ /**
42
+ * Set the target animation state. If different from current, begins a transition.
43
+ */
44
+ setTargetState(state: AnimationState): void;
45
+ /**
46
+ * Update the animation mixer, progressing any active transitions.
47
+ */
48
+ update(deltaTime: number): void;
49
+ /**
50
+ * Get the current animation weights for rendering.
51
+ */
52
+ getWeights(): AnimationWeights;
53
+ /**
54
+ * Get the animation times for each animation state.
55
+ */
56
+ getAnimationTimes(): AnimationTimes;
57
+ /**
58
+ * Get the primary animation state (the target we're transitioning to, or current if no transition).
59
+ */
60
+ getPrimaryState(): AnimationState;
61
+ /**
62
+ * Returns true if currently transitioning between animations.
63
+ */
64
+ isTransitioning(): boolean;
65
+ /**
66
+ * Immediately snap to a state without transitioning.
67
+ */
68
+ snapToState(state: AnimationState): void;
69
+ private updateWeights;
70
+ private createZeroWeights;
71
+ private createZeroTimes;
72
+ private easeInOut;
73
+ }
74
+ //# sourceMappingURL=AnimationMixer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AnimationMixer.d.ts","sourceRoot":"","sources":["../../src/character/AnimationMixer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,OAAO,EAAE,cAAc,EAAE,CAAC;AAE1B;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAC9B,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjC,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjC,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnC,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAC7B,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrC,CAAC,cAAc,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrC,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAC9B,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjC,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjC,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnC,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAC7B,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrC,CAAC,cAAc,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrC,CAAC;AAEF;;;GAGG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,YAAY,CAAiB;IACrC,OAAO,CAAC,WAAW,CAAiB;IACpC,OAAO,CAAC,kBAAkB,CAAe;IACzC,OAAO,CAAC,kBAAkB,CAAgB;IAC1C,OAAO,CAAC,OAAO,CAAmB;IAClC,OAAO,CAAC,cAAc,CAAiB;gBAE3B,YAAY,GAAE,cAAoC;IAQ9D;;OAEG;IACI,cAAc,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI;IAoBlD;;OAEG;IACI,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IA8BtC;;OAEG;IACI,UAAU,IAAI,gBAAgB;IAIrC;;OAEG;IACI,iBAAiB,IAAI,cAAc;IAI1C;;OAEG;IACI,eAAe,IAAI,cAAc;IAIxC;;OAEG;IACI,eAAe,IAAI,OAAO;IAIjC;;OAEG;IACI,WAAW,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI;IAS/C,OAAO,CAAC,aAAa;IAcrB,OAAO,CAAC,iBAAiB;IAYzB,OAAO,CAAC,eAAe;IAYvB,OAAO,CAAC,SAAS;CAIlB"}
@@ -1,18 +1,15 @@
1
1
  import { PositionAndRotation } from "@mml-io/mml-web";
2
- import { Group } from "three";
3
2
  import { CameraManager } from "../camera/CameraManager";
4
3
  import { CollisionsManager } from "../collisions/CollisionsManager";
5
4
  import { KeyInputManager } from "../input/KeyInputManager";
6
5
  import { VirtualJoystick } from "../input/VirtualJoystick";
7
6
  import { EulXYZ } from "../math/EulXYZ";
8
7
  import { Vect3 } from "../math/Vect3";
9
- import { Composer } from "../rendering/composer";
10
- import { TimeManager } from "../time/TimeManager";
8
+ import { CharacterRenderState, CharacterDescription } from "../rendering/IRenderer";
9
+ import { CharacterControllerValues } from "../tweakpane/blades/characterControlsFolder";
11
10
  import { TweakPane } from "../tweakpane/TweakPane";
12
- import { Character, CharacterDescription, LoadedAnimations } from "./Character";
11
+ import { AnimationMixer } from "./AnimationMixer";
13
12
  import { CharacterState } from "./CharacterState";
14
- import { CharacterInstances } from "./instancing/CharacterInstances";
15
- import { CharacterModelLoader } from "./loading/CharacterModelLoader";
16
13
  import { LocalController } from "./LocalController";
17
14
  import { RemoteController } from "./RemoteController";
18
15
  type SpawnPosition = {
@@ -48,18 +45,15 @@ export type SpawnConfigurationState = {
48
45
  enableRespawnButton: boolean;
49
46
  };
50
47
  export type CharacterManagerConfig = {
51
- composer: Composer;
52
- characterModelLoader: CharacterModelLoader;
53
48
  collisionsManager: CollisionsManager;
54
49
  cameraManager: CameraManager;
55
- timeManager: TimeManager;
56
50
  keyInputManager: KeyInputManager;
57
51
  virtualJoystick?: VirtualJoystick;
58
52
  remoteUserStates: Map<number, CharacterState>;
59
53
  sendUpdate: (update: CharacterState) => void;
60
54
  sendLocalCharacterColors: (colors: Array<[number, number, number]>) => void;
61
- animationsPromise: Promise<LoadedAnimations>;
62
55
  spawnConfiguration: SpawnConfigurationState;
56
+ characterControllerValues: CharacterControllerValues;
63
57
  characterResolve: (clientId: number) => {
64
58
  username: string | null;
65
59
  characterDescription: CharacterDescription | null;
@@ -67,55 +61,46 @@ export type CharacterManagerConfig = {
67
61
  };
68
62
  updateURLLocation?: boolean;
69
63
  };
70
- type LoadedCharacterState = {
71
- character: Character;
72
- remoteController: RemoteController;
73
- characterLoaded: boolean;
74
- };
75
64
  type RemoteCharacterState = {
76
65
  id: number;
77
- loadedCharacterState: LoadedCharacterState | null;
78
- lastPosition: {
79
- x: number;
80
- y: number;
81
- z: number;
82
- };
83
- distanceSquared: number;
84
- lastLODChange: number;
85
- abortController?: AbortController;
66
+ controller: RemoteController;
67
+ animationMixer: AnimationMixer;
68
+ lastUsername: string;
69
+ lastCharacterDescription: CharacterDescription | null;
70
+ lastColors: Array<[number, number, number]> | null;
71
+ renderState: CharacterRenderState;
86
72
  };
87
73
  export declare class CharacterManager {
88
74
  private config;
89
75
  static readonly headTargetOffset: Vect3;
90
76
  private localClientId;
91
77
  remoteCharacters: Map<number, RemoteCharacterState>;
92
- localController: LocalController;
93
- localCharacter: Character | null;
94
- characterInstances: CharacterInstances | null;
95
- readonly group: Group;
78
+ localController: LocalController | null;
79
+ private localRenderState;
80
+ private localAnimationMixer;
96
81
  private lastUpdateSentTime;
97
- private readonly MAX_REAL_REMOTE_CHARACTERS;
98
- private readonly LOD_CHANGE_COOLDOWN_MS;
99
- private readonly MAX_SCENE_ADDITIONS_PER_FRAME;
100
82
  private tempCameraTarget;
101
- private pendingSpawns;
102
- private loadingCharacters;
103
- private charactersReadyForScene;
83
+ private cachedCharacterStates;
84
+ private pendingDescriptionUpdates;
85
+ private pendingRemovals;
104
86
  constructor(config: CharacterManagerConfig);
105
- spawnLocalCharacter(id: number, username: string, characterDescription: CharacterDescription | null, spawnPosition?: Vect3, spawnRotation?: EulXYZ): void;
106
- private calculateDistanceSquared;
107
- private evaluateLOD;
108
- private promoteToReal;
109
- private demoteToInstance;
87
+ /**
88
+ * Sets the local client ID early to prevent the local character from being
89
+ * spawned as a remote character when network updates arrive before spawnLocalCharacter is called.
90
+ */
91
+ setLocalClientId(id: number): void;
92
+ spawnLocalCharacter(id: number, spawnPosition?: Vect3, spawnRotation?: EulXYZ): void;
110
93
  setupTweakPane(tweakPane: TweakPane): void;
111
- private initializeCharacterInstances;
112
94
  getLocalCharacterPositionAndRotation(): PositionAndRotation;
113
95
  clear(): void;
114
96
  dispose(): void;
115
- addSelfChatBubble(message: string): void;
116
- addChatBubble(id: number, message: string): void;
117
97
  networkCharacterInfoUpdated(id: number): void;
118
- update(): void;
98
+ update(deltaTime: number, frameCounter: number): {
99
+ updatedCharacterDescriptions: number[];
100
+ removedUserIds: number[];
101
+ };
102
+ getAllCharacterStates(): Map<number, CharacterRenderState>;
103
+ getLocalClientId(): number;
119
104
  }
120
105
  export {};
121
106
  //# 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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"}
@@ -5,22 +5,21 @@ import { VirtualJoystick } from "../input/VirtualJoystick";
5
5
  import { Line } from "../math/Line";
6
6
  import { Quat } from "../math/Quat";
7
7
  import { IVect3, Vect3 } from "../math/Vect3";
8
- import { TimeManager } from "../time/TimeManager";
9
- import { Character } from "./Character";
8
+ import { CharacterControllerValues } from "../tweakpane/blades/characterControlsFolder";
10
9
  import { SpawnConfigurationState } from "./CharacterManager";
11
- import { CharacterState } from "./CharacterState";
10
+ import { AnimationState, CharacterState } from "./CharacterState";
12
11
  export type LocalControllerConfig = {
13
12
  id: number;
14
- character: Character;
13
+ position: Vect3;
14
+ quaternion: Quat;
15
15
  collisionsManager: CollisionsManager;
16
16
  keyInputManager: KeyInputManager;
17
17
  virtualJoystick?: VirtualJoystick;
18
18
  cameraManager: CameraManager;
19
- timeManager: TimeManager;
20
19
  spawnConfiguration: SpawnConfigurationState;
20
+ characterControllerValues: CharacterControllerValues;
21
21
  };
22
22
  export declare class LocalController {
23
- private config;
24
23
  capsuleInfo: {
25
24
  radius: number;
26
25
  segment: Line;
@@ -61,6 +60,8 @@ export declare class LocalController {
61
60
  private tempVector2;
62
61
  private tempVect3;
63
62
  private tempRay;
63
+ private tempCameraPos;
64
+ private tempPositionCopy;
64
65
  private surfaceTempQuat;
65
66
  private surfaceTempQuat2;
66
67
  private surfaceTempVector1;
@@ -73,6 +74,7 @@ export declare class LocalController {
73
74
  private lastFrameSurfaceState;
74
75
  jumpReleased: boolean;
75
76
  networkState: CharacterState;
77
+ config: LocalControllerConfig;
76
78
  private controlState;
77
79
  private minimumX;
78
80
  private maximumX;
@@ -82,8 +84,8 @@ export declare class LocalController {
82
84
  private maximumZ;
83
85
  constructor(config: LocalControllerConfig);
84
86
  updateSpawnConfig(spawnConfig: SpawnConfigurationState): void;
85
- update(): void;
86
- private getTargetAnimation;
87
+ update(deltaTime: number): void;
88
+ getTargetAnimation(): AnimationState;
87
89
  private updateRotationOffset;
88
90
  private updateAzimuthalAngle;
89
91
  private computeAngularDifference;
@@ -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":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAsB,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACxF,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAE3D,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAEpC,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAEpC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,yBAAyB,EAAE,MAAM,6CAA6C,CAAC;AAExF,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAKlE,MAAM,MAAM,qBAAqB,GAAG;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,KAAK,CAAC;IAChB,UAAU,EAAE,IAAI,CAAC;IACjB,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,eAAe,EAAE,eAAe,CAAC;IACjC,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,aAAa,EAAE,aAAa,CAAC;IAC7B,kBAAkB,EAAE,uBAAuB,CAAC;IAC5C,yBAAyB,EAAE,yBAAyB,CAAC;CACtD,CAAC;AAEF,qBAAa,eAAe;IACnB,WAAW;;;MAGhB;IAEK,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,OAAO,EAAE,OAAO,CAAQ;IACxB,aAAa,EAAE,OAAO,CAAQ;IAC9B,YAAY,UAAS;IACrB,cAAc,EAAE,OAAO,CAAS;IAChC,WAAW,EAAE,MAAM,CAAK;IAExB,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,mBAAmB,EAAE,MAAM,CAAC;IAE5B,cAAc,EAAE,KAAK,CAAe;IACpC,iBAAiB,EAAE,OAAO,CAAS;IACnC,UAAU,EAAE,OAAO,CAAS;IAEnC,OAAO,CAAC,uBAAuB,CAAM;IAErC,OAAO,CAAC,oBAAoB,CAAkB;IAC9C,OAAO,CAAC,sBAAsB,CAAa;IAC3C,OAAO,CAAC,aAAa,CAAa;IAClC,OAAO,CAAC,mBAAmB,CAAe;IAE1C,OAAO,CAAC,iBAAiB,CAAsB;IAC/C,OAAO,CAAC,QAAQ,CAA6B;IAC7C,OAAO,CAAC,UAAU,CAA8B;IAEhD,OAAO,CAAC,cAAc,CAAa;IACnC,OAAO,CAAC,cAAc,CAAa;IAEnC,OAAO,CAAC,WAAW,CAAoB;IACvC,OAAO,CAAC,QAAQ,CAAoB;IACpC,OAAO,CAAC,UAAU,CAAwB;IAC1C,OAAO,CAAC,UAAU,CAAsB;IACxC,OAAO,CAAC,WAAW,CAAsB;IACzC,OAAO,CAAC,SAAS,CAAsB;IACvC,OAAO,CAAC,OAAO,CAAkB;IACjC,OAAO,CAAC,aAAa,CAAe;IACpC,OAAO,CAAC,gBAAgB,CAAe;IAEvC,OAAO,CAAC,eAAe,CAAc;IACrC,OAAO,CAAC,gBAAgB,CAAc;IACtC,OAAO,CAAC,kBAAkB,CAAe;IACzC,OAAO,CAAC,kBAAkB,CAAe;IACzC,OAAO,CAAC,gBAAgB,CAAe;IACvC,OAAO,CAAC,kBAAkB,CAAe;IACzC,OAAO,CAAC,kBAAkB,CAAe;IACzC,OAAO,CAAC,cAAc,CAAa;IACnC,OAAO,CAAC,cAAc,CAAsB;IAC5C,OAAO,CAAC,qBAAqB,CAOb;IAET,YAAY,EAAE,OAAO,CAAQ;IAE7B,YAAY,EAAE,cAAc,CAAC;IAC7B,MAAM,EAAE,qBAAqB,CAAC;IACrC,OAAO,CAAC,YAAY,CACb;IAEP,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,QAAQ,CAAS;gBAEb,MAAM,EAAE,qBAAqB;IAkElC,iBAAiB,CAAC,WAAW,EAAE,uBAAuB,GAAG,IAAI;IAU7D,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAqC/B,kBAAkB,IAAI,cAAc;IAmB3C,OAAO,CAAC,oBAAoB;IAM5B,OAAO,CAAC,oBAAoB;IAmB5B,OAAO,CAAC,wBAAwB;IAKhC,OAAO,CAAC,cAAc;IActB,OAAO,CAAC,WAAW;IAmDnB,OAAO,CAAC,aAAa;IAsCrB,OAAO,CAAC,cAAc;IAoFf,uBAAuB,CAAC,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;kBACtC,IAAI;kBAAY,KAAK;;IAyFrD,OAAO,CAAC,kBAAkB;IAenB,aAAa,IAAI,IAAI;CAoB7B"}
@@ -1,15 +1,18 @@
1
- import { Character } from "./Character";
2
- import { CharacterState } from "./CharacterState";
3
- export type RemoteControllerConfig = {
4
- character: Character;
5
- };
1
+ import { EulXYZ, Quat, Vect3 } from "../math";
2
+ import { AnimationState, CharacterState } from "./CharacterState";
3
+ /**
4
+ * RemoteController handles interpolation of remote character state.
5
+ * It's renderer-agnostic and only calculates interpolated positions/rotations.
6
+ */
6
7
  export declare class RemoteController {
7
- private character;
8
- networkState: CharacterState;
8
+ position: Vect3;
9
+ rotation: Quat;
10
+ animationState: AnimationState;
9
11
  private hasReceivedInitialUpdate;
10
12
  private interpolationRate;
11
- constructor(character: Character);
12
- update(clientUpdate: CharacterState, time: number, deltaTime: number): void;
13
- private updateFromNetwork;
13
+ private cachedTargetPos;
14
+ constructor(initialPosition: Vect3, initialRotation: EulXYZ, initialAnimation: AnimationState);
15
+ update(networkUpdate: CharacterState, deltaTime: number): void;
16
+ getRotationEuler(): EulXYZ;
14
17
  }
15
18
  //# sourceMappingURL=RemoteController.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RemoteController.d.ts","sourceRoot":"","sources":["../../src/character/RemoteController.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,MAAM,MAAM,sBAAsB,GAAG;IACnC,SAAS,EAAE,SAAS,CAAC;CACtB,CAAC;AAIF,qBAAa,gBAAgB;IAMf,OAAO,CAAC,SAAS;IALtB,YAAY,EAAE,cAAc,CAAC;IAEpC,OAAO,CAAC,wBAAwB,CAAS;IACzC,OAAO,CAAC,iBAAiB,CAAO;gBAEZ,SAAS,EAAE,SAAS;IAYjC,MAAM,CAAC,YAAY,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAMlF,OAAO,CAAC,iBAAiB;CAuD1B"}
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"}
@@ -0,0 +1,8 @@
1
+ export type AnimationConfig = {
2
+ idleAnimationFileUrl: string;
3
+ jogAnimationFileUrl: string;
4
+ sprintAnimationFileUrl: string;
5
+ airAnimationFileUrl: string;
6
+ doubleJumpAnimationFileUrl: string;
7
+ };
8
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/character/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,eAAe,GAAG;IAC5B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,sBAAsB,EAAE,MAAM,CAAC;IAC/B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,0BAA0B,EAAE,MAAM,CAAC;CACpC,CAAC"}
@@ -1,7 +1,11 @@
1
- import { Object3D } from "three";
1
+ import { IEulXYZ } from "../math/EulXYZ";
2
2
  import { Quat } from "../math/Quat";
3
- import { Vect3 } from "../math/Vect3";
4
- export declare function encodeCharacterAndCamera(character: Object3D, camera: Object3D): string;
3
+ import { IVect3, Vect3 } from "../math/Vect3";
4
+ type PositionAndRotation = {
5
+ position: IVect3;
6
+ rotation: IEulXYZ;
7
+ };
8
+ export declare function encodeCharacterAndCamera(character: PositionAndRotation, camera: PositionAndRotation): string;
5
9
  export declare function decodeCharacterAndCamera(hash: string): {
6
10
  character: {
7
11
  position: Vect3;
@@ -12,4 +16,5 @@ export declare function decodeCharacterAndCamera(hash: string): {
12
16
  quaternion: Quat;
13
17
  };
14
18
  };
19
+ export {};
15
20
  //# sourceMappingURL=url-position.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"url-position.d.ts","sourceRoot":"","sources":["../../src/character/url-position.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAGjC,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAItC,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,GAAG,MAAM,CAOtF;AAED,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG;IACtD,SAAS,EAAE;QAAE,QAAQ,EAAE,KAAK,CAAC;QAAC,UAAU,EAAE,IAAI,CAAA;KAAE,CAAC;IACjD,MAAM,EAAE;QAAE,QAAQ,EAAE,KAAK,CAAC;QAAC,UAAU,EAAE,IAAI,CAAA;KAAE,CAAC;CAC/C,CAYA"}
1
+ {"version":3,"file":"url-position.d.ts","sourceRoot":"","sources":["../../src/character/url-position.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAI9C,KAAK,mBAAmB,GAAG;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,wBAAgB,wBAAwB,CACtC,SAAS,EAAE,mBAAmB,EAC9B,MAAM,EAAE,mBAAmB,GAC1B,MAAM,CAOR;AAED,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG;IACtD,SAAS,EAAE;QAAE,QAAQ,EAAE,KAAK,CAAC;QAAC,UAAU,EAAE,IAAI,CAAA;KAAE,CAAC;IACjD,MAAM,EAAE;QAAE,QAAQ,EAAE,KAAK,CAAC;QAAC,UAAU,EAAE,IAAI,CAAA;KAAE,CAAC;CAC/C,CAYA"}
@@ -1,28 +1,29 @@
1
1
  import { MElement } from "@mml-io/mml-web";
2
- import { Group, Scene } from "three";
3
- import { MeshBVH } from "three-mesh-bvh";
2
+ import type { MeshBVH } from "three-mesh-bvh";
4
3
  import { Line } from "../math/Line";
5
4
  import { Matr4 } from "../math/Matr4";
6
5
  import { Ray } from "../math/Ray";
7
- import { Vect3 } from "../math/Vect3";
6
+ import { IVect3, Vect3 } from "../math/Vect3";
7
+ type CollisionSourceRef = unknown;
8
8
  export type CollisionMeshState = {
9
9
  matrix: Matr4;
10
- source: Group;
10
+ localScale: IVect3;
11
+ source: CollisionSourceRef;
11
12
  meshBVH: MeshBVH;
12
- debugGroup?: Group;
13
13
  trackCollisions: boolean;
14
14
  };
15
+ export type CollisionMesh = {
16
+ meshBVH: MeshBVH;
17
+ matrix: Matr4;
18
+ localScale: IVect3;
19
+ };
15
20
  export declare class CollisionsManager {
16
- private debug;
17
- private scene;
18
21
  private tempVector;
19
22
  private tempVector2;
20
23
  private tempVect3;
21
24
  private tempQuat;
22
25
  private tempRay;
23
26
  private tempMatrix;
24
- private tempMatrixThree;
25
- private tempMatrix2Three;
26
27
  private tempBox;
27
28
  private tempEulXYZ;
28
29
  private tempSegment;
@@ -30,18 +31,20 @@ export declare class CollisionsManager {
30
31
  private tempCollisionPosition;
31
32
  private tempMinimalNormal;
32
33
  private tempMinimalPoint;
33
- collisionMeshState: Map<Group, CollisionMeshState>;
34
+ collisionMeshState: Map<CollisionSourceRef, CollisionMeshState>;
34
35
  private collisionTrigger;
35
36
  private previouslyCollidingElements;
36
- constructor(scene: Scene);
37
+ private debugEnabled;
38
+ onDebugChange?: (enabled: boolean) => void;
39
+ constructor();
40
+ isDebugEnabled(): boolean;
37
41
  toggleDebug(enabled: boolean): void;
38
42
  raycastFirst(ray: Ray, maximumDistance?: number | null): [number, Vect3, CollisionMeshState, Vect3] | null;
39
- private createDebugVisuals;
40
- private createCollisionMeshState;
41
- addMeshesGroup(group: Group, mElement?: MElement): void;
42
- updateMeshesGroup(group: Group): void;
43
- removeMeshesGroup(group: Group): void;
43
+ addMeshesGroup(group: CollisionSourceRef, creationResult: CollisionMesh, mElement?: MElement): void;
44
+ updateMeshesGroup(group: CollisionSourceRef, matrix: Matr4, localScale: IVect3): void;
45
+ removeMeshesGroup(group: CollisionSourceRef): void;
44
46
  private applyCollider;
45
47
  applyColliders(tempSegment: Line, radius: number): void;
46
48
  }
49
+ export {};
47
50
  //# sourceMappingURL=CollisionsManager.d.ts.map
@@ -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;AAChE,OAAO,EAKL,KAAK,EACL,KAAK,EAUN,MAAM,OAAO,CAAC;AAGf,OAAO,EAAE,OAAO,EAAiB,MAAM,gBAAgB,CAAC;AAIxD,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,KAAK,EAAE,MAAM,eAAe,CAAC;AAItC,MAAM,MAAM,kBAAkB,GAAG;IAC/B,MAAM,EAAE,KAAK,CAAC;IACd,MAAM,EAAE,KAAK,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,KAAK,CAAC;IACnB,eAAe,EAAE,OAAO,CAAC;CAC1B,CAAC;AAEF,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,KAAK,CAAkB;IAC/B,OAAO,CAAC,KAAK,CAAQ;IACrB,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,eAAe,CAAiB;IACxC,OAAO,CAAC,gBAAgB,CAAiB;IACzC,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,KAAK,EAAE,kBAAkB,CAAC,CAAa;IACtE,OAAO,CAAC,gBAAgB,CAA6B;IACrD,OAAO,CAAC,2BAA2B,CAGjC;gBAEU,KAAK,EAAE,KAAK;IAMjB,WAAW,CAAC,OAAO,EAAE,OAAO;IA+B5B,YAAY,CACjB,GAAG,EAAE,GAAG,EACR,eAAe,GAAE,MAAM,GAAG,IAAW,GACpC,CAAC,MAAM,EAAE,KAAK,EAAE,kBAAkB,EAAE,KAAK,CAAC,GAAG,IAAI;IAwCpD,OAAO,CAAC,kBAAkB;IAyB1B,OAAO,CAAC,wBAAwB;IAmFzB,cAAc,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,IAAI;IAWvD,iBAAiB,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAerC,iBAAiB,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAW5C,OAAO,CAAC,aAAa;IAuGd,cAAc,CAAC,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM;CA6CxD"}
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,4 +1,4 @@
1
1
  import { PositionAndRotation } from "@mml-io/mml-web";
2
- import { Object3D } from "three";
3
- export declare function getRelativePositionAndRotationRelativeToObject(positionAndRotation: PositionAndRotation, container: Object3D): PositionAndRotation;
2
+ import { IVect3, Matr4 } from "../math";
3
+ export declare function getRelativePositionAndRotationRelativeToObject(positionAndRotation: PositionAndRotation, matrix: Matr4, localScale: IVect3): PositionAndRotation;
4
4
  //# sourceMappingURL=getRelativePositionAndRotationRelativeToObject.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"getRelativePositionAndRotationRelativeToObject.d.ts","sourceRoot":"","sources":["../../src/collisions/getRelativePositionAndRotationRelativeToObject.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAWjC,wBAAgB,8CAA8C,CAC5D,mBAAmB,EAAE,mBAAmB,EACxC,SAAS,EAAE,QAAQ,GAClB,mBAAmB,CAiCrB"}
1
+ {"version":3,"file":"getRelativePositionAndRotationRelativeToObject.d.ts","sourceRoot":"","sources":["../../src/collisions/getRelativePositionAndRotationRelativeToObject.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAEtD,OAAO,EAAU,MAAM,EAAE,KAAK,EAAe,MAAM,SAAS,CAAC;AAS7D,wBAAgB,8CAA8C,CAC5D,mBAAmB,EAAE,mBAAmB,EACxC,MAAM,EAAE,KAAK,EACb,UAAU,EAAE,MAAM,GACjB,mBAAmB,CA+BrB"}
package/build/index.d.ts CHANGED
@@ -1,23 +1,19 @@
1
1
  export { CameraManager } from "./camera/CameraManager";
2
- export { CharacterDescription, AnimationConfig, LoadedAnimations, Character, } from "./character/Character";
3
2
  export { CharacterManager, SpawnConfiguration, SpawnConfigurationState, } from "./character/CharacterManager";
4
3
  export * from "./character/Spawning";
5
4
  export * from "./character/url-position";
5
+ export * from "./character/types";
6
6
  export * from "./helpers/math-helpers";
7
- export { CharacterModelLoader } from "./character/loading/CharacterModelLoader";
8
- export { TextureWorkerPool } from "./character/loading/GLTFLoadingWorkerPool";
7
+ export * from "./rendering/IRenderer";
9
8
  export { CharacterState, AnimationState } from "./character/CharacterState";
9
+ export { AnimationMixer, AnimationWeights, AnimationTimes } from "./character/AnimationMixer";
10
10
  export { Key, KeyInputManager } from "./input/KeyInputManager";
11
11
  export { VirtualJoystick } from "./input/VirtualJoystick";
12
- export { MMLCompositionScene } from "./mml/MMLCompositionScene";
13
- export { TweakPane } from "./tweakpane/TweakPane";
14
- export { Composer } from "./rendering/composer";
15
- export { TimeManager } from "./time/TimeManager";
16
- export { CollisionsManager } from "./collisions/CollisionsManager";
17
- export { Sun } from "./sun/Sun";
18
- export { GroundPlane } from "./ground-plane/GroundPlane";
12
+ export { CollisionsManager, CollisionMesh } from "./collisions/CollisionsManager";
19
13
  export { LoadingScreenConfig, LoadingScreen } from "./loading-screen/LoadingScreen";
20
14
  export { ErrorScreen } from "./error-screen/ErrorScreen";
21
- export { EnvironmentConfiguration } from "./rendering/composer";
15
+ export { TweakPane } from "./tweakpane/TweakPane";
16
+ export { CharacterControllerValues, createDefaultCharacterControllerValues, } from "./tweakpane/blades/characterControlsFolder";
17
+ export { CameraValues, createDefaultCameraValues } from "./tweakpane/blades/cameraFolder";
22
18
  export * from "./math";
23
19
  //# sourceMappingURL=index.d.ts.map
@@ -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,oBAAoB,EACpB,eAAe,EACf,gBAAgB,EAChB,SAAS,GACV,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,uBAAuB,GACxB,MAAM,8BAA8B,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,OAAO,EAAE,oBAAoB,EAAE,MAAM,0CAA0C,CAAC;AAChF,OAAO,EAAE,iBAAiB,EAAE,MAAM,2CAA2C,CAAC;AAC9E,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5E,OAAO,EAAE,GAAG,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAChC,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AACpF,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAChE,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,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"}