angular-three-soba 4.0.0-next.9 → 4.0.0-next.91

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 (51) hide show
  1. package/abstractions/README.md +1 -1
  2. package/abstractions/lib/catmull-rom-line.d.ts +16 -15
  3. package/abstractions/lib/edges.d.ts +17 -15
  4. package/abstractions/lib/text-3d.d.ts +1 -1
  5. package/abstractions/lib/text.d.ts +5 -1
  6. package/cameras/lib/camera-content.d.ts +1 -2
  7. package/cameras/lib/cube-camera.d.ts +2 -2
  8. package/cameras/lib/orthographic-camera.d.ts +6 -5
  9. package/cameras/lib/perspective-camera.d.ts +2 -5
  10. package/controls/README.md +28 -28
  11. package/controls/index.d.ts +1 -0
  12. package/controls/lib/camera-controls.d.ts +1 -1
  13. package/controls/lib/orbit-controls.d.ts +11 -6
  14. package/controls/lib/trackball-controls.d.ts +27 -0
  15. package/fesm2022/angular-three-soba-abstractions.mjs +87 -47
  16. package/fesm2022/angular-three-soba-abstractions.mjs.map +1 -1
  17. package/fesm2022/angular-three-soba-cameras.mjs +61 -37
  18. package/fesm2022/angular-three-soba-cameras.mjs.map +1 -1
  19. package/fesm2022/angular-three-soba-controls.mjs +128 -36
  20. package/fesm2022/angular-three-soba-controls.mjs.map +1 -1
  21. package/fesm2022/angular-three-soba-gizmos.mjs +124 -86
  22. package/fesm2022/angular-three-soba-gizmos.mjs.map +1 -1
  23. package/fesm2022/angular-three-soba-loaders.mjs +3 -3
  24. package/fesm2022/angular-three-soba-materials.mjs +82 -86
  25. package/fesm2022/angular-three-soba-materials.mjs.map +1 -1
  26. package/fesm2022/angular-three-soba-misc.mjs +55 -48
  27. package/fesm2022/angular-three-soba-misc.mjs.map +1 -1
  28. package/fesm2022/angular-three-soba-performances.mjs +152 -35
  29. package/fesm2022/angular-three-soba-performances.mjs.map +1 -1
  30. package/fesm2022/angular-three-soba-shaders.mjs.map +1 -1
  31. package/fesm2022/angular-three-soba-staging.mjs +183 -144
  32. package/fesm2022/angular-three-soba-staging.mjs.map +1 -1
  33. package/fesm2022/angular-three-soba-stats.mjs +3 -3
  34. package/gizmos/lib/gizmo-helper/gizmo-helper.d.ts +4 -3
  35. package/loaders/README.md +39 -39
  36. package/materials/lib/mesh-transmission-material.d.ts +4 -4
  37. package/misc/README.md +16 -16
  38. package/misc/lib/deprecated.d.ts +0 -6
  39. package/misc/lib/depth-buffer.d.ts +1 -1
  40. package/misc/lib/fbo.d.ts +1 -3
  41. package/misc/lib/html/html-content.d.ts +2 -2
  42. package/misc/lib/html/html.d.ts +4 -4
  43. package/package.json +6 -6
  44. package/performances/index.d.ts +1 -0
  45. package/performances/lib/adaptive-dpr.d.ts +1 -1
  46. package/performances/lib/bvh.d.ts +49 -0
  47. package/shaders/lib/mesh-refraction-material.d.ts +2 -2
  48. package/staging/lib/caustics.d.ts +3 -3
  49. package/staging/lib/environment/inject-environment.d.ts +1 -2
  50. package/staging/lib/render-texture.d.ts +5 -4
  51. package/staging/lib/stage.d.ts +12 -11
