@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.
package/index.d.mts CHANGED
@@ -3,13 +3,12 @@ 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 } from '@react-three/fiber';
5
5
  import * as THREE from 'three';
6
- import { MeshStandardMaterial, Texture as Texture$1, Matrix4, Color, ColorRepresentation, Object3D, Fog, FogExp2, WebGLCubeRenderTarget, CubeCamera as CubeCamera$1, OrthographicCamera as OrthographicCamera$1, PerspectiveCamera as PerspectiveCamera$1, Event, Camera, Material, 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, EventDispatcher } from 'three';
6
+ import { MeshStandardMaterial, Texture as Texture$1, Matrix4, Color, ColorRepresentation, Object3D, Fog, FogExp2, WebGLCubeRenderTarget, CubeCamera as CubeCamera$1, OrthographicCamera as OrthographicCamera$1, PerspectiveCamera as PerspectiveCamera$1, Event, EventDispatcher, Camera, Material, 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 } from 'three';
7
+ import { MeshBVHUniformStruct, SplitStrategy } 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 { ArcballControls as ArcballControls$1 } from 'three/examples/jsm/controls/ArcballControls.js';
11
- import { DeviceOrientationControls as DeviceOrientationControls$1 } from 'three-stdlib';
12
- import { DragConfig } from '@use-gesture/react';
13
12
  import { FirstPersonControls as FirstPersonControls$1 } from 'three/examples/jsm/controls/FirstPersonControls.js';
14
13
  import { FlyControls as FlyControls$1 } from 'three/examples/jsm/controls/FlyControls.js';
15
14
  import * as zustand from 'zustand';
@@ -28,12 +27,12 @@ import { Falsey, Assign } from 'utility-types';
28
27
  import * as hls_js from 'hls.js';
29
28
  import hls_js__default from 'hls.js';
30
29
  import { GLTFLoader, GLTF } from 'three/examples/jsm/loaders/GLTFLoader.js';
30
+ import { KTX2Loader } from 'three/examples/jsm/loaders/KTX2Loader.js';
31
31
  import * as detect_gpu from 'detect-gpu';
32
32
  import { GetGPUTier } from 'detect-gpu';
33
33
  import Stats$1 from 'stats-gl';
34
34
  import { GroundedSkybox } from 'three/examples/jsm/objects/GroundedSkybox.js';
35
35
  import { Sky as Sky$1 } from 'three/examples/jsm/objects/Sky.js';
36
- import { SplitStrategy } from 'three-mesh-bvh';
37
36
  import CameraControlsImpl from 'camera-controls';
38
37
  export { default as CameraControlsImpl } from 'camera-controls';
39
38
  import { FaceLandmarkerResult, FaceLandmarkerOptions, FaceLandmarker as FaceLandmarker$1 } from '@mediapipe/tasks-vision';
@@ -191,12 +190,31 @@ declare module '@react-three/fiber' {
191
190
  }
192
191
  }
193
192
 
