gl-draw 0.14.35 → 0.14.36

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 (64) hide show
  1. package/dist/core/BaseObject.d.ts +19 -19
  2. package/dist/core/CSSRenderer/index.d.ts +2 -2
  3. package/dist/core/Camera.d.ts +10 -10
  4. package/dist/core/Composer.d.ts +9 -9
  5. package/dist/core/Controls.d.ts +2 -2
  6. package/dist/core/Helper.d.ts +3 -3
  7. package/dist/core/Lead/Lead.d.ts +5 -5
  8. package/dist/core/Lead/index.d.ts +2 -2
  9. package/dist/core/Loader/GzipJSONLoader.d.ts +4 -4
  10. package/dist/core/Loader/Loader.d.ts +22 -22
  11. package/dist/core/Loader/TextureLoader.d.ts +4 -4
  12. package/dist/core/Loader/index.d.ts +2 -2
  13. package/dist/core/Pencil.d.ts +11 -11
  14. package/dist/core/Renderer.d.ts +3 -3
  15. package/dist/core/ResourceTracker.d.ts +4 -4
  16. package/dist/core/Scene.d.ts +5 -5
  17. package/dist/core/TransformControls/index.d.ts +5 -5
  18. package/dist/core/WebGPURenderer.d.ts +2 -2
  19. package/dist/effect/index.js +3 -3
  20. package/dist/effect/index.module.js +41 -41
  21. package/dist/effect/scan.d.ts +3 -3
  22. package/dist/effect/scan2.d.ts +3 -3
  23. package/dist/index.js +3 -3
  24. package/dist/index.module.js +526 -557
  25. package/dist/index.module2.js +251 -255
  26. package/dist/index2.js +5 -5
  27. package/dist/objects/conicPolygon/index.d.ts +3 -3
  28. package/dist/objects/extrudePolygon/ExtrudeGeometry.d.ts +23 -3
  29. package/dist/objects/extrudePolygon/ExtrudeGeometry2.d.ts +2 -2
  30. package/dist/objects/extrudePolygon/createGeometry.d.ts +22 -22
  31. package/dist/objects/extrudePolygon/getSplitTexture.d.ts +2 -2
  32. package/dist/objects/extrudePolygon/index.d.ts +9 -9
  33. package/dist/objects/index.d.ts +1 -1
  34. package/dist/objects/index.js +1 -1
  35. package/dist/objects/index.module.js +539 -565
  36. package/dist/objects/light/index.d.ts +6 -6
  37. package/dist/objects/line/index.d.ts +4 -4
  38. package/dist/objects/line/meshLine/MeshLineGeometry.d.ts +15 -15
  39. package/dist/objects/line/meshLine/MeshLineMaterial.d.ts +14 -14
  40. package/dist/objects/line/meshLine/index.d.ts +0 -1
  41. package/dist/objects/line2/createGeometry.d.ts +3 -3
  42. package/dist/objects/line2/index.d.ts +5 -5
  43. package/dist/objects/node/index.d.ts +3 -3
  44. package/dist/objects/pie/index.d.ts +67 -4
  45. package/dist/objects/scene/index.d.ts +2 -2
  46. package/dist/parseVector.js +1 -1
  47. package/dist/parseVector.module.js +10 -10
  48. package/dist/plugins/Worker/createGeometry.d.ts +2 -2
  49. package/dist/plugins/Worker/getAttributes/coords2Vector.d.ts +2 -2
  50. package/dist/plugins/Worker/getAttributes/extrudePolygon.d.ts +1 -2
  51. package/dist/plugins/Worker/getAttributes/line2.d.ts +1 -2
  52. package/dist/plugins/Worker/getAttributes/splitPolygonsByLongitudeDifference.d.ts +2 -2
  53. package/dist/plugins/Worker/index.d.ts +8 -8
  54. package/dist/plugins/index.js +1 -1
  55. package/dist/plugins/index.module.js +91 -91
  56. package/dist/utils/Sprite2Points.d.ts +2 -2
  57. package/dist/utils/colorCorrection.d.ts +4 -4
  58. package/dist/utils/parseVector.d.ts +3 -3
  59. package/dist/utils/uvGenerator.d.ts +4 -4
  60. package/dist/uvGenerator.js +1 -1
  61. package/dist/uvGenerator.module.js +46 -67
  62. package/package.json +1 -1
  63. package/dist/objects/fix.d.ts +0 -5
  64. package/dist/objects/line/meshLine/raycast.d.ts +0 -3
@@ -1,4 +1,4 @@
1
- import * as THREE from 'three';
1
+ import { Object3D, Mesh, Points, Vector3, SpriteMaterial, Material } from 'three';
2
2
  import type Pencil from "./Pencil";
3
3
  import type Lead from "./Lead/Lead";
4
4
  import type { PickFunctionsItem } from "./Lead/Pick";