@@ -28,7 +28,7 @@ npm install troika-three-text three-mesh-bvh
28
28
  - [NgtsPrismGeometry](#ngtsprismgeometry)
29
29
  - [NgtsGradientTexture](#ngtsgradienttexture)
30
30
  - [injectHelper](#injecthelper)
31
- - [NgtsHelper](#ngtshelper)
31
+ - [NgtsHelper](#ngtshelper)
32
32
 
33
33
  ## NgtsGrid
34
34
 
@@ -23,8 +23,13 @@ export declare class NgtsCatmullRomLine {
23
23
  protected lineOptions: import("@angular/core").Signal<{
24
24
  vertexColors: (THREE.ColorRepresentation | [number, number, number] | [number, number, number, number])[] | undefined;
25
25
  raycast?: ((raycaster: THREE.Raycaster, intersects: THREE.Intersection[]) => void) | Readonly<((raycaster: THREE.Raycaster, intersects: THREE.Intersection[]) => void) | null | undefined>;
26
- isMesh?: Readonly<true | undefined>;
27
- type?: Readonly<string | undefined>;
26
+ id?: number | undefined;
27
+ uuid?: string | undefined;
28
+ name?: string | undefined | undefined;
29
+ type?: string | undefined;
30
+ parent?: THREE.Object3D<THREE.Object3DEventMap> | Readonly<THREE.Object3D<THREE.Object3DEventMap> | null> | undefined;
31
+ children?: THREE.Object3D<THREE.Object3DEventMap>[] | undefined;
32
+ isMesh?: true | undefined;
28
33
  geometry?: import("three-stdlib").LineGeometry | Readonly<import("three-stdlib").LineGeometry | undefined>;
29
34
  material?: import("three-stdlib").LineMaterial | Readonly<import("three-stdlib").LineMaterial | undefined>;
30
35
  morphTargetInfluences?: number[] | Readonly<number[] | undefined>;
@@ -36,12 +41,7 @@ export declare class NgtsCatmullRomLine {
36
41
  updateMorphTargets?: (() => void) | Readonly<(() => void) | undefined>;
37
42
  getVertexPosition?: ((index: number, target: THREE.Vector3) => THREE.Vector3) | Readonly<((index: number, target: THREE.Vector3) => THREE.Vector3) | undefined>;
38
43
  toJSON?: ((((meta?: THREE.JSONMeta) => THREE.MeshJSON) | Readonly<(meta?: THREE.JSONMeta) => THREE.MeshJSON>) & (((meta?: THREE.JSONMeta) => THREE.ShaderMaterialJSON) | Readonly<(meta?: THREE.JSONMeta) => THREE.ShaderMaterialJSON>)) | undefined;
39
- isObject3D?: Readonly<true | undefined>;
40
- id?: Readonly<number | undefined>;
41
- uuid?: Readonly<string | undefined>;
42
- name?: string | undefined | undefined;
43
- parent?: THREE.Object3D<THREE.Object3DEventMap> | Readonly<THREE.Object3D<THREE.Object3DEventMap> | null | undefined>;
44
- children?: THREE.Object3D<THREE.Object3DEventMap>[] | Readonly<THREE.Object3D<THREE.Object3DEventMap>[] | undefined>;
44
+ isObject3D?: true | undefined;
45
45
  up?: THREE.Vector3 | [x: number, y: number, z: number] | Readonly<number | THREE.Vector3 | [x: number, y: number, z: number] | undefined>;
46
46
  position?: THREE.Vector3 | [x: number, y: number, z: number] | Readonly<number | THREE.Vector3 | [x: number, y: number, z: number] | undefined>;
47
47
  rotation?: THREE.Euler | [x: number, y: number, z: number, order?: THREE.EulerOrder | undefined] | Readonly<number | THREE.Euler | [x: number, y: number, z: number, order?: THREE.EulerOrder | undefined] | undefined>;
@@ -113,7 +113,7 @@ export declare class NgtsCatmullRomLine {
113
113
  updateWorldMatrix?: ((updateParents: boolean, updateChildren: boolean) => void) | Readonly<((updateParents: boolean, updateChildren: boolean) => void) | undefined>;
114
114
  clone?: ((((recursive?: boolean) => import("three-stdlib").Line2) | Readonly<(recursive?: boolean) => import("three-stdlib").Line2>) & ((() => import("three-stdlib").LineMaterial) | Readonly<() => import("three-stdlib").LineMaterial>)) | undefined;
115
115
  copy?: ((((object: THREE.Object3D, recursive?: boolean) => import("three-stdlib").Line2) | Readonly<(object: THREE.Object3D, recursive?: boolean) => import("three-stdlib").Line2>) & (((material: THREE.Material) => import("three-stdlib").LineMaterial) | Readonly<(material: THREE.Material) => import("three-stdlib").LineMaterial>)) | undefined;
116
- addEventListener?: ((((<T extends keyof THREE.Object3DEventMap>(type: T, listener: THREE.EventListener<THREE.Object3DEventMap[T], T, import("three-stdlib").Line2>) => void) | Readonly<(<T extends keyof THREE.Object3DEventMap>(type: T, listener: THREE.EventListener<THREE.Object3DEventMap[T], T, import("three-stdlib").Line2>) => void) | undefined>) & (<TEventKey extends keyof import("angular-three").NgtEventHandlers | "added" | "removed" | "childadded" | "childremoved" | keyof import("angular-three").NgtNodeEventMap<import("three-stdlib").Line2>>(type: TEventKey, listener: (this: import("angular-three").NgtNodeElement<typeof import("three-stdlib").Line2, import("three-stdlib").Line2>, ev: import("angular-three").NgtAllObject3DEventsMap<import("three-stdlib").Line2>[TEventKey]) => any) => void)) & (((<T extends "dispose">(type: T, listener: THREE.EventListener<{
116
+ addEventListener?: ((((<T extends keyof THREE.Object3DEventMap>(type: T, listener: THREE.EventListener<THREE.Object3DEventMap[T], T, import("three-stdlib").Line2>) => void) | Readonly<(<T extends keyof THREE.Object3DEventMap>(type: T, listener: THREE.EventListener<THREE.Object3DEventMap[T], T, import("three-stdlib").Line2>) => void) | undefined>) & (<TEventKey extends keyof import("angular-three").NgtEventHandlers | "added" | "removed" | "childadded" | "childremoved" | "change" | keyof import("angular-three").NgtNodeEventMap<import("three-stdlib").Line2>>(type: TEventKey, listener: (this: import("angular-three").NgtNodeElement<typeof import("three-stdlib").Line2, import("three-stdlib").Line2>, ev: import("angular-three").NgtAllObject3DEventsMap<import("three-stdlib").Line2>[TEventKey]) => any) => void)) & (((<T extends "dispose">(type: T, listener: THREE.EventListener<{
117
117
  dispose: {};
118
118
  }[T], T, import("three-stdlib").LineMaterial>) => void) | Readonly<(<T extends "dispose">(type: T, listener: THREE.EventListener<{
119
119
  dispose: {};
@@ -123,7 +123,7 @@ export declare class NgtsCatmullRomLine {
123
123
  }[T], T, import("three-stdlib").LineMaterial>) => boolean) | Readonly<(<T extends "dispose">(type: T, listener: THREE.EventListener<{
124
124
  dispose: {};
125
125
  }[T], T, import("three-stdlib").LineMaterial>) => boolean)>)) | undefined;
126
- removeEventListener?: ((((<T extends keyof THREE.Object3DEventMap>(type: T, listener: THREE.EventListener<THREE.Object3DEventMap[T], T, import("three-stdlib").Line2>) => void) | Readonly<(<T extends keyof THREE.Object3DEventMap>(type: T, listener: THREE.EventListener<THREE.Object3DEventMap[T], T, import("three-stdlib").Line2>) => void) | undefined>) & (<TEventKey extends keyof import("angular-three").NgtEventHandlers | "added" | "removed" | "childadded" | "childremoved" | keyof import("angular-three").NgtNodeEventMap<import("three-stdlib").Line2>>(type: TEventKey, listener: (this: import("angular-three").NgtNodeElement<typeof import("three-stdlib").Line2, import("three-stdlib").Line2>, ev: import("angular-three").NgtAllObject3DEventsMap<import("three-stdlib").Line2>[TEventKey]) => any) => void)) & (((<T extends "dispose">(type: T, listener: THREE.EventListener<{
126
+ removeEventListener?: ((((<T extends keyof THREE.Object3DEventMap>(type: T, listener: THREE.EventListener<THREE.Object3DEventMap[T], T, import("three-stdlib").Line2>) => void) | Readonly<(<T extends keyof THREE.Object3DEventMap>(type: T, listener: THREE.EventListener<THREE.Object3DEventMap[T], T, import("three-stdlib").Line2>) => void) | undefined>) & (<TEventKey extends keyof import("angular-three").NgtEventHandlers | "added" | "removed" | "childadded" | "childremoved" | "change" | keyof import("angular-three").NgtNodeEventMap<import("three-stdlib").Line2>>(type: TEventKey, listener: (this: import("angular-three").NgtNodeElement<typeof import("three-stdlib").Line2, import("three-stdlib").Line2>, ev: import("angular-three").NgtAllObject3DEventsMap<import("three-stdlib").Line2>[TEventKey]) => any) => void)) & (((<T extends "dispose">(type: T, listener: THREE.EventListener<{
127
127
  dispose: {};
128
128
  }[T], T, import("three-stdlib").LineMaterial>) => void) | Readonly<(<T extends "dispose">(type: T, listener: THREE.EventListener<{
129
129
  dispose: {};
@@ -134,7 +134,7 @@ export declare class NgtsCatmullRomLine {
134
134
  dispose: {};
135
135
  }[T]) => void)>)) | undefined;
136
136
  dispose?: (((() => void) | Readonly<() => void> | null) & (((() => void) & (() => void)) | Readonly<(() => void) & (() => void)>)) | undefined;
137
- isMaterial?: Readonly<true | undefined>;
137
+ isMaterial?: true | undefined;
138
138
  alphaHash?: boolean | undefined | undefined;
139
139
  alphaToCoverage?: boolean | undefined | undefined;
140
140
  blendAlpha?: number | undefined | undefined;
@@ -181,6 +181,7 @@ export declare class NgtsCatmullRomLine {
181
181
  setValues?: ((parameters: THREE.ShaderMaterialParameters) => void) | Readonly<((parameters: THREE.ShaderMaterialParameters) => void) | undefined>;
182
182
  needsUpdate?: Readonly<boolean | undefined>;
183
183
  onBuild?: ((object: THREE.Object3D, parameters: THREE.WebGLProgramParametersWithUniforms, renderer: THREE.WebGLRenderer) => void) | Readonly<((object: THREE.Object3D, parameters: THREE.WebGLProgramParametersWithUniforms, renderer: THREE.WebGLRenderer) => void) | undefined>;
184
+ parameters?: ((Partial<import("three-stdlib").Line2> | Readonly<Partial<import("three-stdlib").Line2>>) & (Partial<import("three-stdlib").LineMaterial> | Readonly<Partial<import("three-stdlib").LineMaterial>>)) | undefined;
184
185
  color?: THREE.ColorRepresentation | undefined;
185
186
  dashed?: boolean | undefined | undefined;
186
187
  dashScale?: number | undefined | undefined;
@@ -192,11 +193,11 @@ export declare class NgtsCatmullRomLine {
192
193
  wireframe?: boolean | undefined | undefined;
193
194
  worldUnits?: boolean | undefined | undefined;
194
195
  format?: THREE.PixelFormat | undefined;
195
- isLine2?: Readonly<true | undefined>;
196
- isLineSegments2?: Readonly<true | undefined>;
196
+ isLine2?: true | undefined;
197
+ isLineSegments2?: true | undefined;
197
198
  computeLineDistances?: (() => import("three-stdlib").Line2) | Readonly<(() => import("three-stdlib").Line2) | undefined>;
198
- isLineMaterial?: Readonly<true | undefined>;
199
- isShaderMaterial?: Readonly<true | undefined>;
199
+ isLineMaterial?: true | undefined;
200
+ isShaderMaterial?: true | undefined;
200
201
  uniforms?: {
201
202
  [uniform: string]: THREE.IUniform<any>;
202
203
  } | Readonly<{
@@ -14,9 +14,15 @@ export declare class NgtsEdges {
14
14
  options: import("@angular/core").InputSignalWithTransform<NgtsEdgesOptions, "" | Partial<NgtsEdgesOptions>>;
15
15
  private parameters;
16
16
  protected lineOptions: import("@angular/core").Signal<{
17
+ segments: boolean;
17
18
  raycast: () => null;
18
- isMesh?: Readonly<true | undefined>;
19
- type?: Readonly<string | undefined>;
19
+ id?: number | undefined;
20
+ uuid?: string | undefined;
21
+ name?: string | undefined;
22
+ type?: string | undefined;
23
+ parent?: THREE.Object3D<THREE.Object3DEventMap> | Readonly<THREE.Object3D<THREE.Object3DEventMap> | null> | undefined;
24
+ children?: THREE.Object3D<THREE.Object3DEventMap>[] | undefined;
25
+ isMesh?: true | undefined;
20
26
  material?: ((THREE.Material | THREE.Material[] | Readonly<THREE.Material> | readonly THREE.Material[]) & (import("three-stdlib").LineMaterial | Readonly<import("three-stdlib").LineMaterial>)) | undefined;
21
27
  morphTargetInfluences?: number[] | Readonly<number[] | undefined>;
22
28
  morphTargetDictionary?: {
@@ -27,12 +33,7 @@ export declare class NgtsEdges {
27
33
  updateMorphTargets?: (() => void) | Readonly<(() => void) | undefined>;
28
34
  getVertexPosition?: ((index: number, target: THREE.Vector3) => THREE.Vector3) | Readonly<((index: number, target: THREE.Vector3) => THREE.Vector3) | undefined>;
29
35
  toJSON?: ((((meta?: THREE.JSONMeta) => THREE.MeshJSON) | Readonly<(meta?: THREE.JSONMeta) => THREE.MeshJSON>) & (((meta?: THREE.JSONMeta) => THREE.ShaderMaterialJSON) | Readonly<(meta?: THREE.JSONMeta) => THREE.ShaderMaterialJSON>)) | undefined;
30
- isObject3D?: Readonly<true | undefined>;
31
- id?: Readonly<number | undefined>;
32
- uuid?: Readonly<string | undefined>;
33
- name?: string | undefined;
34
- parent?: THREE.Object3D<THREE.Object3DEventMap> | Readonly<THREE.Object3D<THREE.Object3DEventMap> | null | undefined>;
35
- children?: THREE.Object3D<THREE.Object3DEventMap>[] | Readonly<THREE.Object3D<THREE.Object3DEventMap>[] | undefined>;
36
+ isObject3D?: true | undefined;
36
37
  up?: THREE.Vector3 | [x: number, y: number, z: number] | Readonly<number | THREE.Vector3 | [x: number, y: number, z: number] | undefined>;
37
38
  position?: THREE.Vector3 | [x: number, y: number, z: number] | Readonly<number | THREE.Vector3 | [x: number, y: number, z: number] | undefined>;
38
39
  rotation?: THREE.Euler | [x: number, y: number, z: number, order?: THREE.EulerOrder | undefined] | Readonly<number | THREE.Euler | [x: number, y: number, z: number, order?: THREE.EulerOrder | undefined] | undefined>;
@@ -104,7 +105,7 @@ export declare class NgtsEdges {
104
105
  updateWorldMatrix?: ((updateParents: boolean, updateChildren: boolean) => void) | Readonly<((updateParents: boolean, updateChildren: boolean) => void) | undefined>;
105
106
  clone?: ((((recursive?: boolean) => THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>) | Readonly<(recursive?: boolean) => THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>) & ((((recursive?: boolean) => import("three-stdlib").Line2) | Readonly<(recursive?: boolean) => import("three-stdlib").Line2>) & ((() => import("three-stdlib").LineMaterial) | Readonly<() => import("three-stdlib").LineMaterial>))) | undefined;
106
107
  copy?: ((((object: THREE.Object3D, recursive?: boolean) => THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>) | Readonly<(object: THREE.Object3D, recursive?: boolean) => THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>) & ((((object: THREE.Object3D, recursive?: boolean) => import("three-stdlib").Line2) | Readonly<(object: THREE.Object3D, recursive?: boolean) => import("three-stdlib").Line2>) & (((material: THREE.Material) => import("three-stdlib").LineMaterial) | Readonly<(material: THREE.Material) => import("three-stdlib").LineMaterial>))) | undefined;
107
- addEventListener?: ((((<T extends keyof THREE.Object3DEventMap>(type: T, listener: THREE.EventListener<THREE.Object3DEventMap[T], T, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>) => void) | Readonly<(<T extends keyof THREE.Object3DEventMap>(type: T, listener: THREE.EventListener<THREE.Object3DEventMap[T], T, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>) => void) | undefined>) & (<TEventKey extends keyof import("angular-three").NgtEventHandlers | "added" | "removed" | "childadded" | "childremoved" | keyof import("angular-three").NgtNodeEventMap<THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>>(type: TEventKey, listener: (this: import("angular-three").NgtNodeElement<typeof THREE.Mesh, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>, ev: import("angular-three").NgtAllObject3DEventsMap<THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>[TEventKey]) => any) => void)) & ((((<T extends keyof THREE.Object3DEventMap>(type: T, listener: THREE.EventListener<THREE.Object3DEventMap[T], T, import("three-stdlib").Line2>) => void) | Readonly<(<T extends keyof THREE.Object3DEventMap>(type: T, listener: THREE.EventListener<THREE.Object3DEventMap[T], T, import("three-stdlib").Line2>) => void) | undefined>) & (<TEventKey extends keyof import("angular-three").NgtEventHandlers | "added" | "removed" | "childadded" | "childremoved" | keyof import("angular-three").NgtNodeEventMap<import("three-stdlib").Line2>>(type: TEventKey, listener: (this: import("angular-three").NgtNodeElement<typeof import("three-stdlib").Line2, import("three-stdlib").Line2>, ev: import("angular-three").NgtAllObject3DEventsMap<import("three-stdlib").Line2>[TEventKey]) => any) => void)) & (((<T extends "dispose">(type: T, listener: THREE.EventListener<{
108
+ addEventListener?: ((((<T extends keyof THREE.Object3DEventMap>(type: T, listener: THREE.EventListener<THREE.Object3DEventMap[T], T, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>) => void) | Readonly<(<T extends keyof THREE.Object3DEventMap>(type: T, listener: THREE.EventListener<THREE.Object3DEventMap[T], T, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>) => void) | undefined>) & (<TEventKey extends keyof import("angular-three").NgtEventHandlers | "added" | "removed" | "childadded" | "childremoved" | "change" | keyof import("angular-three").NgtNodeEventMap<THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>>(type: TEventKey, listener: (this: import("angular-three").NgtNodeElement<typeof THREE.Mesh, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>, ev: import("angular-three").NgtAllObject3DEventsMap<THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>[TEventKey]) => any) => void)) & ((((<T extends keyof THREE.Object3DEventMap>(type: T, listener: THREE.EventListener<THREE.Object3DEventMap[T], T, import("three-stdlib").Line2>) => void) | Readonly<(<T extends keyof THREE.Object3DEventMap>(type: T, listener: THREE.EventListener<THREE.Object3DEventMap[T], T, import("three-stdlib").Line2>) => void) | undefined>) & (<TEventKey extends keyof import("angular-three").NgtEventHandlers | "added" | "removed" | "childadded" | "childremoved" | "change" | keyof import("angular-three").NgtNodeEventMap<import("three-stdlib").Line2>>(type: TEventKey, listener: (this: import("angular-three").NgtNodeElement<typeof import("three-stdlib").Line2, import("three-stdlib").Line2>, ev: import("angular-three").NgtAllObject3DEventsMap<import("three-stdlib").Line2>[TEventKey]) => any) => void)) & (((<T extends "dispose">(type: T, listener: THREE.EventListener<{
108
109
  dispose: {};
109
110
  }[T], T, import("three-stdlib").LineMaterial>) => void) | Readonly<(<T extends "dispose">(type: T, listener: THREE.EventListener<{
110
111
  dispose: {};
@@ -114,7 +115,7 @@ export declare class NgtsEdges {
114
115
  }[T], T, import("three-stdlib").LineMaterial>) => boolean) | Readonly<(<T extends "dispose">(type: T, listener: THREE.EventListener<{
115
116
  dispose: {};
116
117
  }[T], T, import("three-stdlib").LineMaterial>) => boolean)>))) | undefined;
117
- removeEventListener?: ((((<T extends keyof THREE.Object3DEventMap>(type: T, listener: THREE.EventListener<THREE.Object3DEventMap[T], T, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>) => void) | Readonly<(<T extends keyof THREE.Object3DEventMap>(type: T, listener: THREE.EventListener<THREE.Object3DEventMap[T], T, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>) => void) | undefined>) & (<TEventKey extends keyof import("angular-three").NgtEventHandlers | "added" | "removed" | "childadded" | "childremoved" | keyof import("angular-three").NgtNodeEventMap<THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>>(type: TEventKey, listener: (this: import("angular-three").NgtNodeElement<typeof THREE.Mesh, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>, ev: import("angular-three").NgtAllObject3DEventsMap<THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>[TEventKey]) => any) => void)) & ((((<T extends keyof THREE.Object3DEventMap>(type: T, listener: THREE.EventListener<THREE.Object3DEventMap[T], T, import("three-stdlib").Line2>) => void) | Readonly<(<T extends keyof THREE.Object3DEventMap>(type: T, listener: THREE.EventListener<THREE.Object3DEventMap[T], T, import("three-stdlib").Line2>) => void) | undefined>) & (<TEventKey extends keyof import("angular-three").NgtEventHandlers | "added" | "removed" | "childadded" | "childremoved" | keyof import("angular-three").NgtNodeEventMap<import("three-stdlib").Line2>>(type: TEventKey, listener: (this: import("angular-three").NgtNodeElement<typeof import("three-stdlib").Line2, import("three-stdlib").Line2>, ev: import("angular-three").NgtAllObject3DEventsMap<import("three-stdlib").Line2>[TEventKey]) => any) => void)) & (((<T extends "dispose">(type: T, listener: THREE.EventListener<{
118
+ removeEventListener?: ((((<T extends keyof THREE.Object3DEventMap>(type: T, listener: THREE.EventListener<THREE.Object3DEventMap[T], T, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>) => void) | Readonly<(<T extends keyof THREE.Object3DEventMap>(type: T, listener: THREE.EventListener<THREE.Object3DEventMap[T], T, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>) => void) | undefined>) & (<TEventKey extends keyof import("angular-three").NgtEventHandlers | "added" | "removed" | "childadded" | "childremoved" | "change" | keyof import("angular-three").NgtNodeEventMap<THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>>(type: TEventKey, listener: (this: import("angular-three").NgtNodeElement<typeof THREE.Mesh, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>, ev: import("angular-three").NgtAllObject3DEventsMap<THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>[TEventKey]) => any) => void)) & ((((<T extends keyof THREE.Object3DEventMap>(type: T, listener: THREE.EventListener<THREE.Object3DEventMap[T], T, import("three-stdlib").Line2>) => void) | Readonly<(<T extends keyof THREE.Object3DEventMap>(type: T, listener: THREE.EventListener<THREE.Object3DEventMap[T], T, import("three-stdlib").Line2>) => void) | undefined>) & (<TEventKey extends keyof import("angular-three").NgtEventHandlers | "added" | "removed" | "childadded" | "childremoved" | "change" | keyof import("angular-three").NgtNodeEventMap<import("three-stdlib").Line2>>(type: TEventKey, listener: (this: import("angular-three").NgtNodeElement<typeof import("three-stdlib").Line2, import("three-stdlib").Line2>, ev: import("angular-three").NgtAllObject3DEventsMap<import("three-stdlib").Line2>[TEventKey]) => any) => void)) & (((<T extends "dispose">(type: T, listener: THREE.EventListener<{
118
119
  dispose: {};
119
120
  }[T], T, import("three-stdlib").LineMaterial>) => void) | Readonly<(<T extends "dispose">(type: T, listener: THREE.EventListener<{
120
121
  dispose: {};
@@ -125,7 +126,7 @@ export declare class NgtsEdges {
125
126
  dispose: {};
126
127
  }[T]) => void)>)) | undefined;
127
128
  dispose?: (((() => void) | Readonly<() => void> | null) & (((() => void) & (() => void)) | Readonly<(() => void) & (() => void)>)) | undefined;
128
- isMaterial?: Readonly<true | undefined>;
129
+ isMaterial?: true | undefined;
129
130
  alphaHash?: boolean | undefined | undefined;
130
131
  alphaToCoverage?: boolean | undefined | undefined;
131
132
  blendAlpha?: number | undefined | undefined;
@@ -172,6 +173,7 @@ export declare class NgtsEdges {
172
173
  setValues?: ((parameters: THREE.ShaderMaterialParameters) => void) | Readonly<((parameters: THREE.ShaderMaterialParameters) => void) | undefined>;
173
174
  needsUpdate?: Readonly<boolean | undefined>;
174
175
  onBuild?: ((object: THREE.Object3D, parameters: THREE.WebGLProgramParametersWithUniforms, renderer: THREE.WebGLRenderer) => void) | Readonly<((object: THREE.Object3D, parameters: THREE.WebGLProgramParametersWithUniforms, renderer: THREE.WebGLRenderer) => void) | undefined>;
176
+ parameters?: ((Partial<THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>> | Readonly<Partial<THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>>) & ((Partial<import("three-stdlib").Line2> | Readonly<Partial<import("three-stdlib").Line2>>) & (Partial<import("three-stdlib").LineMaterial> | Readonly<Partial<import("three-stdlib").LineMaterial>>))) | undefined;
175
177
  __ngt_args__?: (([geometry?: THREE.BufferGeometry<THREE.NormalBufferAttributes> | undefined, material?: THREE.Material | THREE.Material[] | undefined] | readonly [geometry?: THREE.BufferGeometry<THREE.NormalBufferAttributes> | undefined, material?: THREE.Material | THREE.Material[] | undefined]) & (([geometry?: import("three-stdlib").LineGeometry | undefined, material?: import("three-stdlib").LineMaterial | undefined] | readonly [geometry?: import("three-stdlib").LineGeometry | undefined, material?: import("three-stdlib").LineMaterial | undefined]) & ([parameters?: LineMaterialParameters | undefined] | readonly [parameters?: LineMaterialParameters | undefined]))) | undefined;
176
178
  color?: THREE.ColorRepresentation | undefined;
177
179
  dashed?: boolean | undefined | undefined;
@@ -184,11 +186,11 @@ export declare class NgtsEdges {
184
186
  wireframe?: boolean | undefined | undefined;
185
187
  worldUnits?: boolean | undefined | undefined;
186
188
  format?: THREE.PixelFormat | undefined;
187
- isLine2?: Readonly<true | undefined>;
188
- isLineSegments2?: Readonly<true | undefined>;
189
+ isLine2?: true | undefined;
190
+ isLineSegments2?: true | undefined;
189
191
  computeLineDistances?: (() => import("three-stdlib").Line2) | Readonly<(() => import("three-stdlib").Line2) | undefined>;
190
- isLineMaterial?: Readonly<true | undefined>;
191
- isShaderMaterial?: Readonly<true | undefined>;
192
+ isLineMaterial?: true | undefined;
193
+ isShaderMaterial?: true | undefined;
192
194
  uniforms?: {
193
195
  [uniform: string]: THREE.IUniform<any>;
194
196
  } | Readonly<{
@@ -33,7 +33,7 @@ export declare class NgtsText3D {
33
33
  })[] | null>;
34
34
  constructor();
35
35
  static ɵfac: i0.ɵɵFactoryDeclaration<NgtsText3D, never>;
36
- static ɵcmp: i0.ɵɵComponentDeclaration<NgtsText3D, "ngts-text-3d", never, { "font": { "alias": "font"; "required": true; "isSignal": true; }; "text": { "alias": "text"; "required": true; "isSignal": true; }; "options": { "alias": "options"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
36
+ static ɵcmp: i0.ɵɵComponentDeclaration<NgtsText3D, "ngts-text-3d, ngts-text-3D", never, { "font": { "alias": "font"; "required": true; "isSignal": true; }; "text": { "alias": "text"; "required": true; "isSignal": true; }; "options": { "alias": "options"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
37
37
  }
38
38
  export type NgtTextGeometry = NgtThreeElement<typeof TextGeometry>;
39
39
  declare global {
@@ -1,6 +1,7 @@
1
1
  import { NgtThreeElements } from 'angular-three';
2
2
  import * as THREE from 'three';
3
3
  import * as i0 from "@angular/core";
4
+ import * as i1 from "angular-three";
4
5
  export interface NgtsTextOptions extends Partial<NgtThreeElements['ngt-mesh']> {
5
6
  characters?: string;
6
7
  color?: THREE.ColorRepresentation;
@@ -39,6 +40,7 @@ export declare class NgtsText {
39
40
  options: import("@angular/core").InputSignalWithTransform<NgtsTextOptions, "" | Partial<NgtsTextOptions>>;
40
41
  protected parameters: import("@angular/core").Signal<Omit<NgtsTextOptions, "font" | "fontSize" | "sdfGlyphSize" | "anchorX" | "anchorY" | "characters">>;
41
42
  synced: import("@angular/core").OutputEmitterRef<Text>;
43
+ private objectEvents;
42
44
  private store;
43
45
  private characters;
44
46
  protected font: import("@angular/core").Signal<string | undefined>;
@@ -47,7 +49,9 @@ export declare class NgtsText {
47
49
  protected sdfGlyphSize: import("@angular/core").Signal<number>;
48
50
  protected fontSize: import("@angular/core").Signal<number>;
49
51
  troikaMesh: any;
52
+ private textPrimitiveRef;
53
+ private textPrimitive;
50
54
  constructor();
51
55
  static ɵfac: i0.ɵɵFactoryDeclaration<NgtsText, never>;
52
- static ɵcmp: i0.ɵɵComponentDeclaration<NgtsText, "ngts-text", never, { "text": { "alias": "text"; "required": true; "isSignal": true; }; "options": { "alias": "options"; "required": false; "isSignal": true; }; }, { "synced": "synced"; }, never, ["*"], true, never>;
56
+ static ɵcmp: i0.ɵɵComponentDeclaration<NgtsText, "ngts-text", never, { "text": { "alias": "text"; "required": true; "isSignal": true; }; "options": { "alias": "options"; "required": false; "isSignal": true; }; }, { "synced": "synced"; }, never, ["*"], true, [{ directive: typeof i1.NgtObjectEvents; inputs: {}; outputs: { "click": "click"; "dblclick": "dblclick"; "contextmenu": "contextmenu"; "pointerup": "pointerup"; "pointerdown": "pointerdown"; "pointerover": "pointerover"; "pointerout": "pointerout"; "pointerenter": "pointerenter"; "pointerleave": "pointerleave"; "pointermove": "pointermove"; "pointermissed": "pointermissed"; "pointercancel": "pointercancel"; "wheel": "wheel"; }; }]>;
53
57
  }
@@ -1,9 +1,8 @@
1
- import { Signal } from '@angular/core';
2
1
  import * as THREE from 'three';
3
2
  import * as i0 from "@angular/core";
4
3
  export declare class NgtsCameraContent {
5
4
  static ngTemplateContextGuard(_: NgtsCameraContent, ctx: unknown): ctx is {
6
- $implicit: Signal<THREE.Texture>;
5
+ $implicit: THREE.Texture;
7
6
  };
8
7
  static ɵfac: i0.ɵɵFactoryDeclaration<NgtsCameraContent, never>;
9
8
  static ɵdir: i0.ɵɵDirectiveDeclaration<NgtsCameraContent, "ng-template[cameraContent]", never, {}, {}, never, never, true, never>;
@@ -21,9 +21,9 @@ export declare function injectCubeCamera(options: () => CubeCameraOptions, { inj
21
21
  camera: import("@angular/core").Signal<THREE.CubeCamera>;
22
22
  update: () => void;
23
23
  };
24
- export interface NgtsCubeCameraOptions extends Partial<NgtThreeElements['ngt-group']>, CubeCameraOptions {
24
+ export type NgtsCubeCameraOptions = Partial<NgtThreeElements['ngt-group']> & CubeCameraOptions & {
25
25
  frames: number;
26
- }
26
+ };
27
27
  export declare class NgtsCubeCamera {
28
28
  options: import("@angular/core").InputSignalWithTransform<NgtsCubeCameraOptions, "" | Partial<NgtsCubeCameraOptions>>;
29
29
  protected parameters: import("@angular/core").Signal<Omit<NgtsCubeCameraOptions, "near" | "far" | "envMap" | "frames" | "resolution" | "fog">>;
@@ -16,14 +16,16 @@ export interface NgtsOrthographicCameraOptions extends Partial<NgtThreeElements[
16
16
  }
17
17
  export declare class NgtsOrthographicCamera {
18
18
  options: import("@angular/core").InputSignalWithTransform<NgtsOrthographicCameraOptions, "" | Partial<NgtsOrthographicCameraOptions>>;
19
- protected parameters: import("@angular/core").Signal<Omit<NgtsOrthographicCameraOptions, "envMap" | "makeDefault" | "manual" | "frames" | "resolution" | "left" | "right" | "top" | "bottom">>;
19
+ protected parameters: import("@angular/core").Signal<Omit<NgtsOrthographicCameraOptions, "envMap" | "makeDefault" | "frames" | "resolution" | "left" | "right" | "top" | "bottom">>;
20
20
  protected content: import("@angular/core").Signal<TemplateRef<any> | undefined>;
21
21
  protected cameraContent: import("@angular/core").Signal<TemplateRef<any> | undefined>;
22
22
  cameraRef: import("@angular/core").Signal<ElementRef<THREE.OrthographicCamera>>;
23
23
  groupRef: import("@angular/core").Signal<ElementRef<THREE.Group<THREE.Object3DEventMap>>>;
24
24
  private store;
25
- private camera;
26
- private size;
25
+ private _left;
26
+ private _right;
27
+ private _top;
28
+ private _bottom;
27
29
  protected left: import("@angular/core").Signal<number>;
28
30
  protected right: import("@angular/core").Signal<number>;
29
31
  protected top: import("@angular/core").Signal<number>;
@@ -31,8 +33,7 @@ export declare class NgtsOrthographicCamera {
31
33
  private manual;
32
34
  private makeDefault;
33
35
  private resolution;
34
- private fbo;
35
- protected texture: import("@angular/core").Signal<THREE.Texture>;
36
+ protected fbo: THREE.WebGLRenderTarget<THREE.Texture>;
36
37
  constructor();
37
38
  static ɵfac: i0.ɵɵFactoryDeclaration<NgtsOrthographicCamera, never>;
38
39
  static ɵcmp: i0.ɵɵComponentDeclaration<NgtsOrthographicCamera, "ngts-orthographic-camera", never, { "options": { "alias": "options"; "required": false; "isSignal": true; }; }, {}, ["content", "cameraContent"], never, true, never>;
@@ -16,19 +16,16 @@ export interface NgtsPerspectiveCameraOptions extends Partial<NgtThreeElements['
16
16
  }
17
17
  export declare class NgtsPerspectiveCamera {
18
18
  options: import("@angular/core").InputSignalWithTransform<NgtsPerspectiveCameraOptions, "" | Partial<NgtsPerspectiveCameraOptions>>;
19
- protected parameters: import("@angular/core").Signal<Omit<NgtsPerspectiveCameraOptions, "envMap" | "makeDefault" | "manual" | "frames" | "resolution">>;
19
+ protected parameters: import("@angular/core").Signal<Omit<NgtsPerspectiveCameraOptions, "envMap" | "makeDefault" | "frames" | "resolution">>;
20
20
  protected content: import("@angular/core").Signal<TemplateRef<any> | undefined>;
21
21
  protected cameraContent: import("@angular/core").Signal<TemplateRef<any> | undefined>;
22
22
  cameraRef: import("@angular/core").Signal<ElementRef<THREE.PerspectiveCamera>>;
23
23
  groupRef: import("@angular/core").Signal<ElementRef<THREE.Group<THREE.Object3DEventMap>>>;
24
24
  private store;
25
- private camera;
26
- private size;
27
25
  private manual;
28
26
  private makeDefault;
29
27
  private resolution;
30
- private fbo;
31
- protected texture: import("@angular/core").Signal<THREE.Texture>;
28
+ protected fbo: THREE.WebGLRenderTarget<THREE.Texture>;
32
29
  constructor();
33
30
  static ɵfac: i0.ɵɵFactoryDeclaration<NgtsPerspectiveCamera, never>;
34
31
  static ɵcmp: i0.ɵɵComponentDeclaration<NgtsPerspectiveCamera, "ngts-perspective-camera", never, { "options": { "alias": "options"; "required": false; "isSignal": true; }; }, {}, ["content", "cameraContent"], never, true, never>;
@@ -38,36 +38,36 @@ Other options are available in the `camera-controls` library. For more informati
38
38
 
39
39
  ```ts
40
40
  @Component({
41
- template: `
42
- <ngt-mesh>
43
- <ngt-box-geometry />
44
- <ngt-mesh-basic-material color="red" [wireframe]="true" />
45
- </ngt-mesh>
46
-
47
- <ngt-grid-helper *args="[50, 50]" [position]="[0, -1, 0]" />
48
-
49
- <ngts-camera-controls />
50
- `,
51
- imports: [NgtsCameraControls, NgtArgs],
52
- schemas: [CUSTOM_ELEMENTS_SCHEMA],
53
- changeDetection: ChangeDetectionStrategy.OnPush,
41
+ template: `
42
+ <ngt-mesh>
43
+ <ngt-box-geometry />
44
+ <ngt-mesh-basic-material color="red" [wireframe]="true" />
45
+ </ngt-mesh>
46
+
47
+ <ngt-grid-helper *args="[50, 50]" [position]="[0, -1, 0]" />
48
+
49
+ <ngts-camera-controls />
50
+ `,
51
+ imports: [NgtsCameraControls, NgtArgs],
52
+ schemas: [CUSTOM_ELEMENTS_SCHEMA],
53
+ changeDetection: ChangeDetectionStrategy.OnPush,
54
54
  })
55
55
  class DefaultCameraControlsStory {
56
- rotate = input<keyof typeof rotations | 'none'>('none');
57
-
58
- cameraControlsRef = viewChild.required(NgtsCameraControls);
59
-
60
- constructor() {
61
- effect(() => {
62
- const [rotate, controls] = [this.rotate(), this.cameraControlsRef().controls()];
63
- if (rotate !== 'none') {
64
- const [theta, phi, animate] = rotations[rotate];
65
- void controls.rotate(theta, phi, animate);
66
- } else {
67
- void controls.reset(true);
68
- }
69
- });
70
- }
56
+ rotate = input<keyof typeof rotations | 'none'>('none');
57
+
58
+ cameraControlsRef = viewChild.required(NgtsCameraControls);
59
+
60
+ constructor() {
61
+ effect(() => {
62
+ const [rotate, controls] = [this.rotate(), this.cameraControlsRef().controls()];
63
+ if (rotate !== 'none') {
64
+ const [theta, phi, animate] = rotations[rotate];
65
+ void controls.rotate(theta, phi, animate);
66
+ } else {
67
+ void controls.reset(true);
68
+ }
69
+ });
70
+ }
71
71
  }
72
72
  ```
73
73
 
@@ -1,3 +1,4 @@
1
1
  export * from './lib/camera-controls';
2
2
  export * from './lib/orbit-controls';
3
3
  export * from './lib/scroll-controls';
4
+ export * from './lib/trackball-controls';
@@ -10,7 +10,7 @@ export interface NgtsCameraControlsOptions {
10
10
  }
11
11
  export declare class NgtsCameraControls {
12
12
  options: import("@angular/core").InputSignalWithTransform<Partial<CameraControls> & NgtsCameraControlsOptions, "" | Partial<Partial<CameraControls> & NgtsCameraControlsOptions>>;
13
- protected parameters: import("@angular/core").Signal<Omit<Partial<CameraControls> & NgtsCameraControlsOptions, "domElement" | "makeDefault" | "camera" | "regress">>;
13
+ protected parameters: import("@angular/core").Signal<Omit<Partial<CameraControls> & NgtsCameraControlsOptions, "domElement" | "camera" | "regress" | "makeDefault">>;
14
14
  changed: import("@angular/core").OutputEmitterRef<any>;
15
15
  started: import("@angular/core").OutputEmitterRef<any>;
16
16
  ended: import("@angular/core").OutputEmitterRef<any>;
@@ -1,8 +1,12 @@
1
- import { NgtVector3 } from 'angular-three';
1
+ import { NgtOverwrite, NgtThreeElement, NgtVector3 } from 'angular-three';
2
2
  import * as THREE from 'three';
3
3
  import { OrbitControls } from 'three-stdlib';
4
4
  import * as i0 from "@angular/core";
5
- export interface NgtsOrbitControlsOptions {
5
+ type ExtractCallback<T, E extends string> = T extends {
6
+ addEventListener(event: E, callback: infer C): void;
7
+ } ? C : never;
8
+ export type OrbitControlsChangeEvent = Parameters<ExtractCallback<OrbitControls, 'change'>>[0];
9
+ export type NgtsOrbitControlsOptions = Omit<NgtOverwrite<NgtThreeElement<typeof OrbitControls>, {
6
10
  camera?: THREE.Camera;
7
11
  domElement?: HTMLElement;
8
12
  target?: NgtVector3;
@@ -10,11 +14,11 @@ export interface NgtsOrbitControlsOptions {
10
14
  regress: boolean;
11
15
  enableDamping: boolean;
12
16
  keyEvents: boolean | HTMLElement;
13
- }
17
+ }>, 'attach' | 'addEventListener' | 'removeEventListener' | 'parameters' | '___ngt_args__' | '_domElementKeyEvents'>;
14
18
  export declare class NgtsOrbitControls {
15
- options: import("@angular/core").InputSignalWithTransform<Partial<OrbitControls> & NgtsOrbitControlsOptions, "" | Partial<Partial<OrbitControls> & NgtsOrbitControlsOptions>>;
16
- protected parameters: import("@angular/core").Signal<Omit<Partial<OrbitControls> & NgtsOrbitControlsOptions, "domElement" | "enableDamping" | "makeDefault" | "camera" | "regress" | "keyEvents">>;
17
- changed: import("@angular/core").OutputEmitterRef<THREE.Event<string, unknown>>;
19
+ options: import("@angular/core").InputSignalWithTransform<NgtsOrbitControlsOptions, "" | Partial<NgtsOrbitControlsOptions>>;
20
+ protected parameters: import("@angular/core").Signal<Omit<NgtsOrbitControlsOptions, "domElement" | "camera" | "regress" | "makeDefault" | "enableDamping" | "keyEvents">>;
21
+ changed: import("@angular/core").OutputEmitterRef<import("node_modules/three-stdlib/controls/EventDispatcher").Event<keyof import("node_modules/three-stdlib/controls/StandardControlsEventMap").StandardControlsEventMap, OrbitControls>>;
18
22
  started: import("@angular/core").OutputEmitterRef<THREE.Event<string, unknown>>;
19
23
  ended: import("@angular/core").OutputEmitterRef<THREE.Event<string, unknown>>;
20
24
  private store;
@@ -29,3 +33,4 @@ export declare class NgtsOrbitControls {
29
33
  static ɵfac: i0.ɵɵFactoryDeclaration<NgtsOrbitControls, never>;
30
34
  static ɵcmp: i0.ɵɵComponentDeclaration<NgtsOrbitControls, "ngts-orbit-controls", never, { "options": { "alias": "options"; "required": false; "isSignal": true; }; }, { "changed": "changed"; "started": "started"; "ended": "ended"; }, never, ["*"], true, never>;
31
35
  }
36
+ export {};
@@ -0,0 +1,27 @@
1
+ import { NgtOverwrite, NgtThreeElement, NgtVector3 } from 'angular-three';
2
+ import * as THREE from 'three';
3
+ import { TrackballControls } from 'three-stdlib';
4
+ import * as i0 from "@angular/core";
5
+ export type NgtsTrackballControlsOptions = Omit<NgtOverwrite<NgtThreeElement<typeof TrackballControls>, {
6
+ target?: NgtVector3;
7
+ camera?: THREE.Camera;
8
+ domElement?: HTMLElement;
9
+ regress: boolean;
10
+ makeDefault: boolean;
11
+ }>, 'attach' | 'addEventListener' | 'removeEventListener' | 'parameters' | '___ngt_args__'>;
12
+ export declare class NgtsTrackballControls {
13
+ options: import("@angular/core").InputSignalWithTransform<NgtsTrackballControlsOptions, "" | Partial<NgtsTrackballControlsOptions>>;
14
+ protected parameters: import("@angular/core").Signal<Omit<NgtsTrackballControlsOptions, "domElement" | "camera" | "regress" | "makeDefault">>;
15
+ changed: import("@angular/core").OutputEmitterRef<THREE.Event<string, unknown>>;
16
+ started: import("@angular/core").OutputEmitterRef<THREE.Event<string, unknown>>;
17
+ ended: import("@angular/core").OutputEmitterRef<THREE.Event<string, unknown>>;
18
+ private store;
19
+ private camera;
20
+ private regress;
21
+ private domElement;
22
+ private makeDefault;
23
+ protected controls: import("@angular/core").Signal<TrackballControls>;
24
+ constructor();
25
+ static ɵfac: i0.ɵɵFactoryDeclaration<NgtsTrackballControls, never>;
26
+ static ɵcmp: i0.ɵɵComponentDeclaration<NgtsTrackballControls, "ngts-trackball-controls", never, { "options": { "alias": "options"; "required": false; "isSignal": true; }; }, { "changed": "changed"; "started": "started"; "ended": "ended"; }, never, ["*"], true, never>;
27
+ }