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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -3,16 +3,15 @@ import { ForwardRefExoticComponent, PropsWithoutRef, RefAttributes, CSSPropertie
3
3
  import * as _react_three_fiber from '@react-three/fiber';
4
4
  import { ThreeElements, ReactThreeFiber, ThreeElement, Vector2, Vector3, ThreeEvent, Color as Color$1, ObjectMap, ComputeFunction, Euler, ConstructorRepresentation } from '@react-three/fiber';
5
5
  import * as THREE from 'three';
6
- import { MeshStandardMaterial, Texture as Texture$1, Matrix4, MeshPhysicalMaterial, MeshPhysicalMaterialParameters, IUniform, MeshStandardMaterialParameters, Material, ColorSpace, TextureDataType, Color, ColorRepresentation, Object3D, Fog, FogExp2, WebGLCubeRenderTarget, CubeCamera as CubeCamera$1, OrthographicCamera as OrthographicCamera$1, PerspectiveCamera as PerspectiveCamera$1, Event, Camera, Vector3 as Vector3$1, Group, LOD, Mesh, ExtrudeGeometry, PositionalAudio as PositionalAudio$1, AnimationClip, AnimationMixer, AnimationAction, BufferGeometry, BufferAttribute, InstancedMesh as InstancedMesh$1, InstancedBufferAttribute, DepthTexture, CubeTexture as CubeTexture$1, Raycaster, Intersection, RenderTargetOptions, Box3, Sphere as Sphere$1, Loader as Loader$1, Scene, PlaneGeometry, MeshBasicMaterial, WebGLRenderer, WebGLRenderTarget, ShaderMaterial, Uniform as Uniform$2, SpotLight as SpotLight$1, Points as Points$1 } from 'three';
7
- import { RenderPass } from 'three/examples/jsm/postprocessing/RenderPass';
8
- import { ShaderPass } from 'three/examples/jsm/postprocessing/ShaderPass';
9
- import { EffectComposer } from 'three/examples/jsm/postprocessing/EffectComposer';
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 { RenderPass } from 'three/examples/jsm/postprocessing/RenderPass.js';
8
+ import { ShaderPass } from 'three/examples/jsm/postprocessing/ShaderPass.js';
9
+ import { EffectComposer } from 'three/examples/jsm/postprocessing/EffectComposer.js';
10
10
  import { LineSegments2 } from 'three/examples/jsm/lines/LineSegments2.js';
11
11
  import { LineMaterialParameters, LineMaterial } from 'three/examples/jsm/lines/LineMaterial.js';
12
12
  import { ArcballControls as ArcballControls$1 } from 'three/examples/jsm/controls/ArcballControls.js';
13
- import { DeviceOrientationControls as DeviceOrientationControls$1 } from 'three-stdlib';
14
13
  import { DragConfig } from '@use-gesture/react';
15
- import { FirstPersonControls as FirstPersonControls$1 } from 'three/examples/jsm/controls/FirstPersonControls';
14
+ import { FirstPersonControls as FirstPersonControls$1 } from 'three/examples/jsm/controls/FirstPersonControls.js';
16
15
  import { FlyControls as FlyControls$1 } from 'three/examples/jsm/controls/FlyControls.js';
17
16
  import * as zustand from 'zustand';
18
17
  import { StoreApi } from 'zustand';
@@ -21,18 +20,19 @@ import { OrbitControls as OrbitControls$1 } from 'three/addons/controls/OrbitCon
21
20
  import { PointerLockControls as PointerLockControls$1 } from 'three/examples/jsm/controls/PointerLockControls.js';
22
21
  import { TrackballControls as TrackballControls$1 } from 'three/examples/jsm/controls/TrackballControls.js';
23
22
  import { Line2 } from 'three/examples/jsm/lines/Line2.js';
24
- import { Flow } from 'three/examples/jsm/modifiers/CurveModifier';
25
- import { TextGeometry, TextGeometryParameters } from 'three/examples/jsm/geometries/TextGeometry';
26
- import * as three_examples_jsm_loaders_FontLoader from 'three/examples/jsm/loaders/FontLoader';
27
- import { TransformControls as TransformControls$1 } from 'three/examples/jsm/controls/TransformControls';
23
+ import { Flow } from 'three/examples/jsm/modifiers/CurveModifier.js';
24
+ import { TextGeometry, TextGeometryParameters } from 'three/examples/jsm/geometries/TextGeometry.js';
25
+ import * as three_examples_jsm_loaders_FontLoader_js from 'three/examples/jsm/loaders/FontLoader.js';
26
+ import { TransformControls as TransformControls$1 } from 'three/examples/jsm/controls/TransformControls.js';
28
27
  import { Falsey, Assign } from 'utility-types';
29
28
  import * as hls_js from 'hls.js';
30
29
  import hls_js__default from 'hls.js';
31
- import { GLTFLoader, GLTF } from 'three/examples/jsm/loaders/GLTFLoader';
30
+ import { GLTFLoader, GLTF } from 'three/examples/jsm/loaders/GLTFLoader.js';
31
+ import { KTX2Loader } from 'three/examples/jsm/loaders/KTX2Loader.js';
32
32
  import * as detect_gpu from 'detect-gpu';
33
33
  import { GetGPUTier } from 'detect-gpu';
34
34
  import Stats$1 from 'stats-gl';
35
- import { GroundedSkybox } from 'three/examples/jsm/objects/GroundedSkybox';
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
37
  import { MeshBVHUniformStruct } from 'three-mesh-bvh';
38
38
 
@@ -257,8 +257,8 @@ declare module '@react-three/fiber' {
257
257
  interface ThreeElements {
258
258
  portalMaterialImpl: ThreeElements['shaderMaterial'] & {
259
259
  resolution: ReactThreeFiber.Vector2;
260
- blur: number;
261
- blend: number;
260
+ blur?: number;
261
+ blend?: number;
262
262
  size?: number;
263
263
  sdf?: THREE.Texture;
264
264
  map?: THREE.Texture;
@@ -273,6 +273,7 @@ type PortalProps = Omit<ThreeElements['portalMaterialImpl'], 'ref' | 'blend'> &
273
273
  eventPriority?: number;
274
274
  renderPriority?: number;
275
275
  events?: boolean;
276
+ samples?: number;
276
277
  };
277
278
  declare const MeshPortalMaterial: ForwardRefComponent<PortalProps, ThreeElements['portalMaterialImpl']>;
278
279
 
@@ -416,8 +417,8 @@ type SegmentsProps = LineMaterialParameters & {
416
417
  children: React.ReactNode;
417
418
  };
418
419
  type SegmentProps = Omit<ThreeElements['segmentObject'], 'ref' | 'start' | 'end' | 'color'> & {
419
- start: ReactThreeFiber.Vector3;
420
- end: ReactThreeFiber.Vector3;
420
+ start?: ReactThreeFiber.Vector3;
421
+ end?: ReactThreeFiber.Vector3;
421
422
  color?: ReactThreeFiber.Color;
422
423
  };
423
424
  declare const Segments: ForwardRefComponent<SegmentsProps, LineSegments2>;
@@ -428,8 +429,8 @@ declare module '@react-three/fiber' {
428
429
  }
429
430
  declare class SegmentObject {
430
431
  color: THREE.Color;
431
- start: THREE.Vector3;
432
- end: THREE.Vector3;
432
+ start?: THREE.Vector3;
433
+ end?: THREE.Vector3;
433
434
  constructor();
434
435
  }
435
436
  declare const Segment: ForwardRefComponent<SegmentProps, SegmentObject>;
@@ -500,6 +501,34 @@ type ArcballControlsProps = Omit<Overwrite<ThreeElement<typeof ArcballControls$1
500
501
  }>, 'ref' | 'args'>;
501
502
  declare const ArcballControls: ForwardRefComponent<ArcballControlsProps, ArcballControls$1>;
502
503
 
504
+ interface StandardControlsEventMap {
505
+ change: {};
506
+ start: {};
507
+ end: {};
508
+ }
509
+ declare class DeviceOrientationControls$1 extends EventDispatcher<StandardControlsEventMap> {
510
+ object: Camera;
511
+ private changeEvent;
512
+ private EPS;
513
+ enabled: boolean;
514
+ deviceOrientation: Partial<DeviceOrientationEvent>;
515
+ screenOrientation: string | number;
516
+ alphaOffset: number;
517
+ constructor(object: Camera);
518
+ private onDeviceOrientationChangeEvent;
519
+ private onScreenOrientationChangeEvent;
520
+ private zee;
521
+ private euler;
522
+ private q0;
523
+ private q1;
524
+ private setObjectQuaternion;
525
+ connect: () => void;
526
+ disconnect: () => void;
527
+ private lastQuaternion;
528
+ update: () => void;
529
+ dispose: () => void;
530
+ }
531
+
503
532
  type DeviceOrientationControlsProps = Omit<ThreeElement<typeof DeviceOrientationControls$1>, 'ref' | 'args'> & {
504
533
  camera?: THREE.Camera;
505
534
  onChange?: (e?: THREE.Event) => void;
@@ -507,6 +536,9 @@ type DeviceOrientationControlsProps = Omit<ThreeElement<typeof DeviceOrientation
507
536
  };
508
537
  declare const DeviceOrientationControls: ForwardRefComponent<DeviceOrientationControlsProps, DeviceOrientationControls$1>;
509
538
 
539
+ type ExpandedDragConfig = DragConfig & {
540
+ preventOverlap?: boolean;
541
+ };
510
542
  type DragControlsProps = {
511
543
  autoTransform?: boolean;
512
544
  matrix?: THREE.Matrix4;
@@ -517,7 +549,7 @@ type DragControlsProps = {
517
549
  onDrag?: (localMatrix: THREE.Matrix4, deltaLocalMatrix: THREE.Matrix4, worldMatrix: THREE.Matrix4, deltaWorldMatrix: THREE.Matrix4) => void;
518
550
  onDragEnd?: () => void;
519
551
  children: React.ReactNode;
520
- dragConfig?: DragConfig;
552
+ dragConfig?: ExpandedDragConfig;
521
553
  };
522
554
  declare const DragControls: ForwardRefComponent<DragControlsProps, THREE.Group>;
523
555
 
@@ -666,6 +698,7 @@ type ScrollControlsProps = {
666
698
  maxSpeed?: number;
667
699
  prepend?: boolean;
668
700
  enabled?: boolean;
701
+ pixelPerfect?: boolean;
669
702
  style?: React.CSSProperties;
670
703
  children: React.ReactNode;
671
704
  };
@@ -682,9 +715,10 @@ type ScrollControlsState = {
682
715
  range(from: number, distance: number, margin?: number): number;
683
716
  curve(from: number, distance: number, margin?: number): number;
684
717
  visible(from: number, distance: number, margin?: number): boolean;
718
+ pixelPerfect: boolean;
685
719
  };
686
720
  declare function useScroll(): ScrollControlsState;
687
- declare function ScrollControls({ eps, enabled, infinite, horizontal, pages, distance, damping, maxSpeed, prepend, style, children, }: ScrollControlsProps): React.JSX.Element;
721
+ declare function ScrollControls({ eps, enabled, infinite, horizontal, pages, distance, damping, maxSpeed, prepend, pixelPerfect, style, children, }: ScrollControlsProps): React.JSX.Element;
688
722
  interface ScrollPropsWithFalseHtml {
689
723
  children?: React.ReactNode;
690
724
  html?: false;
@@ -937,7 +971,7 @@ type FontData = {
937
971
  original_font_information?: Record<string, unknown>;
938
972
  };
939
973
  type FontInput = string | FontData;
940
- declare function useFont(font: FontInput): three_examples_jsm_loaders_FontLoader.Font;
974
+ declare function useFont(font: FontInput): three_examples_jsm_loaders_FontLoader_js.Font;
941
975
  declare namespace useFont {
942
976
  var preload: (font: FontInput) => undefined;
943
977
  var clear: (font: FontInput) => void;
@@ -958,81 +992,6 @@ declare const Text3D: ForwardRefComponent<React.PropsWithChildren<Text3DProps &
958
992
  lineHeight?: number;
959
993
  }>, THREE.Mesh>;
960
994
 
961
- interface WireframeMaterialProps extends THREE.ShaderMaterialParameters {
962
- fillOpacity?: number;
963
- fillMix?: number;
964
- strokeOpacity?: number;
965
- thickness?: number;
966
- colorBackfaces?: boolean;
967
- dashInvert?: boolean;
968
- dash?: boolean;
969
- dashRepeats?: number;
970
- dashLength?: number;
971
- squeeze?: boolean;
972
- squeezeMin?: number;
973
- squeezeMax?: number;
974
- stroke?: THREE.ColorRepresentation;
975
- backfaceStroke?: THREE.ColorRepresentation;
976
- fill?: THREE.ColorRepresentation;
977
- }
978
- declare const WireframeMaterialShaders: {
979
- uniforms: {
980
- strokeOpacity: number;
981
- fillOpacity: number;
982
- fillMix: number;
983
- thickness: number;
984
- colorBackfaces: boolean;
985
- dashInvert: boolean;
986
- dash: boolean;
987
- dashRepeats: number;
988
- dashLength: number;
989
- squeeze: boolean;
990
- squeezeMin: number;
991
- squeezeMax: number;
992
- stroke: THREE.Color;
993
- backfaceStroke: THREE.Color;
994
- fill: THREE.Color;
995
- };
996
- vertex: string;
997
- fragment: string;
998
- };
999
- declare const WireframeMaterial: _react_three_fiber.ConstructorRepresentation<THREE.ShaderMaterial & {
1000
- strokeOpacity: number;
1001
- fillOpacity: number;
1002
- fillMix: number;
1003
- thickness: number;
1004
- colorBackfaces: boolean;
1005
- dashInvert: boolean;
1006
- dash: boolean;
1007
- dashRepeats: number;
1008
- dashLength: number;
1009
- squeeze: boolean;
1010
- squeezeMin: number;
1011
- squeezeMax: number;
1012
- stroke: THREE.Color;
1013
- backfaceStroke: THREE.Color;
1014
- fill: THREE.Color;
1015
- }> & {
1016
- key: string;
1017
- };
1018
- declare function setWireframeOverride(material: THREE.Material, uniforms: {
1019
- [key: string]: THREE.IUniform<any>;
1020
- }): void;
1021
- declare function useWireframeUniforms(uniforms: {
1022
- [key: string]: THREE.IUniform<any>;
1023
- }, props: WireframeMaterialProps): void;
1024
-
1025
- declare module '@react-three/fiber' {
1026
- interface ThreeElements {
1027
- meshWireframeMaterial: ThreeElement<typeof WireframeMaterial>;
1028
- }
1029
- }
1030
- interface WireframeProps {
1031
- geometry?: THREE.BufferGeometry | React.RefObject<THREE.BufferGeometry>;
1032
- simplify?: boolean;
1033
- }
1034
- declare function Wireframe({ geometry: customGeometry, ...props }: WireframeProps & WireframeMaterialProps): React.JSX.Element;
1035
-
1036
995
  type GizmoHelperContext = {
1037
996
  tweenCamera: (direction: Vector3$1) => void;
1038
997
  };
@@ -1079,6 +1038,11 @@ type OnDragStartProps = {
1079
1038
  origin: THREE.Vector3;
1080
1039
  directions: THREE.Vector3[];
1081
1040
  };
1041
+ type OnHoverProps = {
1042
+ component: 'Arrow' | 'Slider' | 'Rotator' | 'Sphere';
1043
+ axis: 0 | 1 | 2;
1044
+ hovering: boolean;
1045
+ };
1082
1046
 
1083
1047
  type PivotControlsProps = {
1084
1048
  enabled?: boolean;
@@ -1088,6 +1052,7 @@ type PivotControlsProps = {
1088
1052
  offset?: [number, number, number];
1089
1053
  rotation?: [number, number, number];
1090
1054
  matrix?: THREE.Matrix4;
1055
+ object?: THREE.Object3D | React.MutableRefObject<THREE.Object3D>;
1091
1056
  anchor?: [number, number, number];
1092
1057
  autoTransform?: boolean;
1093
1058
  activeAxes?: [boolean, boolean, boolean];
@@ -1105,6 +1070,7 @@ type PivotControlsProps = {
1105
1070
  onDragStart?: (props: OnDragStartProps) => void;
1106
1071
  onDrag?: (l: THREE.Matrix4, deltaL: THREE.Matrix4, w: THREE.Matrix4, deltaW: THREE.Matrix4) => void;
1107
1072
  onDragEnd?: () => void;
1073
+ onHover?: (props: OnHoverProps) => void;
1108
1074
  depthTest?: boolean;
1109
1075
  renderOrder?: number;
1110
1076
  opacity?: number;
@@ -1190,6 +1156,7 @@ type InstancedAttributeProps = Omit<ThreeElements['instancedBufferAttribute'], '
1190
1156
  defaultValue: any;
1191
1157
  normalized?: boolean;
1192
1158
  usage?: number;
1159
+ type?: 'float' | 'int' | 'uint' | 'short' | 'ushort' | 'byte';
1193
1160
  };
1194
1161
  type InstancedMesh = Omit<THREE.InstancedMesh, 'instanceMatrix' | 'instanceColor'> & {
1195
1162
  instanceMatrix: THREE.InstancedBufferAttribute;
@@ -1504,10 +1471,10 @@ declare function Fbx({ path, ...props }: {
1504
1471
  type Path = string | string[];
1505
1472
  type UseDraco = boolean | string;
1506
1473
  type UseMeshopt = boolean;
1507
- type ExtendLoader = (loader: GLTFLoader) => void;
1474
+ type ExtendLoader$1 = (loader: GLTFLoader) => void;
1508
1475
  declare const useGLTF: {
1509
- <T extends Path>(path: T, useDraco?: UseDraco, useMeshopt?: UseMeshopt, extendLoader?: ExtendLoader): T extends any[] ? (GLTF & ObjectMap)[] : GLTF & ObjectMap;
1510
- preload(path: Path, useDraco?: UseDraco, useMeshopt?: UseMeshopt, extendLoader?: ExtendLoader): void;
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;
1511
1478
  clear(path: Path): void;
1512
1479
  setDecoderPath(path: string): void;
1513
1480
  };
@@ -1515,22 +1482,26 @@ type GltfProps = Omit<CloneProps, 'object'> & {
1515
1482
  src: string;
1516
1483
  useDraco?: UseDraco;
1517
1484
  useMeshOpt?: UseMeshopt;
1518
- extendLoader?: ExtendLoader;
1485
+ extendLoader?: ExtendLoader$1;
1519
1486
  };
1520
1487
  declare const Gltf: React.ForwardRefExoticComponent<Omit<GltfProps, "ref"> & React.RefAttributes<THREE.Group<THREE.Object3DEventMap>>>;
1521
1488
 
1522
- declare function useKTX2<Url extends string[] | string | Record<string, string>>(input: Url, basisPath?: string): Url extends any[] ? Texture$1[] : Url extends object ? {
1489
+ type ExtendLoader = (loader: KTX2Loader) => void;
1490
+ declare function useKTX2<Url extends string[] | string | Record<string, string>>(input: Url, basisPath?: boolean | string, extendLoader?: ExtendLoader): Url extends any[] ? Texture$1[] : Url extends object ? {
1523
1491
  [key in keyof Url]: Texture$1;
1524
1492
  } : Texture$1;
1525
1493
  declare namespace useKTX2 {
1526
- var preload: (url: string extends any[] ? string[] : string, basisPath?: string) => void;
1494
+ var preload: (url: string extends any[] ? string[] : string, basisPath?: boolean | string, extendLoader?: ExtendLoader) => void;
1527
1495
  var clear: (input: string | string[]) => void;
1496
+ var setTranscoderPath: (path: string) => void;
1528
1497
  }
1529
- declare const Ktx2: ({ children, input, basisPath, }: {
1498
+ type Ktx2Props = {
1530
1499
  children?: (texture: ReturnType<typeof useKTX2>) => React.ReactNode;
1531
1500
  input: Parameters<typeof useKTX2>[0];
1532
1501
  basisPath?: Parameters<typeof useKTX2>[1];
1533
- }) => React.JSX.Element;
1502
+ extendLoader?: ExtendLoader;
1503
+ };
1504
+ declare const Ktx2: ({ children, input, basisPath, extendLoader }: Ktx2Props) => React.JSX.Element;
1534
1505
 
1535
1506
  type Data = {
1536
1507
  errors: string[];
@@ -2042,6 +2013,7 @@ interface HtmlProps extends Omit<Assign<React.HTMLAttributes<HTMLDivElement>, Th
2042
2013
  geometry?: React.ReactNode;
2043
2014
  castShadow?: boolean;
2044
2015
  receiveShadow?: boolean;
2016
+ pixelPerfect?: boolean;
2045
2017
  }
2046
2018
  declare const Html: ForwardRefComponent<HtmlProps, HTMLDivElement>;
2047
2019
 
@@ -2079,6 +2051,81 @@ type AsciiRendererProps = {
2079
2051
  };
2080
2052
  declare function AsciiRenderer({ renderIndex, bgColor, fgColor, characters, invert, color, resolution, }: AsciiRendererProps): React.JSX.Element;
2081
2053
 
2054
+ interface WireframeMaterialProps extends THREE.ShaderMaterialParameters {
2055
+ fillOpacity?: number;
2056
+ fillMix?: number;
2057
+ strokeOpacity?: number;
2058
+ thickness?: number;
2059
+ colorBackfaces?: boolean;
2060
+ dashInvert?: boolean;
2061
+ dash?: boolean;
2062
+ dashRepeats?: number;
2063
+ dashLength?: number;
2064
+ squeeze?: boolean;
2065
+ squeezeMin?: number;
2066
+ squeezeMax?: number;
2067
+ stroke?: THREE.ColorRepresentation;
2068
+ backfaceStroke?: THREE.ColorRepresentation;
2069
+ fill?: THREE.ColorRepresentation;
2070
+ }
2071
+ declare const WireframeMaterialShaders: {
2072
+ uniforms: {
2073
+ strokeOpacity: number;
2074
+ fillOpacity: number;
2075
+ fillMix: number;
2076
+ thickness: number;
2077
+ colorBackfaces: boolean;
2078
+ dashInvert: boolean;
2079
+ dash: boolean;
2080
+ dashRepeats: number;
2081
+ dashLength: number;
2082
+ squeeze: boolean;
2083
+ squeezeMin: number;
2084
+ squeezeMax: number;
2085
+ stroke: THREE.Color;
2086
+ backfaceStroke: THREE.Color;
2087
+ fill: THREE.Color;
2088
+ };
2089
+ vertex: string;
2090
+ fragment: string;
2091
+ };
2092
+ declare const WireframeMaterial: _react_three_fiber.ConstructorRepresentation<THREE.ShaderMaterial & {
2093
+ strokeOpacity: number;
2094
+ fillOpacity: number;
2095
+ fillMix: number;
2096
+ thickness: number;
2097
+ colorBackfaces: boolean;
2098
+ dashInvert: boolean;
2099
+ dash: boolean;
2100
+ dashRepeats: number;
2101
+ dashLength: number;
2102
+ squeeze: boolean;
2103
+ squeezeMin: number;
2104
+ squeezeMax: number;
2105
+ stroke: THREE.Color;
2106
+ backfaceStroke: THREE.Color;
2107
+ fill: THREE.Color;
2108
+ }> & {
2109
+ key: string;
2110
+ };
2111
+ declare function setWireframeOverride(material: THREE.Material, uniforms: {
2112
+ [key: string]: THREE.IUniform<any>;
2113
+ }): void;
2114
+ declare function useWireframeUniforms(uniforms: {
2115
+ [key: string]: THREE.IUniform<any>;
2116
+ }, props: WireframeMaterialProps): void;
2117
+
2118
+ declare module '@react-three/fiber' {
2119
+ interface ThreeElements {
2120
+ meshWireframeMaterial: ThreeElement<typeof WireframeMaterial>;
2121
+ }
2122
+ }
2123
+ interface WireframeProps {
2124
+ geometry?: THREE.BufferGeometry | React.RefObject<THREE.BufferGeometry>;
2125
+ simplify?: boolean;
2126
+ }
2127
+ declare function Wireframe({ geometry: customGeometry, ...props }: WireframeProps & WireframeMaterialProps): React.JSX.Element;
2128
+
2082
2129
  declare function BakeShadows(): null;
2083
2130
 
2084
2131
  declare class ConvolutionMaterial extends THREE.ShaderMaterial {
@@ -2347,4 +2394,4 @@ type TextProps = Omit<ThreeElements['mesh'], 'ref'> & {
2347
2394
  declare const Text: ForwardRefComponent<TextProps, any>;
2348
2395
 
2349
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 };
2350
- export type { AccumulativeContext, AccumulativeLightContext, AccumulativeShadowsProps, ArcballControlsProps, Args, AsciiRendererProps, BBAnchorProps, BackdropProps, BillboardProps, BlurPassProps, BoundsApi, BoundsProps, CalculatePosition, CameraShakeProps, CatmullRomLineProps, CausticsProps, CenterProps, CloneProps, CloudProps, CloudsProps, ComputedAttributeProps, ContactShadowsProps, ContainerProps, CubeCameraOptions, CubeCameraProps, CubeTextureProps, CubicBezierLineProps, CurveModifierProps, CurveModifierRef, CycleRaycastProps, DecalProps, DetailedProps, DetectGPUProps, DeviceOrientationControlsProps, DragControlsProps, EdgesProps, EffectsProps, EnvironmentLoaderProps, EnvironmentProps, ExampleApi, ExampleProps, FboProps, FirstPersonControlsProps, FisheyeProps, FloatProps, FlyControlsProps, FontData, FrameData, GizmoHelperProps, GltfProps, Glyph, GradientTextureProps, GridMaterialType, GridProps, HelperProps, HtmlProps, HudProps, ImageProps, InstanceProps, InstancedAttributeProps, InstancesProps, KeyboardControlsEntry, KeyboardControlsProps, LightProps, LineProps, LoaderOptions, MapControlsProps, MaskProps, MergedProps, MeshDiscardMaterialProps, MeshDistortMaterialProps, MeshReflectorMaterialProps, MeshTransmissionMaterialProps, MetaData, MotionPathProps, MotionPathRef, OnCenterCallbackProps, OrbitControlsChangeEvent, OrbitControlsProps, OrthographicCameraProps, OutlinesProps, PerformanceMonitorApi, PerformanceMonitorProps, PerspectiveCameraProps, PivotControlsProps, PointMaterialProps, PointerLockControlsProps, PointsBuffersProps, PointsInstancesProps, PortalProps, PositionalAudioProps, PreloadProps, PresentationControlProps, PresetsType, QuadraticBezierLineProps, QuadraticBezierLineRef, RandomizedLightProps, RenderCubeTextureApi, RenderCubeTextureProps, RenderTextureProps, ResizeProps, RoundedBoxGeometryProps, RoundedBoxProps, SamplerProps, ScreenQuadProps, ScreenSizerProps, ScreenSpaceProps, ScreenVideoTextureProps, ScrollControlsProps, ScrollControlsState, ScrollProps, SegmentProps, SegmentsProps, SelectProps, ShadowProps, ShadowType, ShakeController, ShapeProps, Size, SizeProps, SkyProps, SoftShadowsProps, SparklesProps, SpotLightProps, SpriteAnimatorProps, SpriteData, StageProps, StarsProps, StatsGlProps, StatsProps, SvgProps, Text3DProps, TextProps, TrackballControlsProps, TrailProps, TrailTextureProps, TransformControlsProps, TransformFn, VideoTextureProps, ViewProps, ViewportProps, WebcamVideoTextureProps, WireframeMaterialProps, WobbleMaterialProps, useSurfaceSamplerProps };
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 };