@xviewer.js/core 1.0.5-alhpa.1 → 1.0.5-alhpa.3

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xviewer.js/core",
3
- "version": "1.0.5-alhpa.1",
3
+ "version": "1.0.5-alhpa.3",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "sideEffects": false,
@@ -13,7 +13,7 @@
13
13
  "types/**/*"
14
14
  ],
15
15
  "peerDependencies": {
16
- "three": ">= 0.179.0"
16
+ "three": ">= 0.181.0"
17
17
  },
18
18
  "scripts": {
19
19
  "b:types": "tsc"
@@ -1,5 +1,5 @@
1
1
  import { Vector2 } from "three";
2
- import { ConnTarget } from "./Pressability";
2
+ import { ConnTarget, Pressability } from "./Pressability";
3
3
  import { Component } from "./Component";
4
4
  export interface InputTarget {
5
5
  on?(event: string, cb: (...args: any[]) => void, target: Object, once?: boolean): any;
@@ -40,6 +40,8 @@ export declare class DeviceInput extends Component {
40
40
  private _pointer;
41
41
  private _pointerPixel;
42
42
  private _pointerButton;
43
+ private _pointerDown;
44
+ private _pointerMoving;
43
45
  private _prePointer;
44
46
  private _prePointerPixel;
45
47
  private _preTouches;
@@ -48,7 +50,9 @@ export declare class DeviceInput extends Component {
48
50
  private _pressability;
49
51
  get pointer(): Vector2;
50
52
  get pointerPixel(): Vector2;
53
+ get pointerDown(): boolean;
51
54
  get pointerButton(): number;
55
+ get pointerMoving(): boolean;
52
56
  get prePointer(): Vector2;
53
57
  get prePointerPixel(): Vector2;
54
58
  get preTouches(): {
@@ -66,6 +70,7 @@ export declare class DeviceInput extends Component {
66
70
  get keys(): {
67
71
  [k: string]: boolean;
68
72
  };
73
+ get pressability(): Pressability;
69
74
  constructor(option: InputOption);
70
75
  onEnable(): void;
71
76
  onDisable(): void;
package/types/Viewer.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { BufferGeometry, Camera, Color, ColorRepresentation, ColorSpace, DataTexture, LoadingManager, Material, Mesh, Object3D, OrthographicCamera, PerspectiveCamera, Scene, ShaderMaterial, ShadowMapType, Texture, TextureDataType, ToneMapping, Vector3, WebGLCubeRenderTarget, WebGLRenderer, WebGLRendererParameters, WebGLRenderTarget } from "three";
1
+ import { BufferGeometry, Camera, Color, ColorRepresentation, ColorSpace, DataTexture, LoadingManager, Material, Mesh, Object3D, OrthographicCamera, PerspectiveCamera, Scene, ShaderMaterial, ShadowMapType, Texture, TextureDataType, ToneMapping, TypedArray, Vector3, WebGLCubeRenderTarget, WebGLRenderer, WebGLRendererParameters, WebGLRenderTarget } from "three";
2
2
  import { EventEmitter } from "./base";
3
3
  import { ComponentManager } from "./ComponentManager";
4
4
  import { DeviceInput, InputOption } from "./DeviceInput";
@@ -31,8 +31,6 @@ export declare class Viewer extends EventEmitter {
31
31
  private _camera;
32
32
  private _renderer;
33
33
  private _active;
34
- private _loading;
35
- private _tasking;
36
34
  private _running;
37
35
  private _rootRotated;
38
36
  private _time;
@@ -42,6 +40,7 @@ export declare class Viewer extends EventEmitter {
42
40
  private _fixedFrameTime;
43
41
  private _windowSize;
44
42
  private _orientation;
43
+ private _freeze;
45
44
  private _taskManager;
46
45
  private _resourceManager;
47
46
  private _componentManager;
@@ -67,9 +66,11 @@ export declare class Viewer extends EventEmitter {
67
66
  set targetFrameRate(v: number);
68
67
  get instanceId(): number;
69
68
  get componentManager(): ComponentManager;
70
- get scene(): Scene;
69
+ get scene(): Scene<import("three").Object3DEventMap>;
71
70
  get camera(): Camera;
72
71
  get renderer(): WebGLRenderer;
72
+ get freeze(): boolean;
73
+ set freeze(v: boolean);
73
74
  constructor({ root, canvas, input, shadows, sortObjects, resize, orthographic, camera, targetFrameRate, fixedFrameTime, colorSpace, toneMapping, toneMappingExposure, maxDPR, path, resourcePath, dracoPath, transcoderPath, orientation, decodeURL, loader, tasker, ...webglOpts }?: {
74
75
  /** 根节点,用于屏幕旋转 */
75
76
  root?: HTMLElement;
@@ -125,8 +126,7 @@ export declare class Viewer extends EventEmitter {
125
126
  } & WebGLRendererParameters);
126
127
  destroy(): void;
127
128
  context(context?: Context): Context;
128
- private _frame;
129
- loop(dt: number): void;
129
+ animate(): void;
130
130
  start(): this;
131
131
  stop(): this;
132
132
  rotate(): void;
@@ -143,9 +143,9 @@ export declare class Viewer extends EventEmitter {
143
143
  task<T extends Material[]>(target?: Material[]): T;
144
144
  add<T extends Object3D | Component, K extends __C<T>>(object: T | K & __C<T>, props?: __P<T, K>): T;
145
145
  remove<T extends Object3D | Component>(ins: T): T;
146
- createRenderTarget(width: number, height: number, nearest?: boolean, floatType?: boolean | TextureDataType, msaa?: number, mipmap?: boolean, depth?: boolean): WebGLRenderTarget<Texture>;
146
+ createRenderTarget(width: number, height: number, nearest?: boolean, floatType?: boolean | TextureDataType, msaa?: number, mipmap?: boolean, depth?: boolean): WebGLRenderTarget<Texture<unknown>>;
147
147
  createCubeRenderTarget(size: number, nearest?: boolean, floatType?: boolean | TextureDataType, msaa?: number, mipmap?: boolean, depth?: boolean): WebGLCubeRenderTarget;
148
- createDataTexture(data: ArrayBufferView, width: number, height: number, floatType?: boolean, nearest?: boolean): DataTexture;
148
+ createDataTexture(data: TypedArray, width: number, height: number, floatType?: boolean, nearest?: boolean): DataTexture;
149
149
  blit(renderTarget: WebGLRenderTarget, material: Material, lod?: number, face?: number): void;
150
150
  copy(src: WebGLRenderTarget | Texture, dest: WebGLRenderTarget): void;
151
151
  clearColor(renderTarget: WebGLRenderTarget, color: ColorRepresentation, alpha?: number): void;
@@ -19,7 +19,7 @@ export declare class Environment extends Component {
19
19
  reflectBlurIntensity: number;
20
20
  interval: number;
21
21
  manual: boolean;
22
- get envMap(): Texture;
22
+ get envMap(): Texture<unknown>;
23
23
  constructor({ envMap, scene, near, far, layerMask, resolution, floatType, position, }?: {
24
24
  envMap?: Texture;
25
25
  scene?: Scene | Object3D;
@@ -20,6 +20,7 @@ export declare class FreelookVirtualCamera extends Component<Object3D & {
20
20
  private _preLoc1;
21
21
  private _spherical;
22
22
  private _lookAt;
23
+ private _up;
23
24
  private _offset;
24
25
  private _fov;
25
26
  private _near;
@@ -29,14 +30,17 @@ export declare class FreelookVirtualCamera extends Component<Object3D & {
29
30
  private _targetPosition;
30
31
  private _targetTheta;
31
32
  private _targetPhi;
32
- private _targetSpringLength;
33
+ private _targetRadius;
33
34
  private _targetFov;
34
35
  private _targetNear;
35
36
  private _targetFar;
36
37
  private _targetLookAt;
37
38
  private _targetOffset;
39
+ private _targetUp;
38
40
  private _finalLookAt;
39
41
  name: string;
42
+ sync: boolean;
43
+ forbitAll: boolean;
40
44
  forbidX: boolean;
41
45
  forbidY: boolean;
42
46
  forbidZ: boolean;
@@ -51,14 +55,16 @@ export declare class FreelookVirtualCamera extends Component<Object3D & {
51
55
  phiMax: number;
52
56
  thetaMin: number;
53
57
  thetaMax: number;
54
- distanceMin: number;
55
- distanceMax: number;
58
+ radiusMin: number;
59
+ radiusMax: number;
60
+ get up(): Vector3;
61
+ set up(v: Vector3);
56
62
  get lookAt(): Vector3;
57
63
  set lookAt(v: Vector3);
58
64
  get offset(): Vector2;
59
65
  set offset(v: Vector2);
60
- get springLength(): number;
61
- set springLength(v: number);
66
+ get radius(): number;
67
+ set radius(v: number);
62
68
  get theta(): number;
63
69
  set theta(v: number);
64
70
  get phi(): number;
@@ -80,11 +86,12 @@ export declare class FreelookVirtualCamera extends Component<Object3D & {
80
86
  onEnable(): void;
81
87
  onDisable(): void;
82
88
  reset(): void;
83
- goto({ phi, theta, springLength, offset, lookAt, fov, near, far, smoothing, rotateSmoothing, }: {
89
+ goto({ phi, theta, radius, offset, lookAt, up, fov, near, far, smoothing, rotateSmoothing, }: {
84
90
  phi?: number;
85
91
  theta?: number;
86
- springLength?: number;
92
+ radius?: number;
87
93
  lookAt?: Vector3;
94
+ up?: Vector3;
88
95
  offset?: Vector2;
89
96
  fov?: number;
90
97
  near?: number;
@@ -1,8 +1,12 @@
1
- import { Matrix4, Vector3, WebGLRenderTarget, Object3D } from "three";
1
+ import { Matrix4, Vector3, Object3D } from "three";
2
2
  import { Component } from "../Component";
3
3
  export declare class Reflector extends Component {
4
4
  node: Object3D;
5
5
  layerMask: number;
6
+ private _renderTarget;
7
+ private _textureMatrix;
8
+ get texture(): import("three").Texture<unknown>;
9
+ get textureMatrix(): Matrix4;
6
10
  constructor({ resolution, clipBias, multisample, layerMask, normal, mipmap, }?: {
7
11
  resolution?: number;
8
12
  clipBias?: number;
@@ -11,6 +15,5 @@ export declare class Reflector extends Component {
11
15
  layerMask?: number;
12
16
  mipmap?: boolean;
13
17
  });
14
- getTextureMatrix: () => Matrix4;
15
- getRenderTarget: () => WebGLRenderTarget;
18
+ onDestroy(): void;
16
19
  }
@@ -2,6 +2,6 @@ import { RenderTargetOptions } from "three";
2
2
  import { Component } from "../Component";
3
3
  export declare class RenderTexture extends Component {
4
4
  private _fbo;
5
- get texture(): import("three").Texture;
5
+ get texture(): import("three").Texture<unknown>;
6
6
  constructor(width?: number, height?: number, options?: RenderTargetOptions);
7
7
  }
package/types/index.d.ts CHANGED
@@ -14,7 +14,7 @@ export { Component } from "./Component";
14
14
  export { SystemInfo } from "./SystemInfo";
15
15
  export { ObjectInstance } from "./ObjectInstance";
16
16
  export { property, PropertyManager } from "./PropertyManager";
17
- export { dependencies, DependentMode } from "./ComponentManager";
17
+ export { dependencies, DependentMode, single } from "./ComponentManager";
18
18
  export { DeviceInput } from "./DeviceInput";
19
19
  export { Loader, type LoadProperties } from "./asset/Loader";
20
20
  export { ResourceManager, type AssetProperties } from "./asset/ResourceManager";
@@ -1,4 +1,12 @@
1
1
  import { LoadProperties, Loader } from "../asset/Loader";
2
+ import { GLTF } from "three/examples/jsm/loaders/GLTFLoader.js";
3
+ import { BufferGeometry, Material, Mesh } from "three";
4
+ export interface GLTFAsset<V = Mesh<BufferGeometry, Material>, M = Material> extends GLTF {
5
+ mesh: V;
6
+ material: M;
7
+ meshes: Map<string, V>;
8
+ materials: Map<string, M>;
9
+ }
2
10
  export declare class GLTFLoader extends Loader {
3
11
  extension: string[];
4
12
  load({ url, buffer, path, resourcePath, dracoPath, manager, onLoad, onProgress, onError }: LoadProperties): void;
@@ -1,6 +1,6 @@
1
1
  export { EXRLoader } from "./EXRLoader";
2
2
  export { FBXLoader } from "./FBXLoader";
3
- export { GLTFLoader } from "./GLTFLoader";
3
+ export { GLTFLoader, type GLTFAsset } from "./GLTFLoader";
4
4
  export { HDRLoader } from "./HDRLoader";
5
5
  export { JSONLoader } from "./JSONLoader";
6
6
  export { TextureLoader } from "./TextureLoader";
@@ -24,6 +24,7 @@ export declare class ReflectorMaterial extends ShaderMaterial {
24
24
  normalMap?: Texture;
25
25
  normalScaleBias?: Vector4;
26
26
  roughnessScaleBias?: Vector4;
27
+ aoMap?: Texture;
27
28
  });
28
29
  onBeforeCompile(shader: WebGLProgramParametersWithUniforms): void;
29
30
  get color(): Color;
@@ -44,6 +45,8 @@ export declare class ReflectorMaterial extends ShaderMaterial {
44
45
  set normalScaleBias(v: Vector4);
45
46
  get aoMap(): Texture;
46
47
  set aoMap(v: Texture);
48
+ get aoMapIntensity(): Texture;
49
+ set aoMapIntensity(v: Texture);
47
50
  get lightMap(): Texture;
48
51
  set lightMap(v: Texture);
49
52
  get lightMapIntensity(): number;
@@ -9,8 +9,8 @@ export declare class MergeMipBlurPass {
9
9
  private _blurIntensity;
10
10
  private _envMapTarget;
11
11
  private _reflectMap;
12
- get envMapTarget(): WebGLRenderTarget<Texture>;
13
- get envMap(): Texture;
12
+ get envMapTarget(): WebGLRenderTarget<Texture<unknown>>;
13
+ get envMap(): Texture<unknown>;
14
14
  constructor({ viewer, reflectMap, }: {
15
15
  viewer: Viewer;
16
16
  reflectMap: CubeTexture;
@@ -6,7 +6,7 @@ export declare class MergeRefectPass {
6
6
  private _reflectMap;
7
7
  private _envMapTarget;
8
8
  private _sourceTarget;
9
- get envMap(): Texture;
9
+ get envMap(): Texture<unknown>;
10
10
  constructor({ envMap, reflectMap, viewer, }: {
11
11
  envMap?: Texture;
12
12
  reflectMap: CubeTexture;