@@ -11,18 +11,18 @@ export default class BaseObject extends ResourceTracker {
11
11
  key: string;
12
12
  pencil: Pencil;
13
13
  lead: Lead;
14
- object3d: THREE.Object3D;
14
+ object3d: Object3D;
15
15
  userData: Record<string, any>;
16
16
  prefab: boolean;
17
17
  isInstantiate: boolean;
18
18
  isBloom: boolean;
19
19
  get parent(): IBaseObject | null;
20
20
  get children(): IBaseObject[];
21
- get position(): THREE.Vector3;
22
- get rotation(): THREE.Euler;
23
- get scale(): THREE.Vector3;
24
- get add(): (...object: THREE.Object3D[]) => THREE.Object3D<THREE.Object3DEventMap>;
25
- get remove(): (...object: THREE.Object3D[]) => THREE.Object3D<THREE.Object3DEventMap>;
21
+ get position(): Vector3;
22
+ get rotation(): import("three").Euler;
23
+ get scale(): Vector3;
24
+ get add(): (...object: Object3D[]) => Object3D<import("three").Object3DEventMap>;
25
+ get remove(): (...object: Object3D[]) => Object3D<import("three").Object3DEventMap>;
26
26
  get visible(): boolean;
27
27
  get visibleWithAncestors(): boolean;
28
28
  create(): void;
@@ -31,25 +31,25 @@ export default class BaseObject extends ResourceTracker {
31
31
  resize(width: number, height: number): void;
32
32
  show(): this;
33
33
  hide(): this;
34
- createMesh(...args: ConstructorParameters<typeof THREE.Mesh>): this;
34
+ createMesh(...args: ConstructorParameters<typeof Mesh>): this;
35
35
  createGroup(): this;
36
- createPoints(...args: ConstructorParameters<typeof THREE.Points>): this;
36
+ createPoints(...args: ConstructorParameters<typeof Points>): this;
37
37
  createCSS2DObject(dom: HTMLElement): this;
38
38
  createCSS3DObject(dom: HTMLElement): this;
39
39
  createCSS3DSprite(dom: HTMLElement): this;
40
- createSprite(material: THREE.SpriteMaterial): this;
40
+ createSprite(material: SpriteMaterial): this;
41
41
  attach(...args: IBaseObject[]): this;
42
42
  getSize(): {
43
- min: THREE.Vector3;
44
- max: THREE.Vector3;
45
- size: THREE.Vector3;
46
- center: THREE.Vector3;
43
+ min: Vector3;
44
+ max: Vector3;
45
+ size: Vector3;
46
+ center: Vector3;
47
47
  };
48
48
  traverse(fn: (o: IBaseObject) => void): void;
49
49
  clone(): Promise<this>;
50
50
  instantiate(meta?: {
51
- position: THREE.Vector3 | number[] | [number, number, number];
52
- scale?: THREE.Vector3 | number[] | [number, number, number];
51
+ position: Vector3 | number[] | [number, number, number];
52
+ scale?: Vector3 | number[] | [number, number, number];
53
53
  }[], ops?: {
54
54
  key?: string;
55
55
  target?: IBaseObject;
@@ -58,9 +58,9 @@ export default class BaseObject extends ResourceTracker {
58
58
  }): Promise<this>;
59
59
  private setInstancedMatrix;
60
60
  erase(): void;
61
- cloneMaterial(): THREE.Material | THREE.Material[] | undefined;
62
- materialList: Record<string, THREE.Material | THREE.Material[]>;
63
- setMaterialList(name: string, material: THREE.Material | THREE.Material[] | 'clone', cover?: boolean): THREE.Material | THREE.Material[] | undefined;
61
+ cloneMaterial(): Material | Material[] | undefined;
62
+ materialList: Record<string, Material | Material[]>;
63
+ setMaterialList(name: string, material: Material | Material[] | 'clone', cover?: boolean): Material | Material[] | undefined;
64
64
  useMaterialType: string;
65
65
  useMaterial(name: string): void;
66
66
  setTop(onTop: number): void;
@@ -1,4 +1,4 @@
1
- import * as THREE from 'three';
1
+ import { Scene, PerspectiveCamera } from 'three';
2
2
  import { CSS3DRenderer } from 'three@latest/examples/jsm/renderers/CSS3DRenderer';
3
3
  import { CSS2DRenderer } from 'three@latest/examples/jsm/renderers/CSS2DRenderer';
4
4
  export interface CSSRendererParams {
@@ -15,6 +15,6 @@ export default class {
15
15
  constructor(container: HTMLElement);
16
16
  addRenderer(type: 'css2d' | 'css3d', cssRendererParams: CSSRendererParams): void;
17
17
  setSize(width: number, height: number): void;
18
- render(scene: THREE.Scene, camera: THREE.PerspectiveCamera): void;
18
+ render(scene: Scene, camera: PerspectiveCamera): void;
19
19
  dispose(): void;
20
20
  }
@@ -1,23 +1,23 @@
1
- import * as THREE from 'three';
1
+ import { PerspectiveCamera, Vector3 } from 'three';
2
2
  import Pages from "./Pages";
3
3
  export interface CameraParams {
4
4
  fov: number;
5
5
  near: number;
6
6
  far: number;
7
- up: THREE.Vector3;
7
+ up: Vector3;
8
8
  }
9
9
  export declare const defaultCameraParams: {
10
10
  fov: number;
11
11
  near: number;
12
12
  far: number;
13
- up: THREE.Vector3;
13
+ up: Vector3;
14
14
  };
15
15
  interface Options {
16
16
  width: number;
17
17
  height: number;
18
18
  }
19
- export default class extends Pages<THREE.PerspectiveCamera> {
20
- get camera(): THREE.PerspectiveCamera;
19
+ export default class extends Pages<PerspectiveCamera> {
20
+ get camera(): PerspectiveCamera;
21
21
  width: number;
22
22
  height: number;
23
23
  constructor(options: Options);
@@ -26,13 +26,13 @@ export default class extends Pages<THREE.PerspectiveCamera> {
26
26
  aspect?: number;
27
27
  near: number;
28
28
  far: number;
29
- up: THREE.Vector3;
30
- }, index?: number): THREE.PerspectiveCamera;
29
+ up: Vector3;
30
+ }, index?: number): PerspectiveCamera;
31
31
  setPageActive(index: number): void;
32
32
  setSize(width: number, height: number): void;
33
- setAspect(aspect: number, c?: THREE.PerspectiveCamera): void;
34
- cloneCamera(index?: number): THREE.PerspectiveCamera;
35
- sync(camera: THREE.PerspectiveCamera | {
33
+ setAspect(aspect: number, c?: PerspectiveCamera): void;
34
+ cloneCamera(index?: number): PerspectiveCamera;
35
+ sync(camera: PerspectiveCamera | {
36
36
  fov: number;
37
37
  viewMatrix: any;
38
38
  inverseViewMatrix: any;
@@ -1,4 +1,4 @@
1
- import * as THREE from 'three';
1
+ import { WebGLRenderer, Scene, Camera, Vector2, Layers, Material } from 'three';
2
2
  import CameraController from './Camera';
3
3
  import SceneController from './Scene';
4
4
  import RendererController from './Renderer';
@@ -46,9 +46,9 @@ interface Options {
46
46
  composerParams: ComposerParams;
47
47
  }
48
48
  export default class {
49
- renderer: THREE.WebGLRenderer;
50
- scene: THREE.Scene;
51
- camera: THREE.Camera;
49
+ renderer: WebGLRenderer;
50
+ scene: Scene;
51
+ camera: Camera;
52
52
  finalComposer: EffectComposer;
53
53
  bloomComposer?: EffectComposer;
54
54
  bloomComposerActive: boolean;
@@ -60,15 +60,15 @@ export default class {
60
60
  options: Options;
61
61
  active: boolean;
62
62
  constructor(options: Options);
63
- changeCamera(camera: THREE.Camera): void;
64
- changeScene(scene: THREE.Scene): void;
63
+ changeCamera(camera: Camera): void;
64
+ changeScene(scene: Scene): void;
65
65
  addOutputPass(): void;
66
66
  setPremultiplieAlpha(premultiplieAlpha: boolean): void;
67
67
  addSSAOPass(params: SSAOParams): void;
68
68
  addBloomPass(params: BloomParams): void;
69
69
  bloomSelection: Set<IBaseObject>;
70
- bloomLayer: THREE.Layers;
71
- bloomMaterials: Record<string, THREE.Material | THREE.Material[]>;
70
+ bloomLayer: Layers;
71
+ bloomMaterials: Record<string, Material | Material[]>;
72
72
  bloomVisible: Record<string, boolean>;
73
73
  setBloomSelection(baseObject: IBaseObject, state: boolean): void;
74
74
  enable(): void;
@@ -78,7 +78,7 @@ export default class {
78
78
  private darkenNonBloomed;
79
79
  private restoreNonBloomed;
80
80
  finalComposerRender(): void;
81
- getSize(): THREE.Vector2;
81
+ getSize(): Vector2;
82
82
  pipViewportState: null | {
83
83
  x: number;
84
84
  y: number;
@@ -1,4 +1,4 @@
1
- import * as THREE from 'three';
1
+ import { PerspectiveCamera, OrthographicCamera } from 'three';
2
2
  import CameraControls from './CameraControls';
3
3
  import Pages from "./Pages";
4
4
  export interface ControlsParams {
@@ -13,7 +13,7 @@ export default class extends Pages<CameraControls> {
13
13
  get cameraControls(): CameraControls;
14
14
  autoRotateSpeed: number;
15
15
  constructor(options: Options);
16
- addCameraControls(camera: THREE.PerspectiveCamera | THREE.OrthographicCamera, index?: number): CameraControls;
16
+ addCameraControls(camera: PerspectiveCamera | OrthographicCamera, index?: number): CameraControls;
17
17
  setPageActive(index: number): void;
18
18
  removePage(index: number): void;
19
19
  enable(): void;
@@ -1,4 +1,4 @@
1
- import * as THREE from 'three';
1
+ import { Vector3, WebGLRenderer } from 'three';
2
2
  import { ViewHelper } from 'three/examples/jsm/helpers/ViewHelper';
3
3
  import ControlsController from "./Controls";
4
4
  import SceneController from './Scene';
@@ -18,8 +18,8 @@ export default class {
18
18
  remove(object: any): void;
19
19
  removeAll(): void;
20
20
  removeAllExcludeScene(): void;
21
- update(delta: number, controlsController: ControlsController, cameraTarget: THREE.Vector3): void;
22
- renderViewHelper(renderer: THREE.WebGLRenderer): void;
21
+ update(delta: number, controlsController: ControlsController, cameraTarget: Vector3): void;
22
+ renderViewHelper(renderer: WebGLRenderer): void;
23
23
  dispose(): void;
24
24
  }
25
25
  export {};
@@ -1,23 +1,23 @@
1
- import * as THREE from 'three';
1
+ import { Object3D, Scene } from 'three';
2
2
  import { IBaseObject } from "../BaseObject";
3
3
  import Group from "../../objects/group";
4
- import Scene from "../../objects/scene";
4
+ import BaseScene from "../../objects/scene";
5
5
  import Pencil from "../Pencil";
6
6
  import Pick from './Pick';
7
7
  type KeyOf<T extends object> = Extract<keyof T, string>;
8
8
  export default class Draw<T extends {
9
9
  [key: string]: new (...args: any[]) => IBaseObject;
10
10
  } = any> extends Pick {
11
- objMap: Map<THREE.Object3D<THREE.Object3DEventMap>, IBaseObject>;
11
+ objMap: Map<Object3D<import("three").Object3DEventMap>, IBaseObject>;
12
12
  objects: Map<string, IBaseObject>;
13
13
  objectsPm: Map<string, Promise<any>>;
14
- scene: Scene;
14
+ scene: BaseScene;
15
15
  group: Group;
16
16
  prefabGroup: Group;
17
17
  private objectNamesToFactories;
18
18
  get objectsPromise(): IterableIterator<Promise<any>>;
19
19
  constructor(pencil: Pencil, ops: {
20
- scene: THREE.Scene;
20
+ scene: Scene;
21
21
  });
22
22
  init<K extends {
23
23
  [key: string]: new (...args: any[]) => IBaseObject;
@@ -1,4 +1,4 @@
1
- import * as THREE from 'three';
1
+ import { Scene } from 'three';
2
2
  import Lead from './Lead';
3
3
  import Pencil from "../Pencil";
4
4
  import Pages from "../Pages";
@@ -13,7 +13,7 @@ export default class extends Pages<Lead> {
13
13
  options: Options;
14
14
  get lead(): Lead<any>;
15
15
  constructor(options: Options);
16
- addLead(scene: THREE.Scene, index?: number): Lead<any>;
16
+ addLead(scene: Scene, index?: number): Lead<any>;
17
17
  removePage(index: number): void;
18
18
  setPageActive(index: number): void;
19
19
  setSize(width: number, height: number): void;
@@ -1,5 +1,5 @@
1
- import * as THREE from 'three';
2
- export default class extends THREE.Loader {
3
- constructor(manager?: THREE.LoadingManager);
4
- load(url: string, onLoad?: (texture: THREE.Texture) => void, onProgress?: any, onError?: any): void;
1
+ import { Loader, LoadingManager, Texture } from 'three';
2
+ export default class extends Loader {
3
+ constructor(manager?: LoadingManager);
4
+ load(url: string, onLoad?: (texture: Texture) => void, onProgress?: any, onError?: any): void;
5
5
  }
@@ -1,4 +1,4 @@
1
- import * as THREE from 'three';
1
+ import { LoadingManager, Scene, FileLoader, DataTexture, Texture, VideoTexture, Object3D } from 'three';
2
2
  import { EventEmitter } from 'events';
3
3
  import { GLTFLoader } from 'three/examples/jsm/loaders/GLTFLoader';
4
4
  import { DRACOLoader } from 'three/examples/jsm/loaders/DRACOLoader';
@@ -38,56 +38,56 @@ export interface Options {
38
38
  prefix?: string;
39
39
  simpleTexture4deleted?: boolean;
40
40
  anisotropy: number;
41
- scene: THREE.Scene | null;
41
+ scene: Scene | null;
42
42
  }
43
43
  export default class Loader {
44
- loadingManager: THREE.LoadingManager;
44
+ loadingManager: LoadingManager;
45
45
  textureLoader?: TextureLoader;
46
46
  videoTextureLoader?: TextureLoader;
47
47
  gltfLoader?: GLTFLoader;
48
48
  dracoGltfLoader?: GLTFLoader;
49
- jsonLoader?: THREE.FileLoader;
49
+ jsonLoader?: FileLoader;
50
50
  gzipJsonLoader?: GzipJSONLoader;
51
51
  dracoLoader?: DRACOLoader;
52
52
  exrLoader?: EXRLoader;
53
53
  lottieLoader?: LottieLoader;
54
54
  loadObj: Asset[];
55
55
  delLoadArr: string[];
56
- assets: Map<string, THREE.Texture | THREE.Object3D | any>;
56
+ assets: Map<string, Texture | Object3D | any>;
57
57
  event: EventEmitter;
58
58
  options: Options;
59
- scene: THREE.Scene;
59
+ scene: Scene;
60
60
  constructor(options: Options);
61
61
  emit(eventName: string, ...args: any[]): void;
62
62
  on(eventName: string, listener: (...args: any[]) => void): void;
63
- getAsset(src: `${string}.${TypeImage}`): THREE.Texture;
64
- getAsset(src: `${string}.${TypeMedia}`): THREE.VideoTexture;
63
+ getAsset(src: `${string}.${TypeImage}`): Texture;
64
+ getAsset(src: `${string}.${TypeMedia}`): VideoTexture;
65
65
  getAsset(src: `${string}.${TypeGLTF}`): {
66
- scene: THREE.Object3D;
66
+ scene: Object3D;
67
67
  };
68
- getAsset(src: `${string}.${TypeLottie}`): THREE.Texture;
68
+ getAsset(src: `${string}.${TypeLottie}`): Texture;
69
69
  getAsset(src: `${string}.${TypeJSON}`): any;
70
70
  getAsset(src: `${string}.${TypeGzipJSON}`): any;
71
- getAsset(src: `${string}.${TypeEXR}`): THREE.DataTexture;
72
- getAsset(src: string): THREE.Texture;
71
+ getAsset(src: `${string}.${TypeEXR}`): DataTexture;
72
+ getAsset(src: string): Texture;
73
73
  getAssetType(src: string): "gltf" | "json" | "exr" | "images" | "media" | "gzipJson" | "lottie" | undefined;
74
74
  getLoader(type: string, options?: {
75
75
  dracoPath?: string;
76
- }): TextureLoader | THREE.FileLoader | GzipJSONLoader | GLTFLoader | EXRLoader | LottieLoader | undefined;
76
+ }): TextureLoader | FileLoader | GzipJSONLoader | GLTFLoader | EXRLoader | LottieLoader | undefined;
77
77
  add(src: string | string[], options?: AssetOptions): void;
78
- getSrcByAsset(asset: THREE.Texture | THREE.Object3D | any, assets?: Map<string, any>): string | undefined;
79
- get textureAssets(): Map<string, THREE.Texture>;
80
- loadAll(): Promise<THREE.Texture[]>;
81
- load(src: `${string}.${TypeImage}`, options?: AssetOptions): Promise<THREE.Texture>;
82
- load(src: `${string}.${TypeMedia}`, options?: AssetOptions): Promise<THREE.VideoTexture>;
78
+ getSrcByAsset(asset: Texture | Object3D | any, assets?: Map<string, any>): string | undefined;
79
+ get textureAssets(): Map<string, Texture>;
80
+ loadAll(): Promise<Texture[]>;
81
+ load(src: `${string}.${TypeImage}`, options?: AssetOptions): Promise<Texture>;
82
+ load(src: `${string}.${TypeMedia}`, options?: AssetOptions): Promise<VideoTexture>;
83
83
  load(src: `${string}.${TypeGLTF}`, options?: AssetOptions): Promise<{
84
- scene: THREE.Object3D;
84
+ scene: Object3D;
85
85
  }>;
86
- load(src: `${string}.${TypeLottie}`, options?: AssetOptions): Promise<THREE.Texture>;
86
+ load(src: `${string}.${TypeLottie}`, options?: AssetOptions): Promise<Texture>;
87
87
  load(src: `${string}.${TypeJSON}`, options?: AssetOptions): Promise<any>;
88
88
  load(src: `${string}.${TypeGzipJSON}`, options?: AssetOptions): Promise<any>;
89
- load(src: `${string}.${TypeEXR}`, options?: AssetOptions): Promise<THREE.DataTexture>;
90
- load(src: string, options?: AssetOptions): Promise<THREE.Texture>;
89
+ load(src: `${string}.${TypeEXR}`, options?: AssetOptions): Promise<DataTexture>;
90
+ load(src: string, options?: AssetOptions): Promise<Texture>;
91
91
  getUnusedAssets(): string[];
92
92
  dispose(): void;
93
93
  }
@@ -1,11 +1,11 @@
1
- import * as THREE from 'three';
1
+ import { Texture, Loader, VideoTexture, LoadingManager } from 'three';
2
2
  interface Options {
3
3
  type: 'image' | 'video';
4
4
  }
5
- export default class extends THREE.Loader {
5
+ export default class extends Loader {
6
6
  options: Options;
7
- constructor(manager?: THREE.LoadingManager);
7
+ constructor(manager?: LoadingManager);
8
8
  setOptions(options: Options): this;
9
- load(url: string, onLoad?: (texture: THREE.Texture) => void, onProgress?: any, onError?: any): THREE.Texture | THREE.VideoTexture;
9
+ load(url: string, onLoad?: (texture: Texture) => void, onProgress?: any, onError?: any): Texture | VideoTexture;
10
10
  }
11
11
  export {};
@@ -1,4 +1,4 @@
1
- import * as THREE from 'three';
1
+ import { Scene } from 'three';
2
2
  import Loader from './Loader';
3
3
  import Pages from "../Pages";
4
4
  export interface LoaderParams {
@@ -16,7 +16,7 @@ export default class extends Pages<Loader> {
16
16
  options: Options;
17
17
  get loader(): Loader;
18
18
  constructor(options: Options);
19
- addLoader(scene: THREE.Scene, index?: number): Loader;
19
+ addLoader(scene: Scene, index?: number): Loader;
20
20
  removePage(index: number): void;
21
21
  }
22
22
  export {};
@@ -1,4 +1,4 @@
1
- import * as THREE from 'three';
1
+ import { Object3D, Vector3, PerspectiveCamera } from 'three';
2
2
  import { Timer } from 'three/examples/jsm/misc/Timer';
3
3
  import { EventEmitter } from 'events';
4
4
  import Stats from 'stats-gl';
@@ -27,7 +27,7 @@ interface Options {
27
27
  composer?: Partial<ComposerParams>;
28
28
  loader?: Partial<LoaderParams>;
29
29
  scene?: Partial<SceneParams>;
30
- camera?: Partial<CameraParams> | THREE.PerspectiveCamera;
30
+ camera?: Partial<CameraParams> | PerspectiveCamera;
31
31
  bloom?: boolean;
32
32
  bloomParams?: Partial<BloomParams>;
33
33
  ssao?: boolean;
@@ -61,15 +61,15 @@ export default class Pencil {
61
61
  private maxBackufferArea;
62
62
  installPlugins: Map<string, any>;
63
63
  getPlugin(name: 'worker'): Wk;
64
- get renderer(): THREE.WebGLRenderer;
64
+ get renderer(): import("three").WebGLRenderer;
65
65
  get maxAnisotropy(): number;
66
66
  get controls(): import("./CameraControls").default;
67
67
  private _cameraPositon;
68
68
  private _cameraTarget;
69
- get cameraPositon(): THREE.Vector3;
70
- get cameraTarget(): THREE.Vector3;
71
- get camera(): THREE.PerspectiveCamera;
72
- get scene(): THREE.Scene;
69
+ get cameraPositon(): Vector3;
70
+ get cameraTarget(): Vector3;
71
+ get camera(): PerspectiveCamera;
72
+ get scene(): import("three").Scene;
73
73
  get loader(): import("./Loader/Loader").default;
74
74
  get lead(): import("..").Lead<any>;
75
75
  event: EventEmitter;
@@ -104,7 +104,7 @@ export default class Pencil {
104
104
  fov: number;
105
105
  near: number;
106
106
  far: number;
107
- up: THREE.Vector3;
107
+ up: Vector3;
108
108
  };
109
109
  bloom: boolean;
110
110
  bloomParams: {
@@ -155,10 +155,10 @@ export default class Pencil {
155
155
  private userSetDprCache;
156
156
  private handeleResize;
157
157
  setDevicePixelRatio(userSetDprCache: number): void;
158
- pick(event: MouseEvent, objects?: THREE.Object3D[], recursive?: boolean): {
159
- object: THREE.Object3D<THREE.Object3DEventMap>;
158
+ pick(event: MouseEvent, objects?: Object3D[], recursive?: boolean): {
159
+ object: Object3D<import("three").Object3DEventMap>;
160
160
  index: number | undefined;
161
- intersects: THREE.Intersection<THREE.Object3D<THREE.Object3DEventMap>>[];
161
+ intersects: import("three").Intersection<Object3D<import("three").Object3DEventMap>>[];
162
162
  } | undefined;
163
163
  render(): void;
164
164
  start(): void;
@@ -1,4 +1,4 @@
1
- import * as THREE from 'three';
1
+ import { WebGLRenderer, Camera, Scene } from 'three';
2
2
  import { ColorSpace } from "../utils/colorCorrection";
3
3
  export interface RendererParams {
4
4
  antialias: boolean;
@@ -30,12 +30,12 @@ interface Options {
30
30
  rendererParams: RendererParams;
31
31
  }
32
32
  export default class {
33
- renderer: THREE.WebGLRenderer;
33
+ renderer: WebGLRenderer;
34
34
  options: Options;
35
35
  constructor(options: Options);
36
36
  setSize(width: number, height: number): void;
37
37
  setPixelRatio(ratio: number): void;
38
- render(scene: THREE.Scene, camera: THREE.Camera): void;
38
+ render(scene: Scene, camera: Camera): void;
39
39
  setViewport(op: {
40
40
  x: number;
41
41
  y: number;
@@ -1,10 +1,10 @@
1
- import * as THREE from 'three';
2
- type Resource = THREE.Object3D | THREE.Material | THREE.Texture | THREE.BufferGeometry | ResourceTracker;
1
+ import { Material, Object3D, Texture, BufferGeometry } from 'three';
2
+ type Resource = Object3D | Material | Texture | BufferGeometry | ResourceTracker;
3
3
  export default class ResourceTracker {
4
4
  resources: Set<Resource>;
5
5
  disposeWithMaterial: boolean;
6
- object3d: THREE.Object3D;
7
- materialList: Record<string, THREE.Material | THREE.Material[]>;
6
+ object3d: Object3D;
7
+ materialList: Record<string, Material | Material[]>;
8
8
  disposeTrack: boolean;
9
9
  track(resource: Resource | Resource[]): Resource | Resource[];
10
10
  dispose(): void;
@@ -1,18 +1,18 @@
1
- import * as THREE from 'three';
1
+ import { Scene } from 'three';
2
2
  import Pages from "./Pages";
3
3
  export interface SceneParams {
4
- background: THREE.Scene['background'];
4
+ background: Scene['background'];
5
5
  }
6
6
  export declare const defaultSceneParams: {
7
7
  background: null;
8
8
  };
9
9
  interface Options {
10
10
  }
11
- export default class extends Pages<THREE.Scene> {
11
+ export default class extends Pages<Scene> {
12
12
  options: Options;
13
- get scene(): THREE.Scene;
13
+ get scene(): Scene;
14
14
  constructor(options: Options);
15
- addScene(sceneParams?: SceneParams, index?: number): THREE.Scene;
15
+ addScene(sceneParams?: SceneParams, index?: number): Scene;
16
16
  removePage(index: number): void;
17
17
  setPageActive(index: number): void;
18
18
  }
@@ -1,15 +1,15 @@
1
- import * as THREE from 'three';
1
+ import { Object3D, Scene, Camera, WebGLRenderer } from 'three';
2
2
  import { TransformControls } from 'three/examples/jsm/controls/TransformControls';
3
3
  import { EventEmitter } from 'events';
4
4
  interface Options {
5
- renderer: THREE.WebGLRenderer;
6
- scene: THREE.Scene;
7
- camera: THREE.Camera;
5
+ renderer: WebGLRenderer;
6
+ scene: Scene;
7
+ camera: Camera;
8
8
  }
9
9
  export default class {
10
10
  controls: TransformControls;
11
11
  get detach(): () => TransformControls;
12
- get attach(): (object: THREE.Object3D) => TransformControls;
12
+ get attach(): (object: Object3D) => TransformControls;
13
13
  event: EventEmitter;
14
14
  constructor(options: Options);
15
15
  addEvent(): void;
@@ -1,4 +1,4 @@
1
- import * as THREE from 'three';
1
+ import { Camera, Scene } from 'three';
2
2
  export interface WebGPURendererParams {
3
3
  antialias: boolean;
4
4
  devicePixelRatio: number;
@@ -18,7 +18,7 @@ export default class {
18
18
  options: Options;
19
19
  constructor(options: Options);
20
20
  setSize(width: number, height: number): void;
21
- render(scene: THREE.Scene, camera: THREE.Camera): void;
21
+ render(scene: Scene, camera: Camera): void;
22
22
  dispose(): void;
23
23
  }
24
24
  export {};
@@ -1,4 +1,4 @@
1
- "use strict";var O=Object.defineProperty;var P=Object.getOwnPropertySymbols;var _=Object.prototype.hasOwnProperty,T=Object.prototype.propertyIsEnumerable;var W=Math.pow,z=(a,i,e)=>i in a?O(a,i,{enumerable:!0,configurable:!0,writable:!0,value:e}):a[i]=e,c=(a,i)=>{for(var e in i||(i={}))_.call(i,e)&&z(a,e,i[e]);if(P)for(var e of P(i))T.call(i,e)&&z(a,e,i[e]);return a};var b=(a,i,e)=>new Promise((t,o)=>{var f=d=>{try{r(e.next(d))}catch(m){o(m)}},l=d=>{try{r(e.throw(d))}catch(m){o(m)}},r=d=>d.done?t(d.value):Promise.resolve(d.value).then(f,l);r((e=e.apply(a,i)).next())});Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const A=require("three"),V=require("@tweenjs/tween.js"),D=require("esus-lite");function j(a){const i=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(a){for(const e in a)if(e!=="default"){const t=Object.getOwnPropertyDescriptor(a,e);Object.defineProperty(i,e,t.get?t:{enumerable:!0,get:()=>a[e]})}}return i.default=a,Object.freeze(i)}const u=j(A),S=j(V);class E{constructor(i,e={}){this.object=i,this.options=c({color:16777215,opacity:1,lineNum:10,lineWidth:1,lineHieght:10,fade:!1,fadeType:2,radius:0,range:new u.Vector2(0,1),vertical:!1,step:0,pos:"bottom",duration:5e3,yoyo:!1,repeat:0},e)}initMaterial(){const{color:i,lineNum:e,lineWidth:t,lineHieght:o,fade:f,fadeType:l,radius:r,range:d,vertical:m,step:g,opacity:w,exclude:p}=this.options,v={field:{value:new u.Vector4(0,0,0,0)},color:{value:new u.Color(i)},opacity:{value:w},lineNum:{value:e},lineWidth:{value:t},lineHieght:{value:o},sizeNum:{value:new u.Vector3(r,r,r)},objPos:{value:new u.Vector3(0,0,0)},fade:{value:f},fadeType:{value:l},range:{value:d},angle:{value:0},stepNum:{value:g}};if(!r){const{size:h}=this.object.getSize();v.sizeNum.value.copy(h)}this.uniforms=v,this.object.object3d.traverse(h=>{const n=h;!n.material||p&&p.includes(n)||(n.userData.materialO?n.material=n.userData.materialO.clone():n.userData.materialO=Array.isArray(n.material)?n.material.map(s=>s.clone()):n.material.clone(),Array.isArray(n.material)?n.material.forEach(s=>{m?this.setVerticalMaterial(s):this.setMaterial(s)}):m?this.setVerticalMaterial(n.material):this.setMaterial(n.material))})}setMaterial(i){const{uniforms:e}=this;i.onBeforeCompile=t=>{t.uniforms.field=e.field,t.uniforms.fieldColor=e.color,t.uniforms.fieldOpacity=e.opacity,t.uniforms.lineNum=e.lineNum,t.uniforms.lineWidth=e.lineWidth,t.uniforms.sizeNum=e.sizeNum,t.uniforms.fade=e.fade,t.uniforms.fadeType=e.fadeType,t.uniforms.range=e.range,t.uniforms.stepNum=e.stepNum,t.vertexShader=`
1
+ "use strict";var C=Object.defineProperty;var P=Object.getOwnPropertySymbols;var O=Object.prototype.hasOwnProperty,_=Object.prototype.propertyIsEnumerable;var W=Math.pow,z=(a,i,e)=>i in a?C(a,i,{enumerable:!0,configurable:!0,writable:!0,value:e}):a[i]=e,c=(a,i)=>{for(var e in i||(i={}))O.call(i,e)&&z(a,e,i[e]);if(P)for(var e of P(i))_.call(i,e)&&z(a,e,i[e]);return a};var b=(a,i,e)=>new Promise((t,o)=>{var f=d=>{try{l(e.next(d))}catch(m){o(m)}},r=d=>{try{l(e.throw(d))}catch(m){o(m)}},l=d=>d.done?t(d.value):Promise.resolve(d.value).then(f,r);l((e=e.apply(a,i)).next())});Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("three"),T=require("@tweenjs/tween.js"),D=require("esus-lite");function A(a){const i=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(a){for(const e in a)if(e!=="default"){const t=Object.getOwnPropertyDescriptor(a,e);Object.defineProperty(i,e,t.get?t:{enumerable:!0,get:()=>a[e]})}}return i.default=a,Object.freeze(i)}const j=A(T);class V{constructor(i,e={}){this.object=i,this.options=c({color:16777215,opacity:1,lineNum:10,lineWidth:1,lineHieght:10,fade:!1,fadeType:2,radius:0,range:new u.Vector2(0,1),vertical:!1,step:0,pos:"bottom",duration:5e3,yoyo:!1,repeat:0},e)}initMaterial(){const{color:i,lineNum:e,lineWidth:t,lineHieght:o,fade:f,fadeType:r,radius:l,range:d,vertical:m,step:g,opacity:w,exclude:p}=this.options,v={field:{value:new u.Vector4(0,0,0,0)},color:{value:new u.Color(i)},opacity:{value:w},lineNum:{value:e},lineWidth:{value:t},lineHieght:{value:o},sizeNum:{value:new u.Vector3(l,l,l)},objPos:{value:new u.Vector3(0,0,0)},fade:{value:f},fadeType:{value:r},range:{value:d},angle:{value:0},stepNum:{value:g}};if(!l){const{size:h}=this.object.getSize();v.sizeNum.value.copy(h)}this.uniforms=v,this.object.object3d.traverse(h=>{const n=h;!n.material||p&&p.includes(n)||(n.userData.materialO?n.material=n.userData.materialO.clone():n.userData.materialO=Array.isArray(n.material)?n.material.map(s=>s.clone()):n.material.clone(),Array.isArray(n.material)?n.material.forEach(s=>{m?this.setVerticalMaterial(s):this.setMaterial(s)}):m?this.setVerticalMaterial(n.material):this.setMaterial(n.material))})}setMaterial(i){const{uniforms:e}=this;i.onBeforeCompile=t=>{t.uniforms.field=e.field,t.uniforms.fieldColor=e.color,t.uniforms.fieldOpacity=e.opacity,t.uniforms.lineNum=e.lineNum,t.uniforms.lineWidth=e.lineWidth,t.uniforms.sizeNum=e.sizeNum,t.uniforms.fade=e.fade,t.uniforms.fadeType=e.fadeType,t.uniforms.range=e.range,t.uniforms.stepNum=e.stepNum,t.vertexShader=`
2
2
  varying vec4 vWorldPos;
3
3
  ${t.vertexShader}
4
4
  `.replace("#include <worldpos_vertex>",`#include <worldpos_vertex>
@@ -125,7 +125,7 @@
125
125
  }
126
126
  }
127
127
 
128
- `)},i.needsUpdate=!0}resetMaterial(){this.object.object3d.traverse(i=>{const e=i;e.material&&e.userData.materialO&&(e.material=e.userData.materialO.clone(),e.userData.materialO=void 0)})}play(i={}){this.stop();const e=D.makePromiseCreator(!0),{object:t,uniforms:o}=this,{lineNum:f,step:l,lineWidth:r,pos:d,duration:m}=c(c({},this.options),i),{min:g,max:w,size:p}=t.getSize();let v=f,h=r;l>0&&(v=1,h=p.y/l);const n=o.sizeNum.value.y*(v>1?2:1);return this.tween=new S.Tween({latest:0}).to({latest:1},m).onStart(()=>{const s=new u.Vector3;d==="bottom"?s.set(g.x-.001,g.y-.001,g.z-.001):d==="top"&&s.set(w.x+.001,w.y+.001,w.z+.001);const x=t.pencil.controls.azimuthAngle||0,y=this.object.object3d.position.clone();if(x){const N=Math.sqrt(W(p.x,2)+W(p.z,2))/2;s.x=y.x+N,s.z=y.z+N;const M=new u.Vector3().subVectors(s,y),C=new u.Vector3(0,1,0);M.applyAxisAngle(C,x),s.addVectors(y,M)}o.objPos.value.copy(y),o.field.value.set(s.x,s.y,s.z,0),o.angle.value=x,o.lineNum.value=v,o.lineWidth.value=h}).onUpdate(({latest:s})=>{l>0?o.field.value.w=Math.floor(s*l)/l*n:o.field.value.w=s*n}).onStop(()=>{o.field.value.w=0,e.reject("stop")}).onComplete(()=>{e.resolve()}).start(),e.promise}checkRepeat(){return b(this,arguments,function*(i={}){const{yoyo:e,repeat:t,pos:o}=c(c({},this.options),i);t===this.options.repeat&&this.initMaterial();const{err:f}=yield this.play(i);if(f){this.resetMaterial();return}if(t){let l=o;e&&(l=l==="bottom"?"top":"bottom"),yield this.checkRepeat({pos:l,repeat:t===1/0?-1:t-1})}else this.resetMaterial()})}start(){return this.checkRepeat()}stop(){this.tween&&this.tween.stop()}}class k{constructor(i,e={}){this.object=i,this.options=c({color:16777215,lineWidth:2,opacity:.5,fade:!1,position:new u.Vector3(0,0,0),duration:5e3,repeat:0},e)}initMaterial(){const{exclude:i}=this.options,e={field:{value:new u.Vector4(0,0,0,1e-4)},color:{value:new u.Color(this.options.color)},opacity:{value:this.options.opacity},lineWidth:{value:this.options.lineWidth}};this.uniforms=e,this.object.object3d.traverse(t=>{const o=t;!o.material||i&&i.includes(o)||(o.userData.materialO?o.material=o.userData.materialO:o.userData.materialO=Array.isArray(o.material)?o.material.map(f=>f.clone()):o.material.clone(),Array.isArray(o.material)?o.material.forEach(f=>{this.setMaterial(f)}):this.setMaterial(o.material))})}setMaterial(i){const{uniforms:e}=this;i.onBeforeCompile=t=>{t.uniforms.field=e.field,t.uniforms.fieldColor=e.color,t.uniforms.fieldOpacity=e.opacity,t.uniforms.lineWidth=e.lineWidth,t.vertexShader=`
128
+ `)},i.needsUpdate=!0}resetMaterial(){this.object.object3d.traverse(i=>{const e=i;e.material&&e.userData.materialO&&(e.material=e.userData.materialO.clone(),e.userData.materialO=void 0)})}play(i={}){this.stop();const e=D.makePromiseCreator(!0),{object:t,uniforms:o}=this,{lineNum:f,step:r,lineWidth:l,pos:d,duration:m}=c(c({},this.options),i),{min:g,max:w,size:p}=t.getSize();let v=f,h=l;r>0&&(v=1,h=p.y/r);const n=o.sizeNum.value.y*(v>1?2:1);return this.tween=new j.Tween({latest:0}).to({latest:1},m).onStart(()=>{const s=new u.Vector3;d==="bottom"?s.set(g.x-.001,g.y-.001,g.z-.001):d==="top"&&s.set(w.x+.001,w.y+.001,w.z+.001);const x=t.pencil.controls.azimuthAngle||0,y=this.object.object3d.position.clone();if(x){const N=Math.sqrt(W(p.x,2)+W(p.z,2))/2;s.x=y.x+N,s.z=y.z+N;const M=new u.Vector3().subVectors(s,y),S=new u.Vector3(0,1,0);M.applyAxisAngle(S,x),s.addVectors(y,M)}o.objPos.value.copy(y),o.field.value.set(s.x,s.y,s.z,0),o.angle.value=x,o.lineNum.value=v,o.lineWidth.value=h}).onUpdate(({latest:s})=>{r>0?o.field.value.w=Math.floor(s*r)/r*n:o.field.value.w=s*n}).onStop(()=>{o.field.value.w=0,e.reject("stop")}).onComplete(()=>{e.resolve()}).start(),e.promise}checkRepeat(){return b(this,arguments,function*(i={}){const{yoyo:e,repeat:t,pos:o}=c(c({},this.options),i);t===this.options.repeat&&this.initMaterial();const{err:f}=yield this.play(i);if(f){this.resetMaterial();return}if(t){let r=o;e&&(r=r==="bottom"?"top":"bottom"),yield this.checkRepeat({pos:r,repeat:t===1/0?-1:t-1})}else this.resetMaterial()})}start(){return this.checkRepeat()}stop(){this.tween&&this.tween.stop()}}class k{constructor(i,e={}){this.object=i,this.options=c({color:16777215,lineWidth:2,opacity:.5,fade:!1,position:new u.Vector3(0,0,0),duration:5e3,repeat:0},e)}initMaterial(){const{exclude:i}=this.options,e={field:{value:new u.Vector4(0,0,0,1e-4)},color:{value:new u.Color(this.options.color)},opacity:{value:this.options.opacity},lineWidth:{value:this.options.lineWidth}};this.uniforms=e,this.object.object3d.traverse(t=>{const o=t;!o.material||i&&i.includes(o)||(o.userData.materialO?o.material=o.userData.materialO:o.userData.materialO=Array.isArray(o.material)?o.material.map(f=>f.clone()):o.material.clone(),Array.isArray(o.material)?o.material.forEach(f=>{this.setMaterial(f)}):this.setMaterial(o.material))})}setMaterial(i){const{uniforms:e}=this;i.onBeforeCompile=t=>{t.uniforms.field=e.field,t.uniforms.fieldColor=e.color,t.uniforms.fieldOpacity=e.opacity,t.uniforms.lineWidth=e.lineWidth,t.vertexShader=`
129
129
  varying vec4 vWorldPos;
130
130
  ${t.vertexShader}
131
131
  `.replace("#include <worldpos_vertex>",`#include <worldpos_vertex>
@@ -157,4 +157,4 @@
157
157
  }
158
158
  gl_FragColor.rgb = mix(gl_FragColor.rgb, fieldColor, fadeout);
159
159
 
160
- `)},i.needsUpdate=!0}resetMaterial(){this.object.object3d.traverse(i=>{const e=i;e.material&&e.userData.materialO&&(e.material=e.userData.materialO.clone(),e.userData.materialO=void 0)})}play(){this.stop();const i=D.makePromiseCreator(!0),{object:e,uniforms:t}=this,{position:o,duration:f}=this.options;let{radius:l}=this.options;if(!l){const{size:r}=e.getSize();l=Math.max(r.x,r.y,r.z)}return this.tween=new S.Tween({a:1e-4}).to({a:1},f).onStart(()=>{t.field.value.set(o.x,o.y,o.z,1e-4),this.options.fade&&(t.opacity.value=this.options.opacity)}).onUpdate(({a:r})=>{t.field.value.w=r*l,this.options.fade&&(t.opacity.value=(1-r)*this.options.opacity)}).onStop(()=>{t.field.value.w=0,i.reject("stop")}).onComplete(()=>{i.resolve()}).start(),i.promise}checkRepeat(){return b(this,arguments,function*(i={}){const{repeat:e}=c(c({},this.options),i);e===this.options.repeat&&this.initMaterial();const{err:t}=yield this.play();if(t){this.resetMaterial();return}e?yield this.checkRepeat({repeat:e===1/0?-1:e-1}):this.resetMaterial()})}start(){return this.checkRepeat()}stop(){this.tween&&this.tween.stop()}}exports.Scan=E;exports.Scan2=k;
160
+ `)},i.needsUpdate=!0}resetMaterial(){this.object.object3d.traverse(i=>{const e=i;e.material&&e.userData.materialO&&(e.material=e.userData.materialO.clone(),e.userData.materialO=void 0)})}play(){this.stop();const i=D.makePromiseCreator(!0),{object:e,uniforms:t}=this,{position:o,duration:f}=this.options;let{radius:r}=this.options;if(!r){const{size:l}=e.getSize();r=Math.max(l.x,l.y,l.z)}return this.tween=new j.Tween({a:1e-4}).to({a:1},f).onStart(()=>{t.field.value.set(o.x,o.y,o.z,1e-4),this.options.fade&&(t.opacity.value=this.options.opacity)}).onUpdate(({a:l})=>{t.field.value.w=l*r,this.options.fade&&(t.opacity.value=(1-l)*this.options.opacity)}).onStop(()=>{t.field.value.w=0,i.reject("stop")}).onComplete(()=>{i.resolve()}).start(),i.promise}checkRepeat(){return b(this,arguments,function*(i={}){const{repeat:e}=c(c({},this.options),i);e===this.options.repeat&&this.initMaterial();const{err:t}=yield this.play();if(t){this.resetMaterial();return}e?yield this.checkRepeat({repeat:e===1/0?-1:e-1}):this.resetMaterial()})}start(){return this.checkRepeat()}stop(){this.tween&&this.tween.stop()}}exports.Scan=V;exports.Scan2=k;