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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/legacy/index.d.ts CHANGED
@@ -4,13 +4,13 @@ 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
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 { DragConfig } from '@use-gesture/react';
14
14
  import { FirstPersonControls as FirstPersonControls$1 } from 'three/examples/jsm/controls/FirstPersonControls.js';
15
15
  import { FlyControls as FlyControls$1 } from 'three/examples/jsm/controls/FlyControls.js';
16
16
  import * as zustand from 'zustand';
@@ -34,7 +34,6 @@ 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,6 +251,34 @@ 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 {
@@ -347,7 +374,7 @@ type WobbleMaterialProps = Omit<ThreeElements['meshStandardMaterial'], 'ref'> &
347
374
  };
348
375
  declare const MeshWobbleMaterial: ForwardRefComponent<WobbleMaterialProps, WobbleMaterialImpl>;
349
376
 
350
- declare function CloudMaterial(BaseMaterial: typeof Material): Material;
377
+ declare function CloudMaterial(BaseMaterial: typeof Material): Material<THREE.MaterialEventMap>;
351
378
 
352
379
  type OutlinesProps = Omit<ThreeElements['group'], 'ref'> & {
353
380
  color?: ReactThreeFiber.Color;
@@ -365,7 +392,7 @@ type OutlinesProps = Omit<ThreeElements['group'], 'ref'> & {
365
392
  declare function Outlines({ color, opacity, transparent, screenspace, toneMapped, polygonOffset, polygonOffsetFactor, renderOrder, thickness, angle, clippingPlanes, ...props }: OutlinesProps): React.JSX.Element;
366
393
 
367
394
  type EffectsProps = Omit<ThreeElements['effectComposer'], 'ref' | 'args'> & {
368
- multisamping?: number;
395
+ multisampling?: number;
369
396
  colorSpace?: ColorSpace;
370
397
  type?: TextureDataType;
371
398
  renderIndex?: number;
@@ -536,8 +563,9 @@ type DeviceOrientationControlsProps = Omit<ThreeElement<typeof DeviceOrientation
536
563
  };
537
564
  declare const DeviceOrientationControls: ForwardRefComponent<DeviceOrientationControlsProps, DeviceOrientationControls$1>;
538
565
 
539
- type ExpandedDragConfig = DragConfig & {
540
- preventOverlap?: boolean;
566
+ type DragConfig = {
567
+ threshold?: number;
568
+ filterTaps?: boolean;
541
569
  };
542
570
  type DragControlsProps = {
543
571
  autoTransform?: boolean;
@@ -549,7 +577,7 @@ type DragControlsProps = {
549
577
  onDrag?: (localMatrix: THREE.Matrix4, deltaLocalMatrix: THREE.Matrix4, worldMatrix: THREE.Matrix4, deltaWorldMatrix: THREE.Matrix4) => void;
550
578
  onDragEnd?: () => void;
551
579
  children: React.ReactNode;
552
- dragConfig?: ExpandedDragConfig;
580
+ dragConfig?: DragConfig;
553
581
  };
554
582
  declare const DragControls: ForwardRefComponent<DragControlsProps, THREE.Group>;
555
583
 
@@ -790,6 +818,7 @@ type CloudsProps = Omit<ThreeElements['group'], 'ref'> & {
790
818
  frustumCulled?: boolean;
791
819
  };
792
820
  type CloudProps = Omit<ThreeElements['group'], 'ref'> & {
821
+ materialFactory?: (baseMaterial: typeof Material) => Material;
793
822
  seed?: number;
794
823
  segments?: number;
795
824
  bounds?: ReactThreeFiber.Vector3;
@@ -807,9 +836,52 @@ type CloudProps = Omit<ThreeElements['group'], 'ref'> & {
807
836
  opacity?: number;
808
837
  color?: ReactThreeFiber.Color;
809
838
  };
810
- declare const Clouds: React.ForwardRefExoticComponent<Omit<CloudsProps, "ref"> & React.RefAttributes<Group<THREE.Object3DEventMap>>>;
811
- declare const CloudInstance: React.ForwardRefExoticComponent<Omit<CloudProps, "ref"> & React.RefAttributes<Group<THREE.Object3DEventMap>>>;
812
- 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>>>;
813
885
 
814
886
  type CatmullRomLineProps = Omit<LineProps, 'ref' | 'segments'> & {
815
887
  closed?: boolean;
@@ -929,25 +1001,25 @@ type Args<T> = T extends new (...args: any) => any ? ConstructorParameters<T> :
929
1001
  type ShapeProps<T> = Omit<ThreeElements['mesh'], 'ref' | 'args'> & {
930
1002
  args?: Args<T>;
931
1003
  };
932
- declare const Box: ForwardRefComponent<ShapeProps<typeof THREE.BoxGeometry>, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>;
933
- declare const Circle: ForwardRefComponent<ShapeProps<typeof THREE.CircleGeometry>, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>;
934
- declare const Cone: ForwardRefComponent<ShapeProps<typeof THREE.ConeGeometry>, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>;
935
- declare const Cylinder: ForwardRefComponent<ShapeProps<typeof THREE.CylinderGeometry>, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>;
936
- declare const Sphere: ForwardRefComponent<ShapeProps<typeof THREE.SphereGeometry>, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>;
937
- declare const Plane: ForwardRefComponent<ShapeProps<typeof THREE.PlaneGeometry>, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>;
938
- declare const Tube: ForwardRefComponent<ShapeProps<typeof THREE.TubeGeometry>, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>;
939
- declare const Torus: ForwardRefComponent<ShapeProps<typeof THREE.TorusGeometry>, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>;
940
- declare const TorusKnot: ForwardRefComponent<ShapeProps<typeof THREE.TorusKnotGeometry>, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>;
941
- declare const Tetrahedron: ForwardRefComponent<ShapeProps<typeof THREE.TetrahedronGeometry>, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>;
942
- declare const Ring: ForwardRefComponent<ShapeProps<typeof THREE.RingGeometry>, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>;
943
- declare const Polyhedron: ForwardRefComponent<ShapeProps<typeof THREE.PolyhedronGeometry>, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>;
944
- declare const Icosahedron: ForwardRefComponent<ShapeProps<typeof THREE.IcosahedronGeometry>, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>;
945
- declare const Octahedron: ForwardRefComponent<ShapeProps<typeof THREE.OctahedronGeometry>, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>;
946
- declare const Dodecahedron: ForwardRefComponent<ShapeProps<typeof THREE.DodecahedronGeometry>, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>;
947
- declare const Extrude: ForwardRefComponent<ShapeProps<typeof THREE.ExtrudeGeometry>, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>;
948
- declare const Lathe: ForwardRefComponent<ShapeProps<typeof THREE.LatheGeometry>, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>;
949
- declare const Capsule: ForwardRefComponent<ShapeProps<typeof THREE.CapsuleGeometry>, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>;
950
- 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>>;
951
1023
 
952
1024
  type Glyph = {
953
1025
  _cachedOutline: string[];
@@ -986,7 +1058,8 @@ type Text3DProps = Omit<ThreeElements['mesh'], 'ref'> & {
986
1058
  font: FontData | string;
987
1059
  bevelSegments?: number;
988
1060
  smooth?: number;
989
- } & Omit<TextGeometryParameters, 'font'>;
1061
+ height?: number;
1062
+ } & Omit<TextGeometryParameters, 'font' | 'depth'>;
990
1063
  declare const Text3D: ForwardRefComponent<React.PropsWithChildren<Text3DProps & {
991
1064
  letterSpacing?: number;
992
1065
  lineHeight?: number;
@@ -1038,6 +1111,12 @@ type OnDragStartProps = {
1038
1111
  origin: THREE.Vector3;
1039
1112
  directions: THREE.Vector3[];
1040
1113
  };
1114
+ type OnDragProps = {
1115
+ local: THREE.Matrix4;
1116
+ deltaLocal: THREE.Matrix4;
1117
+ world: THREE.Matrix4;
1118
+ deltaWorld: THREE.Matrix4;
1119
+ };
1041
1120
  type OnHoverProps = {
1042
1121
  component: 'Arrow' | 'Slider' | 'Rotator' | 'Sphere';
1043
1122
  axis: 0 | 1 | 2;
@@ -1068,8 +1147,8 @@ type PivotControlsProps = {
1068
1147
  annotations?: boolean;
1069
1148
  annotationsClass?: string;
1070
1149
  onDragStart?: (props: OnDragStartProps) => void;
1071
- onDrag?: (l: THREE.Matrix4, deltaL: THREE.Matrix4, w: THREE.Matrix4, deltaW: THREE.Matrix4) => void;
1072
- onDragEnd?: () => void;
1150
+ onDrag?: (props: OnDragProps) => void;
1151
+ onDragEnd?: (props: OnDragProps) => void;
1073
1152
  onHover?: (props: OnHoverProps) => void;
1074
1153
  depthTest?: boolean;
1075
1154
  renderOrder?: number;
@@ -1112,8 +1191,8 @@ type HelperType = Object3D & {
1112
1191
  dispose: () => void;
1113
1192
  };
1114
1193
  type HelperConstructor = new (...args: any[]) => any;
1115
- type HelperArgs<T> = T extends [infer _, ...infer R] ? R : never;
1116
- 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>;
1117
1196
  type HelperProps<T extends HelperConstructor> = {
1118
1197
  type: T;
1119
1198
  args?: HelperArgs<ConstructorParameters<T>>;
@@ -1170,7 +1249,7 @@ declare class PositionMesh extends THREE.Group {
1170
1249
  get geometry(): THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap> | undefined;
1171
1250
  raycast(raycaster: THREE.Raycaster, intersects: THREE.Intersection[]): void;
1172
1251
  }
1173
- 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"> & {
1174
1253
  context?: React.Context<Api$1>;
1175
1254
  } & React.RefAttributes<unknown>>;
1176
1255
  declare const Instances: ForwardRefComponent<InstancesProps, THREE.InstancedMesh>;
@@ -1179,10 +1258,21 @@ interface MergedProps extends Omit<InstancesProps, 'children'> {
1179
1258
  children: (...instances: [React.FC<InstanceProps> & Record<string, React.FC<InstanceProps>>, ...React.FC<InstanceProps>[]]) => React.ReactNode;
1180
1259
  }
1181
1260
  declare const Merged: ForwardRefComponent<MergedProps, THREE.Group>;
1182
- 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"> & {
1183
1267
  context?: React.Context<Api$1>;
1184
1268
  }> & React.RefAttributes<PositionMesh & T>>];
1185
- 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>>;
1186
1276
 
1187
1277
  type Size = {
1188
1278
  w: number;
@@ -1286,7 +1376,40 @@ type SpriteAnimatorState = {
1286
1376
  ref: React.Ref<THREE.Group>;
1287
1377
  };
1288
1378
  declare function useSpriteAnimator(): SpriteAnimatorState | null;
1289
- 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>>>;
1290
1413
 
1291
1414
  type Api<T extends AnimationClip> = {
1292
1415
  ref: React.RefObject<Object3D | undefined | null>;
@@ -1372,7 +1495,7 @@ declare const Svg: ForwardRefComponent<SvgProps, Object3D>;
1372
1495
  declare function useDepthBuffer({ size, frames }?: {
1373
1496
  size?: number;
1374
1497
  frames?: number;
1375
- }): DepthTexture | null;
1498
+ }): DepthTexture<THREE.DepthTextureImageData> | null;
1376
1499
 
1377
1500
  interface CubeTextureOptions {
1378
1501
  path: string;
@@ -1471,27 +1594,42 @@ declare function Fbx({ path, ...props }: {
1471
1594
  type Path = string | string[];
1472
1595
  type UseDraco = boolean | string;
1473
1596
  type UseMeshopt = boolean;
1597
+ type UseKTX2 = boolean | string;
1474
1598
  type ExtendLoader$1 = (loader: GLTFLoader) => void;
1475
- declare const useGLTF: {
1476
- <T extends Path>(path: T, useDraco?: UseDraco, useMeshopt?: UseMeshopt, extendLoader?: ExtendLoader$1): T extends any[] ? (GLTF & ObjectMap)[] : GLTF & ObjectMap;
1477
- preload(path: Path, useDraco?: UseDraco, useMeshopt?: UseMeshopt, extendLoader?: ExtendLoader$1): void;
1478
- clear(path: Path): void;
1479
- setDecoderPath(path: string): void;
1480
- };
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
+ }
1481
1612
  type GltfProps = Omit<CloneProps, 'object'> & {
1482
1613
  src: string;
1483
1614
  useDraco?: UseDraco;
1484
1615
  useMeshOpt?: UseMeshopt;
1485
1616
  extendLoader?: ExtendLoader$1;
1617
+ options?: UseGLTFOptions;
1486
1618
  };
1487
- 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>>>;
1488
1626
 
1489
1627
  type ExtendLoader = (loader: KTX2Loader) => void;
1490
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 ? {
1491
1629
  [key in keyof Url]: Texture$1;
1492
1630
  } : Texture$1;
1493
1631
  declare namespace useKTX2 {
1494
- var preload: (url: string extends any[] ? string[] : string, basisPath?: boolean | string, extendLoader?: ExtendLoader) => void;
1632
+ var preload: (url: string | string[], basisPath?: boolean | string, extendLoader?: ExtendLoader) => void;
1495
1633
  var clear: (input: string | string[]) => void;
1496
1634
  var setTranscoderPath: (path: string) => void;
1497
1635
  }
@@ -1532,6 +1670,13 @@ declare const Texture: ({ children, input, onLoad, }: {
1532
1670
  onLoad?: Parameters<typeof useTexture>[1];
1533
1671
  }) => React.JSX.Element;
1534
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
+
1535
1680
  type WebcamVideoTextureProps = Omit<VideoTextureProps, 'src'> & {
1536
1681
  constraints?: MediaStreamConstraints;
1537
1682
  };
@@ -1617,7 +1762,7 @@ declare const StatsGl: ForwardRefComponent<StatsGlProps, HTMLDivElement>;
1617
1762
  type FBOSettings = {
1618
1763
  depth?: boolean;
1619
1764
  } & RenderTargetOptions;
1620
- 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>>;
1621
1766
  type UseFBOParams = Parameters<typeof useFBO>;
1622
1767
  type FboProps = {
1623
1768
  children?: (target: Fbo) => React.ReactNode;
@@ -1631,7 +1776,7 @@ declare const Fbo: React.ForwardRefExoticComponent<{
1631
1776
  height?: UseFBOParams[1];
1632
1777
  } & {
1633
1778
  depth?: boolean;
1634
- } & THREE.RenderTargetOptions & React.RefAttributes<THREE.WebGLRenderTarget<THREE.Texture<unknown>>>>;
1779
+ } & THREE.RenderTargetOptions & React.RefAttributes<THREE.WebGLRenderTarget<THREE.Texture<unknown, THREE.TextureEventMap>>>>;
1635
1780
 
1636
1781
  type FisheyeProps = ThreeElements['mesh'] & {
1637
1782
  zoom?: number;
@@ -1685,7 +1830,7 @@ type RenderCubeTextureProps = Omit<ThreeElements['texture'], 'ref' | 'args' | 'r
1685
1830
  };
1686
1831
  type RenderCubeTextureApi = {
1687
1832
  scene: THREE.Scene;
1688
- fbo: THREE.WebGLCubeRenderTarget;
1833
+ fbo: WebGLCubeRenderTarget;
1689
1834
  camera: THREE.CubeCamera;
1690
1835
  };
1691
1836
  declare const RenderCubeTexture: ForwardRefComponent<RenderCubeTextureProps, RenderCubeTextureApi>;
@@ -1837,7 +1982,7 @@ type EnvironmentLoaderProps = {
1837
1982
  extensions?: (loader: Loader$1) => void;
1838
1983
  colorSpace?: ColorSpace;
1839
1984
  };
1840
- 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>;
1841
1986
  declare namespace useEnvironment {
1842
1987
  var preload: (preloadOptions?: EnvironmentLoaderPreloadOptions) => void;
1843
1988
  var clear: (clearOptions?: EnvironmentLoaderClearOptions) => void;
@@ -1908,7 +2053,13 @@ type ResizeProps = Omit<ThreeElements['group'], 'ref'> & {
1908
2053
  box3?: THREE.Box3;
1909
2054
  precise?: boolean;
1910
2055
  };
1911
- 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>>>;
1912
2063
 
1913
2064
  type ScreenSizerProps = Omit<ThreeElements['object3D'], 'ref'> & {
1914
2065
  scale?: number;
@@ -2236,6 +2387,10 @@ declare class SpotLightMaterial extends THREE.ShaderMaterial {
2236
2387
  constructor();
2237
2388
  }
2238
2389
 
2390
+ declare const HtmlMaterial: ({ transform }: {
2391
+ transform: boolean;
2392
+ }) => React.JSX.Element;
2393
+
2239
2394
  declare class StarfieldMaterial extends ShaderMaterial {
2240
2395
  uniforms: {
2241
2396
  time: {
@@ -2336,7 +2491,7 @@ interface MaterialShader {
2336
2491
  };
2337
2492
  }
2338
2493
  declare function useBoxProjectedEnv(position?: ReactThreeFiber.Vector3, size?: ReactThreeFiber.Vector3): {
2339
- ref: React.RefObject<THREE.Material>;
2494
+ ref: React.RefObject<THREE.Material<THREE.MaterialEventMap>>;
2340
2495
  onBeforeCompile: (shader: MaterialShader) => void;
2341
2496
  customProgramCacheKey: () => string;
2342
2497
  };
@@ -2393,5 +2548,5 @@ type TextProps = Omit<ThreeElements['mesh'], 'ref'> & {
2393
2548
  };
2394
2549
  declare const Text: ForwardRefComponent<TextProps, any>;
2395
2550
 
2396
- 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 };
2397
- 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, EdgesRef, EffectsProps, EnvironmentLoaderProps, EnvironmentProps, ExampleApi, ExampleProps, ExpandedDragConfig, FboProps, FirstPersonControlsProps, FisheyeProps, FloatProps, FlyControlsProps, FontData, FrameData, GizmoHelperProps, GltfProps, Glyph, GradientTextureProps, GridMaterialType, GridProps, HelperProps, HtmlProps, HudProps, ImageProps, InstanceProps, InstancedAttributeProps, InstancesProps, KeyboardControlsEntry, KeyboardControlsProps, Ktx2Props, LightProps, LineProps, LoaderOptions, MapControlsProps, MaskProps, MergedProps, MeshDiscardMaterialProps, MeshDistortMaterialProps, MeshReflectorMaterialProps, MeshTransmissionMaterialProps, MetaData, MotionPathProps, MotionPathRef, OnCenterCallbackProps, OnDragStartProps, OnHoverProps, OrbitControlsChangeEvent, OrbitControlsProps, OrthographicCameraProps, OutlinesProps, PerformanceMonitorApi, PerformanceMonitorProps, PerspectiveCameraProps, PivotControlsProps, PointMaterialProps, PointerLockControlsProps, PointsBuffersProps, PointsInstancesProps, PortalProps, PositionalAudioProps, PreloadProps, PresentationControlProps, PresetsType, QuadraticBezierLineProps, QuadraticBezierLineRef, RandomizedLightProps, RenderCubeTextureApi, RenderCubeTextureProps, RenderTextureProps, ResizeProps, RoundedBoxGeometryProps, RoundedBoxProps, SamplerProps, ScreenQuadProps, ScreenSizerProps, ScreenSpaceProps, ScreenVideoTextureProps, ScrollControlsProps, ScrollControlsState, ScrollProps, SegmentProps, SegmentsProps, SelectProps, ShadowProps, ShadowType, ShakeController, ShapeProps, Size, SizeProps, SkyProps, SoftShadowsProps, SparklesProps, SpotLightProps, SpriteAnimatorProps, SpriteData, StageProps, StarsProps, StatsGlProps, StatsProps, SvgProps, Text3DProps, 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 };