@react-three/drei 11.0.0-alpha.5 → 11.0.0-alpha.6

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/native/index.d.ts CHANGED
@@ -3,10 +3,9 @@ import { ForwardRefExoticComponent, PropsWithoutRef, RefAttributes, CSSPropertie
3
3
  import * as _react_three_fiber from '@react-three/fiber';
4
4
  import { ThreeElements, ReactThreeFiber, ComputeFunction, Vector2, Vector3, ThreeElement, ThreeEvent, Color as Color$1, ObjectMap, Euler } from '@react-three/fiber';
5
5
  import * as THREE from 'three/webgpu';
6
- import { MeshBasicNodeMaterial, MeshNormalNodeMaterial, MeshPhysicalNodeMaterial, Material, Color, ColorRepresentation, Object3D, Texture as Texture$1, Fog, FogExp2, WebGLCubeRenderTarget, CubeCamera as CubeCamera$1, OrthographicCamera as OrthographicCamera$1, PerspectiveCamera as PerspectiveCamera$1, EventDispatcher, Camera, Matrix4, Vector3 as Vector3$1, Group, LOD, Mesh, ExtrudeGeometry, PositionalAudio as PositionalAudio$1, AnimationClip, AnimationMixer, AnimationAction, BufferGeometry, BufferAttribute, InstancedMesh as InstancedMesh$1, InstancedBufferAttribute, DepthTexture, CubeTexture as CubeTexture$1, Raycaster, Intersection, RenderTargetOptions, Box3, Sphere as Sphere$1, Loader as Loader$1, ColorSpace, Scene, PlaneGeometry, MeshBasicMaterial, SpriteNodeMaterial, SpotLight as SpotLight$1 } from 'three/webgpu';
7
- import { reflector, uniform, Fn } from 'three/tsl';
6
+ import { MeshBasicNodeMaterial, MeshNormalNodeMaterial, MeshPhysicalNodeMaterial, Material, CubeRenderTarget, Color, ColorRepresentation, Object3D, Texture as Texture$1, Fog, FogExp2, CubeCamera as CubeCamera$1, OrthographicCamera as OrthographicCamera$1, PerspectiveCamera as PerspectiveCamera$1, EventDispatcher, Camera, Group, Matrix4, Vector3 as Vector3$1, LOD, Mesh, ExtrudeGeometry, PositionalAudio as PositionalAudio$1, AnimationClip, AnimationMixer, AnimationAction, BufferGeometry, BufferAttribute, InstancedMesh as InstancedMesh$1, InstancedBufferAttribute, DepthTexture, CubeTexture as CubeTexture$1, Raycaster, Intersection, RenderTargetOptions, Box3, Sphere as Sphere$1, Loader as Loader$1, ColorSpace, Scene, PlaneGeometry, MeshBasicMaterial, SpriteNodeMaterial, SpotLight as SpotLight$1 } from 'three/webgpu';
7
+ import { reflector, Fn } from 'three/tsl';
8
8
  import { LineSegments2 } from 'three/examples/jsm/lines/webgpu/LineSegments2.js';
9
- import { DragConfig } from '@use-gesture/react';
10
9
  import * as zustand from 'zustand';
11
10
  import { StoreApi } from 'zustand';
12
11
  import { OrbitControls } from 'three/addons/controls/OrbitControls.js';
@@ -66,7 +65,7 @@ interface AccumulativeContext {
66
65
  frames: number;
67
66
  blend: number;
68
67
  count: number;
69
- getMesh: () => THREE.Mesh<THREE.PlaneGeometry, THREE.ShaderMaterial>;
68
+ getMesh: () => THREE.Mesh<THREE.PlaneGeometry, SoftShadowMaterialImpl>;
70
69
  reset: () => void;
71
70
  update: (frames?: number) => void;
72
71
  }
@@ -74,6 +73,25 @@ interface AccumulativeLightContext {
74
73
  update: () => void;
75
74
  }
76
75
  declare const accumulativeContext: React.Context<AccumulativeContext>;
76
+ declare class SoftShadowMaterialImpl extends MeshBasicNodeMaterial {
77
+ private _color;
78
+ private _blend;
79
+ private _alphaTest;
80
+ private _opacity;
81
+ private _map;
82
+ constructor();
83
+ private _buildShader;
84
+ get shadowColor(): THREE.ColorRepresentation;
85
+ set shadowColor(v: THREE.ColorRepresentation);
86
+ get blend(): number;
87
+ set blend(v: number);
88
+ get alphaTest(): number;
89
+ set alphaTest(v: number);
90
+ get opacity(): number;
91
+ set opacity(v: number);
92
+ get map(): THREE.Texture;
93
+ set map(v: THREE.Texture);
94
+ }
77
95
  declare const AccumulativeShadows: ForwardRefComponent<AccumulativeShadowsProps, AccumulativeContext>;
78
96
  type RandomizedLightProps = Omit<ThreeElements['group'], 'ref'> & {
79
97
  frames?: number;
@@ -172,6 +190,7 @@ type MeshTransmissionMaterialType = Omit<ThreeElements['meshPhysicalMaterial'],
172
190
  temporalDistortion?: number;
173
191
  buffer?: THREE.Texture;
174
192
  time?: number;
193
+ debugMode?: number;
175
194
  args?: [samples: number, transmissionSampler: boolean];
176
195
  };
177
196
  type MeshTransmissionMaterialProps = Omit<MeshTransmissionMaterialType, 'ref' | 'args'> & {
@@ -189,44 +208,7 @@ declare module '@react-three/fiber' {
189
208
  meshTransmissionMaterial: MeshTransmissionMaterialType;
190
209
  }
191
210
  }
192
- declare class MeshTransmissionMaterialImpl extends MeshPhysicalNodeMaterial {
193
- private _chromaticAberration;
194
- private _anisotropicBlur;
195
- private _time;
196
- private _distortion;
197
- private _distortionScale;
198
- private _temporalDistortion;
199
- private _buffer;
200
- private _transmissionValue;
201
- private _attenuationDistance;
202
- private _attenuationColor;
203
- private _samples;
204
- private _transmissionSampler;
205
- readonly isMeshTransmissionMaterial = true;
206
- constructor(samples?: number, transmissionSampler?: boolean);
207
- private _buildTransmissionShader;
208
- get chromaticAberration(): number;
209
- set chromaticAberration(v: number);
210
- get anisotropicBlur(): number;
211
- set anisotropicBlur(v: number);
212
- get time(): number;
213
- set time(v: number);
214
- get distortion(): number;
215
- set distortion(v: number);
216
- get distortionScale(): number;
217
- set distortionScale(v: number);
218
- get temporalDistortion(): number;
219
- set temporalDistortion(v: number);
220
- get buffer(): THREE.Texture | null;
221
- set buffer(v: THREE.Texture | null);
222
- get _transmission(): number;
223
- set _transmission(v: number);
224
- get attenuationDistance(): number;
225
- set attenuationDistance(v: number);
226
- get attenuationColor(): THREE.Color;
227
- set attenuationColor(v: THREE.Color);
228
- }
229
- declare const MeshTransmissionMaterial: ForwardRefComponent<MeshTransmissionMaterialProps, MeshTransmissionMaterialImpl>;
211
+ declare const MeshTransmissionMaterial: ForwardRefComponent<MeshTransmissionMaterialProps, ThreeElements['meshTransmissionMaterial']>;
230
212
 
231
213
  interface MeshReflectorMaterialOptions {
232
214
  resolution?: number;
@@ -243,18 +225,18 @@ interface MeshReflectorMaterialOptions {
243
225
  }
244
226
  declare class MeshReflectorMaterial$1 extends THREE.MeshStandardNodeMaterial {
245
227
  reflection: ReturnType<typeof reflector>;
246
- mirrorUniform: ReturnType<typeof uniform<number>>;
247
- mixBlurUniform: ReturnType<typeof uniform<number>>;
248
- mixStrengthUniform: ReturnType<typeof uniform<number>>;
249
- minDepthThresholdUniform: ReturnType<typeof uniform<number>>;
250
- maxDepthThresholdUniform: ReturnType<typeof uniform<number>>;
251
- depthScaleUniform: ReturnType<typeof uniform<number>>;
252
- depthToBlurRatioBiasUniform: ReturnType<typeof uniform<number>>;
253
- distortionUniform: ReturnType<typeof uniform<number>>;
254
- mixContrastUniform: ReturnType<typeof uniform<number>>;
255
- blurRadiusUniform: ReturnType<typeof uniform<number>>;
256
- hasBlurUniform: ReturnType<typeof uniform<number>>;
257
- hasDepthUniform: ReturnType<typeof uniform<number>>;
228
+ mirrorUniform: THREE.UniformNode<'float', number>;
229
+ mixBlurUniform: THREE.UniformNode<'float', number>;
230
+ mixStrengthUniform: THREE.UniformNode<'float', number>;
231
+ minDepthThresholdUniform: THREE.UniformNode<'float', number>;
232
+ maxDepthThresholdUniform: THREE.UniformNode<'float', number>;
233
+ depthScaleUniform: THREE.UniformNode<'float', number>;
234
+ depthToBlurRatioBiasUniform: THREE.UniformNode<'float', number>;
235
+ distortionUniform: THREE.UniformNode<'float', number>;
236
+ mixContrastUniform: THREE.UniformNode<'float', number>;
237
+ blurRadiusUniform: THREE.UniformNode<'float', number>;
238
+ hasBlurUniform: THREE.UniformNode<'float', number>;
239
+ hasDepthUniform: THREE.UniformNode<'float', number>;
258
240
  constructor(options?: MeshReflectorMaterialOptions, parameters?: THREE.MeshStandardMaterialParameters);
259
241
  private setupNodes;
260
242
  get mirror(): number;
@@ -320,6 +302,7 @@ type MeshRefractionMaterialType = Omit<ThreeElements['meshPhysicalMaterial'], 'a
320
302
  fastChroma?: boolean;
321
303
  tintColor?: THREE.ColorRepresentation;
322
304
  opacity?: number;
305
+ args?: [fastChroma?: boolean];
323
306
  };
324
307
  type MeshRefractionMaterialProps = Omit<MeshRefractionMaterialType, 'ref'>;
325
308
  declare module '@react-three/fiber' {
@@ -335,8 +318,6 @@ declare class MeshRefractionMaterialImpl extends MeshPhysicalNodeMaterial {
335
318
  private _aberrationStrength;
336
319
  private _color;
337
320
  private _opacityValue;
338
- private _resolution;
339
- private _thickness;
340
321
  private _fastChroma;
341
322
  readonly isMeshRefractionMaterial = true;
342
323
  constructor(fastChroma?: boolean);
@@ -355,10 +336,6 @@ declare class MeshRefractionMaterialImpl extends MeshPhysicalNodeMaterial {
355
336
  set tintColor(v: THREE.Color | THREE.ColorRepresentation);
356
337
  get opacity(): number;
357
338
  set opacity(v: number);
358
- get resolution(): THREE.Vector2;
359
- set resolution(v: THREE.Vector2);
360
- get thickness(): number;
361
- set thickness(v: number);
362
339
  }
363
340
  declare const MeshRefractionMaterial: ForwardRefComponent<MeshRefractionMaterialProps, MeshRefractionMaterialImpl>;
364
341
 
@@ -397,16 +374,16 @@ declare class PortalMaterialImpl extends MeshBasicNodeMaterial {
397
374
  declare const MeshPortalMaterial: ForwardRefComponent<PortalProps, PortalMaterialImpl>;
398
375
 
399
376
  declare class DistortMaterialImplWebGPU extends THREE.MeshPhysicalNodeMaterial {
400
- timeUniform: ReturnType<typeof uniform>;
401
- distortUniform: ReturnType<typeof uniform>;
402
- radiusUniform: ReturnType<typeof uniform>;
377
+ timeUniform: THREE.UniformNode<'float', number>;
378
+ distortUniform: THREE.UniformNode<'float', number>;
379
+ radiusUniform: THREE.UniformNode<'float', number>;
403
380
  constructor(parameters?: THREE.MeshPhysicalMaterialParameters);
404
- get time(): unknown;
405
- set time(v: unknown);
406
- get distort(): unknown;
407
- set distort(v: unknown);
408
- get radius(): unknown;
409
- set radius(v: unknown);
381
+ get time(): number;
382
+ set time(v: number);
383
+ get distort(): number;
384
+ set distort(v: number);
385
+ get radius(): number;
386
+ set radius(v: number);
410
387
  }
411
388
  declare module '@react-three/fiber' {
412
389
  interface ThreeElements {
@@ -424,13 +401,13 @@ type MeshDistortMaterialProps = Omit<ThreeElements['distortMaterialImplWebGPU'],
424
401
  declare const MeshDistortMaterial: ForwardRefComponent<MeshDistortMaterialProps, DistortMaterialImplWebGPU>;
425
402
 
426
403
  declare class WobbleMaterialImpl extends THREE.MeshStandardNodeMaterial {
427
- timeUniform: ReturnType<typeof uniform>;
428
- factorUniform: ReturnType<typeof uniform>;
404
+ timeUniform: THREE.UniformNode<'float', number>;
405
+ factorUniform: THREE.UniformNode<'float', number>;
429
406
  constructor(parameters?: THREE.MeshStandardMaterialParameters);
430
- get time(): unknown;
431
- set time(v: unknown);
432
- get factor(): unknown;
433
- set factor(v: unknown);
407
+ get time(): number;
408
+ set time(v: number);
409
+ get factor(): number;
410
+ set factor(v: number);
434
411
  }
435
412
  declare module '@react-three/fiber' {
436
413
  interface ThreeElements {
@@ -447,7 +424,7 @@ type WobbleMaterialProps = Omit<ThreeElements['meshStandardMaterial'], 'ref'> &
447
424
  };
448
425
  declare const MeshWobbleMaterial: ForwardRefComponent<WobbleMaterialProps, WobbleMaterialImpl>;
449
426
 
450
- declare function FakeCloudMaterial(BaseMaterial: typeof Material): Material;
427
+ declare function FakeCloudMaterial(BaseMaterial: typeof Material): Material<three.MaterialEventMap>;
451
428
 
452
429
  type OutlinesProps = Omit<ThreeElements['group'], 'ref'> & {
453
430
  color?: ReactThreeFiber.Color;
@@ -501,7 +478,7 @@ type RenderCubeTextureProps = Omit<ThreeElements['texture'], 'ref' | 'args' | 'r
501
478
  };
502
479
  type RenderCubeTextureApi = {
503
480
  scene: THREE.Scene;
504
- fbo: THREE.WebGLCubeRenderTarget;
481
+ fbo: CubeRenderTarget;
505
482
  camera: THREE.CubeCamera;
506
483
  };
507
484
  declare const RenderCubeTexture: ForwardRefComponent<RenderCubeTextureProps, RenderCubeTextureApi>;
@@ -577,7 +554,7 @@ type CubeCameraProps = Omit<ThreeElements['group'], 'children'> & {
577
554
  frames?: number;
578
555
  } & CubeCameraOptions;
579
556
  declare function useCubeCamera({ resolution, near, far, envMap, fog }?: CubeCameraOptions): {
580
- fbo: WebGLCubeRenderTarget;
557
+ fbo: CubeRenderTarget;
581
558
  camera: CubeCamera$1;
582
559
  update: () => void;
583
560
  };
@@ -638,10 +615,6 @@ type DeviceOrientationControlsProps = Omit<ThreeElement<typeof DeviceOrientation
638
615
  };
639
616
  declare const DeviceOrientationControls: ForwardRefComponent<DeviceOrientationControlsProps, DeviceOrientationControls$1>;
640
617
 
641
- type ExpandedDragConfig = DragConfig & {
642
- preventOverlap?: boolean;
643
- };
644
-
645
618
  type State = object;
646
619
  type StateSelector<T extends State, U> = (state: T) => U;
647
620
  type EqualityChecker<T> = (state: T, newState: T) => boolean;
@@ -796,6 +769,7 @@ type CloudsProps = Omit<ThreeElements['group'], 'ref'> & {
796
769
  frustumCulled?: boolean;
797
770
  };
798
771
  type CloudProps = Omit<ThreeElements['group'], 'ref'> & {
772
+ materialFactory?: (baseMaterial: typeof Material) => Material;
799
773
  seed?: number;
800
774
  segments?: number;
801
775
  bounds?: ReactThreeFiber.Vector3;
@@ -813,9 +787,52 @@ type CloudProps = Omit<ThreeElements['group'], 'ref'> & {
813
787
  opacity?: number;
814
788
  color?: ReactThreeFiber.Color;
815
789
  };
816
- declare const Clouds: React.ForwardRefExoticComponent<Omit<CloudsProps, "ref"> & React.RefAttributes<Group<three.Object3DEventMap>>>;
817
- declare const CloudInstance: React.ForwardRefExoticComponent<Omit<CloudProps, "ref"> & React.RefAttributes<Group<three.Object3DEventMap>>>;
818
- declare const Cloud: React.ForwardRefExoticComponent<Omit<CloudProps, "ref"> & React.RefAttributes<Group<three.Object3DEventMap>>>;
790
+ declare const Clouds: React.ForwardRefExoticComponent<Omit<_react_three_fiber.Mutable<_react_three_fiber.Overwrite<Partial<_react_three_fiber.Overwrite<Group<three.Object3DEventMap>, _react_three_fiber.MathProps<Group<three.Object3DEventMap>> & _react_three_fiber.ReactProps<Group<three.Object3DEventMap>> & Partial<_react_three_fiber.EventHandlers> & _react_three_fiber.NodeProps<Group<three.Object3DEventMap>>>>, Omit<_react_three_fiber.InstanceProps<Group<three.Object3DEventMap>, typeof Group>, "object">>>, "ref"> & {
791
+ texture?: string;
792
+ limit?: number;
793
+ range?: number;
794
+ material?: typeof Material;
795
+ materialFactory?: (baseMaterial: typeof Material) => Material;
796
+ frustumCulled?: boolean;
797
+ } & React.RefAttributes<Group<three.Object3DEventMap>>>;
798
+ declare const CloudInstance: React.ForwardRefExoticComponent<Omit<_react_three_fiber.Mutable<_react_three_fiber.Overwrite<Partial<_react_three_fiber.Overwrite<Group<three.Object3DEventMap>, _react_three_fiber.MathProps<Group<three.Object3DEventMap>> & _react_three_fiber.ReactProps<Group<three.Object3DEventMap>> & Partial<_react_three_fiber.EventHandlers> & _react_three_fiber.NodeProps<Group<three.Object3DEventMap>>>>, Omit<_react_three_fiber.InstanceProps<Group<three.Object3DEventMap>, typeof Group>, "object">>>, "ref"> & {
799
+ materialFactory?: (baseMaterial: typeof Material) => Material;
800
+ seed?: number;
801
+ segments?: number;
802
+ bounds?: ReactThreeFiber.Vector3;
803
+ concentrate?: "random" | "inside" | "outside";
804
+ scale?: ReactThreeFiber.Vector3;
805
+ volume?: number;
806
+ smallestVolume?: number;
807
+ distribute?: (cloud: CloudState, index: number) => {
808
+ point: Vector3$1;
809
+ volume?: number;
810
+ };
811
+ growth?: number;
812
+ speed?: number;
813
+ fade?: number;
814
+ opacity?: number;
815
+ color?: ReactThreeFiber.Color;
816
+ } & React.RefAttributes<Group<three.Object3DEventMap>>>;
817
+ declare const Cloud: React.ForwardRefExoticComponent<Omit<_react_three_fiber.Mutable<_react_three_fiber.Overwrite<Partial<_react_three_fiber.Overwrite<Group<three.Object3DEventMap>, _react_three_fiber.MathProps<Group<three.Object3DEventMap>> & _react_three_fiber.ReactProps<Group<three.Object3DEventMap>> & Partial<_react_three_fiber.EventHandlers> & _react_three_fiber.NodeProps<Group<three.Object3DEventMap>>>>, Omit<_react_three_fiber.InstanceProps<Group<three.Object3DEventMap>, typeof Group>, "object">>>, "ref"> & {
818
+ materialFactory?: (baseMaterial: typeof Material) => Material;
819
+ seed?: number;
820
+ segments?: number;
821
+ bounds?: ReactThreeFiber.Vector3;
822
+ concentrate?: "random" | "inside" | "outside";
823
+ scale?: ReactThreeFiber.Vector3;
824
+ volume?: number;
825
+ smallestVolume?: number;
826
+ distribute?: (cloud: CloudState, index: number) => {
827
+ point: Vector3$1;
828
+ volume?: number;
829
+ };
830
+ growth?: number;
831
+ speed?: number;
832
+ fade?: number;
833
+ opacity?: number;
834
+ color?: ReactThreeFiber.Color;
835
+ } & React.RefAttributes<Group<three.Object3DEventMap>>>;
819
836
 
820
837
  type CatmullRomLineProps = Omit<LineProps, 'ref' | 'segments'> & {
821
838
  closed?: boolean;
@@ -935,25 +952,25 @@ type Args<T> = T extends new (...args: any) => any ? ConstructorParameters<T> :
935
952
  type ShapeProps<T> = Omit<ThreeElements['mesh'], 'ref' | 'args'> & {
936
953
  args?: Args<T>;
937
954
  };
938
- declare const Box: ForwardRefComponent<ShapeProps<typeof THREE.BoxGeometry>, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>;
939
- declare const Circle: ForwardRefComponent<ShapeProps<typeof THREE.CircleGeometry>, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>;
940
- declare const Cone: ForwardRefComponent<ShapeProps<typeof THREE.ConeGeometry>, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>;
941
- declare const Cylinder: ForwardRefComponent<ShapeProps<typeof THREE.CylinderGeometry>, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>;
942
- declare const Sphere: ForwardRefComponent<ShapeProps<typeof THREE.SphereGeometry>, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>;
943
- declare const Plane: ForwardRefComponent<ShapeProps<typeof THREE.PlaneGeometry>, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>;
944
- declare const Tube: ForwardRefComponent<ShapeProps<typeof THREE.TubeGeometry>, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>;
945
- declare const Torus: ForwardRefComponent<ShapeProps<typeof THREE.TorusGeometry>, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>;
946
- declare const TorusKnot: ForwardRefComponent<ShapeProps<typeof THREE.TorusKnotGeometry>, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>;
947
- declare const Tetrahedron: ForwardRefComponent<ShapeProps<typeof THREE.TetrahedronGeometry>, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>;
948
- declare const Ring: ForwardRefComponent<ShapeProps<typeof THREE.RingGeometry>, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>;
949
- declare const Polyhedron: ForwardRefComponent<ShapeProps<typeof THREE.PolyhedronGeometry>, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>;
950
- declare const Icosahedron: ForwardRefComponent<ShapeProps<typeof THREE.IcosahedronGeometry>, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>;
951
- declare const Octahedron: ForwardRefComponent<ShapeProps<typeof THREE.OctahedronGeometry>, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>;
952
- declare const Dodecahedron: ForwardRefComponent<ShapeProps<typeof THREE.DodecahedronGeometry>, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>;
953
- declare const Extrude: ForwardRefComponent<ShapeProps<typeof THREE.ExtrudeGeometry>, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>;
954
- declare const Lathe: ForwardRefComponent<ShapeProps<typeof THREE.LatheGeometry>, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>;
955
- declare const Capsule: ForwardRefComponent<ShapeProps<typeof THREE.CapsuleGeometry>, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>;
956
- declare const Shape: ForwardRefComponent<ShapeProps<typeof THREE.ShapeGeometry>, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>;
955
+ declare const Box: ForwardRefComponent<ShapeProps<typeof THREE.BoxGeometry>, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material<THREE.MaterialEventMap> | THREE.Material<THREE.MaterialEventMap>[], THREE.Object3DEventMap>>;
956
+ declare const Circle: ForwardRefComponent<ShapeProps<typeof THREE.CircleGeometry>, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material<THREE.MaterialEventMap> | THREE.Material<THREE.MaterialEventMap>[], THREE.Object3DEventMap>>;
957
+ declare const Cone: ForwardRefComponent<ShapeProps<typeof THREE.ConeGeometry>, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material<THREE.MaterialEventMap> | THREE.Material<THREE.MaterialEventMap>[], THREE.Object3DEventMap>>;
958
+ declare const Cylinder: ForwardRefComponent<ShapeProps<typeof THREE.CylinderGeometry>, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material<THREE.MaterialEventMap> | THREE.Material<THREE.MaterialEventMap>[], THREE.Object3DEventMap>>;
959
+ declare const Sphere: ForwardRefComponent<ShapeProps<typeof THREE.SphereGeometry>, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material<THREE.MaterialEventMap> | THREE.Material<THREE.MaterialEventMap>[], THREE.Object3DEventMap>>;
960
+ declare const Plane: ForwardRefComponent<ShapeProps<typeof THREE.PlaneGeometry>, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material<THREE.MaterialEventMap> | THREE.Material<THREE.MaterialEventMap>[], THREE.Object3DEventMap>>;
961
+ declare const Tube: ForwardRefComponent<ShapeProps<typeof THREE.TubeGeometry>, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material<THREE.MaterialEventMap> | THREE.Material<THREE.MaterialEventMap>[], THREE.Object3DEventMap>>;
962
+ declare const Torus: ForwardRefComponent<ShapeProps<typeof THREE.TorusGeometry>, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material<THREE.MaterialEventMap> | THREE.Material<THREE.MaterialEventMap>[], THREE.Object3DEventMap>>;
963
+ declare const TorusKnot: ForwardRefComponent<ShapeProps<typeof THREE.TorusKnotGeometry>, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material<THREE.MaterialEventMap> | THREE.Material<THREE.MaterialEventMap>[], THREE.Object3DEventMap>>;
964
+ declare const Tetrahedron: ForwardRefComponent<ShapeProps<typeof THREE.TetrahedronGeometry>, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material<THREE.MaterialEventMap> | THREE.Material<THREE.MaterialEventMap>[], THREE.Object3DEventMap>>;
965
+ declare const Ring: ForwardRefComponent<ShapeProps<typeof THREE.RingGeometry>, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material<THREE.MaterialEventMap> | THREE.Material<THREE.MaterialEventMap>[], THREE.Object3DEventMap>>;
966
+ declare const Polyhedron: ForwardRefComponent<ShapeProps<typeof THREE.PolyhedronGeometry>, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material<THREE.MaterialEventMap> | THREE.Material<THREE.MaterialEventMap>[], THREE.Object3DEventMap>>;
967
+ declare const Icosahedron: ForwardRefComponent<ShapeProps<typeof THREE.IcosahedronGeometry>, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material<THREE.MaterialEventMap> | THREE.Material<THREE.MaterialEventMap>[], THREE.Object3DEventMap>>;
968
+ declare const Octahedron: ForwardRefComponent<ShapeProps<typeof THREE.OctahedronGeometry>, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material<THREE.MaterialEventMap> | THREE.Material<THREE.MaterialEventMap>[], THREE.Object3DEventMap>>;
969
+ declare const Dodecahedron: ForwardRefComponent<ShapeProps<typeof THREE.DodecahedronGeometry>, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material<THREE.MaterialEventMap> | THREE.Material<THREE.MaterialEventMap>[], THREE.Object3DEventMap>>;
970
+ declare const Extrude: ForwardRefComponent<ShapeProps<typeof THREE.ExtrudeGeometry>, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material<THREE.MaterialEventMap> | THREE.Material<THREE.MaterialEventMap>[], THREE.Object3DEventMap>>;
971
+ declare const Lathe: ForwardRefComponent<ShapeProps<typeof THREE.LatheGeometry>, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material<THREE.MaterialEventMap> | THREE.Material<THREE.MaterialEventMap>[], THREE.Object3DEventMap>>;
972
+ declare const Capsule: ForwardRefComponent<ShapeProps<typeof THREE.CapsuleGeometry>, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material<THREE.MaterialEventMap> | THREE.Material<THREE.MaterialEventMap>[], THREE.Object3DEventMap>>;
973
+ declare const Shape: ForwardRefComponent<ShapeProps<typeof THREE.ShapeGeometry>, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material<THREE.MaterialEventMap> | THREE.Material<THREE.MaterialEventMap>[], THREE.Object3DEventMap>>;
957
974
 
958
975
  type Glyph = {
959
976
  _cachedOutline: string[];
@@ -992,7 +1009,8 @@ type Text3DProps = Omit<ThreeElements['mesh'], 'ref'> & {
992
1009
  font: FontData | string;
993
1010
  bevelSegments?: number;
994
1011
  smooth?: number;
995
- } & Omit<TextGeometryParameters, 'font'>;
1012
+ height?: number;
1013
+ } & Omit<TextGeometryParameters, 'font' | 'depth'>;
996
1014
  declare const Text3D: ForwardRefComponent<React.PropsWithChildren<Text3DProps & {
997
1015
  letterSpacing?: number;
998
1016
  lineHeight?: number;
@@ -1044,6 +1062,12 @@ type OnDragStartProps = {
1044
1062
  origin: THREE.Vector3;
1045
1063
  directions: THREE.Vector3[];
1046
1064
  };
1065
+ type OnDragProps = {
1066
+ local: THREE.Matrix4;
1067
+ deltaLocal: THREE.Matrix4;
1068
+ world: THREE.Matrix4;
1069
+ deltaWorld: THREE.Matrix4;
1070
+ };
1047
1071
  type OnHoverProps = {
1048
1072
  component: 'Arrow' | 'Slider' | 'Rotator' | 'Sphere';
1049
1073
  axis: 0 | 1 | 2;
@@ -1074,8 +1098,8 @@ type PivotControlsProps = {
1074
1098
  annotations?: boolean;
1075
1099
  annotationsClass?: string;
1076
1100
  onDragStart?: (props: OnDragStartProps) => void;
1077
- onDrag?: (l: THREE.Matrix4, deltaL: THREE.Matrix4, w: THREE.Matrix4, deltaW: THREE.Matrix4) => void;
1078
- onDragEnd?: () => void;
1101
+ onDrag?: (props: OnDragProps) => void;
1102
+ onDragEnd?: (props: OnDragProps) => void;
1079
1103
  onHover?: (props: OnHoverProps) => void;
1080
1104
  depthTest?: boolean;
1081
1105
  renderOrder?: number;
@@ -1118,8 +1142,8 @@ type HelperType = Object3D & {
1118
1142
  dispose: () => void;
1119
1143
  };
1120
1144
  type HelperConstructor = new (...args: any[]) => any;
1121
- type HelperArgs<T> = T extends [infer _, ...infer R] ? R : never;
1122
- declare function useHelper<T extends HelperConstructor>(object3D: React.RefObject<Object3D> | Falsey, helperConstructor: T, ...args: HelperArgs<ConstructorParameters<T>>): React.RefObject<HelperType | null>;
1145
+ type HelperArgs<T> = T extends [infer _, ...infer R] ? R : [];
1146
+ declare function useHelper<T extends HelperConstructor>(object3D: React.RefObject<Object3D | null> | Falsey, helperConstructor: T, ...args: HelperArgs<ConstructorParameters<T>>): React.RefObject<HelperType | null>;
1123
1147
  type HelperProps<T extends HelperConstructor> = {
1124
1148
  type: T;
1125
1149
  args?: HelperArgs<ConstructorParameters<T>>;
@@ -1176,7 +1200,7 @@ declare class PositionMesh extends THREE.Group {
1176
1200
  get geometry(): THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap> | undefined;
1177
1201
  raycast(raycaster: THREE.Raycaster, intersects: THREE.Intersection[]): void;
1178
1202
  }
1179
- declare const Instance: React.ForwardRefExoticComponent<Omit<_react_three_fiber.Mutable<_react_three_fiber.Overwrite<Partial<_react_three_fiber.Overwrite<PositionMesh, _react_three_fiber.MathProps<PositionMesh> & _react_three_fiber.ReactProps<PositionMesh> & Partial<_react_three_fiber.EventHandlers>>>, Omit<_react_three_fiber.InstanceProps<PositionMesh, typeof PositionMesh>, "object">>>, "ref"> & {
1203
+ declare const Instance: React.ForwardRefExoticComponent<Omit<_react_three_fiber.Mutable<_react_three_fiber.Overwrite<Partial<_react_three_fiber.Overwrite<PositionMesh, _react_three_fiber.MathProps<PositionMesh> & _react_three_fiber.ReactProps<PositionMesh> & Partial<_react_three_fiber.EventHandlers> & _react_three_fiber.NodeProps<PositionMesh>>>, Omit<_react_three_fiber.InstanceProps<PositionMesh, typeof PositionMesh>, "object">>>, "ref"> & {
1180
1204
  context?: React.Context<Api$1>;
1181
1205
  } & React.RefAttributes<unknown>>;
1182
1206
  declare const Instances: ForwardRefComponent<InstancesProps, THREE.InstancedMesh>;
@@ -1185,10 +1209,21 @@ interface MergedProps extends Omit<InstancesProps, 'children'> {
1185
1209
  children: (...instances: [React.FC<InstanceProps> & Record<string, React.FC<InstanceProps>>, ...React.FC<InstanceProps>[]]) => React.ReactNode;
1186
1210
  }
1187
1211
  declare const Merged: ForwardRefComponent<MergedProps, THREE.Group>;
1188
- declare function createInstances<T = InstanceProps>(): readonly [React.ForwardRefExoticComponent<Omit<InstancesProps, "ref"> & React.RefAttributes<THREE.InstancedMesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.InstancedMeshEventMap>>>, React.ForwardRefExoticComponent<React.PropsWithoutRef<T & Omit<_react_three_fiber.Mutable<_react_three_fiber.Overwrite<Partial<_react_three_fiber.Overwrite<PositionMesh, _react_three_fiber.MathProps<PositionMesh> & _react_three_fiber.ReactProps<PositionMesh> & Partial<_react_three_fiber.EventHandlers>>>, Omit<_react_three_fiber.InstanceProps<PositionMesh, typeof PositionMesh>, "object">>>, "ref"> & {
1212
+ declare function createInstances<T = InstanceProps>(): readonly [React.ForwardRefExoticComponent<Omit<_react_three_fiber.Mutable<_react_three_fiber.Overwrite<Partial<_react_three_fiber.Overwrite<THREE.InstancedMesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material<THREE.MaterialEventMap> | THREE.Material<THREE.MaterialEventMap>[], THREE.InstancedMeshEventMap>, _react_three_fiber.MathProps<THREE.InstancedMesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material<THREE.MaterialEventMap> | THREE.Material<THREE.MaterialEventMap>[], THREE.InstancedMeshEventMap>> & _react_three_fiber.ReactProps<THREE.InstancedMesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material<THREE.MaterialEventMap> | THREE.Material<THREE.MaterialEventMap>[], THREE.InstancedMeshEventMap>> & Partial<_react_three_fiber.EventHandlers> & _react_three_fiber.NodeProps<THREE.InstancedMesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material<THREE.MaterialEventMap> | THREE.Material<THREE.MaterialEventMap>[], THREE.InstancedMeshEventMap>>>>, Omit<_react_three_fiber.InstanceProps<THREE.InstancedMesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material<THREE.MaterialEventMap> | THREE.Material<THREE.MaterialEventMap>[], THREE.InstancedMeshEventMap>, typeof THREE.InstancedMesh>, "object">>>, "ref" | "args"> & {
1213
+ context?: React.Context<Api$1>;
1214
+ range?: number;
1215
+ limit?: number;
1216
+ frames?: number;
1217
+ } & React.RefAttributes<THREE.InstancedMesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material<THREE.MaterialEventMap> | THREE.Material<THREE.MaterialEventMap>[], THREE.InstancedMeshEventMap>>>, React.ForwardRefExoticComponent<React.PropsWithoutRef<T & Omit<_react_three_fiber.Mutable<_react_three_fiber.Overwrite<Partial<_react_three_fiber.Overwrite<PositionMesh, _react_three_fiber.MathProps<PositionMesh> & _react_three_fiber.ReactProps<PositionMesh> & Partial<_react_three_fiber.EventHandlers> & _react_three_fiber.NodeProps<PositionMesh>>>, Omit<_react_three_fiber.InstanceProps<PositionMesh, typeof PositionMesh>, "object">>>, "ref"> & {
1189
1218
  context?: React.Context<Api$1>;
1190
1219
  }> & React.RefAttributes<PositionMesh & T>>];
1191
- declare const InstancedAttribute: React.ForwardRefExoticComponent<Omit<InstancedAttributeProps, "ref"> & React.RefAttributes<THREE.InstancedBufferAttribute>>;
1220
+ declare const InstancedAttribute: React.ForwardRefExoticComponent<Omit<_react_three_fiber.Mutable<_react_three_fiber.Overwrite<Partial<_react_three_fiber.Overwrite<THREE.InstancedBufferAttribute, _react_three_fiber.MathProps<THREE.InstancedBufferAttribute> & _react_three_fiber.ReactProps<THREE.InstancedBufferAttribute> & _react_three_fiber.NodeProps<THREE.InstancedBufferAttribute>>>, Omit<_react_three_fiber.InstanceProps<THREE.InstancedBufferAttribute, typeof THREE.InstancedBufferAttribute>, "object">>>, "ref" | "args"> & {
1221
+ name: string;
1222
+ defaultValue: any;
1223
+ normalized?: boolean;
1224
+ usage?: number;
1225
+ type?: "float" | "int" | "uint" | "short" | "ushort" | "byte";
1226
+ } & React.RefAttributes<THREE.InstancedBufferAttribute>>;
1192
1227
 
1193
1228
  type Size = {
1194
1229
  w: number;
@@ -1292,7 +1327,40 @@ type SpriteAnimatorState = {
1292
1327
  ref: React.Ref<THREE.Group>;
1293
1328
  };
1294
1329
  declare function useSpriteAnimator(): SpriteAnimatorState | null;
1295
- declare const SpriteAnimator: React.ForwardRefExoticComponent<Omit<SpriteAnimatorProps, "ref"> & React.RefAttributes<THREE.Group<THREE.Object3DEventMap>>>;
1330
+ declare const SpriteAnimator: React.ForwardRefExoticComponent<{
1331
+ startFrame?: number;
1332
+ endFrame?: number;
1333
+ fps?: number;
1334
+ frameName?: string;
1335
+ textureDataURL?: string;
1336
+ textureImageURL?: string;
1337
+ loop?: boolean;
1338
+ numberOfFrames?: number;
1339
+ autoPlay?: boolean;
1340
+ animationNames?: Array<string>;
1341
+ onStart?: (data: AnimationEventData) => void;
1342
+ onEnd?: (data: AnimationEventData) => void;
1343
+ onLoopEnd?: (data: AnimationEventData) => void;
1344
+ onFrame?: (data: AnimationEventData) => void;
1345
+ play?: boolean;
1346
+ pause?: boolean;
1347
+ flipX?: boolean;
1348
+ alphaTest?: number;
1349
+ asSprite?: boolean;
1350
+ offset?: number;
1351
+ playBackwards?: boolean;
1352
+ resetOnEnd?: boolean;
1353
+ instanceItems?: Vector3[];
1354
+ maxItems?: number;
1355
+ spriteDataset?: {
1356
+ spriteTexture: THREE.Texture;
1357
+ spriteData: SpriteData | null;
1358
+ aspect: Vector3;
1359
+ } | null;
1360
+ canvasRenderingContext2DSettings?: CanvasRenderingContext2DSettings;
1361
+ roundFramePosition?: boolean;
1362
+ meshProps?: CommonMeshProps;
1363
+ } & Omit<_react_three_fiber.Mutable<_react_three_fiber.Overwrite<Partial<_react_three_fiber.Overwrite<THREE.Group<THREE.Object3DEventMap>, _react_three_fiber.MathProps<THREE.Group<THREE.Object3DEventMap>> & _react_three_fiber.ReactProps<THREE.Group<THREE.Object3DEventMap>> & Partial<_react_three_fiber.EventHandlers> & _react_three_fiber.NodeProps<THREE.Group<THREE.Object3DEventMap>>>>, Omit<_react_three_fiber.InstanceProps<THREE.Group<THREE.Object3DEventMap>, typeof THREE.Group>, "object">>>, "ref"> & React.RefAttributes<THREE.Group<THREE.Object3DEventMap>>>;
1296
1364
 
1297
1365
  type Api<T extends AnimationClip> = {
1298
1366
  ref: React.RefObject<Object3D | undefined | null>;
@@ -1378,7 +1446,7 @@ declare const Svg: ForwardRefComponent<SvgProps, Object3D>;
1378
1446
  declare function useDepthBuffer({ size, frames }?: {
1379
1447
  size?: number;
1380
1448
  frames?: number;
1381
- }): DepthTexture | null;
1449
+ }): DepthTexture<three.DepthTextureImageData> | null;
1382
1450
 
1383
1451
  interface CubeTextureOptions {
1384
1452
  path: string;
@@ -1477,27 +1545,42 @@ declare function Fbx({ path, ...props }: {
1477
1545
  type Path = string | string[];
1478
1546
  type UseDraco = boolean | string;
1479
1547
  type UseMeshopt = boolean;
1548
+ type UseKTX2 = boolean | string;
1480
1549
  type ExtendLoader$1 = (loader: GLTFLoader) => void;
1481
- declare const useGLTF: {
1482
- <T extends Path>(path: T, useDraco?: UseDraco, useMeshopt?: UseMeshopt, extendLoader?: ExtendLoader$1): T extends any[] ? (GLTF & ObjectMap)[] : GLTF & ObjectMap;
1483
- preload(path: Path, useDraco?: UseDraco, useMeshopt?: UseMeshopt, extendLoader?: ExtendLoader$1): void;
1484
- clear(path: Path): void;
1485
- setDecoderPath(path: string): void;
1486
- };
1550
+ interface UseGLTFOptions {
1551
+ draco?: UseDraco;
1552
+ meshopt?: UseMeshopt;
1553
+ ktx2?: UseKTX2;
1554
+ extendLoader?: ExtendLoader$1;
1555
+ }
1556
+ declare function useGLTF<T extends Path>(path: T, optionsOrDraco?: UseGLTFOptions | UseDraco, useMeshoptArg?: UseMeshopt, useKTX2Arg?: UseKTX2, extendLoaderArg?: ExtendLoader$1): T extends any[] ? (GLTF & ObjectMap)[] : GLTF & ObjectMap;
1557
+ declare namespace useGLTF {
1558
+ var preload: (path: Path, optionsOrDraco?: UseGLTFOptions | UseDraco, useMeshoptArg?: UseMeshopt, useKTX2Arg?: UseKTX2, extendLoaderArg?: ExtendLoader$1) => void;
1559
+ var clear: (path: Path) => void;
1560
+ var setDecoderPath: (path: string) => void;
1561
+ var setKTX2TranscoderPath: (path: string) => void;
1562
+ }
1487
1563
  type GltfProps = Omit<CloneProps, 'object'> & {
1488
1564
  src: string;
1489
1565
  useDraco?: UseDraco;
1490
1566
  useMeshOpt?: UseMeshopt;
1491
1567
  extendLoader?: ExtendLoader$1;
1568
+ options?: UseGLTFOptions;
1492
1569
  };
1493
- declare const Gltf: React.ForwardRefExoticComponent<Omit<GltfProps, "ref"> & React.RefAttributes<three.Group<three.Object3DEventMap>>>;
1570
+ declare const Gltf: React.ForwardRefExoticComponent<Omit<CloneProps, "object"> & {
1571
+ src: string;
1572
+ useDraco?: UseDraco;
1573
+ useMeshOpt?: UseMeshopt;
1574
+ extendLoader?: ExtendLoader$1;
1575
+ options?: UseGLTFOptions;
1576
+ } & React.RefAttributes<three.Group<three.Object3DEventMap>>>;
1494
1577
 
1495
1578
  type ExtendLoader = (loader: KTX2Loader) => void;
1496
1579
  declare function useKTX2<Url extends string[] | string | Record<string, string>>(input: Url, basisPath?: boolean | string, extendLoader?: ExtendLoader): Url extends any[] ? Texture$1[] : Url extends object ? {
1497
1580
  [key in keyof Url]: Texture$1;
1498
1581
  } : Texture$1;
1499
1582
  declare namespace useKTX2 {
1500
- var preload: (url: string extends any[] ? string[] : string, basisPath?: boolean | string, extendLoader?: ExtendLoader) => void;
1583
+ var preload: (url: string | string[], basisPath?: boolean | string, extendLoader?: ExtendLoader) => void;
1501
1584
  var clear: (input: string | string[]) => void;
1502
1585
  var setTranscoderPath: (path: string) => void;
1503
1586
  }
@@ -1623,7 +1706,7 @@ declare const StatsGl: ForwardRefComponent<StatsGlProps, HTMLDivElement>;
1623
1706
  type FBOSettings = {
1624
1707
  depth?: boolean;
1625
1708
  } & RenderTargetOptions;
1626
- declare function useFBO(width?: number | FBOSettings, height?: number, settings?: FBOSettings): THREE.WebGLRenderTarget<THREE.Texture<unknown>>;
1709
+ declare function useFBO(width?: number | FBOSettings, height?: number, settings?: FBOSettings): THREE.WebGLRenderTarget<THREE.Texture<unknown, THREE.TextureEventMap>>;
1627
1710
  type UseFBOParams = Parameters<typeof useFBO>;
1628
1711
  type FboProps = {
1629
1712
  children?: (target: Fbo) => React.ReactNode;
@@ -1637,7 +1720,7 @@ declare const Fbo: React.ForwardRefExoticComponent<{
1637
1720
  height?: UseFBOParams[1];
1638
1721
  } & {
1639
1722
  depth?: boolean;
1640
- } & THREE.RenderTargetOptions & React.RefAttributes<THREE.WebGLRenderTarget<THREE.Texture<unknown>>>>;
1723
+ } & THREE.RenderTargetOptions & React.RefAttributes<THREE.WebGLRenderTarget<THREE.Texture<unknown, THREE.TextureEventMap>>>>;
1641
1724
 
1642
1725
  type FisheyeProps = ThreeElements['mesh'] & {
1643
1726
  zoom?: number;
@@ -1657,7 +1740,7 @@ declare const Mask: ForwardRefComponent<MaskProps, THREE.Mesh>;
1657
1740
  declare function useMask(id: number, inverse?: boolean): {
1658
1741
  stencilWrite: boolean;
1659
1742
  stencilRef: number;
1660
- stencilFunc: 517 | 514;
1743
+ stencilFunc: 514 | 517;
1661
1744
  stencilFail: 7680;
1662
1745
  stencilZFail: 7680;
1663
1746
  stencilZPass: 7680;
@@ -1810,7 +1893,7 @@ type EnvironmentLoaderProps = {
1810
1893
  extensions?: (loader: Loader$1) => void;
1811
1894
  colorSpace?: ColorSpace;
1812
1895
  };
1813
- declare function useEnvironment({ files, path, preset, colorSpace, extensions, }?: Partial<EnvironmentLoaderProps>): Texture$1<unknown> | CubeTexture$1<unknown>;
1896
+ declare function useEnvironment({ files, path, preset, colorSpace, extensions, }?: Partial<EnvironmentLoaderProps>): Texture$1<unknown, three.TextureEventMap> | CubeTexture$1<unknown>;
1814
1897
  declare namespace useEnvironment {
1815
1898
  var preload: (preloadOptions?: EnvironmentLoaderPreloadOptions) => void;
1816
1899
  var clear: (clearOptions?: EnvironmentLoaderClearOptions) => void;
@@ -1881,7 +1964,13 @@ type ResizeProps = Omit<ThreeElements['group'], 'ref'> & {
1881
1964
  box3?: THREE.Box3;
1882
1965
  precise?: boolean;
1883
1966
  };
1884
- declare const Resize: React.ForwardRefExoticComponent<Omit<ResizeProps, "ref"> & React.RefAttributes<THREE.Group<THREE.Object3DEventMap>>>;
1967
+ declare const Resize: React.ForwardRefExoticComponent<Omit<_react_three_fiber.Mutable<_react_three_fiber.Overwrite<Partial<_react_three_fiber.Overwrite<THREE.Group<THREE.Object3DEventMap>, _react_three_fiber.MathProps<THREE.Group<THREE.Object3DEventMap>> & _react_three_fiber.ReactProps<THREE.Group<THREE.Object3DEventMap>> & Partial<_react_three_fiber.EventHandlers> & _react_three_fiber.NodeProps<THREE.Group<THREE.Object3DEventMap>>>>, Omit<_react_three_fiber.InstanceProps<THREE.Group<THREE.Object3DEventMap>, typeof THREE.Group>, "object">>>, "ref"> & {
1968
+ width?: boolean;
1969
+ height?: boolean;
1970
+ depth?: boolean;
1971
+ box3?: THREE.Box3;
1972
+ precise?: boolean;
1973
+ } & React.RefAttributes<THREE.Group<THREE.Object3DEventMap>>>;
1885
1974
 
1886
1975
  type ScreenSizerProps = Omit<ThreeElements['object3D'], 'ref'> & {
1887
1976
  scale?: number;
@@ -2164,7 +2253,7 @@ type GradientTextureProps = {
2164
2253
  type?: GradientType;
2165
2254
  innerCircleRadius?: number;
2166
2255
  outerCircleRadius?: number | 'auto';
2167
- } & Omit<ThreeElements['canvasTexture'], 'args'>;
2256
+ } & Omit<ThreeElements['canvasTexture'], 'args' | 'type'>;
2168
2257
  declare function GradientTexture({ stops, colors, size, width, type, innerCircleRadius, outerCircleRadius, ...props }: GradientTextureProps): React.JSX.Element;
2169
2258
 
2170
2259
  type ImageProps = Omit<ThreeElements['mesh'], 'scale'> & {
@@ -2271,7 +2360,7 @@ type SoftShadowsProps = {
2271
2360
  samples?: number;
2272
2361
  focus?: number;
2273
2362
  };
2274
- declare function SoftShadows(props: SoftShadowsProps): null;
2363
+ declare function SoftShadows({ size, samples, focus }: SoftShadowsProps): null;
2275
2364
 
2276
2365
  type SpotLightProps = Omit<ThreeElements['spotLight'], 'ref'> & {
2277
2366
  depthBuffer?: Texture$1;
@@ -2319,4 +2408,4 @@ type SparklesProps = Omit<ThreeElements['mesh'], 'ref'> & {
2319
2408
  declare const Sparkles: ForwardRefComponent<SparklesProps, THREE.InstancedMesh>;
2320
2409
 
2321
2410
  export { AccumulativeShadows, AdaptiveDpr, AdaptiveEvents, BBAnchor, Backdrop, BakeShadows, Billboard, Bounds, Box, CameraShake, Capsule, CatmullRomLine, CausticsMaterial, CausticsNormalMaterial, CausticsProjectionMaterial, Center, Circle, Clone, Cloud, CloudInstance, Clouds, ComputedAttribute, Cone, ContactShadows, ConvolutionMaterial, CubeCamera, CubeTexture, CubicBezierLine, CurveModifier, CycleRaycast, Cylinder, Decal, Detailed, DetectGPU, DeviceOrientationControls, DiscardMaterial, Dodecahedron, Edges, Environment, EnvironmentCube, EnvironmentMap, EnvironmentPortal, Example, Extrude, FakeCloudMaterial, Fbo, Fbx, Fisheye, Float, GizmoHelper, GizmoViewcube, GizmoViewport, Gltf, GradientTexture, GradientType, Grid, Helper, Hud, Icosahedron, Image, Instance, InstancedAttribute, Instances, IsObject, Ktx2, Lathe, Lightformer, Line, Loader, Mask, MatcapTexture, Merged, MeshDistortMaterial, MeshPortalMaterial, MeshReflectorMaterial, MeshReflectorMaterial$1 as MeshReflectorMaterialImpl, MeshRefractionMaterial, MeshTransmissionMaterial, MeshWobbleMaterial, MotionPathControls, NormalTexture, Octahedron, OrthographicCamera, Outlines, PerformanceMonitor, PerspectiveCamera, PivotControls, Plane, Point, PointMaterial, PointMaterialImpl, Points, PointsBuffer, Polyhedron, PositionMesh, PositionPoint, PositionalAudio, Preload, PresentationControls, Progress, QuadraticBezierLine, RandomizedLight, RenderCubeTexture, RenderTexture, Resize, Ring, RoundedBox, RoundedBoxGeometry, Sampler, ScreenQuad, ScreenSizer, ScreenSpace, ScreenVideoTexture, Scroll, Segment, SegmentObject, Segments, Select, Shadow, Shape, Sky, SoftShadows, Sparkles, SparklesMaterial, Sphere, SpotLight, SpotLightMaterial, SpriteAnimator, Stage, StarfieldMaterial, Stars, Stats, StatsGl, Svg, Tetrahedron, Text3D, Texture, Torus, TorusKnot, Trail, TrailTexture, TransformControls, Tube, VideoTexture, View, WebcamVideoTexture, Wireframe, WireframeMaterial, WireframeMaterialShaders, accumulativeContext, calcPosFromAngles, checkIfFrameIsEmpty, createInstances, getFirstFrame, meshBounds, presetsObj, setBarycentricCoordinates, setWireframeOverride, useAnimations, useAspect, useBounds, useContextBridge, useCubeCamera, useCubeTexture, useCursor, useCustomRaycast, useDepthBuffer, useDetectGPU, useEnvironment, useFBO, useFBX, useFont, useGLTF, useGizmoContext, useHelper, useIntersect, useKTX2, useKeyboardControls, useMask, useMatcapTexture, useMotion, useNormalTexture, usePerformanceMonitor, useProgress, useScroll, useSelect, useSpriteAnimator, useSpriteLoader, useSurfaceSampler, useTexture, useTrail, useTrailTexture, useVideoTexture, useWireframeUniforms };
2322
- export type { AccumulativeShadowsProps, Args, BBAnchorProps, BackdropProps, BillboardProps, BoundsApi, BoundsProps, CalculatePosition, CameraShakeProps, CatmullRomLineProps, CenterProps, CloneProps, CloudProps, CloudsProps, ComputedAttributeProps, ContactShadowsProps, ContainerProps, CubeCameraOptions, CubeCameraProps, CubeTextureProps, CubicBezierLineProps, CurveModifierProps, CurveModifierRef, CycleRaycastProps, DecalProps, DetailedProps, DetectGPUProps, DeviceOrientationControlsProps, EdgesProps, EdgesRef, EnvironmentLoaderProps, EnvironmentProps, ExampleApi, ExampleProps, ExpandedDragConfig, FboProps, FisheyeProps, FloatProps, FontData, FrameData, GizmoHelperProps, GltfProps, Glyph, GradientTextureProps, GridMaterialType, GridProps, HelperProps, HudProps, ImageProps, InstanceProps, InstancedAttributeProps, InstancesProps, KeyboardControlsEntry, LightProps, LineProps, LoaderOptions, MaskProps, MergedProps, MeshDistortMaterialProps, MeshReflectorMaterialProps, MeshRefractionMaterialProps, MeshRefractionMaterialType, MeshTransmissionMaterialProps, MetaData, MotionPathProps, MotionPathRef, OnCenterCallbackProps, OnDragStartProps, OnHoverProps, OrbitControlsChangeEvent, OrthographicCameraProps, OutlinesProps, PerformanceMonitorApi, PerformanceMonitorProps, PerspectiveCameraProps, PivotControlsProps, PointMaterialProps, PointsBuffersProps, PointsInstancesProps, PortalProps, PositionalAudioProps, PreloadProps, PresentationControlProps, PresetsType, QuadraticBezierLineProps, QuadraticBezierLineRef, RandomizedLightProps, RenderCubeTextureApi, RenderCubeTextureProps, RenderTextureProps, ResizeProps, RoundedBoxGeometryProps, RoundedBoxProps, SamplerProps, ScreenQuadProps, ScreenSizerProps, ScreenSpaceProps, ScreenVideoTextureProps, ScrollControlsState, ScrollProps, SegmentProps, SegmentsProps, SelectProps, ShadowProps, ShadowType, ShakeController, ShapeProps, Size, SizeProps, SkyProps, SoftShadowsProps, SparklesProps, SpotLightProps, SpriteAnimatorProps, SpriteData, StageProps, StarsProps, StatsGlProps, StatsProps, SvgProps, Text3DProps, TrailProps, TrailTextureProps, TransformControlsProps, TransformFn, VideoTextureProps, ViewProps, ViewportProps, WebcamVideoTextureProps, WireframeMaterialProps, WireframeMaterialType, WobbleMaterialProps, useSurfaceSamplerProps };
2411
+ export type { AccumulativeShadowsProps, Args, BBAnchorProps, BackdropProps, BillboardProps, BoundsApi, BoundsProps, CalculatePosition, CameraShakeProps, CatmullRomLineProps, CenterProps, CloneProps, CloudProps, CloudsProps, ComputedAttributeProps, ContactShadowsProps, ContainerProps, CubeCameraOptions, CubeCameraProps, CubeTextureProps, CubicBezierLineProps, CurveModifierProps, CurveModifierRef, CycleRaycastProps, DecalProps, DetailedProps, DetectGPUProps, DeviceOrientationControlsProps, EdgesProps, EdgesRef, EnvironmentLoaderProps, EnvironmentProps, ExampleApi, ExampleProps, FboProps, FisheyeProps, FloatProps, FontData, FrameData, GizmoHelperProps, GltfProps, Glyph, GradientTextureProps, GridMaterialType, GridProps, HelperProps, HudProps, ImageProps, InstanceProps, InstancedAttributeProps, InstancesProps, KeyboardControlsEntry, LightProps, LineProps, LoaderOptions, MaskProps, MergedProps, MeshDistortMaterialProps, MeshReflectorMaterialProps, MeshRefractionMaterialProps, MeshRefractionMaterialType, MeshTransmissionMaterialProps, MetaData, MotionPathProps, MotionPathRef, OnCenterCallbackProps, OnDragStartProps, OnHoverProps, OrbitControlsChangeEvent, OrthographicCameraProps, OutlinesProps, PerformanceMonitorApi, PerformanceMonitorProps, PerspectiveCameraProps, PivotControlsProps, PointMaterialProps, PointsBuffersProps, PointsInstancesProps, PortalProps, PositionalAudioProps, PreloadProps, PresentationControlProps, PresetsType, QuadraticBezierLineProps, QuadraticBezierLineRef, RandomizedLightProps, RenderCubeTextureApi, RenderCubeTextureProps, RenderTextureProps, ResizeProps, RoundedBoxGeometryProps, RoundedBoxProps, SamplerProps, ScreenQuadProps, ScreenSizerProps, ScreenSpaceProps, ScreenVideoTextureProps, ScrollControlsState, ScrollProps, SegmentProps, SegmentsProps, SelectProps, ShadowProps, ShadowType, ShakeController, ShapeProps, Size, SizeProps, SkyProps, SoftShadowsProps, SparklesProps, SpotLightProps, SpriteAnimatorProps, SpriteData, StageProps, StarsProps, StatsGlProps, StatsProps, SvgProps, Text3DProps, TrailProps, TrailTextureProps, TransformControlsProps, TransformFn, VideoTextureProps, ViewProps, ViewportProps, WebcamVideoTextureProps, WireframeMaterialProps, WireframeMaterialType, WobbleMaterialProps, useSurfaceSamplerProps };