@xviewer.js/core 1.0.0 → 1.0.2

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 (61) hide show
  1. package/dist/{main.js → main.cjs} +2580 -2507
  2. package/dist/main.cjs.map +1 -0
  3. package/dist/module.js +2427 -2375
  4. package/dist/module.js.map +1 -1
  5. package/package.json +3 -3
  6. package/types/Component.d.ts +4 -0
  7. package/types/DeviceInput.d.ts +1 -0
  8. package/types/Mount.d.ts +2 -1
  9. package/types/SystemInfo.d.ts +1 -4
  10. package/types/Utils.d.ts +4 -4
  11. package/types/Viewer.d.ts +12 -6
  12. package/types/asset/{aLoader.d.ts → Loader.d.ts} +1 -1
  13. package/types/asset/ResourceManager.d.ts +4 -4
  14. package/types/cinestation/CinestationBlendDefinition.d.ts +4 -4
  15. package/types/cinestation/FreelookVirtualCamera.d.ts +9 -1
  16. package/types/components/AccumulativeShadows.d.ts +68 -0
  17. package/types/components/Center.d.ts +44 -0
  18. package/types/components/ContactShadows.d.ts +28 -0
  19. package/types/components/index.d.ts +3 -0
  20. package/types/constants.d.ts +1 -0
  21. package/types/index.d.ts +1 -2
  22. package/types/loaders/BINLoader.d.ts +8 -0
  23. package/types/loaders/{aEXRLoader.d.ts → EXRLoader.d.ts} +2 -2
  24. package/types/loaders/{aFBXLoader.d.ts → FBXLoader.d.ts} +2 -2
  25. package/types/loaders/{aGLTFLoader.d.ts → GLTFLoader.d.ts} +2 -2
  26. package/types/loaders/{aHDRLoader.d.ts → HDRLoader.d.ts} +2 -2
  27. package/types/loaders/{aJSONLoader.d.ts → JSONLoader.d.ts} +2 -2
  28. package/types/loaders/{aTextureLoader.d.ts → TextureLoader.d.ts} +2 -2
  29. package/types/loaders/index.d.ts +7 -6
  30. package/types/materials/DiscardMaterial.d.ts +5 -0
  31. package/types/materials/ShadowMaterial.d.ts +17 -0
  32. package/types/materials/index.d.ts +1 -0
  33. package/types/math/Interpolation.d.ts +6 -5
  34. package/types/math/index.d.ts +1 -0
  35. package/types/plugins/DropFile.d.ts +3 -1
  36. package/types/plugins/UI.d.ts +30 -0
  37. package/types/plugins/index.d.ts +1 -0
  38. package/types/shaderMaterial.d.ts +8 -0
  39. package/types/types.d.ts +20 -17
  40. package/dist/main.js.map +0 -1
  41. package/types/Plugin.d.ts +0 -4
  42. package/types/PluginManager.d.ts +0 -17
  43. package/types/components/PerformanceMonitor.d.ts +0 -48
  44. package/types/plugins/BoxProjectionPlugin.d.ts +0 -20
  45. package/types/plugins/DebugPlugin.d.ts +0 -10
  46. package/types/plugins/DebugScene.d.ts +0 -8
  47. package/types/plugins/DropFilePlugin.d.ts +0 -18
  48. package/types/plugins/EnvironmentPlugin.d.ts +0 -41
  49. package/types/plugins/PerformanceMonitorPlugin.d.ts +0 -48
  50. package/types/tween/Group.d.ts +0 -16
  51. package/types/tween/Interpolation.d.ts +0 -19
  52. package/types/tween/Now.d.ts +0 -2
  53. package/types/tween/Sequence.d.ts +0 -7
  54. package/types/tween/Tween.d.ts +0 -98
  55. package/types/tween/TweenChain.d.ts +0 -26
  56. package/types/tween/TweenGroup.d.ts +0 -17
  57. package/types/tween/TweenManager.d.ts +0 -8
  58. package/types/tween/Version.d.ts +0 -1
  59. package/types/tween/index.d.ts +0 -6
  60. package/types/tween/mainGroup.d.ts +0 -2
  61. /package/types/{tween → math}/Easing.d.ts +0 -0
package/package.json CHANGED
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "name": "@xviewer.js/core",
3
- "version": "1.0.0",
3
+ "version": "1.0.2",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "sideEffects": false,
7
- "main": "dist/main.js",
7
+ "main": "dist/main.cjs",
8
8
  "module": "dist/module.js",
