@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.
@@ -3,11 +3,10 @@ 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, Event, 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, Event, 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, ShadowNode, Light, 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
9
  import { ArcballControls as ArcballControls$1 } from 'three/examples/jsm/controls/ArcballControls.js';
10
- import { DragConfig } from '@use-gesture/react';
11
10
  import { FirstPersonControls as FirstPersonControls$1 } from 'three/examples/jsm/controls/FirstPersonControls.js';
12
11
  import { FlyControls as FlyControls$1 } from 'three/examples/jsm/controls/FlyControls.js';
13
12
  import * as zustand from 'zustand';
@@ -17,6 +16,7 @@ import { OrbitControls as OrbitControls$1 } from 'three/addons/controls/OrbitCon
17
16
  import { PointerLockControls as PointerLockControls$1 } from 'three/examples/jsm/controls/PointerLockControls.js';
18
17
  import { TrackballControls as TrackballControls$1 } from 'three/examples/jsm/controls/TrackballControls.js';
19
18
  import * as three from 'three';
19
+ import { Material as Material$1 } from 'three';
20
20
  import { Line2 as Line2$1 } from 'three/examples/jsm/lines/Line2.js';
21
21
  import { Line2 } from 'three/examples/jsm/lines/webgpu/Line2.js';
22
22
  import { Flow } from 'three/examples/jsm/modifiers/CurveModifier.js';
@@ -76,7 +76,7 @@ interface AccumulativeContext {
76
76
  frames: number;
77
77
  blend: number;
78
78
  count: number;
79
- getMesh: () => THREE.Mesh<THREE.PlaneGeometry, THREE.ShaderMaterial>;
79
+ getMesh: () => THREE.Mesh<THREE.PlaneGeometry, SoftShadowMaterialImpl>;
80
80
  reset: () => void;
81
81
  update: (frames?: number) => void;
82
82
  }
@@ -84,6 +84,25 @@ interface AccumulativeLightContext {
84
84
  update: () => void;
85
85
  }
86
86
  declare const accumulativeContext: React.Context<AccumulativeContext>;
87
+ declare class SoftShadowMaterialImpl extends MeshBasicNodeMaterial {
88
+ private _color;
89
+ private _blend;
90
+ private _alphaTest;
91
+ private _opacity;
92
+ private _map;
93
+ constructor();
94
+ private _buildShader;
95
+ get shadowColor(): THREE.ColorRepresentation;
96
+ set shadowColor(v: THREE.ColorRepresentation);
97
+ get blend(): number;
98
+ set blend(v: number);
99
+ get alphaTest(): number;
100
+ set alphaTest(v: number);
101
+ get opacity(): number;
102
+ set opacity(v: number);
103
+ get map(): THREE.Texture;
104
+ set map(v: THREE.Texture);
105
+ }
87
106
  declare const AccumulativeShadows: ForwardRefComponent<AccumulativeShadowsProps, AccumulativeContext>;
88
107
  type RandomizedLightProps = Omit<ThreeElements['group'], 'ref'> & {
89
108
  frames?: number;
@@ -196,6 +215,7 @@ type MeshTransmissionMaterialType = Omit<ThreeElements['meshPhysicalMaterial'],
196
215
  temporalDistortion?: number;
197
216
  buffer?: THREE.Texture;
198
217
  time?: number;
218
+ debugMode?: number;
199
219
  args?: [samples: number, transmissionSampler: boolean];
200
220
  };
201
221
  type MeshTransmissionMaterialProps = Omit<MeshTransmissionMaterialType, 'ref' | 'args'> & {
@@ -213,44 +233,7 @@ declare module '@react-three/fiber' {
213
233
  meshTransmissionMaterial: MeshTransmissionMaterialType;
214
234
  }
215
235
  }
216
- declare class MeshTransmissionMaterialImpl extends MeshPhysicalNodeMaterial {
217
- private _chromaticAberration;
218
- private _anisotropicBlur;
219
- private _time;
220
- private _distortion;
221
- private _distortionScale;
222
- private _temporalDistortion;
223
- private _buffer;
224
- private _transmissionValue;
225
- private _attenuationDistance;
226
- private _attenuationColor;
227
- private _samples;
228
- private _transmissionSampler;
229
- readonly isMeshTransmissionMaterial = true;
230
- constructor(samples?: number, transmissionSampler?: boolean);
231
- private _buildTransmissionShader;
232
- get chromaticAberration(): number;
233
- set chromaticAberration(v: number);
234
- get anisotropicBlur(): number;
235
- set anisotropicBlur(v: number);
236
- get time(): number;
237
- set time(v: number);
238
- get distortion(): number;
239
- set distortion(v: number);
240
- get distortionScale(): number;
241
- set distortionScale(v: number);
242
- get temporalDistortion(): number;
243
- set temporalDistortion(v: number);
244
- get buffer(): THREE.Texture | null;
245
- set buffer(v: THREE.Texture | null);
246
- get _transmission(): number;
247
- set _transmission(v: number);
248
- get attenuationDistance(): number;
249
- set attenuationDistance(v: number);
250
- get attenuationColor(): THREE.Color;
251
- set attenuationColor(v: THREE.Color);
252
- }
253
- declare const MeshTransmissionMaterial: ForwardRefComponent<MeshTransmissionMaterialProps, MeshTransmissionMaterialImpl>;
236
+ declare const MeshTransmissionMaterial: ForwardRefComponent<MeshTransmissionMaterialProps, ThreeElements['meshTransmissionMaterial']>;
254
237
 