193
+ declare module '@react-three/fiber' {
194
+ interface ThreeElements {
195
+ meshRefractionMaterial_: ThreeElements['shaderMaterial'] & {
196
+ envMap?: THREE.CubeTexture | THREE.Texture | null;
197
+ bounces?: number;
198
+ ior?: number;
199
+ correctMips?: boolean;
200
+ aberrationStrength?: number;
201
+ fresnel?: number;
202
+ bvh?: MeshBVHUniformStruct;
203
+ color?: ReactThreeFiber.Color;
204
+ opacity?: number;
205
+ resolution?: [number, number] | THREE.Vector2;
206
+ viewMatrixInverse?: THREE.Matrix4;
207
+ projectionMatrixInverse?: THREE.Matrix4;
208
+ };
209
+ }
210
+ }
211
+
194
212
  declare module '@react-three/fiber' {
195
213
  interface ThreeElements {
196
214
  portalMaterialImpl: ThreeElements['shaderMaterial'] & {
197
215
  resolution: ReactThreeFiber.Vector2;
198
- blur: number;
199
- blend: number;
216
+ blur?: number;
217
+ blend?: number;
200
218
  size?: number;
201
219
  sdf?: THREE.Texture;
202
220
  map?: THREE.Texture;
@@ -278,8 +296,8 @@ declare module '@react-three/fiber' {
278
296
  }
279
297
  declare class SegmentObject {
280
298
  color: THREE.Color;
281
- start: THREE.Vector3;
282
- end: THREE.Vector3;
299
+ start?: THREE.Vector3;
300
+ end?: THREE.Vector3;
283
301
  constructor();
284
302
  }
285
303
 
@@ -349,6 +367,34 @@ type ArcballControlsProps = Omit<Overwrite<ThreeElement<typeof ArcballControls$1
349
367
  }>, 'ref' | 'args'>;
350
368
  declare const ArcballControls: ForwardRefComponent<ArcballControlsProps, ArcballControls$1>;
351
369
 
370
+ interface StandardControlsEventMap {
371
+ change: {};
372
+ start: {};
373
+ end: {};
374
+ }
375
+ declare class DeviceOrientationControls$1 extends EventDispatcher<StandardControlsEventMap> {
376
+ object: Camera;
377
+ private changeEvent;
378
+ private EPS;
379
+ enabled: boolean;
380
+ deviceOrientation: Partial<DeviceOrientationEvent>;
381
+ screenOrientation: string | number;
382
+ alphaOffset: number;
383
+ constructor(object: Camera);
384
+ private onDeviceOrientationChangeEvent;
385
+ private onScreenOrientationChangeEvent;
386
+ private zee;
387
+ private euler;
388
+ private q0;
389
+ private q1;
390
+ private setObjectQuaternion;
391
+ connect: () => void;
392
+ disconnect: () => void;
393
+ private lastQuaternion;
394
+ update: () => void;
395
+ dispose: () => void;
396
+ }
397
+
352
398
  type DeviceOrientationControlsProps = Omit<ThreeElement<typeof DeviceOrientationControls$1>, 'ref' | 'args'> & {
353
399
  camera?: THREE.Camera;
354
400
  onChange?: (e?: THREE.Event) => void;
@@ -356,6 +402,10 @@ type DeviceOrientationControlsProps = Omit<ThreeElement<typeof DeviceOrientation
356
402
  };
357
403
  declare const DeviceOrientationControls: ForwardRefComponent<DeviceOrientationControlsProps, DeviceOrientationControls$1>;
358
404
 
405
+ type DragConfig = {
406
+ threshold?: number;
407
+ filterTaps?: boolean;
408
+ };
359
409
  type DragControlsProps = {
360
410
  autoTransform?: boolean;
361
411
  matrix?: THREE.Matrix4;
@@ -515,6 +565,7 @@ type ScrollControlsProps = {
515
565
  maxSpeed?: number;
516
566
  prepend?: boolean;
517
567
  enabled?: boolean;
568
+ pixelPerfect?: boolean;
518
569
  style?: React.CSSProperties;
519
570
  children: React.ReactNode;
520
571
  };
@@ -531,9 +582,10 @@ type ScrollControlsState = {
531
582
  range(from: number, distance: number, margin?: number): number;
532
583
  curve(from: number, distance: number, margin?: number): number;
533
584
  visible(from: number, distance: number, margin?: number): boolean;
585
+ pixelPerfect: boolean;
534
586
  };
535
587
  declare function useScroll(): ScrollControlsState;
536
- declare function ScrollControls({ eps, enabled, infinite, horizontal, pages, distance, damping, maxSpeed, prepend, style, children, }: ScrollControlsProps): React.JSX.Element;
588
+ declare function ScrollControls({ eps, enabled, infinite, horizontal, pages, distance, damping, maxSpeed, prepend, pixelPerfect, style, children, }: ScrollControlsProps): React.JSX.Element;
537
589
  interface ScrollPropsWithFalseHtml {
538
590
  children?: React.ReactNode;
539
591
  html?: false;
@@ -605,6 +657,7 @@ type CloudsProps = Omit<ThreeElements['group'], 'ref'> & {
605
657
  frustumCulled?: boolean;
606
658
  };
607
659
  type CloudProps = Omit<ThreeElements['group'], 'ref'> & {
660
+ materialFactory?: (baseMaterial: typeof Material) => Material;
608
661
  seed?: number;
609
662
  segments?: number;
610
663
  bounds?: ReactThreeFiber.Vector3;
@@ -622,9 +675,52 @@ type CloudProps = Omit<ThreeElements['group'], 'ref'> & {
622
675
  opacity?: number;
623
676
  color?: ReactThreeFiber.Color;
624
677
  };
625
- declare const Clouds: React.ForwardRefExoticComponent<Omit<CloudsProps, "ref"> & React.RefAttributes<Group<THREE.Object3DEventMap>>>;
626
- declare const CloudInstance: React.ForwardRefExoticComponent<Omit<CloudProps, "ref"> & React.RefAttributes<Group<THREE.Object3DEventMap>>>;
627
- declare const Cloud: React.ForwardRefExoticComponent<Omit<CloudProps, "ref"> & React.RefAttributes<Group<THREE.Object3DEventMap>>>;
678
+ 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"> & {
679
+ texture?: string;
680
+ limit?: number;
681
+ range?: number;
682
+ material?: typeof Material;
683
+ materialFactory?: (baseMaterial: typeof Material) => Material;
684
+ frustumCulled?: boolean;
685
+ } & React.RefAttributes<Group<THREE.Object3DEventMap>>>;
686
+ 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"> & {
687
+ materialFactory?: (baseMaterial: typeof Material) => Material;
688
+ seed?: number;
689
+ segments?: number;
690
+ bounds?: ReactThreeFiber.Vector3;
691
+ concentrate?: "random" | "inside" | "outside";
692
+ scale?: ReactThreeFiber.Vector3;
693
+ volume?: number;
694
+ smallestVolume?: number;
695
+ distribute?: (cloud: CloudState, index: number) => {
696
+ point: Vector3$1;
697
+ volume?: number;
698
+ };
699
+ growth?: number;
700
+ speed?: number;
701
+ fade?: number;
702
+ opacity?: number;
703
+ color?: ReactThreeFiber.Color;
704
+ } & React.RefAttributes<Group<THREE.Object3DEventMap>>>;
705
+ 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"> & {
706
+ materialFactory?: (baseMaterial: typeof Material) => Material;
707
+ seed?: number;
708
+ segments?: number;
709
+ bounds?: ReactThreeFiber.Vector3;
710
+ concentrate?: "random" | "inside" | "outside";
711
+ scale?: ReactThreeFiber.Vector3;
712
+ volume?: number;
713
+ smallestVolume?: number;
714
+ distribute?: (cloud: CloudState, index: number) => {
715
+ point: Vector3$1;
716
+ volume?: number;
717
+ };
718
+ growth?: number;
719
+ speed?: number;
720
+ fade?: number;
721
+ opacity?: number;
722
+ color?: ReactThreeFiber.Color;
723
+ } & React.RefAttributes<Group<THREE.Object3DEventMap>>>;
628
724
 
629
725
  type CatmullRomLineProps = Omit<LineProps, 'ref' | 'segments'> & {
630
726
  closed?: boolean;
@@ -744,25 +840,25 @@ type Args<T> = T extends new (...args: any) => any ? ConstructorParameters<T> :
744
840
  type ShapeProps<T> = Omit<ThreeElements['mesh'], 'ref' | 'args'> & {
745
841
  args?: Args<T>;
746
842
  };
747
- declare const Box: ForwardRefComponent<ShapeProps<typeof THREE.BoxGeometry>, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>;
748
- declare const Circle: ForwardRefComponent<ShapeProps<typeof THREE.CircleGeometry>, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>;
749
- declare const Cone: ForwardRefComponent<ShapeProps<typeof THREE.ConeGeometry>, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>;
750
- declare const Cylinder: ForwardRefComponent<ShapeProps<typeof THREE.CylinderGeometry>, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>;
751
- declare const Sphere: ForwardRefComponent<ShapeProps<typeof THREE.SphereGeometry>, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>;
752
- declare const Plane: ForwardRefComponent<ShapeProps<typeof THREE.PlaneGeometry>, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>;
753
- declare const Tube: ForwardRefComponent<ShapeProps<typeof THREE.TubeGeometry>, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>;
754
- declare const Torus: ForwardRefComponent<ShapeProps<typeof THREE.TorusGeometry>, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>;
755
- declare const TorusKnot: ForwardRefComponent<ShapeProps<typeof THREE.TorusKnotGeometry>, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>;
756
- declare const Tetrahedron: ForwardRefComponent<ShapeProps<typeof THREE.TetrahedronGeometry>, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>;
757
- declare const Ring: ForwardRefComponent<ShapeProps<typeof THREE.RingGeometry>, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>;
758
- declare const Polyhedron: ForwardRefComponent<ShapeProps<typeof THREE.PolyhedronGeometry>, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>;
759
- declare const Icosahedron: ForwardRefComponent<ShapeProps<typeof THREE.IcosahedronGeometry>, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>;
760
- declare const Octahedron: ForwardRefComponent<ShapeProps<typeof THREE.OctahedronGeometry>, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>;
761
- declare const Dodecahedron: ForwardRefComponent<ShapeProps<typeof THREE.DodecahedronGeometry>, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>;
762
- declare const Extrude: ForwardRefComponent<ShapeProps<typeof THREE.ExtrudeGeometry>, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>;
763
- declare const Lathe: ForwardRefComponent<ShapeProps<typeof THREE.LatheGeometry>, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>;
764
- declare const Capsule: ForwardRefComponent<ShapeProps<typeof THREE.CapsuleGeometry>, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>;
765
- declare const Shape: ForwardRefComponent<ShapeProps<typeof THREE.ShapeGeometry>, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>;
843
+ 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>>;
844
+ 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>>;
845
+ 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>>;
846
+ 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>>;
847
+ 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>>;
848
+ 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>>;
849
+ 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>>;
850
+ 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>>;
851
+ 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>>;
852
+ 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>>;
853
+ 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>>;
854
+ 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>>;
855
+ 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>>;
856
+ 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>>;
857
+ 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>>;
858
+ 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>>;
859
+ 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>>;
860
+ 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>>;
861
+ 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>>;
766
862
 
767
863
  type Glyph = {
768
864
  _cachedOutline: string[];
@@ -801,60 +897,13 @@ type Text3DProps = Omit<ThreeElements['mesh'], 'ref'> & {
801
897
  font: FontData | string;
802
898
  bevelSegments?: number;
803
899
  smooth?: number;
804
- } & Omit<TextGeometryParameters, 'font'>;
900
+ height?: number;
901
+ } & Omit<TextGeometryParameters, 'font' | 'depth'>;
805
902
  declare const Text3D: ForwardRefComponent<React.PropsWithChildren<Text3DProps & {
806
903
  letterSpacing?: number;
807
904
  lineHeight?: number;
808
905
  }>, THREE.Mesh>;
809
906
 
810
- interface WireframeMaterialProps extends THREE.ShaderMaterialParameters {
811
- fillOpacity?: number;
812
- fillMix?: number;
813
- strokeOpacity?: number;
814
- thickness?: number;
815
- colorBackfaces?: boolean;
816
- dashInvert?: boolean;
817
- dash?: boolean;
818
- dashRepeats?: number;
819
- dashLength?: number;
820
- squeeze?: boolean;
821
- squeezeMin?: number;
822
- squeezeMax?: number;
823
- stroke?: THREE.ColorRepresentation;
824
- backfaceStroke?: THREE.ColorRepresentation;
825
- fill?: THREE.ColorRepresentation;
826
- }
827
- declare const WireframeMaterial: _react_three_fiber.ConstructorRepresentation<THREE.ShaderMaterial & {
828
- strokeOpacity: number;
829
- fillOpacity: number;
830
- fillMix: number;
831
- thickness: number;
832
- colorBackfaces: boolean;
833
- dashInvert: boolean;
834
- dash: boolean;
835
- dashRepeats: number;
836
- dashLength: number;
837
- squeeze: boolean;
838
- squeezeMin: number;
839
- squeezeMax: number;
840
- stroke: THREE.Color;
841
- backfaceStroke: THREE.Color;
842
- fill: THREE.Color;
843
- }> & {
844
- key: string;
845
- };
846
-
847
- declare module '@react-three/fiber' {
848
- interface ThreeElements {
849
- meshWireframeMaterial: ThreeElement<typeof WireframeMaterial>;
850
- }
851
- }
852
- interface WireframeProps {
853
- geometry?: THREE.BufferGeometry | React.RefObject<THREE.BufferGeometry>;
854
- simplify?: boolean;
855
- }
856
- declare function Wireframe({ geometry: customGeometry, ...props }: WireframeProps & WireframeMaterialProps): React.JSX.Element;
857
-
858
907
  type GizmoHelperContext = {
859
908
  tweenCamera: (direction: Vector3$1) => void;
860
909
  };
@@ -901,6 +950,17 @@ type OnDragStartProps = {
901
950
  origin: THREE.Vector3;
902
951
  directions: THREE.Vector3[];
903
952
  };
953
+ type OnDragProps = {
954
+ local: THREE.Matrix4;
955
+ deltaLocal: THREE.Matrix4;
956
+ world: THREE.Matrix4;
957
+ deltaWorld: THREE.Matrix4;
958
+ };
959
+ type OnHoverProps = {
960
+ component: 'Arrow' | 'Slider' | 'Rotator' | 'Sphere';
961
+ axis: 0 | 1 | 2;
962
+ hovering: boolean;
963
+ };
904
964
 
905
965
  type PivotControlsProps = {
906
966
  enabled?: boolean;
@@ -910,6 +970,7 @@ type PivotControlsProps = {
910
970
  offset?: [number, number, number];
911
971
  rotation?: [number, number, number];
912
972
  matrix?: THREE.Matrix4;
973
+ object?: THREE.Object3D | React.MutableRefObject<THREE.Object3D>;
913
974
  anchor?: [number, number, number];
914
975
  autoTransform?: boolean;
915
976
  activeAxes?: [boolean, boolean, boolean];
@@ -925,8 +986,9 @@ type PivotControlsProps = {
925
986
  annotations?: boolean;
926
987
  annotationsClass?: string;
927
988
  onDragStart?: (props: OnDragStartProps) => void;
928
- onDrag?: (l: THREE.Matrix4, deltaL: THREE.Matrix4, w: THREE.Matrix4, deltaW: THREE.Matrix4) => void;
929
- onDragEnd?: () => void;
989
+ onDrag?: (props: OnDragProps) => void;
990
+ onDragEnd?: (props: OnDragProps) => void;
991
+ onHover?: (props: OnHoverProps) => void;
930
992
  depthTest?: boolean;
931
993
  renderOrder?: number;
932
994
  opacity?: number;
@@ -968,8 +1030,8 @@ type HelperType = Object3D & {
968
1030
  dispose: () => void;
969
1031
  };
970
1032
  type HelperConstructor = new (...args: any[]) => any;
971
- type HelperArgs<T> = T extends [infer _, ...infer R] ? R : never;
972
- declare function useHelper<T extends HelperConstructor>(object3D: React.RefObject<Object3D> | Falsey, helperConstructor: T, ...args: HelperArgs<ConstructorParameters<T>>): React.RefObject<HelperType | null>;
1033
+ type HelperArgs<T> = T extends [infer _, ...infer R] ? R : [];
1034
+ declare function useHelper<T extends HelperConstructor>(object3D: React.RefObject<Object3D | null> | Falsey, helperConstructor: T, ...args: HelperArgs<ConstructorParameters<T>>): React.RefObject<HelperType | null>;
973
1035
  type HelperProps<T extends HelperConstructor> = {
974
1036
  type: T;
975
1037
  args?: HelperArgs<ConstructorParameters<T>>;
@@ -1012,6 +1074,7 @@ type InstancedAttributeProps = Omit<ThreeElements['instancedBufferAttribute'], '
1012
1074
  defaultValue: any;
1013
1075
  normalized?: boolean;
1014
1076
  usage?: number;
1077
+ type?: 'float' | 'int' | 'uint' | 'short' | 'ushort' | 'byte';
1015
1078
  };
1016
1079
  type InstancedMesh = Omit<THREE.InstancedMesh, 'instanceMatrix' | 'instanceColor'> & {
1017
1080
  instanceMatrix: THREE.InstancedBufferAttribute;
@@ -1025,7 +1088,7 @@ declare class PositionMesh extends THREE.Group {
1025
1088
  get geometry(): THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap> | undefined;
1026
1089
  raycast(raycaster: THREE.Raycaster, intersects: THREE.Intersection[]): void;
1027
1090
  }
1028
- 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"> & {
1091
+ 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"> & {
1029
1092
  context?: React.Context<Api$1>;
1030
1093
  } & React.RefAttributes<unknown>>;
1031
1094
  declare const Instances: ForwardRefComponent<InstancesProps, THREE.InstancedMesh>;
@@ -1034,10 +1097,21 @@ interface MergedProps extends Omit<InstancesProps, 'children'> {
1034
1097
  children: (...instances: [React.FC<InstanceProps> & Record<string, React.FC<InstanceProps>>, ...React.FC<InstanceProps>[]]) => React.ReactNode;
1035
1098
  }
1036
1099
  declare const Merged: ForwardRefComponent<MergedProps, THREE.Group>;
1037
- 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"> & {
1100
+ 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"> & {
1101
+ context?: React.Context<Api$1>;
1102
+ range?: number;
1103
+ limit?: number;
1104
+ frames?: number;
1105
+ } & 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"> & {
1038
1106
  context?: React.Context<Api$1>;
1039
1107
  }> & React.RefAttributes<PositionMesh & T>>];
1040
- declare const InstancedAttribute: React.ForwardRefExoticComponent<Omit<InstancedAttributeProps, "ref"> & React.RefAttributes<THREE.InstancedBufferAttribute>>;
1108
+ 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"> & {
1109
+ name: string;
1110
+ defaultValue: any;
1111
+ normalized?: boolean;
1112
+ usage?: number;
1113
+ type?: "float" | "int" | "uint" | "short" | "ushort" | "byte";
1114
+ } & React.RefAttributes<THREE.InstancedBufferAttribute>>;
1041
1115
 
1042
1116
  type Size = {
1043
1117
  w: number;
@@ -1141,7 +1215,40 @@ type SpriteAnimatorState = {
1141
1215
  ref: React.Ref<THREE.Group>;
1142
1216
  };
1143
1217
  declare function useSpriteAnimator(): SpriteAnimatorState | null;
1144
- declare const SpriteAnimator: React.ForwardRefExoticComponent<Omit<SpriteAnimatorProps, "ref"> & React.RefAttributes<THREE.Group<THREE.Object3DEventMap>>>;
1218
+ declare const SpriteAnimator: React.ForwardRefExoticComponent<{
1219
+ startFrame?: number;
1220
+ endFrame?: number;
1221
+ fps?: number;
1222
+ frameName?: string;
1223
+ textureDataURL?: string;
1224
+ textureImageURL?: string;
1225
+ loop?: boolean;
1226
+ numberOfFrames?: number;
1227
+ autoPlay?: boolean;
1228
+ animationNames?: Array<string>;
1229
+ onStart?: (data: AnimationEventData) => void;
1230
+ onEnd?: (data: AnimationEventData) => void;
1231
+ onLoopEnd?: (data: AnimationEventData) => void;
1232
+ onFrame?: (data: AnimationEventData) => void;
1233
+ play?: boolean;
1234
+ pause?: boolean;
1235
+ flipX?: boolean;
1236
+ alphaTest?: number;
1237
+ asSprite?: boolean;
1238
+ offset?: number;
1239
+ playBackwards?: boolean;
1240
+ resetOnEnd?: boolean;
1241
+ instanceItems?: Vector3[];
1242
+ maxItems?: number;
1243
+ spriteDataset?: {
1244
+ spriteTexture: THREE.Texture;
1245
+ spriteData: SpriteData | null;
1246
+ aspect: Vector3;
1247
+ } | null;
1248
+ canvasRenderingContext2DSettings?: CanvasRenderingContext2DSettings;
1249
+ roundFramePosition?: boolean;
1250
+ meshProps?: CommonMeshProps;
1251
+ } & 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>>>;
1145
1252
 
1146
1253
  type Api<T extends AnimationClip> = {
1147
1254
  ref: React.RefObject<Object3D | undefined | null>;
@@ -1227,7 +1334,7 @@ declare const Svg: ForwardRefComponent<SvgProps, Object3D>;
1227
1334
  declare function useDepthBuffer({ size, frames }?: {
1228
1335
  size?: number;
1229
1336
  frames?: number;
1230
- }): DepthTexture | null;
1337
+ }): DepthTexture<THREE.DepthTextureImageData> | null;
1231
1338
 
1232
1339
  interface CubeTextureOptions {
1233
1340
  path: string;
@@ -1326,33 +1433,52 @@ declare function Fbx({ path, ...props }: {
1326
1433
  type Path = string | string[];
1327
1434
  type UseDraco = boolean | string;
1328
1435
  type UseMeshopt = boolean;
1329
- type ExtendLoader = (loader: GLTFLoader) => void;
1330
- declare const useGLTF: {
1331
- <T extends Path>(path: T, useDraco?: UseDraco, useMeshopt?: UseMeshopt, extendLoader?: ExtendLoader): T extends any[] ? (GLTF & ObjectMap)[] : GLTF & ObjectMap;
1332
- preload(path: Path, useDraco?: UseDraco, useMeshopt?: UseMeshopt, extendLoader?: ExtendLoader): void;
1333
- clear(path: Path): void;
1334
- setDecoderPath(path: string): void;
1335
- };
1436
+ type UseKTX2 = boolean | string;
1437
+ type ExtendLoader$1 = (loader: GLTFLoader) => void;
1438
+ interface UseGLTFOptions {
1439
+ draco?: UseDraco;
1440
+ meshopt?: UseMeshopt;
1441
+ ktx2?: UseKTX2;
1442
+ extendLoader?: ExtendLoader$1;
1443
+ }
1444
+ 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;
1445
+ declare namespace useGLTF {
1446
+ var preload: (path: Path, optionsOrDraco?: UseGLTFOptions | UseDraco, useMeshoptArg?: UseMeshopt, useKTX2Arg?: UseKTX2, extendLoaderArg?: ExtendLoader$1) => void;
1447
+ var clear: (path: Path) => void;
1448
+ var setDecoderPath: (path: string) => void;
1449
+ var setKTX2TranscoderPath: (path: string) => void;
1450
+ }
1336
1451
  type GltfProps = Omit<CloneProps, 'object'> & {
1337
1452
  src: string;
1338
1453
  useDraco?: UseDraco;
1339
1454
  useMeshOpt?: UseMeshopt;
1340
- extendLoader?: ExtendLoader;
1455
+ extendLoader?: ExtendLoader$1;
1456
+ options?: UseGLTFOptions;
1341
1457
  };
1342
- declare const Gltf: React.ForwardRefExoticComponent<Omit<GltfProps, "ref"> & React.RefAttributes<THREE.Group<THREE.Object3DEventMap>>>;
1458
+ declare const Gltf: React.ForwardRefExoticComponent<Omit<CloneProps, "object"> & {
1459
+ src: string;
1460
+ useDraco?: UseDraco;
1461
+ useMeshOpt?: UseMeshopt;
1462
+ extendLoader?: ExtendLoader$1;
1463
+ options?: UseGLTFOptions;
1464
+ } & React.RefAttributes<THREE.Group<THREE.Object3DEventMap>>>;
1343
1465
 
1344
- declare function useKTX2<Url extends string[] | string | Record<string, string>>(input: Url, basisPath?: string): Url extends any[] ? Texture$1[] : Url extends object ? {
1466
+ type ExtendLoader = (loader: KTX2Loader) => void;
1467
+ 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 ? {
1345
1468
  [key in keyof Url]: Texture$1;
1346
1469
  } : Texture$1;
1347
1470
  declare namespace useKTX2 {
1348
- var preload: (url: string extends any[] ? string[] : string, basisPath?: string) => void;
1471
+ var preload: (url: string | string[], basisPath?: boolean | string, extendLoader?: ExtendLoader) => void;
1349
1472
  var clear: (input: string | string[]) => void;
1473
+ var setTranscoderPath: (path: string) => void;
1350
1474
  }
1351
- declare const Ktx2: ({ children, input, basisPath, }: {
1475
+ type Ktx2Props = {
1352
1476
  children?: (texture: ReturnType<typeof useKTX2>) => React.ReactNode;
1353
1477
  input: Parameters<typeof useKTX2>[0];
1354
1478
  basisPath?: Parameters<typeof useKTX2>[1];
1355
- }) => React.JSX.Element;
1479
+ extendLoader?: ExtendLoader;
1480
+ };
1481
+ declare const Ktx2: ({ children, input, basisPath, extendLoader }: Ktx2Props) => React.JSX.Element;
1356
1482
 
1357
1483
  type Data = {
1358
1484
  errors: string[];
@@ -1383,6 +1509,13 @@ declare const Texture: ({ children, input, onLoad, }: {
1383
1509
  onLoad?: Parameters<typeof useTexture>[1];
1384
1510
  }) => React.JSX.Element;
1385
1511
 
1512
+ declare const useVariants: (model: GLTF, inVariant?: string) => {
1513
+ variants: any;
1514
+ activeVariant: string | null;
1515
+ setVariant: (variantName: string | null) => void;
1516
+ materials: Material<THREE.MaterialEventMap>[];
1517
+ };
1518
+
1386
1519
  type WebcamVideoTextureProps = Omit<VideoTextureProps, 'src'> & {
1387
1520
  constraints?: MediaStreamConstraints;
1388
1521
  };
@@ -1468,7 +1601,7 @@ declare const StatsGl: ForwardRefComponent<StatsGlProps, HTMLDivElement>;
1468
1601
  type FBOSettings = {
1469
1602
  depth?: boolean;
1470
1603
  } & RenderTargetOptions;
1471
- declare function useFBO(width?: number | FBOSettings, height?: number, settings?: FBOSettings): THREE.WebGLRenderTarget<THREE.Texture<unknown>>;
1604
+ declare function useFBO(width?: number | FBOSettings, height?: number, settings?: FBOSettings): THREE.WebGLRenderTarget<THREE.Texture<unknown, THREE.TextureEventMap>>;
1472
1605
  type UseFBOParams = Parameters<typeof useFBO>;
1473
1606
  type FboProps = {
1474
1607
  children?: (target: Fbo) => React.ReactNode;
@@ -1482,7 +1615,7 @@ declare const Fbo: React.ForwardRefExoticComponent<{
1482
1615
  height?: UseFBOParams[1];
1483
1616
  } & {
1484
1617
  depth?: boolean;
1485
- } & THREE.RenderTargetOptions & React.RefAttributes<THREE.WebGLRenderTarget<THREE.Texture<unknown>>>>;
1618
+ } & THREE.RenderTargetOptions & React.RefAttributes<THREE.WebGLRenderTarget<THREE.Texture<unknown, THREE.TextureEventMap>>>>;
1486
1619
 
1487
1620
  type FisheyeProps = ThreeElements['mesh'] & {
1488
1621
  zoom?: number;
@@ -1536,7 +1669,7 @@ type RenderCubeTextureProps = Omit<ThreeElements['texture'], 'ref' | 'args' | 'r
1536
1669
  };
1537
1670
  type RenderCubeTextureApi = {
1538
1671
  scene: THREE.Scene;
1539
- fbo: THREE.WebGLCubeRenderTarget;
1672
+ fbo: WebGLCubeRenderTarget;
1540
1673
  camera: THREE.CubeCamera;
1541
1674
  };
1542
1675
  declare const RenderCubeTexture: ForwardRefComponent<RenderCubeTextureProps, RenderCubeTextureApi>;
@@ -1688,7 +1821,7 @@ type EnvironmentLoaderProps = {
1688
1821
  extensions?: (loader: Loader$1) => void;
1689
1822
  colorSpace?: ColorSpace;
1690
1823
  };
1691
- declare function useEnvironment({ files, path, preset, colorSpace, extensions, }?: Partial<EnvironmentLoaderProps>): CubeTexture$1<unknown> | Texture$1<unknown>;
1824
+ declare function useEnvironment({ files, path, preset, colorSpace, extensions, }?: Partial<EnvironmentLoaderProps>): Texture$1<unknown, THREE.TextureEventMap> | CubeTexture$1<unknown>;
1692
1825
  declare namespace useEnvironment {
1693
1826
  var preload: (preloadOptions?: EnvironmentLoaderPreloadOptions) => void;
1694
1827
  var clear: (clearOptions?: EnvironmentLoaderClearOptions) => void;
@@ -1759,7 +1892,13 @@ type ResizeProps = Omit<ThreeElements['group'], 'ref'> & {
1759
1892
  box3?: THREE.Box3;
1760
1893
  precise?: boolean;
1761
1894
  };
1762
- declare const Resize: React.ForwardRefExoticComponent<Omit<ResizeProps, "ref"> & React.RefAttributes<THREE.Group<THREE.Object3DEventMap>>>;
1895
+ 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"> & {
1896
+ width?: boolean;
1897
+ height?: boolean;
1898
+ depth?: boolean;
1899
+ box3?: THREE.Box3;
1900
+ precise?: boolean;
1901
+ } & React.RefAttributes<THREE.Group<THREE.Object3DEventMap>>>;
1763
1902
 
1764
1903
  type ScreenSizerProps = Omit<ThreeElements['object3D'], 'ref'> & {
1765
1904
  scale?: number;
@@ -1864,6 +2003,7 @@ interface HtmlProps extends Omit<Assign<React.HTMLAttributes<HTMLDivElement>, Th
1864
2003
  geometry?: React.ReactNode;
1865
2004
  castShadow?: boolean;
1866
2005
  receiveShadow?: boolean;
2006
+ pixelPerfect?: boolean;
1867
2007
  }
1868
2008
  declare const Html: ForwardRefComponent<HtmlProps, HTMLDivElement>;
1869
2009
 
@@ -1974,7 +2114,23 @@ type FacemeshApi = {
1974
2114
  eyeRightRef: React.RefObject<FacemeshEyeApi>;
1975
2115
  eyeLeftRef: React.RefObject<FacemeshEyeApi>;
1976
2116
  };
1977
- declare const Facemesh: React.ForwardRefExoticComponent<Omit<FacemeshProps, "ref"> & React.RefAttributes<FacemeshApi>>;
2117
+ declare const Facemesh: React.ForwardRefExoticComponent<{
2118
+ points?: MediaPipePoints;
2119
+ face?: MediaPipeFaceMesh;
2120
+ width?: number;
2121
+ height?: number;
2122
+ depth?: number;
2123
+ verticalTri?: [number, number, number];
2124
+ origin?: number | THREE.Vector3;
2125
+ facialTransformationMatrix?: (typeof FacemeshDatas.SAMPLE_FACELANDMARKER_RESULT.facialTransformationMatrixes)[0];
2126
+ offset?: boolean;
2127
+ offsetScalar?: number;
2128
+ faceBlendshapes?: (typeof FacemeshDatas.SAMPLE_FACELANDMARKER_RESULT.faceBlendshapes)[0];
2129
+ eyes?: boolean;
2130
+ eyesAsOrigin?: boolean;
2131
+ debug?: boolean;
2132
+ LineComponent?: React.ComponentType<LineProps>;
2133
+ } & 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<FacemeshApi>>;
1978
2134
  type FacemeshEyeProps = {
1979
2135
  side: 'left' | 'right';
1980
2136
  debug?: boolean;
@@ -2162,5 +2318,5 @@ type MarchingPlaneProps = {
2162
2318
  } & ThreeElements['group'];
2163
2319
  declare const MarchingPlane: ForwardRefComponent<MarchingPlaneProps, THREE.Group>;
2164
2320
 
2165
- export { AdaptiveDpr, AdaptiveEvents, ArcballControls, BBAnchor, Backdrop, Billboard, Bounds, Box, Bvh, CameraControls, CameraShake, Capsule, CatmullRomLine, Center, Circle, Clone, Cloud, CloudInstance, Clouds, ComputedAttribute, Cone, CubeCamera, CubeTexture, CubicBezierLine, CurveModifier, CycleRaycast, Cylinder, Decal, Detailed, DetectGPU, DeviceOrientationControls, Dodecahedron, DragControls, Edges, Environment, EnvironmentCube, EnvironmentMap, EnvironmentPortal, Example, Extrude, FaceControls, FaceLandmarker, FaceLandmarkerDefaults, Facemesh, FacemeshDatas, FacemeshEye, FacemeshEyeDefaults, Fbo, Fbx, FirstPersonControls, Fisheye, Float, FlyControls, GizmoHelper, GizmoViewcube, GizmoViewport, Gltf, Helper, Html, Hud, Icosahedron, Instance, InstancedAttribute, Instances, IsObject, KeyboardControls, Ktx2, Lathe, Lightformer, Loader, MapControls, MarchingCube, MarchingCubes, MarchingPlane, Mask, MatcapTexture, Merged, MotionPathControls, NormalTexture, Octahedron, OrbitControls, OrthographicCamera, Outlines, PerformanceMonitor, PerspectiveCamera, PivotControls, Plane, Point, PointMaterial, PointMaterialImpl, PointerLockControls, Points, PointsBuffer, Polyhedron, PositionMesh, PositionPoint, PositionalAudio, Preload, PresentationControls, Progress, QuadraticBezierLine, RenderCubeTexture, RenderTexture, Resize, Ring, RoundedBox, RoundedBoxGeometry, Sampler, ScreenQuad, ScreenSizer, ScreenSpace, ScreenVideoTexture, Scroll, ScrollControls, Select, Shadow, Shape, Sky, Sphere, Splat, SpriteAnimator, Stage, Stats, StatsGl, Svg, Tetrahedron, Text3D, Texture, Torus, TorusKnot, TrackballControls, Trail, TrailTexture, TransformControls, Tube, VideoTexture, View, WebcamVideoTexture, Wireframe, calcPosFromAngles, checkIfFrameIsEmpty, createInstances, getFirstFrame, meshBounds, presetsObj, useAnimations, useAspect, useBVH, useBounds, useContextBridge, useCubeCamera, useCubeTexture, useCursor, useCustomRaycast, useDepthBuffer, useDetectGPU, useEnvironment, useFBO, useFBX, useFaceControls, useFaceLandmarker, useFont, useGLTF, useGizmoContext, useHelper, useIntersect, useKTX2, useKeyboardControls, useMask, useMatcapTexture, useMotion, useNormalTexture, usePerformanceMonitor, useProgress, useScroll, useSelect, useSpriteAnimator, useSpriteLoader, useSurfaceSampler, useTexture, useTrail, useTrailTexture, useVideoTexture };
2166
- export type { ArcballControlsProps, Args, BBAnchorProps, BVHOptions, BackdropProps, BillboardProps, BoundsApi, BoundsProps, BvhProps, CalculatePosition, CameraControlsProps, CameraShakeProps, CatmullRomLineProps, CenterProps, CloneProps, CloudProps, CloudsProps, ComputedAttributeProps, ContainerProps, CubeCameraOptions, CubeCameraProps, CubeTextureProps, CubicBezierLineProps, CurveModifierProps, CurveModifierRef, CycleRaycastProps, DecalProps, DetailedProps, DetectGPUProps, DeviceOrientationControlsProps, DragControlsProps, EdgesProps, EnvironmentLoaderProps, EnvironmentProps, ExampleApi, ExampleProps, FaceControlsApi, FaceControlsProps, FaceLandmarkerProps, FacemeshApi, FacemeshEyeApi, FacemeshEyeProps, FacemeshProps, FboProps, FirstPersonControlsProps, FisheyeProps, FloatProps, FlyControlsProps, FontData, FrameData, GizmoHelperProps, GltfProps, Glyph, HelperProps, HtmlProps, HudProps, InstanceProps, InstancedAttributeProps, InstancesProps, KeyboardControlsEntry, KeyboardControlsProps, LightProps, LoaderOptions, MapControlsProps, MarchingCubeProps, MarchingCubesProps, MarchingPlaneProps, MaskProps, MediaPipeFaceMesh, MediaPipePoints, MergedProps, MetaData, MotionPathProps, MotionPathRef, OnCenterCallbackProps, OrbitControlsChangeEvent, OrbitControlsProps, OrthographicCameraProps, OutlinesProps, PerformanceMonitorApi, PerformanceMonitorProps, PerspectiveCameraProps, PivotControlsProps, PointMaterialProps, PointerLockControlsProps, PointsBuffersProps, PointsInstancesProps, PositionalAudioProps, PreloadProps, PresentationControlProps, PresetsType, QuadraticBezierLineProps, QuadraticBezierLineRef, RenderCubeTextureApi, RenderCubeTextureProps, RenderTextureProps, ResizeProps, RoundedBoxGeometryProps, RoundedBoxProps, SamplerProps, ScreenQuadProps, ScreenSizerProps, ScreenSpaceProps, ScreenVideoTextureProps, ScrollControlsProps, ScrollControlsState, ScrollProps, SelectProps, ShadowProps, ShadowType, ShakeController, ShapeProps, SharedState, Size, SizeProps, SkyProps, SplatMaterialType, SplatProps, SpriteAnimatorProps, SpriteData, StageProps, StatsGlProps, StatsProps, SvgProps, TargetMesh, Text3DProps, TrackballControlsProps, TrailProps, TrailTextureProps, TransformControlsProps, TransformFn, VideoTextureProps, ViewProps, ViewportProps, WebcamVideoTextureProps, useSurfaceSamplerProps };
2321
+ export { AdaptiveDpr, AdaptiveEvents, ArcballControls, BBAnchor, Backdrop, Billboard, Bounds, Box, Bvh, CameraControls, CameraShake, Capsule, CatmullRomLine, Center, Circle, Clone, Cloud, CloudInstance, Clouds, ComputedAttribute, Cone, CubeCamera, CubeTexture, CubicBezierLine, CurveModifier, CycleRaycast, Cylinder, Decal, Detailed, DetectGPU, DeviceOrientationControls, Dodecahedron, DragControls, Edges, Environment, EnvironmentCube, EnvironmentMap, EnvironmentPortal, Example, Extrude, FaceControls, FaceLandmarker, FaceLandmarkerDefaults, Facemesh, FacemeshDatas, FacemeshEye, FacemeshEyeDefaults, Fbo, Fbx, FirstPersonControls, Fisheye, Float, FlyControls, GizmoHelper, GizmoViewcube, GizmoViewport, Gltf, Helper, Html, Hud, Icosahedron, Instance, InstancedAttribute, Instances, IsObject, KeyboardControls, Ktx2, Lathe, Lightformer, Loader, MapControls, MarchingCube, MarchingCubes, MarchingPlane, Mask, MatcapTexture, Merged, MotionPathControls, NormalTexture, Octahedron, OrbitControls, OrthographicCamera, Outlines, PerformanceMonitor, PerspectiveCamera, PivotControls, Plane, Point, PointMaterial, PointMaterialImpl, PointerLockControls, Points, PointsBuffer, Polyhedron, PositionMesh, PositionPoint, PositionalAudio, Preload, PresentationControls, Progress, QuadraticBezierLine, RenderCubeTexture, RenderTexture, Resize, Ring, RoundedBox, RoundedBoxGeometry, Sampler, ScreenQuad, ScreenSizer, ScreenSpace, ScreenVideoTexture, Scroll, ScrollControls, Select, Shadow, Shape, Sky, Sphere, Splat, SpriteAnimator, Stage, Stats, StatsGl, Svg, Tetrahedron, Text3D, Texture, Torus, TorusKnot, TrackballControls, Trail, TrailTexture, TransformControls, Tube, VideoTexture, View, WebcamVideoTexture, calcPosFromAngles, checkIfFrameIsEmpty, createInstances, getFirstFrame, meshBounds, presetsObj, useAnimations, useAspect, useBVH, useBounds, useContextBridge, useCubeCamera, useCubeTexture, useCursor, useCustomRaycast, useDepthBuffer, useDetectGPU, useEnvironment, useFBO, useFBX, useFaceControls, useFaceLandmarker, useFont, useGLTF, useGizmoContext, useHelper, useIntersect, useKTX2, useKeyboardControls, useMask, useMatcapTexture, useMotion, useNormalTexture, usePerformanceMonitor, useProgress, useScroll, useSelect, useSpriteAnimator, useSpriteLoader, useSurfaceSampler, useTexture, useTrail, useTrailTexture, useVariants, useVideoTexture };
2322
+ export type { ArcballControlsProps, Args, BBAnchorProps, BVHOptions, BackdropProps, BillboardProps, BoundsApi, BoundsProps, BvhProps, CalculatePosition, CameraControlsProps, CameraShakeProps, CatmullRomLineProps, CenterProps, CloneProps, CloudProps, CloudsProps, ComputedAttributeProps, ContainerProps, CubeCameraOptions, CubeCameraProps, CubeTextureProps, CubicBezierLineProps, CurveModifierProps, CurveModifierRef, CycleRaycastProps, DecalProps, DetailedProps, DetectGPUProps, DeviceOrientationControlsProps, DragConfig, DragControlsProps, EdgesProps, EdgesRef, EnvironmentLoaderProps, EnvironmentProps, ExampleApi, ExampleProps, FaceControlsApi, FaceControlsProps, FaceLandmarkerProps, FacemeshApi, FacemeshEyeApi, FacemeshEyeProps, FacemeshProps, FboProps, FirstPersonControlsProps, FisheyeProps, FloatProps, FlyControlsProps, FontData, FrameData, GizmoHelperProps, GltfProps, Glyph, HelperProps, HtmlProps, HudProps, InstanceProps, InstancedAttributeProps, InstancesProps, KeyboardControlsEntry, KeyboardControlsProps, Ktx2Props, LightProps, LoaderOptions, MapControlsProps, MarchingCubeProps, MarchingCubesProps, MarchingPlaneProps, MaskProps, MediaPipeFaceMesh, MediaPipePoints, MergedProps, MetaData, MotionPathProps, MotionPathRef, OnCenterCallbackProps, OnDragProps, OnDragStartProps, OnHoverProps, OrbitControlsChangeEvent, OrbitControlsProps, OrthographicCameraProps, OutlinesProps, PerformanceMonitorApi, PerformanceMonitorProps, PerspectiveCameraProps, PivotControlsProps, PointMaterialProps, PointerLockControlsProps, PointsBuffersProps, PointsInstancesProps, PositionalAudioProps, PreloadProps, PresentationControlProps, PresetsType, QuadraticBezierLineProps, QuadraticBezierLineRef, RenderCubeTextureApi, RenderCubeTextureProps, RenderTextureProps, ResizeProps, RoundedBoxGeometryProps, RoundedBoxProps, SamplerProps, ScreenQuadProps, ScreenSizerProps, ScreenSpaceProps, ScreenVideoTextureProps, ScrollControlsProps, ScrollControlsState, ScrollProps, SelectProps, ShadowProps, ShadowType, ShakeController, ShapeProps, SharedState, Size, SizeProps, SkyProps, SplatMaterialType, SplatProps, SpriteAnimatorProps, SpriteData, StageProps, StatsGlProps, StatsOptions, StatsProps, SvgProps, TargetMesh, Text3DProps, TrackballControlsProps, TrailProps, TrailTextureProps, TransformControlsProps, TransformFn, UseGLTFOptions, VideoTextureProps, ViewProps, ViewportProps, WebcamVideoTextureProps, useSurfaceSamplerProps };