9
- "types": "types/index.d.ts",
10
9
  "debug": "src/index.ts",
10
+ "types": "types/index.d.ts",
11
11
  "files": [
12
12
  "dist/**/*",
13
13
  "types/**/*"
@@ -2,6 +2,7 @@ import { Object3D } from "three";
2
2
  import { Viewer } from "./Viewer";
3
3
  import { ComponentManager } from "./ComponentManager";
4
4
  import { ObjectInstance } from "./ObjectInstance";
5
+ import { __C, __P } from "./types";
5
6
  export declare class Component<T extends Object3D = Object3D> extends ObjectInstance {
6
7
  private _enabled;
7
8
  node: T;
@@ -34,4 +35,7 @@ export declare class Component<T extends Object3D = Object3D> extends ObjectInst
34
35
  unscheduleAll(): void;
35
36
  destroy(): boolean;
36
37
  destroyImmediate(): void;
38
+ apply<K extends __C<this>>(props: __P<this, K>): this & {
39
+ copy?: Function;
40
+ };
37
41
  }
@@ -43,6 +43,7 @@ export declare class DeviceInput {
43
43
  connect(target: ConnTarget, event: string): void;
44
44
  disconnect(target: ConnTarget): void;
45
45
  private _addEventListener;
46
+ private _onResize;
46
47
  private _remapPointer;
47
48
  private _remapTouch;
48
49
  private _computePointer;
package/types/Mount.d.ts CHANGED
@@ -1,4 +1,5 @@
1
+ import { Object3D } from "three";
1
2
  import { Component } from "./Component";
2
- export declare class Mount extends Component {
3
+ export declare class Mount<T extends Object3D = Object3D> extends Component<T> {
3
4
  isMount: boolean;
4
5
  }
@@ -16,10 +16,7 @@ export declare class SystemInfo {
16
16
  static isOpera: boolean;
17
17
  static isSafari: boolean;
18
18
  static isSupportMSAA: boolean;
19
- static isSupportOgg: boolean;
20
- static isRetina: boolean;
21
- static devicePixelRatio: number;
22
19
  static cpuCoreCount: number;
23
- static baseUrl: string;
20
+ static isRetina: boolean;
24
21
  static isIFrame: boolean;
25
22
  }
package/types/Utils.d.ts CHANGED
@@ -1,13 +1,13 @@
1
- import { Object3D } from "three";
1
+ import * as THREE from "three";
2
2
  import { __C, __P } from "./types";
3
3
  export declare function applyProps<T, K extends __C<T>>(target: T & {
4
4
  copy?: Function;
5
5
  }, props: __P<T, K>): T & {
6
6
  copy?: Function;
7
7
  };
8
- export declare function find<T extends Object3D>(node: T, path: string): T;
9
- export declare function getChidren<T extends Object3D>(node: T, filter: (value: T) => any, group?: boolean): any;
10
- export declare function getChildByName<T extends Object3D>(node: T, name: string): T;
8
+ export declare function find<T extends THREE.Object3D>(node: T, path: string): T;
9
+ export declare function getChildren<T extends THREE.Object3D>(node: T, filter: (value: T) => any, group?: boolean): any;
10
+ export declare function getChildByName<T extends THREE.Object3D>(node: T, name: string): T;
11
11
  export declare function queryValues<T extends Object & {
12
12
  name: string;
13
13
  }>(object: any): T[];
package/types/Viewer.d.ts CHANGED
@@ -6,9 +6,13 @@ import { Orientation } from "./enums/Orientation";
6
6
  import { AssetProperties, LoaderConstructor, ResourceManager } from "./asset/ResourceManager";
7
7
  import { __C, __P } from "./types";
8
8
  import { Component } from "./Component";
9
- import { TweenManager } from "./tween";
10
9
  import { Task } from "./Task";
11
10
  import { Mount } from "./Mount";
11
+ declare module 'three' {
12
+ interface Object3D {
13
+ apply<K extends __C<this>>(props: __P<this, K>): this;
14
+ }
15
+ }
12
16
  export declare class Viewer extends EventEmitter {
13
17
  static __target: Vector3;
14
18
  static __worldPos: Vector3;
@@ -25,6 +29,7 @@ export declare class Viewer extends EventEmitter {
25
29
  private _instanceId;
26
30
  private _root;
27
31
  private _canvas;
32
+ private _container;
28
33
  private _gl;
29
34
  private _RENDER_TARGET_FLOAT_TYPE;
30
35
  private _DATA_FLOAT_TYPE;
@@ -51,8 +56,8 @@ export declare class Viewer extends EventEmitter {
51
56
  private _resourceManager;
52
57
  private _componentManager;
53
58
  private _loadingManager;
54
- private _tweens;
55
59
  get root(): HTMLElement;
60
+ get container(): HTMLElement;
56
61
  get time(): number;
57
62
  get scene(): Scene;
58
63
  get camera(): PerspectiveCamera;
@@ -77,9 +82,10 @@ export declare class Viewer extends EventEmitter {
77
82
  get loadingManager(): LoadingManager;
78
83
  get resourceManager(): ResourceManager;
79
84
  get taskManager(): TaskManager;
80
- constructor({ root, canvas, autoStart, autoResize, shadows, camera, targetFrameRate, fixedFrameTime, colorSpace, toneMapping, toneMappingExposure, maxDPR, path, resourcePath, dracoPath, orientation, loader, tasker, ...webglOpts }?: {
85
+ constructor({ root, canvas, container, autoStart, autoResize, shadows, camera, targetFrameRate, fixedFrameTime, colorSpace, toneMapping, toneMappingExposure, maxDPR, path, resourcePath, dracoPath, orientation, loader, tasker, ...webglOpts }?: {
81
86
  root?: HTMLElement;
82
87
  canvas?: HTMLCanvasElement;
88
+ container?: HTMLDivElement;
83
89
  targetFrameRate?: number;
84
90
  fixedFrameTime?: boolean;
85
91
  autoStart?: boolean;
@@ -122,16 +128,16 @@ export declare class Viewer extends EventEmitter {
122
128
  _resizing(width: number, height: number): void;
123
129
  start(): this;
124
130
  stop(): this;
131
+ rotate(): void;
125
132
  resize(width?: number, height?: number): void;
126
133
  loadAsset(props: AssetProperties): Promise<any>;
127
- getLoader(ext: string): import(".").aLoader;
128
- addLoader(Loader: LoaderConstructor): void;
134
+ getLoader(ext: string): import(".").Loader;
135
+ addLoader(Loader: LoaderConstructor): import(".").Loader;
129
136
  traverseMaterials(callback: (mat: Material) => void): void;
130
137
  traverseComponents(callback: (comp: Component) => void): void;
131
138
  mount<T extends Mount>(constructor: {
132
139
  new (...args: any[]): T;
133
140
  }, autoAdd?: boolean): T;
134
- tween(): TweenManager;
135
141
  task(task: Task): void;
136
142
  add<T extends Object3D | Component, K extends __C<T>>(object: T | K & __C<T>, props?: __P<T, K>): T;
137
143
  remove<T extends Object3D | Component>(ins: T): T;
@@ -13,7 +13,7 @@ export interface LoadProperties {
13
13
  onProgress?: (event: ProgressEvent) => void;
14
14
  onError?: (event: ErrorEvent) => void;
15
15
  }
16
- export declare abstract class aLoader {
16
+ export declare abstract class Loader {
17
17
  manager: ResourceManager;
18
18
  static _texKeys: string[];
19
19
  static _setUserData(node: Object3D): Object3D<import("three").Object3DEventMap>;
@@ -1,6 +1,6 @@
1
1
  import { LoadingManager } from "three";
2
2
  import { TextureSettings } from "../TextureSettings";
3
- import { aLoader } from "./aLoader";
3
+ import { Loader } from "./Loader";
4
4
  export interface AssetProperties extends TextureSettings {
5
5
  url?: string;
6
6
  ext?: string;
@@ -11,7 +11,7 @@ export interface AssetProperties extends TextureSettings {
11
11
  manager?: LoadingManager;
12
12
  onProgress?: (event: ProgressEvent) => void;
13
13
  }
14
- export type LoaderConstructor = new (manager: ResourceManager) => aLoader;
14
+ export type LoaderConstructor = new (manager: ResourceManager) => Loader;
15
15
  export declare class ResourceManager {
16
16
  static extension(path: string): string;
17
17
  static dirname(path: string): string;
@@ -22,7 +22,7 @@ export declare class ResourceManager {
22
22
  }): {};
23
23
  private _loaders;
24
24
  destroy(): void;
25
- getLoader(ext: string): aLoader;
26
- addLoader(Loader: LoaderConstructor): void;
25
+ getLoader(ext: string): Loader;
26
+ addLoader(Loader: LoaderConstructor): Loader;
27
27
  loadAsset<T = any>({ url, buffer, ext, path, resourcePath, dracoPath, manager, onProgress, ...props }: AssetProperties): Promise<T>;
28
28
  }
@@ -1,8 +1,8 @@
1
1
  export declare const CinestationBlendStyle: {
2
- Linear: import("../tween").EasingFunction;
3
- QuadraticIn: import("../tween").EasingFunction;
4
- QuadraticOut: import("../tween").EasingFunction;
5
- QuadraticInOut: import("../tween").EasingFunction;
2
+ Linear: import("../math/Easing").EasingFunction;
3
+ QuadraticIn: import("../math/Easing").EasingFunction;
4
+ QuadraticOut: import("../math/Easing").EasingFunction;
5
+ QuadraticInOut: import("../math/Easing").EasingFunction;
6
6
  };
7
7
  export type CinestationBlendStyle = typeof CinestationBlendStyle[keyof typeof CinestationBlendStyle];
8
8
  export declare class CinestationBlendDefinition {
@@ -9,6 +9,7 @@ export declare class FreelookVirtualCamera extends VirtualCamera {
9
9
  static __panTarget: Vector2;
10
10
  static __rotateDelta: Vector2;
11
11
  static __posDelta: Vector3;
12
+ static __lookAtOffset: Vector3;
12
13
  static __xAxis: Vector3;
13
14
  static __yAxis: Vector3;
14
15
  static __quat: Quaternion;
@@ -18,6 +19,7 @@ export declare class FreelookVirtualCamera extends VirtualCamera {
18
19
  private _preLoc1;
19
20
  private _spherical;
20
21
  private _lookAt;
22
+ private _offset;
21
23
  private _tempSmoothing;
22
24
  private _tempRotateSmoothing;
23
25
  private _targetTheta;
@@ -25,6 +27,7 @@ export declare class FreelookVirtualCamera extends VirtualCamera {
25
27
  private _targetSpringLength;
26
28
  private _targetFov;
27
29
  private _targetLookAt;
30
+ private _targetOffset;
28
31
  forbidX: boolean;
29
32
  forbidY: boolean;
30
33
  forbidZ: boolean;
@@ -43,6 +46,8 @@ export declare class FreelookVirtualCamera extends VirtualCamera {
43
46
  distanceMax: number;
44
47
  get lookAt(): Vector3;
45
48
  set lookAt(v: Vector3);
49
+ get offset(): Vector2;
50
+ set offset(v: Vector2);
46
51
  get springLength(): number;
47
52
  set springLength(v: number);
48
53
  get theta(): number;
@@ -63,18 +68,21 @@ export declare class FreelookVirtualCamera extends VirtualCamera {
63
68
  private _calculateDistanceScale;
64
69
  private _calculateRotatelDelta;
65
70
  private _calculatePanDelta;
71
+ private _calculateLookAtOffset;
66
72
  private _setTargetLookAt;
67
73
  private _setTargetRotation;
68
74
  private _setTargetSpringLength;
69
- goto({ springLength, theta, phi, lookAt, fov, smoothing, rotateSmoothing, }: {
75
+ goto({ springLength, theta, phi, lookAt, offset, fov, smoothing, rotateSmoothing, }: {
70
76
  duration?: number;
71
77
  springLength?: number;
72
78
  theta?: number;
73
79
  phi?: number;
74
80
  lookAt?: Vector3;
81
+ offset?: Vector2;
75
82
  fov?: number;
76
83
  smoothing?: number;
77
84
  rotateSmoothing?: number;
78
85
  }): void;
86
+ private _finalLookAt;
79
87
  update(dt: number): void;
80
88
  }
@@ -0,0 +1,68 @@
1
+ import * as THREE from "three";
2
+ import { Component } from "../Component";
3
+ import { __E } from "../types";
4
+ export type AccumulativeShadowsProps = {
5
+ /** How many frames it can render, more yields cleaner results but takes more time, 40 */
6
+ frames?: number;
7
+ /** If frames === Infinity blend controls the refresh ratio, 100 */
8
+ blend?: number;
9
+ /** Can limit the amount of frames rendered if frames === Infinity, usually to get some performance back once a movable scene has settled, Infinity */
10
+ limit?: number;
11
+ /** Scale of the plane, */
12
+ scale?: number;
13
+ /** Temporal accumulates shadows over time which is more performant but has a visual regression over instant results, false */
14
+ temporal?: boolean;
15
+ /** Opacity of the plane, 1 */
16
+ opacity?: number;
17
+ /** Discards alpha pixels, 0.65 */
18
+ alphaTest?: number;
19
+ /** Shadow color, black */
20
+ color?: string;
21
+ /** Colorblend, how much colors turn to black, 0 is black, 2 */
22
+ colorBlend?: number;
23
+ /** Buffer resolution, 1024 */
24
+ resolution?: number;
25
+ /** Texture tonemapping */
26
+ toneMapped?: boolean;
27
+ randomLights?: RandomizedLight[];
28
+ };
29
+ export declare class AccumulativeShadows extends Component {
30
+ temporal: boolean;
31
+ frames: number;
32
+ count: number;
33
+ limit: number;
34
+ blend: number;
35
+ constructor({ temporal, frames, limit, blend, scale, opacity, alphaTest, color, colorBlend, resolution, toneMapped, randomLights, ...props }?: AccumulativeShadowsProps);
36
+ reset?(): void;
37
+ }
38
+ export type RandomizedLightProps = __E & {
39
+ /** How many frames it will jiggle the lights, 1.
40
+ * Frames is context aware, if a provider like AccumulativeShadows exists, frames will be taken from there! */
41
+ frames?: number;
42
+ /** Light position, [0, 0, 0] */
43
+ position?: THREE.Vector3;
44
+ /** Radius of the jiggle, higher values make softer light, 5 */
45
+ radius?: number;
46
+ /** Amount of lights, 8 */
47
+ amount?: number;
48
+ /** Light intensity, 1 */
49
+ intensity?: number;
50
+ /** Ambient occlusion, lower values mean less AO, hight more, you can mix AO and directional light, 0.5 */
51
+ ambient?: number;
52
+ /** If the lights cast shadows, this is true by default */
53
+ castShadow?: boolean;
54
+ /** Default shadow bias, 0 */
55
+ bias?: number;
56
+ /** Default map size, 512 */
57
+ mapSize?: number;
58
+ /** Default size of the shadow camera, 10 */
59
+ size?: number;
60
+ /** Default shadow camera near, 0.5 */
61
+ near?: number;
62
+ /** Default shadow camera far, 500 */
63
+ far?: number;
64
+ };
65
+ export declare class RandomizedLight extends THREE.Group {
66
+ constructor({ castShadow, bias, mapSize, size, near, far, frames, position, radius, amount, intensity, ambient, ...props }?: RandomizedLightProps);
67
+ update?(): void;
68
+ }
@@ -0,0 +1,44 @@
1
+ import { Box3, Group, Object3D, Vector3, Sphere } from "three";
2
+ import { Component } from "../Component";
3
+ import { __E } from "../types";
4
+ export type OnCenterCallbackProps = {
5
+ /** The next parent above <Center> */
6
+ parent: Object3D;
7
+ /** The outmost container group of the <Center> component */
8
+ container: Object3D;
9
+ width: number;
10
+ height: number;
11
+ depth: number;
12
+ boundingBox: Box3;
13
+ boundingSphere: Sphere;
14
+ center: Vector3;
15
+ verticalAlignment: number;
16
+ horizontalAlignment: number;
17
+ depthAlignment: number;
18
+ };
19
+ export type CenterProps = __E & {
20
+ top?: boolean;
21
+ right?: boolean;
22
+ bottom?: boolean;
23
+ left?: boolean;
24
+ front?: boolean;
25
+ back?: boolean;
26
+ /** Disable all axes */
27
+ disable?: boolean;
28
+ /** Disable x-axis centering */
29
+ disableX?: boolean;
30
+ /** Disable y-axis centering */
31
+ disableY?: boolean;
32
+ /** Disable z-axis centering */
33
+ disableZ?: boolean;
34
+ /** See https://threejs.org/docs/index.html?q=box3#api/en/math/Box3.setFromObject */
35
+ precise?: boolean;
36
+ /** Callback, fires in the useLayoutEffect phase, after measurement */
37
+ onCentered?: (props: OnCenterCallbackProps) => void;
38
+ /** Optional cacheKey to keep the component from recalculating on every render */
39
+ cacheKey?: any;
40
+ children?: Object3D[];
41
+ };
42
+ export declare class Center extends Component<Group> {
43
+ constructor({ disable, disableX, disableY, disableZ, left, right, top, bottom, front, back, onCentered, precise, cacheKey, children, ...props }?: CenterProps);
44
+ }
@@ -0,0 +1,28 @@
1
+ import { Matrix4, Color, Euler, Vector3, WebGLRenderTarget } from "three";
2
+ import { Component } from "../Component";
3
+ export declare class ContactShadows extends Component {
4
+ layerMask: number;
5
+ get visible(): boolean;
6
+ set visible(v: boolean);
7
+ color: Color;
8
+ blur: number;
9
+ constructor({ scale, frames, width, height, intensity, blur, near, far, resolution, smooth, color, renderOrder, layerMask, ...props }?: {
10
+ scale?: number;
11
+ frames?: number;
12
+ width?: number;
13
+ height?: number;
14
+ intensity?: number;
15
+ blur?: number;
16
+ near?: number;
17
+ far?: number;
18
+ resolution?: number;
19
+ smooth?: boolean;
20
+ color?: Color;
21
+ renderOrder?: number;
22
+ position?: Vector3;
23
+ rotation?: Euler;
24
+ layerMask?: number;
25
+ });
26
+ getRenderTarget: () => WebGLRenderTarget;
27
+ getTextureMatrix: () => Matrix4;
28
+ }
@@ -1,2 +1,5 @@
1
1
  export { Reflector } from "./Reflector";
2
2
  export { Animation } from "./Animation";
3
+ export { ContactShadows } from "./ContactShadows";
4
+ export { AccumulativeShadows, RandomizedLight } from "../components/AccumulativeShadows";
5
+ export { Center } from "./Center";
@@ -0,0 +1 @@
1
+ export declare const version: number;
package/types/index.d.ts CHANGED
@@ -1,6 +1,5 @@
1
1
  export * from "./types";
2
2
  export * from "./base";
3
- export * from "./tween";
4
3
  export * from "./loaders";
5
4
  export * from "./cinestation";
6
5
  export * from "./primitive";
@@ -18,5 +17,5 @@ export { property, PropertyManager } from "./PropertyManager";
18
17
  export { dependencies, DependentMode } from "./ComponentManager";
19
18
  export { DeviceInput } from "./DeviceInput";
20
19
  export { Orientation } from "./enums/Orientation";
21
- export { aLoader, type LoadProperties } from "./asset/aLoader";
20
+ export { Loader, type LoadProperties } from "./asset/Loader";
22
21
  export { ResourceManager, type AssetProperties } from "./asset/ResourceManager";
@@ -0,0 +1,8 @@
1
+ import { Loader, LoadProperties } from "../asset/Loader";
2
+ export declare class BINLoader extends Loader {
3
+ extension: string[];
4
+ salt: number;
5
+ load({ url, buffer, path, resourcePath, dracoPath, manager, onLoad, onProgress, onError }: LoadProperties): void;
6
+ private _loader;
7
+ private _dracoLoader;
8
+ }
@@ -1,5 +1,5 @@
1
- import { LoadProperties, aLoader } from "../asset/aLoader";
2
- export declare class aEXRLoader extends aLoader {
1
+ import { LoadProperties, Loader } from "../asset/Loader";
2
+ export declare class EXRLoader extends Loader {
3
3
  extension: string[];
4
4
  load({ url, path, resourcePath, manager, texSettings, onLoad, onProgress, onError, }: LoadProperties): void;
5
5
  private _loader;
@@ -1,5 +1,5 @@
1
- import { LoadProperties, aLoader } from "../asset/aLoader";
2
- export declare class aFBXLoader extends aLoader {
1
+ import { LoadProperties, Loader } from "../asset/Loader";
2
+ export declare class FBXLoader extends Loader {
3
3
  extension: string[];
4
4
  load({ url, buffer, path, resourcePath, manager, onLoad, onProgress, onError }: LoadProperties): void;
5
5
  private _loader;
@@ -1,5 +1,5 @@
1
- import { LoadProperties, aLoader } from "../asset/aLoader";
2
- export declare class aGLTFLoader extends aLoader {
1
+ import { LoadProperties, Loader } from "../asset/Loader";
2
+ export declare class GLTFLoader extends Loader {
3
3
  extension: string[];
4
4
  load({ url, buffer, path, resourcePath, dracoPath, manager, onLoad, onProgress, onError }: LoadProperties): void;
5
5
  private _loader;
@@ -1,5 +1,5 @@
1
- import { LoadProperties, aLoader } from "../asset/aLoader";
2
- export declare class aHDRLoader extends aLoader {
1
+ import { LoadProperties, Loader } from "../asset/Loader";
2
+ export declare class HDRLoader extends Loader {
3
3
  extension: string[];
4
4
  load({ url, path, resourcePath, manager, texSettings, onLoad, onProgress, onError, }: LoadProperties): void;
5
5
  private _loader;
@@ -1,5 +1,5 @@
1
- import { LoadProperties, aLoader } from "../asset/aLoader";
2
- export declare class aJSONLoader extends aLoader {
1
+ import { LoadProperties, Loader } from "../asset/Loader";
2
+ export declare class JSONLoader extends Loader {
3
3
  extension: string[];
4
4
  load({ url, path, resourcePath, manager, onLoad, onProgress, onError }: LoadProperties): void;
5
5
  private _loader;
@@ -1,5 +1,5 @@
1
- import { LoadProperties, aLoader } from "../asset/aLoader";
2
- export declare class aTextureLoader extends aLoader {
1
+ import { LoadProperties, Loader } from "../asset/Loader";
2
+ export declare class TextureLoader extends Loader {
3
3
  extension: string[];
4
4
  load({ url, path, resourcePath, manager, texSettings, onLoad, onProgress, onError }: LoadProperties): void;
5
5
  private _loader;
@@ -1,6 +1,7 @@
1
- export { aEXRLoader } from "./aEXRLoader";
2
- export { aFBXLoader } from "./aFBXLoader";
3
- export { aGLTFLoader } from "./aGLTFLoader";
4
- export { aHDRLoader } from "./aHDRLoader";
5
- export { aJSONLoader } from "./aJSONLoader";
6
- export { aTextureLoader } from "./aTextureLoader";
1
+ export { EXRLoader } from "./EXRLoader";
2
+ export { FBXLoader } from "./FBXLoader";
3
+ export { GLTFLoader } from "./GLTFLoader";
4
+ export { HDRLoader } from "./HDRLoader";
5
+ export { JSONLoader } from "./JSONLoader";
6
+ export { TextureLoader } from "./TextureLoader";
7
+ export { BINLoader } from "./BINLoader";
@@ -0,0 +1,5 @@
1
+ import { ShaderMaterial } from "three";
2
+ export declare class DiscardMaterial extends ShaderMaterial {
3
+ vertexShader: string;
4
+ fragmentShader: string;
5
+ }
@@ -0,0 +1,17 @@
1
+ import { Color, IUniform, ShaderMaterial } from "three";
2
+ import { ContactShadows } from "../components";
3
+ export declare class ShadowMaterial extends ShaderMaterial {
4
+ vertexShader: string;
5
+ fragmentShader: string;
6
+ uniforms: {
7
+ [uniform: string]: IUniform<any>;
8
+ };
9
+ constructor({ shadows, ...props }: {
10
+ shadows: ContactShadows;
11
+ opacity?: number;
12
+ transparent?: boolean;
13
+ depthWrite?: boolean;
14
+ });
15
+ get color(): Color;
16
+ set color(v: Color);
17
+ }
@@ -1,3 +1,4 @@
1
1
  export * from "./glsl";
2
2
  export { getShaderMaterial } from "./getShaderMaterial";
3
3
  export { ReflectorMaterial } from "./ReflectorMaterial";
4
+ export { ShadowMaterial } from "./ShadowMaterial";
@@ -1,9 +1,10 @@
1
- import { Quaternion, Vector3 } from "three";
2
- export declare function VInterpTo(current: Vector3, target: Vector3, deltaTime: number, speed: number, out?: Vector3): Vector3;
1
+ import { Quaternion, Vector2, Vector3 } from "three";
2
+ export declare function VInterpTo(current: Vector2, target: Vector2, deltaTime: number, speed: number, out?: Vector2, epsilon?: number): Vector2;
3
+ export declare function VInterpTo(current: Vector3, target: Vector3, deltaTime: number, speed: number, out?: Vector3, epsilon?: number): Vector3;
3
4
  export declare function VInterpConstantTo(current: Vector3, target: Vector3, deltaTime: number, speed: number, out?: Vector3): Vector3;
4
5
  export declare function Quat_Equals(a: Quaternion, b: Quaternion, epsilon?: number): boolean;
5
6
  export declare function Quat_AngularDistance(a: Quaternion, b: Quaternion): number;
6
- export declare function QInterpTo(current: Quaternion, target: Quaternion, deltaTime: number, speed: number): Quaternion;
7
+ export declare function QInterpTo(current: Quaternion, target: Quaternion, deltaTime: number, speed: number, epsilon?: number): Quaternion;
7
8
  export declare function QInterpConstantTo(current: Quaternion, target: Quaternion, deltaTime: number, speed: number, out?: Quaternion): Quaternion;
8
- export declare function FInterpTo(current: number, target: number, deltaTime: number, speed: number): number;
9
- export declare function FInterpConstantTo(current: number, target: number, deltaTime: number, speed: number): number;
9
+ export declare function FInterpTo(current: number, target: number, deltaTime: number, speed: number, epsilon?: number): number;
10
+ export declare function FInterpConstantTo(current: number, target: number, deltaTime: number, speed: number, epsilon?: number): number;
@@ -3,3 +3,4 @@ export * from "./Constant";
3
3
  export * from "./Interpolation";
4
4
  export { AnimationCurve } from "./AnimationCurve";
5
5
  export { Perlin } from "./Perlin";
6
+ export { Easing } from "./Easing";
@@ -3,10 +3,12 @@ export declare class DropFile extends Mount {
3
3
  private _onLoad;
4
4
  private _onError;
5
5
  private _extensions;
6
- constructor({ onLoad, onError, extension, }?: {
6
+ private _raw;
7
+ constructor({ onLoad, onError, extension, raw, }?: {
7
8
  onLoad?: Function;
8
9
  onError?: Function;
9
10
  extension?: string | string[];
11
+ raw?: boolean;
10
12
  });
11
13
  onEnable(): void;
12
14
  onDisable(): void;
@@ -0,0 +1,30 @@
1
+ import { Vector2 } from "three";
2
+ import { Mount } from "../Mount";
3
+ export declare class UI extends Mount {
4
+ static __loc0: Vector2;
5
+ static __loc1: Vector2;
6
+ static __panOffset: Vector2;
7
+ private _camera;
8
+ private _zoom;
9
+ private _targetZoom;
10
+ private _targetPosition;
11
+ private _button;
12
+ private _touchID;
13
+ private _preLoc0;
14
+ private _preLoc1;
15
+ get layerMask(): number;
16
+ set layerMask(v: number);
17
+ onLoad(): void;
18
+ onDestroy(): void;
19
+ private _onPointerDown;
20
+ private _onPointerUp;
21
+ private _onPointerMove;
22
+ private _onMouseWheel;
23
+ private _onTouchStart;
24
+ private _onTouchMove;
25
+ private _setTargetPosition;
26
+ private _calculatePanDelta;
27
+ update(dt: number): void;
28
+ resize(width: number, height: number): void;
29
+ render(dt: number): void;
30
+ }
@@ -1,3 +1,4 @@
1
+ export { UI } from "./UI";
1
2
  export { Environment } from "./Environment";
2
3
  export { BoxProjection } from "./BoxProjection";
3
4
  export { PerformanceMonitor } from "./PerformanceMonitor";
@@ -0,0 +1,8 @@
1
+ import * as THREE from "three";
2
+ import { ConstructorRepresentation } from "./types";
3
+ type UniformValue = THREE.Texture | THREE.TypedArray | THREE.Matrix4 | THREE.Matrix3 | THREE.Quaternion | THREE.Vector4 | THREE.Vector3 | THREE.Vector2 | THREE.Color | number | boolean | null;
4
+ type Uniforms = Record<string, UniformValue | Record<string, UniformValue> | Array<UniformValue>>;
5
+ export declare function shaderMaterial<U extends Uniforms, M extends THREE.ShaderMaterial & U>(uniforms: U, vertexShader: string, fragmentShader: string): ConstructorRepresentation<M> & {
6
+ key: string;
7
+ };
8
+ export {};