255
238
  interface MeshReflectorMaterialOptions {
256
239
  resolution?: number;
@@ -267,18 +250,18 @@ interface MeshReflectorMaterialOptions {
267
250
  }
268
251
  declare class MeshReflectorMaterial$1 extends THREE.MeshStandardNodeMaterial {
269
252
  reflection: ReturnType<typeof reflector>;
270
- mirrorUniform: ReturnType<typeof uniform<number>>;
271
- mixBlurUniform: ReturnType<typeof uniform<number>>;
272
- mixStrengthUniform: ReturnType<typeof uniform<number>>;
273
- minDepthThresholdUniform: ReturnType<typeof uniform<number>>;
274
- maxDepthThresholdUniform: ReturnType<typeof uniform<number>>;
275
- depthScaleUniform: ReturnType<typeof uniform<number>>;
276
- depthToBlurRatioBiasUniform: ReturnType<typeof uniform<number>>;
277
- distortionUniform: ReturnType<typeof uniform<number>>;
278
- mixContrastUniform: ReturnType<typeof uniform<number>>;
279
- blurRadiusUniform: ReturnType<typeof uniform<number>>;
280
- hasBlurUniform: ReturnType<typeof uniform<number>>;
281
- hasDepthUniform: ReturnType<typeof uniform<number>>;
253
+ mirrorUniform: THREE.UniformNode<'float', number>;
254
+ mixBlurUniform: THREE.UniformNode<'float', number>;
255
+ mixStrengthUniform: THREE.UniformNode<'float', number>;
256
+ minDepthThresholdUniform: THREE.UniformNode<'float', number>;
257
+ maxDepthThresholdUniform: THREE.UniformNode<'float', number>;
258
+ depthScaleUniform: THREE.UniformNode<'float', number>;
259
+ depthToBlurRatioBiasUniform: THREE.UniformNode<'float', number>;
260
+ distortionUniform: THREE.UniformNode<'float', number>;
261
+ mixContrastUniform: THREE.UniformNode<'float', number>;
262
+ blurRadiusUniform: THREE.UniformNode<'float', number>;
263
+ hasBlurUniform: THREE.UniformNode<'float', number>;
264
+ hasDepthUniform: THREE.UniformNode<'float', number>;
282
265
  constructor(options?: MeshReflectorMaterialOptions, parameters?: THREE.MeshStandardMaterialParameters);
283
266
  private setupNodes;
284
267
  get mirror(): number;
@@ -344,6 +327,7 @@ type MeshRefractionMaterialType = Omit<ThreeElements['meshPhysicalMaterial'], 'a
344
327
  fastChroma?: boolean;
345
328
  tintColor?: THREE.ColorRepresentation;
346
329
  opacity?: number;
330
+ args?: [fastChroma?: boolean];
347
331
  };
348
332
  type MeshRefractionMaterialProps = Omit<MeshRefractionMaterialType, 'ref'>;
349
333
  declare module '@react-three/fiber' {
@@ -359,8 +343,6 @@ declare class MeshRefractionMaterialImpl extends MeshPhysicalNodeMaterial {
359
343
  private _aberrationStrength;
360
344
  private _color;
361
345
  private _opacityValue;
362
- private _resolution;
363
- private _thickness;
364
346
  private _fastChroma;
365
347
  readonly isMeshRefractionMaterial = true;
366
348
  constructor(fastChroma?: boolean);
@@ -379,10 +361,6 @@ declare class MeshRefractionMaterialImpl extends MeshPhysicalNodeMaterial {
379
361
  set tintColor(v: THREE.Color | THREE.ColorRepresentation);
380
362
  get opacity(): number;
381
363
  set opacity(v: number);
382
- get resolution(): THREE.Vector2;
383
- set resolution(v: THREE.Vector2);
384
- get thickness(): number;
385
- set thickness(v: number);
386
364
  }
387
365
  declare const MeshRefractionMaterial: ForwardRefComponent<MeshRefractionMaterialProps, MeshRefractionMaterialImpl>;
388
366
 
@@ -421,16 +399,16 @@ declare class PortalMaterialImpl extends MeshBasicNodeMaterial {
421
399
  declare const MeshPortalMaterial: ForwardRefComponent<PortalProps, PortalMaterialImpl>;
422
400
 
423
401
  declare class DistortMaterialImplWebGPU extends THREE.MeshPhysicalNodeMaterial {
424
- timeUniform: ReturnType<typeof uniform>;
425
- distortUniform: ReturnType<typeof uniform>;
426
- radiusUniform: ReturnType<typeof uniform>;
402
+ timeUniform: THREE.UniformNode<'float', number>;
403
+ distortUniform: THREE.UniformNode<'float', number>;
404
+ radiusUniform: THREE.UniformNode<'float', number>;
427
405
  constructor(parameters?: THREE.MeshPhysicalMaterialParameters);
428
- get time(): unknown;
429
- set time(v: unknown);
430
- get distort(): unknown;
431
- set distort(v: unknown);
432
- get radius(): unknown;
433
- set radius(v: unknown);
406
+ get time(): number;
407
+ set time(v: number);
408
+ get distort(): number;
409
+ set distort(v: number);
410
+ get radius(): number;
411
+ set radius(v: number);
434
412
  }
435
413
  declare module '@react-three/fiber' {
436
414
  interface ThreeElements {
@@ -448,13 +426,13 @@ type MeshDistortMaterialProps = Omit<ThreeElements['distortMaterialImplWebGPU'],
448
426
  declare const MeshDistortMaterial: ForwardRefComponent<MeshDistortMaterialProps, DistortMaterialImplWebGPU>;
449
427
 
450
428
  declare class WobbleMaterialImpl extends THREE.MeshStandardNodeMaterial {
451
- timeUniform: ReturnType<typeof uniform>;
452
- factorUniform: ReturnType<typeof uniform>;
429
+ timeUniform: THREE.UniformNode<'float', number>;
430
+ factorUniform: THREE.UniformNode<'float', number>;
453
431
  constructor(parameters?: THREE.MeshStandardMaterialParameters);
454
- get time(): unknown;
455
- set time(v: unknown);
456
- get factor(): unknown;
457
- set factor(v: unknown);
432
+ get time(): number;
433
+ set time(v: number);
434
+ get factor(): number;
435
+ set factor(v: number);
458
436
  }
459
437
  declare module '@react-three/fiber' {
460
438
  interface ThreeElements {
@@ -471,7 +449,7 @@ type WobbleMaterialProps = Omit<ThreeElements['meshStandardMaterial'], 'ref'> &
471
449
  };
472
450
  declare const MeshWobbleMaterial: ForwardRefComponent<WobbleMaterialProps, WobbleMaterialImpl>;
473
451
 
474
- declare function FakeCloudMaterial(BaseMaterial: typeof Material): Material;
452
+ declare function FakeCloudMaterial(BaseMaterial: typeof Material): Material<three.MaterialEventMap>;
475
453
 
476
454
  type OutlinesProps = Omit<ThreeElements['group'], 'ref'> & {
477
455
  color?: ReactThreeFiber.Color;
@@ -525,7 +503,7 @@ type RenderCubeTextureProps = Omit<ThreeElements['texture'], 'ref' | 'args' | 'r
525
503
  };
526
504
  type RenderCubeTextureApi = {
527
505
  scene: THREE.Scene;
528
- fbo: THREE.WebGLCubeRenderTarget;
506
+ fbo: CubeRenderTarget;
529
507
  camera: THREE.CubeCamera;
530
508
  };
531
509
  declare const RenderCubeTexture: ForwardRefComponent<RenderCubeTextureProps, RenderCubeTextureApi>;
@@ -601,7 +579,7 @@ type CubeCameraProps = Omit<ThreeElements['group'], 'children'> & {
601
579
  frames?: number;
602
580
  } & CubeCameraOptions;
603
581
  declare function useCubeCamera({ resolution, near, far, envMap, fog }?: CubeCameraOptions): {
604
- fbo: WebGLCubeRenderTarget;
582
+ fbo: CubeRenderTarget;
605
583
  camera: CubeCamera$1;
606
584
  update: () => void;
607
585
  };
@@ -674,8 +652,9 @@ type DeviceOrientationControlsProps = Omit<ThreeElement<typeof DeviceOrientation
674
652
  };
675
653
  declare const DeviceOrientationControls: ForwardRefComponent<DeviceOrientationControlsProps, DeviceOrientationControls$1>;
676
654
 
677
- type ExpandedDragConfig = DragConfig & {
678
- preventOverlap?: boolean;
655
+ type DragConfig = {
656
+ threshold?: number;
657
+ filterTaps?: boolean;
679
658
  };
680
659
  type DragControlsProps = {
681
660
  autoTransform?: boolean;
@@ -687,7 +666,7 @@ type DragControlsProps = {
687
666
  onDrag?: (localMatrix: THREE.Matrix4, deltaLocalMatrix: THREE.Matrix4, worldMatrix: THREE.Matrix4, deltaWorldMatrix: THREE.Matrix4) => void;
688
667
  onDragEnd?: () => void;
689
668
  children: React.ReactNode;
690
- dragConfig?: ExpandedDragConfig;
669
+ dragConfig?: DragConfig;
691
670
  };
692
671
  declare const DragControls: ForwardRefComponent<DragControlsProps, THREE.Group>;
693
672
 
@@ -928,6 +907,7 @@ type CloudsProps = Omit<ThreeElements['group'], 'ref'> & {
928
907
  frustumCulled?: boolean;
929
908
  };
930
909
  type CloudProps = Omit<ThreeElements['group'], 'ref'> & {
910
+ materialFactory?: (baseMaterial: typeof Material) => Material;
931
911
  seed?: number;
932
912
  segments?: number;
933
913
  bounds?: ReactThreeFiber.Vector3;
@@ -945,9 +925,52 @@ type CloudProps = Omit<ThreeElements['group'], 'ref'> & {
945
925
  opacity?: number;
946
926
  color?: ReactThreeFiber.Color;
947
927
  };
948
- declare const Clouds: React.ForwardRefExoticComponent<Omit<CloudsProps, "ref"> & React.RefAttributes<Group<three.Object3DEventMap>>>;
949
- declare const CloudInstance: React.ForwardRefExoticComponent<Omit<CloudProps, "ref"> & React.RefAttributes<Group<three.Object3DEventMap>>>;
950
- declare const Cloud: React.ForwardRefExoticComponent<Omit<CloudProps, "ref"> & React.RefAttributes<Group<three.Object3DEventMap>>>;
928
+ 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"> & {
929
+ texture?: string;
930
+ limit?: number;
931
+ range?: number;
932
+ material?: typeof Material;
933
+ materialFactory?: (baseMaterial: typeof Material) => Material;
934
+ frustumCulled?: boolean;
935
+ } & React.RefAttributes<Group<three.Object3DEventMap>>>;
936
+ 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"> & {
937
+ materialFactory?: (baseMaterial: typeof Material) => Material;
938
+ seed?: number;
939
+ segments?: number;
940
+ bounds?: ReactThreeFiber.Vector3;
941
+ concentrate?: "random" | "inside" | "outside";
942
+ scale?: ReactThreeFiber.Vector3;
943
+ volume?: number;
944
+ smallestVolume?: number;
945
+ distribute?: (cloud: CloudState, index: number) => {
946
+ point: Vector3$1;
947
+ volume?: number;
948
+ };
949
+ growth?: number;
950
+ speed?: number;
951
+ fade?: number;
952
+ opacity?: number;
953
+ color?: ReactThreeFiber.Color;
954
+ } & React.RefAttributes<Group<three.Object3DEventMap>>>;
955
+ 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"> & {
956
+ materialFactory?: (baseMaterial: typeof Material) => Material;
957
+ seed?: number;
958
+ segments?: number;
959
+ bounds?: ReactThreeFiber.Vector3;
960
+ concentrate?: "random" | "inside" | "outside";
961
+ scale?: ReactThreeFiber.Vector3;
962
+ volume?: number;
963
+ smallestVolume?: number;
964
+ distribute?: (cloud: CloudState, index: number) => {
965
+ point: Vector3$1;
966
+ volume?: number;
967
+ };
968
+ growth?: number;
969
+ speed?: number;
970
+ fade?: number;
971
+ opacity?: number;
972
+ color?: ReactThreeFiber.Color;
973
+ } & React.RefAttributes<Group<three.Object3DEventMap>>>;
951
974
 
952
975
  type CatmullRomLineProps = Omit<LineProps, 'ref' | 'segments'> & {
953
976
  closed?: boolean;
@@ -1067,25 +1090,25 @@ type Args<T> = T extends new (...args: any) => any ? ConstructorParameters<T> :
1067
1090
  type ShapeProps<T> = Omit<ThreeElements['mesh'], 'ref' | 'args'> & {
1068
1091
  args?: Args<T>;
1069
1092
  };
1070
- declare const Box: ForwardRefComponent<ShapeProps<typeof THREE.BoxGeometry>, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>;
1071
- declare const Circle: ForwardRefComponent<ShapeProps<typeof THREE.CircleGeometry>, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>;
1072
- declare const Cone: ForwardRefComponent<ShapeProps<typeof THREE.ConeGeometry>, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>;
1073
- declare const Cylinder: ForwardRefComponent<ShapeProps<typeof THREE.CylinderGeometry>, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>;
1074
- declare const Sphere: ForwardRefComponent<ShapeProps<typeof THREE.SphereGeometry>, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>;
1075
- declare const Plane: ForwardRefComponent<ShapeProps<typeof THREE.PlaneGeometry>, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>;
1076
- declare const Tube: ForwardRefComponent<ShapeProps<typeof THREE.TubeGeometry>, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>;
1077
- declare const Torus: ForwardRefComponent<ShapeProps<typeof THREE.TorusGeometry>, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>;
1078
- declare const TorusKnot: ForwardRefComponent<ShapeProps<typeof THREE.TorusKnotGeometry>, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>;
1079
- declare const Tetrahedron: ForwardRefComponent<ShapeProps<typeof THREE.TetrahedronGeometry>, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>;
1080
- declare const Ring: ForwardRefComponent<ShapeProps<typeof THREE.RingGeometry>, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>;
1081
- declare const Polyhedron: ForwardRefComponent<ShapeProps<typeof THREE.PolyhedronGeometry>, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>;
1082
- declare const Icosahedron: ForwardRefComponent<ShapeProps<typeof THREE.IcosahedronGeometry>, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>;
1083
- declare const Octahedron: ForwardRefComponent<ShapeProps<typeof THREE.OctahedronGeometry>, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>;
1084
- declare const Dodecahedron: ForwardRefComponent<ShapeProps<typeof THREE.DodecahedronGeometry>, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>;
1085
- declare const Extrude: ForwardRefComponent<ShapeProps<typeof THREE.ExtrudeGeometry>, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>;
1086
- declare const Lathe: ForwardRefComponent<ShapeProps<typeof THREE.LatheGeometry>, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>;
1087
- declare const Capsule: ForwardRefComponent<ShapeProps<typeof THREE.CapsuleGeometry>, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>;
1088
- declare const Shape: ForwardRefComponent<ShapeProps<typeof THREE.ShapeGeometry>, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>;
1093
+ 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>>;
1094
+ 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>>;
1095
+ 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>>;
1096
+ 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>>;
1097
+ 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>>;
1098
+ 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>>;
1099
+ 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>>;
1100
+ 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>>;
1101
+ 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>>;
1102
+ 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>>;
1103
+ 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>>;
1104
+ 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>>;
1105
+ 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>>;
1106
+ 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>>;
1107
+ 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>>;
1108
+ 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>>;
1109
+ 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>>;
1110
+ 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>>;
1111
+ 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>>;
1089
1112
 
1090
1113
  type Glyph = {
1091
1114
  _cachedOutline: string[];
@@ -1124,7 +1147,8 @@ type Text3DProps = Omit<ThreeElements['mesh'], 'ref'> & {
1124
1147
  font: FontData | string;
1125
1148
  bevelSegments?: number;
1126
1149
  smooth?: number;
1127
- } & Omit<TextGeometryParameters, 'font'>;
1150
+ height?: number;
1151
+ } & Omit<TextGeometryParameters, 'font' | 'depth'>;
1128
1152
  declare const Text3D: ForwardRefComponent<React.PropsWithChildren<Text3DProps & {
1129
1153
  letterSpacing?: number;
1130
1154
  lineHeight?: number;
@@ -1176,6 +1200,12 @@ type OnDragStartProps = {
1176
1200
  origin: THREE.Vector3;
1177
1201
  directions: THREE.Vector3[];
1178
1202
  };
1203
+ type OnDragProps = {
1204
+ local: THREE.Matrix4;
1205
+ deltaLocal: THREE.Matrix4;
1206
+ world: THREE.Matrix4;
1207
+ deltaWorld: THREE.Matrix4;
1208
+ };
1179
1209
  type OnHoverProps = {
1180
1210
  component: 'Arrow' | 'Slider' | 'Rotator' | 'Sphere';
1181
1211
  axis: 0 | 1 | 2;
@@ -1206,8 +1236,8 @@ type PivotControlsProps = {
1206
1236
  annotations?: boolean;
1207
1237
  annotationsClass?: string;
1208
1238
  onDragStart?: (props: OnDragStartProps) => void;
1209
- onDrag?: (l: THREE.Matrix4, deltaL: THREE.Matrix4, w: THREE.Matrix4, deltaW: THREE.Matrix4) => void;
1210
- onDragEnd?: () => void;
1239
+ onDrag?: (props: OnDragProps) => void;
1240
+ onDragEnd?: (props: OnDragProps) => void;
1211
1241
  onHover?: (props: OnHoverProps) => void;
1212
1242
  depthTest?: boolean;
1213
1243
  renderOrder?: number;
@@ -1250,8 +1280,8 @@ type HelperType = Object3D & {
1250
1280
  dispose: () => void;
1251
1281
  };
1252
1282
  type HelperConstructor = new (...args: any[]) => any;
1253
- type HelperArgs<T> = T extends [infer _, ...infer R] ? R : never;
1254
- declare function useHelper<T extends HelperConstructor>(object3D: React.RefObject<Object3D> | Falsey, helperConstructor: T, ...args: HelperArgs<ConstructorParameters<T>>): React.RefObject<HelperType | null>;
1283
+ type HelperArgs<T> = T extends [infer _, ...infer R] ? R : [];
1284
+ declare function useHelper<T extends HelperConstructor>(object3D: React.RefObject<Object3D | null> | Falsey, helperConstructor: T, ...args: HelperArgs<ConstructorParameters<T>>): React.RefObject<HelperType | null>;
1255
1285
  type HelperProps<T extends HelperConstructor> = {
1256
1286
  type: T;
1257
1287
  args?: HelperArgs<ConstructorParameters<T>>;
@@ -1308,7 +1338,7 @@ declare class PositionMesh extends THREE.Group {
1308
1338
  get geometry(): THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap> | undefined;
1309
1339
  raycast(raycaster: THREE.Raycaster, intersects: THREE.Intersection[]): void;
1310
1340
  }
1311
- 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"> & {
1341
+ 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"> & {
1312
1342
  context?: React.Context<Api$1>;
1313
1343
  } & React.RefAttributes<unknown>>;
1314
1344
  declare const Instances: ForwardRefComponent<InstancesProps, THREE.InstancedMesh>;
@@ -1317,10 +1347,21 @@ interface MergedProps extends Omit<InstancesProps, 'children'> {
1317
1347
  children: (...instances: [React.FC<InstanceProps> & Record<string, React.FC<InstanceProps>>, ...React.FC<InstanceProps>[]]) => React.ReactNode;
1318
1348
  }
1319
1349
  declare const Merged: ForwardRefComponent<MergedProps, THREE.Group>;
1320
- 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"> & {
1350
+ 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"> & {
1351
+ context?: React.Context<Api$1>;
1352
+ range?: number;
1353
+ limit?: number;
1354
+ frames?: number;
1355
+ } & 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"> & {
1321
1356
  context?: React.Context<Api$1>;
1322
1357
  }> & React.RefAttributes<PositionMesh & T>>];
1323
- declare const InstancedAttribute: React.ForwardRefExoticComponent<Omit<InstancedAttributeProps, "ref"> & React.RefAttributes<THREE.InstancedBufferAttribute>>;
1358
+ 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"> & {
1359
+ name: string;
1360
+ defaultValue: any;
1361
+ normalized?: boolean;
1362
+ usage?: number;
1363
+ type?: "float" | "int" | "uint" | "short" | "ushort" | "byte";
1364
+ } & React.RefAttributes<THREE.InstancedBufferAttribute>>;
1324
1365
 
1325
1366
  type Size = {
1326
1367
  w: number;
@@ -1424,7 +1465,40 @@ type SpriteAnimatorState = {
1424
1465
  ref: React.Ref<THREE.Group>;
1425
1466
  };
1426
1467
  declare function useSpriteAnimator(): SpriteAnimatorState | null;
1427
- declare const SpriteAnimator: React.ForwardRefExoticComponent<Omit<SpriteAnimatorProps, "ref"> & React.RefAttributes<THREE.Group<THREE.Object3DEventMap>>>;
1468
+ declare const SpriteAnimator: React.ForwardRefExoticComponent<{
1469
+ startFrame?: number;
1470
+ endFrame?: number;
1471
+ fps?: number;
1472
+ frameName?: string;
1473
+ textureDataURL?: string;
1474
+ textureImageURL?: string;
1475
+ loop?: boolean;
1476
+ numberOfFrames?: number;
1477
+ autoPlay?: boolean;
1478
+ animationNames?: Array<string>;
1479
+ onStart?: (data: AnimationEventData) => void;
1480
+ onEnd?: (data: AnimationEventData) => void;
1481
+ onLoopEnd?: (data: AnimationEventData) => void;
1482
+ onFrame?: (data: AnimationEventData) => void;
1483
+ play?: boolean;
1484
+ pause?: boolean;
1485
+ flipX?: boolean;
1486
+ alphaTest?: number;
1487
+ asSprite?: boolean;
1488
+ offset?: number;
1489
+ playBackwards?: boolean;
1490
+ resetOnEnd?: boolean;
1491
+ instanceItems?: Vector3[];
1492
+ maxItems?: number;
1493
+ spriteDataset?: {
1494
+ spriteTexture: THREE.Texture;
1495
+ spriteData: SpriteData | null;
1496
+ aspect: Vector3;
1497
+ } | null;
1498
+ canvasRenderingContext2DSettings?: CanvasRenderingContext2DSettings;
1499
+ roundFramePosition?: boolean;
1500
+ meshProps?: CommonMeshProps;
1501
+ } & 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>>>;
1428
1502
 
1429
1503
  type Api<T extends AnimationClip> = {
1430
1504
  ref: React.RefObject<Object3D | undefined | null>;
@@ -1510,7 +1584,7 @@ declare const Svg: ForwardRefComponent<SvgProps, Object3D>;
1510
1584
  declare function useDepthBuffer({ size, frames }?: {
1511
1585
  size?: number;
1512
1586
  frames?: number;
1513
- }): DepthTexture | null;
1587
+ }): DepthTexture<three.DepthTextureImageData> | null;
1514
1588
 
1515
1589
  interface CubeTextureOptions {
1516
1590
  path: string;
@@ -1609,27 +1683,42 @@ declare function Fbx({ path, ...props }: {
1609
1683
  type Path = string | string[];
1610
1684
  type UseDraco = boolean | string;
1611
1685
  type UseMeshopt = boolean;
1686
+ type UseKTX2 = boolean | string;
1612
1687
  type ExtendLoader$1 = (loader: GLTFLoader) => void;
1613
- declare const useGLTF: {
1614
- <T extends Path>(path: T, useDraco?: UseDraco, useMeshopt?: UseMeshopt, extendLoader?: ExtendLoader$1): T extends any[] ? (GLTF & ObjectMap)[] : GLTF & ObjectMap;
1615
- preload(path: Path, useDraco?: UseDraco, useMeshopt?: UseMeshopt, extendLoader?: ExtendLoader$1): void;
1616
- clear(path: Path): void;
1617
- setDecoderPath(path: string): void;
1618
- };
1688
+ interface UseGLTFOptions {
1689
+ draco?: UseDraco;
1690
+ meshopt?: UseMeshopt;
1691
+ ktx2?: UseKTX2;
1692
+ extendLoader?: ExtendLoader$1;
1693
+ }
1694
+ 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;
1695
+ declare namespace useGLTF {
1696
+ var preload: (path: Path, optionsOrDraco?: UseGLTFOptions | UseDraco, useMeshoptArg?: UseMeshopt, useKTX2Arg?: UseKTX2, extendLoaderArg?: ExtendLoader$1) => void;
1697
+ var clear: (path: Path) => void;
1698
+ var setDecoderPath: (path: string) => void;
1699
+ var setKTX2TranscoderPath: (path: string) => void;
1700
+ }
1619
1701
  type GltfProps = Omit<CloneProps, 'object'> & {
1620
1702
  src: string;
1621
1703
  useDraco?: UseDraco;
1622
1704
  useMeshOpt?: UseMeshopt;
1623
1705
  extendLoader?: ExtendLoader$1;
1706
+ options?: UseGLTFOptions;
1624
1707
  };
1625
- declare const Gltf: React.ForwardRefExoticComponent<Omit<GltfProps, "ref"> & React.RefAttributes<three.Group<three.Object3DEventMap>>>;
1708
+ declare const Gltf: React.ForwardRefExoticComponent<Omit<CloneProps, "object"> & {
1709
+ src: string;
1710
+ useDraco?: UseDraco;
1711
+ useMeshOpt?: UseMeshopt;
1712
+ extendLoader?: ExtendLoader$1;
1713
+ options?: UseGLTFOptions;
1714
+ } & React.RefAttributes<three.Group<three.Object3DEventMap>>>;
1626
1715
 
1627
1716
  type ExtendLoader = (loader: KTX2Loader) => void;
1628
1717
  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 ? {
1629
1718
  [key in keyof Url]: Texture$1;
1630
1719
  } : Texture$1;
1631
1720
  declare namespace useKTX2 {
1632
- var preload: (url: string extends any[] ? string[] : string, basisPath?: boolean | string, extendLoader?: ExtendLoader) => void;
1721
+ var preload: (url: string | string[], basisPath?: boolean | string, extendLoader?: ExtendLoader) => void;
1633
1722
  var clear: (input: string | string[]) => void;
1634
1723
  var setTranscoderPath: (path: string) => void;
1635
1724
  }
@@ -1670,6 +1759,13 @@ declare const Texture: ({ children, input, onLoad, }: {
1670
1759
  onLoad?: Parameters<typeof useTexture>[1];
1671
1760
  }) => React.JSX.Element;
1672
1761
 
1762
+ declare const useVariants: (model: GLTF, inVariant?: string) => {
1763
+ variants: any;
1764
+ activeVariant: string | null;
1765
+ setVariant: (variantName: string | null) => void;
1766
+ materials: Material$1<three.MaterialEventMap>[];
1767
+ };
1768
+
1673
1769
  type WebcamVideoTextureProps = Omit<VideoTextureProps, 'src'> & {
1674
1770
  constraints?: MediaStreamConstraints;
1675
1771
  };
@@ -1755,7 +1851,7 @@ declare const StatsGl: ForwardRefComponent<StatsGlProps, HTMLDivElement>;
1755
1851
  type FBOSettings = {
1756
1852
  depth?: boolean;
1757
1853
  } & RenderTargetOptions;
1758
- declare function useFBO(width?: number | FBOSettings, height?: number, settings?: FBOSettings): THREE.WebGLRenderTarget<THREE.Texture<unknown>>;
1854
+ declare function useFBO(width?: number | FBOSettings, height?: number, settings?: FBOSettings): THREE.WebGLRenderTarget<THREE.Texture<unknown, THREE.TextureEventMap>>;
1759
1855
  type UseFBOParams = Parameters<typeof useFBO>;
1760
1856
  type FboProps = {
1761
1857
  children?: (target: Fbo) => React.ReactNode;
@@ -1769,7 +1865,7 @@ declare const Fbo: React.ForwardRefExoticComponent<{
1769
1865
  height?: UseFBOParams[1];
1770
1866
  } & {
1771
1867
  depth?: boolean;
1772
- } & THREE.RenderTargetOptions & React.RefAttributes<THREE.WebGLRenderTarget<THREE.Texture<unknown>>>>;
1868
+ } & THREE.RenderTargetOptions & React.RefAttributes<THREE.WebGLRenderTarget<THREE.Texture<unknown, THREE.TextureEventMap>>>>;
1773
1869
 
1774
1870
  type FisheyeProps = ThreeElements['mesh'] & {
1775
1871
  zoom?: number;
@@ -1942,7 +2038,7 @@ type EnvironmentLoaderProps = {
1942
2038
  extensions?: (loader: Loader$1) => void;
1943
2039
  colorSpace?: ColorSpace;
1944
2040
  };
1945
- declare function useEnvironment({ files, path, preset, colorSpace, extensions, }?: Partial<EnvironmentLoaderProps>): Texture$1<unknown> | CubeTexture$1<unknown>;
2041
+ declare function useEnvironment({ files, path, preset, colorSpace, extensions, }?: Partial<EnvironmentLoaderProps>): Texture$1<unknown, three.TextureEventMap> | CubeTexture$1<unknown>;
1946
2042
  declare namespace useEnvironment {
1947
2043
  var preload: (preloadOptions?: EnvironmentLoaderPreloadOptions) => void;
1948
2044
  var clear: (clearOptions?: EnvironmentLoaderClearOptions) => void;
@@ -2013,7 +2109,13 @@ type ResizeProps = Omit<ThreeElements['group'], 'ref'> & {
2013
2109
  box3?: THREE.Box3;
2014
2110
  precise?: boolean;
2015
2111
  };
2016
- declare const Resize: React.ForwardRefExoticComponent<Omit<ResizeProps, "ref"> & React.RefAttributes<THREE.Group<THREE.Object3DEventMap>>>;
2112
+ 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"> & {
2113
+ width?: boolean;
2114
+ height?: boolean;
2115
+ depth?: boolean;
2116
+ box3?: THREE.Box3;
2117
+ precise?: boolean;
2118
+ } & React.RefAttributes<THREE.Group<THREE.Object3DEventMap>>>;
2017
2119
 
2018
2120
  type ScreenSizerProps = Omit<ThreeElements['object3D'], 'ref'> & {
2019
2121
  scale?: number;
@@ -2320,7 +2422,7 @@ type GradientTextureProps = {
2320
2422
  type?: GradientType;
2321
2423
  innerCircleRadius?: number;
2322
2424
  outerCircleRadius?: number | 'auto';
2323
- } & Omit<ThreeElements['canvasTexture'], 'args'>;
2425
+ } & Omit<ThreeElements['canvasTexture'], 'args' | 'type'>;
2324
2426
  declare function GradientTexture({ stops, colors, size, width, type, innerCircleRadius, outerCircleRadius, ...props }: GradientTextureProps): React.JSX.Element;
2325
2427
 
2326
2428
  type ImageProps = Omit<ThreeElements['mesh'], 'scale'> & {
@@ -2375,6 +2477,10 @@ declare class SpotLightMaterial extends MeshBasicNodeMaterial {
2375
2477
  set resolution(v: THREE.Vector2);
2376
2478
  }
2377
2479
 
2480
+ declare const HtmlMaterial: ({ transform }: {
2481
+ transform: boolean;
2482
+ }) => React.JSX.Element;
2483
+
2378
2484
  declare class StarfieldMaterial extends SpriteNodeMaterial {
2379
2485
  private _time;
2380
2486
  private _fade;
@@ -2422,12 +2528,26 @@ type GridProps = Omit<ThreeElements['mesh'], 'ref' | 'args'> & GridMaterialType
2422
2528
  };
2423
2529
  declare const Grid: ForwardRefComponent<GridProps, THREE.Mesh>;
2424
2530
 
2531
+ type PCSSShadowNodeOptions = {
2532
+ size?: number;
2533
+ samples?: number;
2534
+ focus?: number;
2535
+ };
2536
+ declare class PCSSShadowNode extends ShadowNode {
2537
+ size: number;
2538
+ samples: number;
2539
+ focus: number;
2540
+ constructor(light: Light, { size, samples, focus }?: PCSSShadowNodeOptions);
2541
+ setupRenderTarget(shadow: any, builder: any): any;
2542
+ getShadowFilterFn(_type: number): ShaderCallable<THREE.Node>;
2543
+ }
2544
+
2425
2545
  type SoftShadowsProps = {
2426
2546
  size?: number;
2427
2547
  samples?: number;
2428
2548
  focus?: number;
2429
2549
  };
2430
- declare function SoftShadows(props: SoftShadowsProps): null;
2550
+ declare function SoftShadows({ size, samples, focus }: SoftShadowsProps): null;
2431
2551
 
2432
2552
  type SpotLightProps = Omit<ThreeElements['spotLight'], 'ref'> & {
2433
2553
  depthBuffer?: Texture$1;
@@ -2474,5 +2594,5 @@ type SparklesProps = Omit<ThreeElements['mesh'], 'ref'> & {
2474
2594
  };
2475
2595
  declare const Sparkles: ForwardRefComponent<SparklesProps, THREE.InstancedMesh>;
2476
2596
 
2477
- export { AccumulativeShadows, AdaptiveDpr, AdaptiveEvents, ArcballControls, BBAnchor, Backdrop, BakeShadows, Billboard, Bounds, Box, CameraShake, Capsule, CatmullRomLine, Caustics, 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, DragControls, Edges, Environment, EnvironmentCube, EnvironmentMap, EnvironmentPortal, Example, Extrude, FakeCloudMaterial, Fbo, Fbx, FirstPersonControls, Fisheye, Float, FlyControls, GizmoHelper, GizmoViewcube, GizmoViewport, Gltf, GradientTexture, GradientType, Grid, Helper, Html, Hud, Icosahedron, Image, Instance, InstancedAttribute, Instances, IsObject, KeyboardControls, Ktx2, Lathe, Lightformer, Line, Loader, MapControls, Mask, MatcapTexture, Merged, MeshDistortMaterial, MeshPortalMaterial, MeshReflectorMaterial, MeshReflectorMaterial$1 as MeshReflectorMaterialImpl, MeshRefractionMaterial, MeshTransmissionMaterial, MeshWobbleMaterial, MotionPathControls, NormalTexture, Octahedron, OrbitControls, OrthographicCamera, Outlines, PerformanceMonitor, PerspectiveCamera, PivotControls, Plane, Point, PointMaterial, PointMaterialImpl, PointerLockControls, Points, PointsBuffer, Polyhedron, PositionMesh, PositionPoint, PositionalAudio, Preload, PresentationControls, Progress, QuadraticBezierLine, RandomizedLight, RenderCubeTexture, RenderTexture, Resize, Ring, RoundedBox, RoundedBoxGeometry, Sampler, ScreenQuad, ScreenSizer, ScreenSpace, ScreenVideoTexture, Scroll, ScrollControls, 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, TrackballControls, 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 };
2478
- export type { AccumulativeShadowsProps, ArcballControlsProps, Args, BBAnchorProps, BackdropProps, BillboardProps, BoundsApi, BoundsProps, CalculatePosition, CameraShakeProps, CatmullRomLineProps, CausticsProps, CenterProps, CloneProps, CloudProps, CloudsProps, ComputedAttributeProps, ContactShadowsProps, ContainerProps, CubeCameraOptions, CubeCameraProps, CubeTextureProps, CubicBezierLineProps, CurveModifierProps, CurveModifierRef, CycleRaycastProps, DecalProps, DetailedProps, DetectGPUProps, DeviceOrientationControlsProps, DragControlsProps, EdgesProps, EdgesRef, EnvironmentLoaderProps, EnvironmentProps, ExampleApi, ExampleProps, ExpandedDragConfig, FboProps, FirstPersonControlsProps, FisheyeProps, FloatProps, FlyControlsProps, FontData, FrameData, GizmoHelperProps, GltfProps, Glyph, GradientTextureProps, GridMaterialType, GridProps, HelperProps, HtmlProps, HudProps, ImageProps, InstanceProps, InstancedAttributeProps, InstancesProps, KeyboardControlsEntry, KeyboardControlsProps, Ktx2Props, LightProps, LineProps, LoaderOptions, MapControlsProps, MaskProps, MergedProps, MeshDistortMaterialProps, MeshReflectorMaterialProps, MeshRefractionMaterialProps, MeshRefractionMaterialType, MeshTransmissionMaterialProps, MetaData, MotionPathProps, MotionPathRef, OnCenterCallbackProps, OnDragStartProps, OnHoverProps, OrbitControlsChangeEvent, OrbitControlsProps, OrthographicCameraProps, OutlinesProps, PerformanceMonitorApi, PerformanceMonitorProps, PerspectiveCameraProps, PivotControlsProps, PointMaterialProps, PointerLockControlsProps, PointsBuffersProps, PointsInstancesProps, PortalProps, PositionalAudioProps, PreloadProps, PresentationControlProps, PresetsType, QuadraticBezierLineProps, QuadraticBezierLineRef, RandomizedLightProps, RenderCubeTextureApi, RenderCubeTextureProps, RenderTextureProps, ResizeProps, RoundedBoxGeometryProps, RoundedBoxProps, SamplerProps, ScreenQuadProps, ScreenSizerProps, ScreenSpaceProps, ScreenVideoTextureProps, ScrollControlsProps, ScrollControlsState, ScrollProps, SegmentProps, SegmentsProps, SelectProps, ShadowProps, ShadowType, ShakeController, ShapeProps, Size, SizeProps, SkyProps, SoftShadowsProps, SparklesProps, SpotLightProps, SpriteAnimatorProps, SpriteData, StageProps, StarsProps, StatsGlProps, StatsProps, SvgProps, Text3DProps, TrackballControlsProps, TrailProps, TrailTextureProps, TransformControlsProps, TransformFn, VideoTextureProps, ViewProps, ViewportProps, WebcamVideoTextureProps, WireframeMaterialProps, WireframeMaterialType, WobbleMaterialProps, useSurfaceSamplerProps };
2597
+ export { AccumulativeShadows, AdaptiveDpr, AdaptiveEvents, ArcballControls, BBAnchor, Backdrop, BakeShadows, Billboard, Bounds, Box, CameraShake, Capsule, CatmullRomLine, Caustics, 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, DragControls, Edges, Environment, EnvironmentCube, EnvironmentMap, EnvironmentPortal, Example, Extrude, FakeCloudMaterial, Fbo, Fbx, FirstPersonControls, Fisheye, Float, FlyControls, GizmoHelper, GizmoViewcube, GizmoViewport, Gltf, GradientTexture, GradientType, Grid, Helper, Html, HtmlMaterial, Hud, Icosahedron, Image, Instance, InstancedAttribute, Instances, IsObject, KeyboardControls, Ktx2, Lathe, Lightformer, Line, Loader, MapControls, Mask, MatcapTexture, Merged, MeshDistortMaterial, MeshPortalMaterial, MeshReflectorMaterial, MeshReflectorMaterial$1 as MeshReflectorMaterialImpl, MeshRefractionMaterial, MeshTransmissionMaterial, MeshWobbleMaterial, MotionPathControls, NormalTexture, Octahedron, OrbitControls, OrthographicCamera, Outlines, PCSSShadowNode, PerformanceMonitor, PerspectiveCamera, PivotControls, Plane, Point, PointMaterial, PointMaterialImpl, PointerLockControls, Points, PointsBuffer, Polyhedron, PositionMesh, PositionPoint, PositionalAudio, Preload, PresentationControls, Progress, QuadraticBezierLine, RandomizedLight, RenderCubeTexture, RenderTexture, Resize, Ring, RoundedBox, RoundedBoxGeometry, Sampler, ScreenQuad, ScreenSizer, ScreenSpace, ScreenVideoTexture, Scroll, ScrollControls, 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, TrackballControls, 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, useVariants, useVideoTexture, useWireframeUniforms };
2598
+ export type { AccumulativeShadowsProps, ArcballControlsProps, Args, BBAnchorProps, BackdropProps, BillboardProps, BoundsApi, BoundsProps, CalculatePosition, CameraShakeProps, CatmullRomLineProps, CausticsProps, CenterProps, CloneProps, CloudProps, CloudsProps, ComputedAttributeProps, ContactShadowsProps, ContainerProps, CubeCameraOptions, CubeCameraProps, CubeTextureProps, CubicBezierLineProps, CurveModifierProps, CurveModifierRef, CycleRaycastProps, DecalProps, DetailedProps, DetectGPUProps, DeviceOrientationControlsProps, DragConfig, DragControlsProps, EdgesProps, EdgesRef, EnvironmentLoaderProps, EnvironmentProps, ExampleApi, ExampleProps, FboProps, FirstPersonControlsProps, FisheyeProps, FloatProps, FlyControlsProps, FontData, FrameData, GizmoHelperProps, GltfProps, Glyph, GradientTextureProps, GridMaterialType, GridProps, HelperProps, HtmlProps, HudProps, ImageProps, InstanceProps, InstancedAttributeProps, InstancesProps, KeyboardControlsEntry, KeyboardControlsProps, Ktx2Props, LightProps, LineProps, LoaderOptions, MapControlsProps, MaskProps, MergedProps, MeshDistortMaterialProps, MeshReflectorMaterialProps, MeshRefractionMaterialProps, MeshRefractionMaterialType, MeshTransmissionMaterialProps, MetaData, MotionPathProps, MotionPathRef, OnCenterCallbackProps, OnDragProps, OnDragStartProps, OnHoverProps, OrbitControlsChangeEvent, OrbitControlsProps, OrthographicCameraProps, OutlinesProps, PCSSShadowNodeOptions, PerformanceMonitorApi, PerformanceMonitorProps, PerspectiveCameraProps, PivotControlsProps, PointMaterialProps, PointerLockControlsProps, PointsBuffersProps, PointsInstancesProps, PortalProps, PositionalAudioProps, PreloadProps, PresentationControlProps, PresetsType, QuadraticBezierLineProps, QuadraticBezierLineRef, RandomizedLightProps, RenderCubeTextureApi, RenderCubeTextureProps, RenderTextureProps, ResizeProps, RoundedBoxGeometryProps, RoundedBoxProps, SamplerProps, ScreenQuadProps, ScreenSizerProps, ScreenSpaceProps, ScreenVideoTextureProps, ScrollControlsProps, ScrollControlsState, ScrollProps, SegmentProps, SegmentsProps, SelectProps, ShadowProps, ShadowType, ShakeController, ShapeProps, Size, SizeProps, SkyProps, SoftShadowsProps, SparklesProps, SpotLightProps, SpriteAnimatorProps, SpriteData, StageProps, StarsProps, StatsGlProps, StatsOptions, StatsProps, SvgProps, Text3DProps, TrackballControlsProps, TrailProps, TrailTextureProps, TransformControlsProps, TransformFn, UseGLTFOptions, VideoTextureProps, ViewProps, ViewportProps, WebcamVideoTextureProps, WireframeMaterialProps, WireframeMaterialType, WobbleMaterialProps, useSurfaceSamplerProps };