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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xviewer.js/core",
3
- "version": "1.0.4",
3
+ "version": "1.0.5-alhpa.1",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "sideEffects": false,
@@ -6,6 +6,7 @@ export declare class TaskManager {
6
6
  private _tasks;
7
7
  private _taskIndex;
8
8
  private _onStartCalled;
9
+ get isComplete(): boolean;
9
10
  onStart?: () => void;
10
11
  constructor(onComplete?: () => void, onProgress?: (task: Task, loaded: number, total: number) => void, onError?: (task: Task) => void);
11
12
  destroy(): void;
package/types/Viewer.d.ts CHANGED
@@ -46,6 +46,7 @@ export declare class Viewer extends EventEmitter {
46
46
  private _resourceManager;
47
47
  private _componentManager;
48
48
  private _loadingManager;
49
+ private _decodeURL;
49
50
  get root(): HTMLElement;
50
51
  get time(): number;
51
52
  get canvas(): HTMLCanvasElement;
@@ -69,7 +70,7 @@ export declare class Viewer extends EventEmitter {
69
70
  get scene(): Scene;
70
71
  get camera(): Camera;
71
72
  get renderer(): WebGLRenderer;
72
- constructor({ root, canvas, input, shadows, sortObjects, resize, orthographic, camera, targetFrameRate, fixedFrameTime, colorSpace, toneMapping, toneMappingExposure, maxDPR, path, resourcePath, dracoPath, transcoderPath, orientation, loader, tasker, ...webglOpts }?: {
73
+ constructor({ root, canvas, input, shadows, sortObjects, resize, orthographic, camera, targetFrameRate, fixedFrameTime, colorSpace, toneMapping, toneMappingExposure, maxDPR, path, resourcePath, dracoPath, transcoderPath, orientation, decodeURL, loader, tasker, ...webglOpts }?: {
73
74
  /** 根节点,用于屏幕旋转 */
74
75
  root?: HTMLElement;
75
76
  /** 渲染用的 canvas 元素,如果不提供,默认获取 id 为 "canvas" 的元素 */
@@ -108,6 +109,7 @@ export declare class Viewer extends EventEmitter {
108
109
  orthographic?: boolean;
109
110
  /** A `THREE.Camera` instance or props that go into the default camera */
110
111
  camera?: (Camera | __Properties<PerspectiveCamera & OrthographicCamera>);
112
+ decodeURL?: (url: string) => string;
111
113
  /** 加载管理器 */
112
114
  loader?: {
113
115
  onComplete?: () => void;
@@ -130,7 +132,8 @@ export declare class Viewer extends EventEmitter {
130
132
  rotate(): void;
131
133
  resize(width?: number, height?: number): void;
132
134
  setURLModifier(callback?: (url: string) => string): LoadingManager;
133
- loadAsset(props: AssetProperties): Promise<any>;
135
+ loadAsset<URL extends string, Asset = any>({ url, ...props }: AssetProperties<URL>): Promise<Asset>;
136
+ getAsset<URL extends string, Asset = any>(url: URL): Asset;
134
137
  getLoader(ext: string): import(".").Loader;
135
138
  addLoader(Loader: LoaderConstructor): import(".").Loader;
136
139
  getComponent<T extends Component>(constructor: {
@@ -3,8 +3,8 @@ import { TextureSettings } from "../TextureSettings";
3
3
  import { Loader } from "./Loader";
4
4
  import type { Viewer } from "../Viewer";
5
5
  export type LoaderConstructor = new (viewer: Viewer) => Loader;
6
- export interface AssetProperties extends TextureSettings {
7
- url?: string;
6
+ export interface AssetProperties<URL extends string = string> extends TextureSettings {
7
+ url?: URL;
8
8
  ext?: string;
9
9
  buffer?: string | ArrayBuffer;
10
10
  path?: string;
@@ -24,9 +24,14 @@ export declare class ResourceManager {
24
24
  }): {};
25
25
  private _viewer;
26
26
  private _loaders;
27
+ private _resources;
28
+ private _loaded;
29
+ private _totalCount;
27
30
  constructor(viewer: Viewer);
31
+ get isComplete(): boolean;
28
32
  destroy(): void;
29
33
  getLoader(ext: string): Loader;
30
34
  addLoader(Loader: LoaderConstructor): Loader;
31
- loadAsset<T = any>({ url, ext, onProgress, ...props }: AssetProperties): Promise<T>;
35
+ loadAsset<Asset = unknown>({ url, ext, onProgress, ...props }: AssetProperties): Promise<Asset>;
36
+ getAsset<Asset = unknown>(url: string): Asset;
32
37
  }