@mml-io/3d-web-client-core 0.8.0 → 0.9.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.
@@ -0,0 +1,9 @@
1
+ type ListenerFunc = (...args: any[]) => void;
2
+ type EventSpecificationTuple = [EventTarget, string, ListenerFunc, AddEventListenerOptions?];
3
+ export declare class EventHandlerCollection {
4
+ private eventsByTarget;
5
+ add(target: EventTarget, key: string, listener: ListenerFunc, options?: AddEventListenerOptions): this;
6
+ clear(): void;
7
+ static create(initial?: Array<EventSpecificationTuple>): EventHandlerCollection;
8
+ }
9
+ export {};
@@ -1,6 +1,8 @@
1
1
  export declare class KeyInputManager {
2
+ private shouldCaptureKeyPress;
2
3
  private keys;
3
- constructor();
4
+ private eventHandlerCollection;
5
+ constructor(shouldCaptureKeyPress?: () => boolean);
4
6
  private handleUnfocus;
5
7
  private onKeyDown;
6
8
  private onKeyUp;
@@ -1,4 +1,4 @@
1
- import { PositionAndRotation } from "mml-web";
1
+ import { IMMLScene, PositionAndRotation } from "mml-web";
2
2
  import { AudioListener, Group, PerspectiveCamera, Scene, WebGLRenderer } from "three";
3
3
  import { CollisionsManager } from "../collisions/CollisionsManager";
4
4
  export declare class MMLCompositionScene {
@@ -9,10 +9,11 @@ export declare class MMLCompositionScene {
9
9
  private collisionsManager;
10
10
  private getUserPositionAndRotation;
11
11
  group: Group;
12
- private debug;
13
- private readonly mmlScene;
12
+ readonly mmlScene: IMMLScene;
14
13
  private readonly promptManager;
14
+ private readonly interactionManager;
15
15
  private readonly interactionListener;
16
16
  private readonly clickTrigger;
17
- constructor(renderer: WebGLRenderer, scene: Scene, camera: PerspectiveCamera, audioListener: AudioListener, collisionsManager: CollisionsManager, getUserPositionAndRotation: () => PositionAndRotation, documentAddresses: Array<string>);
17
+ constructor(targetElement: HTMLElement, renderer: WebGLRenderer, scene: Scene, camera: PerspectiveCamera, audioListener: AudioListener, collisionsManager: CollisionsManager, getUserPositionAndRotation: () => PositionAndRotation);
18
+ dispose(): void;
18
19
  }
@@ -1,16 +1,19 @@
1
+ import { EffectComposer } from "postprocessing";
1
2
  import { PerspectiveCamera, Scene, Vector2, WebGLRenderer } from "three";
2
3
  import { Sun } from "../sun/Sun";
3
4
  import { TimeManager } from "../time/TimeManager";
5
+ import { TweakPane } from "../tweakpane/TweakPane";
4
6
  export declare class Composer {
5
7
  private width;
6
8
  private height;
9
+ private resizeListener;
7
10
  resolution: Vector2;
8
11
  private isEnvHDRI;
9
12
  private readonly scene;
10
13
  postPostScene: Scene;
11
14
  private readonly camera;
12
15
  readonly renderer: WebGLRenderer;
13
- private readonly composer;
16
+ readonly effectComposer: EffectComposer;
14
17
  private readonly renderPass;
15
18
  private readonly normalPass;
16
19
  private readonly normalTextureEffect;
@@ -32,10 +35,10 @@ export declare class Composer {
32
35
  private ambientLight;
33
36
  sun: Sun | null;
34
37
  spawnSun: boolean;
35
- private tweakPane;
36
38
  constructor(scene: Scene, camera: PerspectiveCamera, spawnSun?: boolean);
37
- private updateProjection;
38
- isTweakPaneVisible(): boolean;
39
+ setupTweakPane(tweakPane: TweakPane): void;
40
+ dispose(): void;
41
+ fitContainer(): void;
39
42
  render(timeManager: TimeManager): void;
40
43
  useHDRI(url: string, fromFile?: boolean): void;
41
44
  setHDRIFromFile(): void;
@@ -1,9 +1,9 @@
1
1
  import { BloomEffect, EffectComposer, EffectPass, NormalPass, SSAOEffect, ToneMappingEffect } from "postprocessing";
2
2
  import { Scene, WebGLRenderer } from "three";
3
+ import { BrightnessContrastSaturation } from "../rendering/post-effects/bright-contrast-sat";
3
4
  import { GaussGrainEffect } from "../rendering/post-effects/gauss-grain";
4
5
  import { Sun } from "../sun/Sun";
5
6
  import { TimeManager } from "../time/TimeManager";
6
- import { BrightnessContrastSaturation } from "./../rendering/post-effects/bright-contrast-sat";
7
7
  export declare class TweakPane {
8
8
  private renderer;
9
9
  private scene;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mml-io/3d-web-client-core",
3
- "version": "0.8.0",
3
+ "version": "0.9.0",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -20,7 +20,7 @@
20
20
  "dependencies": {
21
21
  "@tweakpane/core": "2.0.0",
22
22
  "@tweakpane/plugin-essentials": "0.2.0",
23
- "mml-web": "0.7.0",
23
+ "mml-web": "0.9.0",
24
24
  "n8ao": "^1.6.8",
25
25
  "postprocessing": "6.33.0",
26
26
  "three-mesh-bvh": "0.6.4",
@@ -32,5 +32,5 @@
32
32
  "devDependencies": {
33
33
  "@types/three": "0.153.0"
34
34
  },
35
- "gitHead": "aaef76d92c5282a92c7305e1697dde1b9e07fe00"
35
+ "gitHead": "b9cdffc003154cfb964d2b166c491860ead57923"
36
36
  }