@react-three/drei 11.0.0-alpha.4 → 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,15 +3,14 @@ import { ForwardRefExoticComponent, PropsWithoutRef, RefAttributes, CSSPropertie
3
3
  import * as _react_three_fiber from '@react-three/fiber';
4
4
  import { ThreeElements, ReactThreeFiber, ThreeElement, Vector2, Vector3, ThreeEvent, Color as Color$1, ObjectMap, ComputeFunction, Euler, ConstructorRepresentation } from '@react-three/fiber';
5
5
  import * as THREE from 'three';
6
- import { MeshStandardMaterial, Texture as Texture$1, Matrix4, MeshPhysicalMaterial, MeshPhysicalMaterialParameters, IUniform, MeshStandardMaterialParameters, Material, ColorSpace, TextureDataType, Color, ColorRepresentation, Object3D, Fog, FogExp2, WebGLCubeRenderTarget, CubeCamera as CubeCamera$1, OrthographicCamera as OrthographicCamera$1, PerspectiveCamera as PerspectiveCamera$1, Event, Camera, 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, Scene, PlaneGeometry, MeshBasicMaterial, WebGLRenderer, WebGLRenderTarget, ShaderMaterial, Uniform as Uniform$2, SpotLight as SpotLight$1, Points as Points$1 } from 'three';
6
+ import { MeshStandardMaterial, Texture as Texture$1, Matrix4, MeshPhysicalMaterial, MeshPhysicalMaterialParameters, IUniform, MeshStandardMaterialParameters, Material, ColorSpace, TextureDataType, Color, ColorRepresentation, Object3D, Fog, FogExp2, WebGLCubeRenderTarget, CubeCamera as CubeCamera$1, OrthographicCamera as OrthographicCamera$1, PerspectiveCamera as PerspectiveCamera$1, Event, EventDispatcher, Camera, 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, Scene, PlaneGeometry, MeshBasicMaterial, WebGLRenderer, WebGLRenderTarget, ShaderMaterial, Uniform as Uniform$2, SpotLight as SpotLight$1, Points as Points$1 } from 'three';
7
+ import { MeshBVHUniformStruct } from 'three-mesh-bvh';
7
8
  import { RenderPass } from 'three/examples/jsm/postprocessing/RenderPass.js';
8
9
  import { ShaderPass } from 'three/examples/jsm/postprocessing/ShaderPass.js';
9
10
  import { EffectComposer } from 'three/examples/jsm/postprocessing/EffectComposer.js';
10
11
  import { LineSegments2 } from 'three/examples/jsm/lines/LineSegments2.js';
11
12
  import { LineMaterialParameters, LineMaterial } from 'three/examples/jsm/lines/LineMaterial.js';
12
13
  import { ArcballControls as ArcballControls$1 } from 'three/examples/jsm/controls/ArcballControls.js';
13
- import { DeviceOrientationControls as DeviceOrientationControls$1 } from 'three-stdlib';
14
- import { DragConfig } from '@use-gesture/react';
15
14
  import { FirstPersonControls as FirstPersonControls$1 } from 'three/examples/jsm/controls/FirstPersonControls.js';
16
15
  import { FlyControls as FlyControls$1 } from 'three/examples/jsm/controls/FlyControls.js';
17
16
  import * as zustand from 'zustand';
@@ -29,12 +28,12 @@ import { Falsey, Assign } from 'utility-types';
29
28
  import * as hls_js from 'hls.js';
30
29
  import hls_js__default from 'hls.js';
31
30
  import { GLTFLoader, GLTF } from 'three/examples/jsm/loaders/GLTFLoader.js';
31
+ import { KTX2Loader } from 'three/examples/jsm/loaders/KTX2Loader.js';
32
32
  import * as detect_gpu from 'detect-gpu';
33
33
  import { GetGPUTier } from 'detect-gpu';
34
34
  import Stats$1 from 'stats-gl';
35
35
  import { GroundedSkybox } from 'three/examples/jsm/objects/GroundedSkybox.js';
36
36
  import { Sky as Sky$1 } from 'three/examples/jsm/objects/Sky.js';
37
- import { MeshBVHUniformStruct } from 'three-mesh-bvh';
38
37
 
39
38
  type NamedArrayTuple<T extends (...args: any) => any> = Parameters<T>;
40
39
  type ForwardRefComponent<P, T> = ForwardRefExoticComponent<PropsWithoutRef<P> & RefAttributes<T>>;
@@ -236,7 +235,7 @@ type MeshReflectorMaterialProps = ThreeElements['meshReflectorMaterialImpl'] & {
236
235
  };
237
236
  declare const MeshReflectorMaterial: ForwardRefComponent<MeshReflectorMaterialProps, MeshReflectorMaterial$1>;
238
237
 
239
- declare const MeshRefractionMaterial: _react_three_fiber.ConstructorRepresentation<THREE.ShaderMaterial & {
238
+ declare const MeshRefractionMaterial_: _react_three_fiber.ConstructorRepresentation<THREE.ShaderMaterial & {
240
239
  envMap: null;
241
240
  bounces: number;
242
241
  ior: number;
@@ -252,13 +251,41 @@ declare const MeshRefractionMaterial: _react_three_fiber.ConstructorRepresentati
252
251
  }> & {
253
252
  key: string;
254
253
  };
254
+ declare module '@react-three/fiber' {
255
+ interface ThreeElements {
256
+ meshRefractionMaterial_: ThreeElements['shaderMaterial'] & {
257
+ envMap?: THREE.CubeTexture | THREE.Texture | null;
258
+ bounces?: number;
259
+ ior?: number;
260
+ correctMips?: boolean;
261
+ aberrationStrength?: number;
262
+ fresnel?: number;
263
+ bvh?: MeshBVHUniformStruct;
264
+ color?: ReactThreeFiber.Color;
265
+ opacity?: number;
266
+ resolution?: [number, number] | THREE.Vector2;
267
+ viewMatrixInverse?: THREE.Matrix4;
268
+ projectionMatrixInverse?: THREE.Matrix4;
269
+ };
270
+ }
271
+ }
272
+ type MeshRefractionMaterialProps = ThreeElements['shaderMaterial'] & {
273
+ envMap: THREE.CubeTexture | THREE.Texture;
274
+ bounces?: number;
275
+ ior?: number;
276
+ fresnel?: number;
277
+ aberrationStrength?: number;
278
+ color?: ReactThreeFiber.Color;
279
+ fastChroma?: boolean;
280
+ };
281
+ declare const MeshRefractionMaterial: ForwardRefComponent<MeshRefractionMaterialProps, InstanceType<typeof MeshRefractionMaterial_>>;
255
282
 
256
283
  declare module '@react-three/fiber' {
257
284
  interface ThreeElements {
258
285
  portalMaterialImpl: ThreeElements['shaderMaterial'] & {
259
286
  resolution: ReactThreeFiber.Vector2;
260
- blur: number;
261
- blend: number;
287
+ blur?: number;
288
+ blend?: number;
262
289
  size?: number;
263
290
  sdf?: THREE.Texture;
264
291
  map?: THREE.Texture;
@@ -273,6 +300,7 @@ type PortalProps = Omit<ThreeElements['portalMaterialImpl'], 'ref' | 'blend'> &
273
300
  eventPriority?: number;
274
301
  renderPriority?: number;
275
302
  events?: boolean;
303
+ samples?: number;
276
304
  };
277
305
  declare const MeshPortalMaterial: ForwardRefComponent<PortalProps, ThreeElements['portalMaterialImpl']>;
278
306
 
@@ -346,7 +374,7 @@ type WobbleMaterialProps = Omit<ThreeElements['meshStandardMaterial'], 'ref'> &
346
374
  };
347
375
  declare const MeshWobbleMaterial: ForwardRefComponent<WobbleMaterialProps, WobbleMaterialImpl>;
348
376
 
349
- declare function CloudMaterial(BaseMaterial: typeof Material): Material;
377
+ declare function CloudMaterial(BaseMaterial: typeof Material): Material<THREE.MaterialEventMap>;
350
378
 
351
379
  type OutlinesProps = Omit<ThreeElements['group'], 'ref'> & {
352
380
  color?: ReactThreeFiber.Color;
@@ -364,7 +392,7 @@ type OutlinesProps = Omit<ThreeElements['group'], 'ref'> & {
364
392
  declare function Outlines({ color, opacity, transparent, screenspace, toneMapped, polygonOffset, polygonOffsetFactor, renderOrder, thickness, angle, clippingPlanes, ...props }: OutlinesProps): React.JSX.Element;
365
393
 
366
394
  type EffectsProps = Omit<ThreeElements['effectComposer'], 'ref' | 'args'> & {
367
- multisamping?: number;
395
+ multisampling?: number;
368
396
  colorSpace?: ColorSpace;
369
397
  type?: TextureDataType;
370
398
  renderIndex?: number;
@@ -416,8 +444,8 @@ type SegmentsProps = LineMaterialParameters & {
416
444
  children: React.ReactNode;
417
445
  };
418
446
  type SegmentProps = Omit<ThreeElements['segmentObject'], 'ref' | 'start' | 'end' | 'color'> & {
419
- start: ReactThreeFiber.Vector3;
420
- end: ReactThreeFiber.Vector3;
447
+ start?: ReactThreeFiber.Vector3;
448
+ end?: ReactThreeFiber.Vector3;
421
449
  color?: ReactThreeFiber.Color;
422
450
  };
423
451
  declare const Segments: ForwardRefComponent<SegmentsProps, LineSegments2>;
@@ -428,8 +456,8 @@ declare module '@react-three/fiber' {
428
456
  }
429
457
  declare class SegmentObject {
430
458
  color: THREE.Color;
431
- start: THREE.Vector3;
432
- end: THREE.Vector3;
459
+ start?: THREE.Vector3;
460
+ end?: THREE.Vector3;
433
461
  constructor();
434
462
  }
435
463
  declare const Segment: ForwardRefComponent<SegmentProps, SegmentObject>;
@@ -500,6 +528,34 @@ type ArcballControlsProps = Omit<Overwrite<ThreeElement<typeof ArcballControls$1
500
528
  }>, 'ref' | 'args'>;
501
529
  declare const ArcballControls: ForwardRefComponent<ArcballControlsProps, ArcballControls$1>;
502
530
 
531
+ interface StandardControlsEventMap {
532
+ change: {};
533
+ start: {};
534
+ end: {};
535
+ }
536
+ declare class DeviceOrientationControls$1 extends EventDispatcher<StandardControlsEventMap> {
537
+ object: Camera;
538
+ private changeEvent;
539
+ private EPS;
540
+ enabled: boolean;
541
+ deviceOrientation: Partial<DeviceOrientationEvent>;
542
+ screenOrientation: string | number;
543
+ alphaOffset: number;
544
+ constructor(object: Camera);
545
+ private onDeviceOrientationChangeEvent;
546
+ private onScreenOrientationChangeEvent;
547
+ private zee;
548
+ private euler;
549
+ private q0;
550
+ private q1;
551
+ private setObjectQuaternion;
552
+ connect: () => void;
553
+ disconnect: () => void;
554
+ private lastQuaternion;
555
+ update: () => void;
556
+ dispose: () => void;
557
+ }
558
+
503
559
  type DeviceOrientationControlsProps = Omit<ThreeElement<typeof DeviceOrientationControls$1>, 'ref' | 'args'> & {
504
560
  camera?: THREE.Camera;
505
561
  onChange?: (e?: THREE.Event) => void;
@@ -507,6 +563,10 @@ type DeviceOrientationControlsProps = Omit<ThreeElement<typeof DeviceOrientation
507
563
  };
508
564
  declare const DeviceOrientationControls: ForwardRefComponent<DeviceOrientationControlsProps, DeviceOrientationControls$1>;
509
565
 
566
+ type DragConfig = {
567
+ threshold?: number;
568
+ filterTaps?: boolean;
569
+ };
510
570
  type DragControlsProps = {
511
571
  autoTransform?: boolean;
512
572
  matrix?: THREE.Matrix4;
@@ -666,6 +726,7 @@ type ScrollControlsProps = {
666
726
  maxSpeed?: number;
667
727
  prepend?: boolean;
668
728
  enabled?: boolean;
729
+ pixelPerfect?: boolean;
669
730
  style?: React.CSSProperties;
670
731
  children: React.ReactNode;
671
732
  };
@@ -682,9 +743,10 @@ type ScrollControlsState = {
682
743
  range(from: number, distance: number, margin?: number): number;
683
744
  curve(from: number, distance: number, margin?: number): number;
684
745
  visible(from: number, distance: number, margin?: number): boolean;
746
+ pixelPerfect: boolean;
685
747
  };
686
748
  declare function useScroll(): ScrollControlsState;
687
- declare function ScrollControls({ eps, enabled, infinite, horizontal, pages, distance, damping, maxSpeed, prepend, style, children, }: ScrollControlsProps): React.JSX.Element;
749
+ declare function ScrollControls({ eps, enabled, infinite, horizontal, pages, distance, damping, maxSpeed, prepend, pixelPerfect, style, children, }: ScrollControlsProps): React.JSX.Element;
688
750
  interface ScrollPropsWithFalseHtml {
689
751
  children?: React.ReactNode;
690
752
  html?: false;
@@ -756,6 +818,7 @@ type CloudsProps = Omit<ThreeElements['group'], 'ref'> & {
756
818
  frustumCulled?: boolean;
757
819
  };
758
820
  type CloudProps = Omit<ThreeElements['group'], 'ref'> & {
821
+ materialFactory?: (baseMaterial: typeof Material) => Material;
759
822
  seed?: number;
760
823
  segments?: number;
761
824
  bounds?: ReactThreeFiber.Vector3;
@@ -773,9 +836,52 @@ type CloudProps = Omit<ThreeElements['group'], 'ref'> & {
773
836
  opacity?: number;
774
837
  color?: ReactThreeFiber.Color;
775
838
  };
776
- declare const Clouds: React.ForwardRefExoticComponent<Omit<CloudsProps, "ref"> & React.RefAttributes<Group<THREE.Object3DEventMap>>>;
777
- declare const CloudInstance: React.ForwardRefExoticComponent<Omit<CloudProps, "ref"> & React.RefAttributes<Group<THREE.Object3DEventMap>>>;
778
- declare const Cloud: React.ForwardRefExoticComponent<Omit<CloudProps, "ref"> & React.RefAttributes<Group<THREE.Object3DEventMap>>>;
839
+ 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"> & {
840
+ texture?: string;
841
+ limit?: number;
842
+ range?: number;
843
+ material?: typeof Material;
844
+ materialFactory?: (baseMaterial: typeof Material) => Material;
845
+ frustumCulled?: boolean;
846
+ } & React.RefAttributes<Group<THREE.Object3DEventMap>>>;
847
+ 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"> & {
848
+ materialFactory?: (baseMaterial: typeof Material) => Material;
849
+ seed?: number;
850
+ segments?: number;
851
+ bounds?: ReactThreeFiber.Vector3;
852
+ concentrate?: "random" | "inside" | "outside";
853
+ scale?: ReactThreeFiber.Vector3;
854
+ volume?: number;
855
+ smallestVolume?: number;
856
+ distribute?: (cloud: CloudState, index: number) => {
857
+ point: Vector3$1;
858
+ volume?: number;
859
+ };
860
+ growth?: number;
861
+ speed?: number;
862
+ fade?: number;
863
+ opacity?: number;
864
+ color?: ReactThreeFiber.Color;
865
+ } & React.RefAttributes<Group<THREE.Object3DEventMap>>>;
866
+ 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"> & {
867
+ materialFactory?: (baseMaterial: typeof Material) => Material;
868
+ seed?: number;
869
+ segments?: number;
870
+ bounds?: ReactThreeFiber.Vector3;
871
+ concentrate?: "random" | "inside" | "outside";
872
+ scale?: ReactThreeFiber.Vector3;
873
+ volume?: number;
874
+ smallestVolume?: number;
875
+ distribute?: (cloud: CloudState, index: number) => {
876
+ point: Vector3$1;
877
+ volume?: number;
878
+ };
879
+ growth?: number;
880
+ speed?: number;
881
+ fade?: number;
882
+ opacity?: number;
883
+ color?: ReactThreeFiber.Color;
884
+ } & React.RefAttributes<Group<THREE.Object3DEventMap>>>;
779
885
 
780
886
  type CatmullRomLineProps = Omit<LineProps, 'ref' | 'segments'> & {
781
887
  closed?: boolean;
@@ -895,25 +1001,25 @@ type Args<T> = T extends new (...args: any) => any ? ConstructorParameters<T> :
895
1001
  type ShapeProps<T> = Omit<ThreeElements['mesh'], 'ref' | 'args'> & {
896
1002
  args?: Args<T>;
897
1003
  };
898
- declare const Box: ForwardRefComponent<ShapeProps<typeof THREE.BoxGeometry>, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>;
899
- declare const Circle: ForwardRefComponent<ShapeProps<typeof THREE.CircleGeometry>, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>;
900
- declare const Cone: ForwardRefComponent<ShapeProps<typeof THREE.ConeGeometry>, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>;
901
- declare const Cylinder: ForwardRefComponent<ShapeProps<typeof THREE.CylinderGeometry>, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>;
902
- declare const Sphere: ForwardRefComponent<ShapeProps<typeof THREE.SphereGeometry>, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>;
903
- declare const Plane: ForwardRefComponent<ShapeProps<typeof THREE.PlaneGeometry>, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>;
904
- declare const Tube: ForwardRefComponent<ShapeProps<typeof THREE.TubeGeometry>, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>;
905
- declare const Torus: ForwardRefComponent<ShapeProps<typeof THREE.TorusGeometry>, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>;
906
- declare const TorusKnot: ForwardRefComponent<ShapeProps<typeof THREE.TorusKnotGeometry>, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>;
907
- declare const Tetrahedron: ForwardRefComponent<ShapeProps<typeof THREE.TetrahedronGeometry>, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>;
908
- declare const Ring: ForwardRefComponent<ShapeProps<typeof THREE.RingGeometry>, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>;
909
- declare const Polyhedron: ForwardRefComponent<ShapeProps<typeof THREE.PolyhedronGeometry>, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>;
910
- declare const Icosahedron: ForwardRefComponent<ShapeProps<typeof THREE.IcosahedronGeometry>, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>;
911
- declare const Octahedron: ForwardRefComponent<ShapeProps<typeof THREE.OctahedronGeometry>, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>;
912
- declare const Dodecahedron: ForwardRefComponent<ShapeProps<typeof THREE.DodecahedronGeometry>, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>;
913
- declare const Extrude: ForwardRefComponent<ShapeProps<typeof THREE.ExtrudeGeometry>, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>;
914
- declare const Lathe: ForwardRefComponent<ShapeProps<typeof THREE.LatheGeometry>, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>;
915
- declare const Capsule: ForwardRefComponent<ShapeProps<typeof THREE.CapsuleGeometry>, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>;
916
- declare const Shape: ForwardRefComponent<ShapeProps<typeof THREE.ShapeGeometry>, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>;
1004
+ 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>>;
1005
+ 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>>;
1006
+ 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>>;
1007
+ 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>>;
1008
+ 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>>;
1009
+ 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>>;
1010
+ 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>>;
1011
+ 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>>;
1012
+ 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>>;
1013
+ 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>>;
1014
+ 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>>;
1015
+ 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>>;
1016
+ 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>>;
1017
+ 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>>;
1018
+ 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>>;
1019
+ 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>>;
1020
+ 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>>;
1021
+ 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>>;
1022
+ 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>>;
917
1023
 
918
1024
  type Glyph = {
919
1025
  _cachedOutline: string[];
@@ -952,87 +1058,13 @@ type Text3DProps = Omit<ThreeElements['mesh'], 'ref'> & {
952
1058
  font: FontData | string;
953
1059
  bevelSegments?: number;
954
1060
  smooth?: number;
955
- } & Omit<TextGeometryParameters, 'font'>;
1061
+ height?: number;
1062
+ } & Omit<TextGeometryParameters, 'font' | 'depth'>;
956
1063
  declare const Text3D: ForwardRefComponent<React.PropsWithChildren<Text3DProps & {
957
1064
  letterSpacing?: number;
958
1065
  lineHeight?: number;
959
1066
  }>, THREE.Mesh>;
960
1067
 
961
- interface WireframeMaterialProps extends THREE.ShaderMaterialParameters {
962
- fillOpacity?: number;
963
- fillMix?: number;
964
- strokeOpacity?: number;
965
- thickness?: number;
966
- colorBackfaces?: boolean;
967
- dashInvert?: boolean;
968
- dash?: boolean;
969
- dashRepeats?: number;
970
- dashLength?: number;
971
- squeeze?: boolean;
972
- squeezeMin?: number;
973
- squeezeMax?: number;
974
- stroke?: THREE.ColorRepresentation;
975
- backfaceStroke?: THREE.ColorRepresentation;
976
- fill?: THREE.ColorRepresentation;
977
- }
978
- declare const WireframeMaterialShaders: {
979
- uniforms: {
980
- strokeOpacity: number;
981
- fillOpacity: number;
982
- fillMix: number;
983
- thickness: number;
984
- colorBackfaces: boolean;
985
- dashInvert: boolean;
986
- dash: boolean;
987
- dashRepeats: number;
988
- dashLength: number;
989
- squeeze: boolean;
990
- squeezeMin: number;
991
- squeezeMax: number;
992
- stroke: THREE.Color;
993
- backfaceStroke: THREE.Color;
994
- fill: THREE.Color;
995
- };
996
- vertex: string;
997
- fragment: string;
998
- };
999
- declare const WireframeMaterial: _react_three_fiber.ConstructorRepresentation<THREE.ShaderMaterial & {
1000
- strokeOpacity: number;
1001
- fillOpacity: number;
1002
- fillMix: number;
1003
- thickness: number;
1004
- colorBackfaces: boolean;
1005
- dashInvert: boolean;
1006
- dash: boolean;
1007
- dashRepeats: number;
1008
- dashLength: number;
1009
- squeeze: boolean;
1010
- squeezeMin: number;
1011
- squeezeMax: number;
1012
- stroke: THREE.Color;
1013
- backfaceStroke: THREE.Color;
1014
- fill: THREE.Color;
1015
- }> & {
1016
- key: string;
1017
- };
1018
- declare function setWireframeOverride(material: THREE.Material, uniforms: {
1019
- [key: string]: THREE.IUniform<any>;
1020
- }): void;
1021
- declare function useWireframeUniforms(uniforms: {
1022
- [key: string]: THREE.IUniform<any>;
1023
- }, props: WireframeMaterialProps): void;
1024
-
1025
- declare module '@react-three/fiber' {
1026
- interface ThreeElements {
1027
- meshWireframeMaterial: ThreeElement<typeof WireframeMaterial>;
1028
- }
1029
- }
1030
- interface WireframeProps {
1031
- geometry?: THREE.BufferGeometry | React.RefObject<THREE.BufferGeometry>;
1032
- simplify?: boolean;
1033
- }
1034
- declare function Wireframe({ geometry: customGeometry, ...props }: WireframeProps & WireframeMaterialProps): React.JSX.Element;
1035
-
1036
1068
  type GizmoHelperContext = {
1037
1069
  tweenCamera: (direction: Vector3$1) => void;
1038
1070
  };
@@ -1079,6 +1111,17 @@ type OnDragStartProps = {
1079
1111
  origin: THREE.Vector3;
1080
1112
  directions: THREE.Vector3[];
1081
1113
  };
1114
+ type OnDragProps = {
1115
+ local: THREE.Matrix4;
1116
+ deltaLocal: THREE.Matrix4;
1117
+ world: THREE.Matrix4;
1118
+ deltaWorld: THREE.Matrix4;
1119
+ };
1120
+ type OnHoverProps = {
1121
+ component: 'Arrow' | 'Slider' | 'Rotator' | 'Sphere';
1122
+ axis: 0 | 1 | 2;
1123
+ hovering: boolean;
1124
+ };
1082
1125
 
1083
1126
  type PivotControlsProps = {
1084
1127
  enabled?: boolean;
@@ -1088,6 +1131,7 @@ type PivotControlsProps = {
1088
1131
  offset?: [number, number, number];
1089
1132
  rotation?: [number, number, number];
1090
1133
  matrix?: THREE.Matrix4;
1134
+ object?: THREE.Object3D | React.MutableRefObject<THREE.Object3D>;
1091
1135
  anchor?: [number, number, number];
1092
1136
  autoTransform?: boolean;
1093
1137
  activeAxes?: [boolean, boolean, boolean];
@@ -1103,8 +1147,9 @@ type PivotControlsProps = {
1103
1147
  annotations?: boolean;
1104
1148
  annotationsClass?: string;
1105
1149
  onDragStart?: (props: OnDragStartProps) => void;
1106
- onDrag?: (l: THREE.Matrix4, deltaL: THREE.Matrix4, w: THREE.Matrix4, deltaW: THREE.Matrix4) => void;
1107
- onDragEnd?: () => void;
1150
+ onDrag?: (props: OnDragProps) => void;
1151
+ onDragEnd?: (props: OnDragProps) => void;
1152
+ onHover?: (props: OnHoverProps) => void;
1108
1153
  depthTest?: boolean;
1109
1154
  renderOrder?: number;
1110
1155
  opacity?: number;
@@ -1146,8 +1191,8 @@ type HelperType = Object3D & {
1146
1191
  dispose: () => void;
1147
1192
  };
1148
1193
  type HelperConstructor = new (...args: any[]) => any;
1149
- type HelperArgs<T> = T extends [infer _, ...infer R] ? R : never;
1150
- declare function useHelper<T extends HelperConstructor>(object3D: React.RefObject<Object3D> | Falsey, helperConstructor: T, ...args: HelperArgs<ConstructorParameters<T>>): React.RefObject<HelperType | null>;
1194
+ type HelperArgs<T> = T extends [infer _, ...infer R] ? R : [];
1195
+ declare function useHelper<T extends HelperConstructor>(object3D: React.RefObject<Object3D | null> | Falsey, helperConstructor: T, ...args: HelperArgs<ConstructorParameters<T>>): React.RefObject<HelperType | null>;
1151
1196
  type HelperProps<T extends HelperConstructor> = {
1152
1197
  type: T;
1153
1198
  args?: HelperArgs<ConstructorParameters<T>>;
@@ -1190,6 +1235,7 @@ type InstancedAttributeProps = Omit<ThreeElements['instancedBufferAttribute'], '
1190
1235
  defaultValue: any;
1191
1236
  normalized?: boolean;
1192
1237
  usage?: number;
1238
+ type?: 'float' | 'int' | 'uint' | 'short' | 'ushort' | 'byte';
1193
1239
  };
1194
1240
  type InstancedMesh = Omit<THREE.InstancedMesh, 'instanceMatrix' | 'instanceColor'> & {
1195
1241
  instanceMatrix: THREE.InstancedBufferAttribute;
@@ -1203,7 +1249,7 @@ declare class PositionMesh extends THREE.Group {
1203
1249
  get geometry(): THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap> | undefined;
1204
1250
  raycast(raycaster: THREE.Raycaster, intersects: THREE.Intersection[]): void;
1205
1251
  }
1206
- 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"> & {
1252
+ 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"> & {
1207
1253
  context?: React.Context<Api$1>;
1208
1254
  } & React.RefAttributes<unknown>>;
1209
1255
  declare const Instances: ForwardRefComponent<InstancesProps, THREE.InstancedMesh>;
@@ -1212,10 +1258,21 @@ interface MergedProps extends Omit<InstancesProps, 'children'> {
1212
1258
  children: (...instances: [React.FC<InstanceProps> & Record<string, React.FC<InstanceProps>>, ...React.FC<InstanceProps>[]]) => React.ReactNode;
1213
1259
  }
1214
1260
  declare const Merged: ForwardRefComponent<MergedProps, THREE.Group>;
1215
- 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"> & {
1261
+ 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"> & {
1262
+ context?: React.Context<Api$1>;
1263
+ range?: number;
1264
+ limit?: number;
1265
+ frames?: number;
1266
+ } & 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"> & {
1216
1267
  context?: React.Context<Api$1>;
1217
1268
  }> & React.RefAttributes<PositionMesh & T>>];
1218
- declare const InstancedAttribute: React.ForwardRefExoticComponent<Omit<InstancedAttributeProps, "ref"> & React.RefAttributes<THREE.InstancedBufferAttribute>>;
1269
+ 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"> & {
1270
+ name: string;
1271
+ defaultValue: any;
1272
+ normalized?: boolean;
1273
+ usage?: number;
1274
+ type?: "float" | "int" | "uint" | "short" | "ushort" | "byte";
1275
+ } & React.RefAttributes<THREE.InstancedBufferAttribute>>;
1219
1276
 
1220
1277
  type Size = {
1221
1278
  w: number;
@@ -1319,7 +1376,40 @@ type SpriteAnimatorState = {
1319
1376
  ref: React.Ref<THREE.Group>;
1320
1377
  };
1321
1378
  declare function useSpriteAnimator(): SpriteAnimatorState | null;
1322
- declare const SpriteAnimator: React.ForwardRefExoticComponent<Omit<SpriteAnimatorProps, "ref"> & React.RefAttributes<THREE.Group<THREE.Object3DEventMap>>>;
1379
+ declare const SpriteAnimator: React.ForwardRefExoticComponent<{
1380
+ startFrame?: number;
1381
+ endFrame?: number;
1382
+ fps?: number;
1383
+ frameName?: string;
1384
+ textureDataURL?: string;
1385
+ textureImageURL?: string;
1386
+ loop?: boolean;
1387
+ numberOfFrames?: number;
1388
+ autoPlay?: boolean;
1389
+ animationNames?: Array<string>;
1390
+ onStart?: (data: AnimationEventData) => void;
1391
+ onEnd?: (data: AnimationEventData) => void;
1392
+ onLoopEnd?: (data: AnimationEventData) => void;
1393
+ onFrame?: (data: AnimationEventData) => void;
1394
+ play?: boolean;
1395
+ pause?: boolean;
1396
+ flipX?: boolean;
1397
+ alphaTest?: number;
1398
+ asSprite?: boolean;
1399
+ offset?: number;
1400
+ playBackwards?: boolean;
1401
+ resetOnEnd?: boolean;
1402
+ instanceItems?: Vector3[];
1403
+ maxItems?: number;
1404
+ spriteDataset?: {
1405
+ spriteTexture: THREE.Texture;
1406
+ spriteData: SpriteData | null;
1407
+ aspect: Vector3;
1408
+ } | null;
1409
+ canvasRenderingContext2DSettings?: CanvasRenderingContext2DSettings;
1410
+ roundFramePosition?: boolean;
1411
+ meshProps?: CommonMeshProps;
1412
+ } & 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>>>;
1323
1413
 
1324
1414
  type Api<T extends AnimationClip> = {
1325
1415
  ref: React.RefObject<Object3D | undefined | null>;
@@ -1405,7 +1495,7 @@ declare const Svg: ForwardRefComponent<SvgProps, Object3D>;
1405
1495
  declare function useDepthBuffer({ size, frames }?: {
1406
1496
  size?: number;
1407
1497
  frames?: number;
1408
- }): DepthTexture | null;
1498
+ }): DepthTexture<THREE.DepthTextureImageData> | null;
1409
1499
 
1410
1500
  interface CubeTextureOptions {
1411
1501
  path: string;
@@ -1504,33 +1594,52 @@ declare function Fbx({ path, ...props }: {
1504
1594
  type Path = string | string[];
1505
1595
  type UseDraco = boolean | string;
1506
1596
  type UseMeshopt = boolean;
1507
- type ExtendLoader = (loader: GLTFLoader) => void;
1508
- declare const useGLTF: {
1509
- <T extends Path>(path: T, useDraco?: UseDraco, useMeshopt?: UseMeshopt, extendLoader?: ExtendLoader): T extends any[] ? (GLTF & ObjectMap)[] : GLTF & ObjectMap;
1510
- preload(path: Path, useDraco?: UseDraco, useMeshopt?: UseMeshopt, extendLoader?: ExtendLoader): void;
1511
- clear(path: Path): void;
1512
- setDecoderPath(path: string): void;
1513
- };
1597
+ type UseKTX2 = boolean | string;
1598
+ type ExtendLoader$1 = (loader: GLTFLoader) => void;
1599
+ interface UseGLTFOptions {
1600
+ draco?: UseDraco;
1601
+ meshopt?: UseMeshopt;
1602
+ ktx2?: UseKTX2;
1603
+ extendLoader?: ExtendLoader$1;
1604
+ }
1605
+ 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;
1606
+ declare namespace useGLTF {
1607
+ var preload: (path: Path, optionsOrDraco?: UseGLTFOptions | UseDraco, useMeshoptArg?: UseMeshopt, useKTX2Arg?: UseKTX2, extendLoaderArg?: ExtendLoader$1) => void;
1608
+ var clear: (path: Path) => void;
1609
+ var setDecoderPath: (path: string) => void;
1610
+ var setKTX2TranscoderPath: (path: string) => void;
1611
+ }
1514
1612
  type GltfProps = Omit<CloneProps, 'object'> & {
1515
1613
  src: string;
1516
1614
  useDraco?: UseDraco;
1517
1615
  useMeshOpt?: UseMeshopt;
1518
- extendLoader?: ExtendLoader;
1616
+ extendLoader?: ExtendLoader$1;
1617
+ options?: UseGLTFOptions;
1519
1618
  };
1520
- declare const Gltf: React.ForwardRefExoticComponent<Omit<GltfProps, "ref"> & React.RefAttributes<THREE.Group<THREE.Object3DEventMap>>>;
1619
+ declare const Gltf: React.ForwardRefExoticComponent<Omit<CloneProps, "object"> & {
1620
+ src: string;
1621
+ useDraco?: UseDraco;
1622
+ useMeshOpt?: UseMeshopt;
1623
+ extendLoader?: ExtendLoader$1;
1624
+ options?: UseGLTFOptions;
1625
+ } & React.RefAttributes<THREE.Group<THREE.Object3DEventMap>>>;
1521
1626
 
1522
- declare function useKTX2<Url extends string[] | string | Record<string, string>>(input: Url, basisPath?: string): Url extends any[] ? Texture$1[] : Url extends object ? {
1627
+ type ExtendLoader = (loader: KTX2Loader) => void;
1628
+ 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 ? {
1523
1629
  [key in keyof Url]: Texture$1;
1524
1630
  } : Texture$1;
1525
1631
  declare namespace useKTX2 {
1526
- var preload: (url: string extends any[] ? string[] : string, basisPath?: string) => void;
1632
+ var preload: (url: string | string[], basisPath?: boolean | string, extendLoader?: ExtendLoader) => void;
1527
1633
  var clear: (input: string | string[]) => void;
1634
+ var setTranscoderPath: (path: string) => void;
1528
1635
  }
1529
- declare const Ktx2: ({ children, input, basisPath, }: {
1636
+ type Ktx2Props = {
1530
1637
  children?: (texture: ReturnType<typeof useKTX2>) => React.ReactNode;
1531
1638
  input: Parameters<typeof useKTX2>[0];
1532
1639
  basisPath?: Parameters<typeof useKTX2>[1];
1533
- }) => React.JSX.Element;
1640
+ extendLoader?: ExtendLoader;
1641
+ };
1642
+ declare const Ktx2: ({ children, input, basisPath, extendLoader }: Ktx2Props) => React.JSX.Element;
1534
1643
 
1535
1644
  type Data = {
1536
1645
  errors: string[];
@@ -1561,6 +1670,13 @@ declare const Texture: ({ children, input, onLoad, }: {
1561
1670
  onLoad?: Parameters<typeof useTexture>[1];
1562
1671
  }) => React.JSX.Element;
1563
1672
 
1673
+ declare const useVariants: (model: GLTF, inVariant?: string) => {
1674
+ variants: any;
1675
+ activeVariant: string | null;
1676
+ setVariant: (variantName: string | null) => void;
1677
+ materials: Material<THREE.MaterialEventMap>[];
1678
+ };
1679
+
1564
1680
  type WebcamVideoTextureProps = Omit<VideoTextureProps, 'src'> & {
1565
1681
  constraints?: MediaStreamConstraints;
1566
1682
  };
@@ -1646,7 +1762,7 @@ declare const StatsGl: ForwardRefComponent<StatsGlProps, HTMLDivElement>;
1646
1762
  type FBOSettings = {
1647
1763
  depth?: boolean;
1648
1764
  } & RenderTargetOptions;
1649
- declare function useFBO(width?: number | FBOSettings, height?: number, settings?: FBOSettings): THREE.WebGLRenderTarget<THREE.Texture<unknown>>;
1765
+ declare function useFBO(width?: number | FBOSettings, height?: number, settings?: FBOSettings): THREE.WebGLRenderTarget<THREE.Texture<unknown, THREE.TextureEventMap>>;
1650
1766
  type UseFBOParams = Parameters<typeof useFBO>;
1651
1767
  type FboProps = {
1652
1768
  children?: (target: Fbo) => React.ReactNode;
@@ -1660,7 +1776,7 @@ declare const Fbo: React.ForwardRefExoticComponent<{
1660
1776
  height?: UseFBOParams[1];
1661
1777
  } & {
1662
1778
  depth?: boolean;
1663
- } & THREE.RenderTargetOptions & React.RefAttributes<THREE.WebGLRenderTarget<THREE.Texture<unknown>>>>;
1779
+ } & THREE.RenderTargetOptions & React.RefAttributes<THREE.WebGLRenderTarget<THREE.Texture<unknown, THREE.TextureEventMap>>>>;
1664
1780
 
1665
1781
  type FisheyeProps = ThreeElements['mesh'] & {
1666
1782
  zoom?: number;
@@ -1714,7 +1830,7 @@ type RenderCubeTextureProps = Omit<ThreeElements['texture'], 'ref' | 'args' | 'r
1714
1830
  };
1715
1831
  type RenderCubeTextureApi = {
1716
1832
  scene: THREE.Scene;
1717
- fbo: THREE.WebGLCubeRenderTarget;
1833
+ fbo: WebGLCubeRenderTarget;
1718
1834
  camera: THREE.CubeCamera;
1719
1835
  };
1720
1836
  declare const RenderCubeTexture: ForwardRefComponent<RenderCubeTextureProps, RenderCubeTextureApi>;
@@ -1866,7 +1982,7 @@ type EnvironmentLoaderProps = {
1866
1982
  extensions?: (loader: Loader$1) => void;
1867
1983
  colorSpace?: ColorSpace;
1868
1984
  };
1869
- declare function useEnvironment({ files, path, preset, colorSpace, extensions, }?: Partial<EnvironmentLoaderProps>): Texture$1<unknown> | CubeTexture$1<unknown>;
1985
+ declare function useEnvironment({ files, path, preset, colorSpace, extensions, }?: Partial<EnvironmentLoaderProps>): Texture$1<unknown, THREE.TextureEventMap> | CubeTexture$1<unknown>;
1870
1986
  declare namespace useEnvironment {
1871
1987
  var preload: (preloadOptions?: EnvironmentLoaderPreloadOptions) => void;
1872
1988
  var clear: (clearOptions?: EnvironmentLoaderClearOptions) => void;
@@ -1937,7 +2053,13 @@ type ResizeProps = Omit<ThreeElements['group'], 'ref'> & {
1937
2053
  box3?: THREE.Box3;
1938
2054
  precise?: boolean;
1939
2055
  };
1940
- declare const Resize: React.ForwardRefExoticComponent<Omit<ResizeProps, "ref"> & React.RefAttributes<THREE.Group<THREE.Object3DEventMap>>>;
2056
+ 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"> & {
2057
+ width?: boolean;
2058
+ height?: boolean;
2059
+ depth?: boolean;
2060
+ box3?: THREE.Box3;
2061
+ precise?: boolean;
2062
+ } & React.RefAttributes<THREE.Group<THREE.Object3DEventMap>>>;
1941
2063
 
1942
2064
  type ScreenSizerProps = Omit<ThreeElements['object3D'], 'ref'> & {
1943
2065
  scale?: number;
@@ -2042,6 +2164,7 @@ interface HtmlProps extends Omit<Assign<React.HTMLAttributes<HTMLDivElement>, Th
2042
2164
  geometry?: React.ReactNode;
2043
2165
  castShadow?: boolean;
2044
2166
  receiveShadow?: boolean;
2167
+ pixelPerfect?: boolean;
2045
2168
  }
2046
2169
  declare const Html: ForwardRefComponent<HtmlProps, HTMLDivElement>;
2047
2170
 
@@ -2079,6 +2202,81 @@ type AsciiRendererProps = {
2079
2202
  };
2080
2203
  declare function AsciiRenderer({ renderIndex, bgColor, fgColor, characters, invert, color, resolution, }: AsciiRendererProps): React.JSX.Element;
2081
2204
 
2205
+ interface WireframeMaterialProps extends THREE.ShaderMaterialParameters {
2206
+ fillOpacity?: number;
2207
+ fillMix?: number;
2208
+ strokeOpacity?: number;
2209
+ thickness?: number;
2210
+ colorBackfaces?: boolean;
2211
+ dashInvert?: boolean;
2212
+ dash?: boolean;
2213
+ dashRepeats?: number;
2214
+ dashLength?: number;
2215
+ squeeze?: boolean;
2216
+ squeezeMin?: number;
2217
+ squeezeMax?: number;
2218
+ stroke?: THREE.ColorRepresentation;
2219
+ backfaceStroke?: THREE.ColorRepresentation;
2220
+ fill?: THREE.ColorRepresentation;
2221
+ }
2222
+ declare const WireframeMaterialShaders: {
2223
+ uniforms: {
2224
+ strokeOpacity: number;
2225
+ fillOpacity: number;
2226
+ fillMix: number;
2227
+ thickness: number;
2228
+ colorBackfaces: boolean;
2229
+ dashInvert: boolean;
2230
+ dash: boolean;
2231
+ dashRepeats: number;
2232
+ dashLength: number;
2233
+ squeeze: boolean;
2234
+ squeezeMin: number;
2235
+ squeezeMax: number;
2236
+ stroke: THREE.Color;
2237
+ backfaceStroke: THREE.Color;
2238
+ fill: THREE.Color;
2239
+ };
2240
+ vertex: string;
2241
+ fragment: string;
2242
+ };
2243
+ declare const WireframeMaterial: _react_three_fiber.ConstructorRepresentation<THREE.ShaderMaterial & {
2244
+ strokeOpacity: number;
2245
+ fillOpacity: number;
2246
+ fillMix: number;
2247
+ thickness: number;
2248
+ colorBackfaces: boolean;
2249
+ dashInvert: boolean;
2250
+ dash: boolean;
2251
+ dashRepeats: number;
2252
+ dashLength: number;
2253
+ squeeze: boolean;
2254
+ squeezeMin: number;
2255
+ squeezeMax: number;
2256
+ stroke: THREE.Color;
2257
+ backfaceStroke: THREE.Color;
2258
+ fill: THREE.Color;
2259
+ }> & {
2260
+ key: string;
2261
+ };
2262
+ declare function setWireframeOverride(material: THREE.Material, uniforms: {
2263
+ [key: string]: THREE.IUniform<any>;
2264
+ }): void;
2265
+ declare function useWireframeUniforms(uniforms: {
2266
+ [key: string]: THREE.IUniform<any>;
2267
+ }, props: WireframeMaterialProps): void;
2268
+
2269
+ declare module '@react-three/fiber' {
2270
+ interface ThreeElements {
2271
+ meshWireframeMaterial: ThreeElement<typeof WireframeMaterial>;
2272
+ }
2273
+ }
2274
+ interface WireframeProps {
2275
+ geometry?: THREE.BufferGeometry | React.RefObject<THREE.BufferGeometry>;
2276
+ simplify?: boolean;
2277
+ }
2278
+ declare function Wireframe({ geometry: customGeometry, ...props }: WireframeProps & WireframeMaterialProps): React.JSX.Element;
2279
+
2082
2280
  declare function BakeShadows(): null;
2083
2281
 
2084
2282
  declare class ConvolutionMaterial extends THREE.ShaderMaterial {
@@ -2189,6 +2387,10 @@ declare class SpotLightMaterial extends THREE.ShaderMaterial {
2189
2387
  constructor();
2190
2388
  }
2191
2389
 
2390
+ declare const HtmlMaterial: ({ transform }: {
2391
+ transform: boolean;
2392
+ }) => React.JSX.Element;
2393
+
2192
2394
  declare class StarfieldMaterial extends ShaderMaterial {
2193
2395
  uniforms: {
2194
2396
  time: {
@@ -2289,7 +2491,7 @@ interface MaterialShader {
2289
2491
  };
2290
2492
  }
2291
2493
  declare function useBoxProjectedEnv(position?: ReactThreeFiber.Vector3, size?: ReactThreeFiber.Vector3): {
2292
- ref: React.RefObject<THREE.Material>;
2494
+ ref: React.RefObject<THREE.Material<THREE.MaterialEventMap>>;
2293
2495
  onBeforeCompile: (shader: MaterialShader) => void;
2294
2496
  customProgramCacheKey: () => string;
2295
2497
  };
@@ -2346,5 +2548,5 @@ type TextProps = Omit<ThreeElements['mesh'], 'ref'> & {
2346
2548
  };
2347
2549
  declare const Text: ForwardRefComponent<TextProps, any>;
2348
2550
 
2349
- export { AccumulativeShadows, AdaptiveDpr, AdaptiveEvents, ArcballControls, AsciiRenderer, BBAnchor, Backdrop, BakeShadows, Billboard, BlurPass, Bounds, Box, CameraShake, Capsule, CatmullRomLine, Caustics, Center, Circle, Clone, Cloud, CloudInstance, CloudMaterial, Clouds, ComputedAttribute, Cone, ContactShadows, ConvolutionMaterial, CubeCamera, CubeTexture, CubicBezierLine, CurveModifier, CycleRaycast, Cylinder, Decal, Detailed, DetectGPU, DeviceOrientationControls, DiscardMaterial, Dodecahedron, DragControls, Edges, Effects, Environment, EnvironmentCube, EnvironmentMap, EnvironmentPortal, Example, Extrude, 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, MeshDiscardMaterial, MeshDistortMaterial, MeshPortalMaterial, MeshReflectorMaterial, 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, SpotLightShadow, SpriteAnimator, Stage, StarfieldMaterial, Stars, Stats, StatsGl, Svg, Tetrahedron, Text, Text3D, Texture, Torus, TorusKnot, TrackballControls, Trail, TrailTexture, TransformControls, Tube, VideoTexture, View, WebcamVideoTexture, Wireframe, WireframeMaterial, WireframeMaterialShaders, accumulativeContext, calcPosFromAngles, checkIfFrameIsEmpty, createInstances, getFirstFrame, isWebGL2Available, meshBounds, presetsObj, setWireframeOverride, shaderMaterial, useAnimations, useAspect, useBounds, useBoxProjectedEnv, 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 };
2350
- export type { AccumulativeContext, AccumulativeLightContext, AccumulativeShadowsProps, ArcballControlsProps, Args, AsciiRendererProps, BBAnchorProps, BackdropProps, BillboardProps, BlurPassProps, 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, EffectsProps, 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, LightProps, LineProps, LoaderOptions, MapControlsProps, MaskProps, MergedProps, MeshDiscardMaterialProps, MeshDistortMaterialProps, MeshReflectorMaterialProps, MeshTransmissionMaterialProps, MetaData, MotionPathProps, MotionPathRef, OnCenterCallbackProps, 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, TextProps, TrackballControlsProps, TrailProps, TrailTextureProps, TransformControlsProps, TransformFn, VideoTextureProps, ViewProps, ViewportProps, WebcamVideoTextureProps, WireframeMaterialProps, WobbleMaterialProps, useSurfaceSamplerProps };
2551
+ export { AccumulativeShadows, AdaptiveDpr, AdaptiveEvents, ArcballControls, AsciiRenderer, BBAnchor, Backdrop, BakeShadows, Billboard, BlurPass, Bounds, Box, CameraShake, Capsule, CatmullRomLine, Caustics, Center, Circle, Clone, Cloud, CloudInstance, CloudMaterial, Clouds, ComputedAttribute, Cone, ContactShadows, ConvolutionMaterial, CubeCamera, CubeTexture, CubicBezierLine, CurveModifier, CycleRaycast, Cylinder, Decal, Detailed, DetectGPU, DeviceOrientationControls, DiscardMaterial, Dodecahedron, DragControls, Edges, Effects, Environment, EnvironmentCube, EnvironmentMap, EnvironmentPortal, Example, Extrude, 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, MeshDiscardMaterial, MeshDistortMaterial, MeshPortalMaterial, MeshReflectorMaterial, 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, SpotLightShadow, SpriteAnimator, Stage, StarfieldMaterial, Stars, Stats, StatsGl, Svg, Tetrahedron, Text, Text3D, Texture, Torus, TorusKnot, TrackballControls, Trail, TrailTexture, TransformControls, Tube, VideoTexture, View, WebcamVideoTexture, Wireframe, WireframeMaterial, WireframeMaterialShaders, accumulativeContext, calcPosFromAngles, checkIfFrameIsEmpty, createInstances, getFirstFrame, isWebGL2Available, meshBounds, presetsObj, setWireframeOverride, shaderMaterial, useAnimations, useAspect, useBounds, useBoxProjectedEnv, 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 };
2552
+ export type { AccumulativeContext, AccumulativeLightContext, AccumulativeShadowsProps, ArcballControlsProps, Args, AsciiRendererProps, BBAnchorProps, BackdropProps, BillboardProps, BlurPassProps, 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, EffectsProps, 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, MeshDiscardMaterialProps, MeshDistortMaterialProps, MeshReflectorMaterialProps, MeshRefractionMaterialProps, MeshTransmissionMaterialProps, MetaData, MotionPathProps, MotionPathRef, OnCenterCallbackProps, OnDragProps, 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, StatsOptions, StatsProps, SvgProps, Text3DProps, TextProps, TrackballControlsProps, TrailProps, TrailTextureProps, TransformControlsProps, TransformFn, UseGLTFOptions, VideoTextureProps, ViewProps, ViewportProps, WebcamVideoTextureProps, WireframeMaterialProps, WobbleMaterialProps, useSurfaceSamplerProps };