@react-three/drei 11.0.0-alpha.1 → 11.0.0-alpha.4

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.
Files changed (119) hide show
  1. package/core/index.d.mts +1858 -0
  2. package/core/index.d.ts +1858 -0
  3. package/core/index.mjs +8559 -0
  4. package/experimental/index.d.mts +222 -0
  5. package/experimental/index.d.ts +222 -0
  6. package/experimental/index.mjs +353 -0
  7. package/external/index.d.mts +464 -0
  8. package/external/index.d.ts +464 -0
  9. package/external/index.mjs +5079 -0
  10. package/index.d.mts +1746 -2147
  11. package/index.d.ts +2166 -0
  12. package/index.mjs +12940 -19766
  13. package/legacy/index.d.mts +2350 -0
  14. package/legacy/index.d.ts +2350 -0
  15. package/legacy/index.mjs +12325 -0
  16. package/native/index.d.mts +2515 -0
  17. package/native/index.d.ts +2515 -0
  18. package/native/index.mjs +12383 -0
  19. package/package.json +18 -15
  20. package/webgpu/index.d.mts +2514 -0
  21. package/webgpu/index.d.ts +2514 -0
  22. package/webgpu/index.mjs +12547 -0
  23. package/_chunks/hls.mjs +0 -3
  24. package/_chunks/libs/@mediapipe/tasks-vision.mjs +0 -4781
  25. package/_chunks/libs/@monogrid/gainmap-js.mjs +0 -1137
  26. package/_chunks/libs/@use-gesture/core.mjs +0 -1650
  27. package/_chunks/libs/@use-gesture/react.mjs +0 -207
  28. package/_chunks/libs/camera-controls.mjs +0 -2207
  29. package/_chunks/libs/detect-gpu.mjs +0 -515
  30. package/_chunks/libs/hls.js.mjs +0 -21925
  31. package/_chunks/libs/maath.mjs +0 -5200
  32. package/_chunks/libs/stats-gl.mjs +0 -301
  33. package/_chunks/libs/stats.js.mjs +0 -90
  34. package/_chunks/libs/suspend-react.mjs +0 -60
  35. package/_chunks/libs/three.mjs +0 -23169
  36. package/_chunks/libs/tunnel-rat.mjs +0 -458
  37. package/_chunks/libs/zustand.mjs +0 -104
  38. package/_chunks/rolldown-runtime.mjs +0 -47
  39. package/_chunks/vision_bundle.mjs +0 -3
  40. package/core/_chunks/hls.mjs +0 -3
  41. package/core/_chunks/libs/@monogrid/gainmap-js.mjs +0 -1137
  42. package/core/_chunks/libs/@use-gesture/core.mjs +0 -1650
  43. package/core/_chunks/libs/@use-gesture/react.mjs +0 -207
  44. package/core/_chunks/libs/detect-gpu.mjs +0 -515
  45. package/core/_chunks/libs/hls.js.mjs +0 -21925
  46. package/core/_chunks/libs/maath.mjs +0 -5200
  47. package/core/_chunks/libs/stats-gl.mjs +0 -301
  48. package/core/_chunks/libs/stats.js.mjs +0 -90
  49. package/core/_chunks/libs/suspend-react.mjs +0 -60
  50. package/core/_chunks/libs/three.mjs +0 -22457
  51. package/core/_chunks/libs/tunnel-rat.mjs +0 -458
  52. package/core/_chunks/libs/zustand.mjs +0 -104
  53. package/core/_chunks/rolldown-runtime.mjs +0 -47
  54. package/core/core/index.d.mts +0 -2232
  55. package/core/core/index.mjs +0 -11082
  56. package/experimental/_chunks/libs/three.mjs +0 -15386
  57. package/experimental/experimental/index.d.mts +0 -253
  58. package/experimental/experimental/index.mjs +0 -434
  59. package/external/_chunks/hls.mjs +0 -3
  60. package/external/_chunks/libs/@mediapipe/tasks-vision.mjs +0 -4781
  61. package/external/_chunks/libs/camera-controls.mjs +0 -2207
  62. package/external/_chunks/libs/hls.js.mjs +0 -21925
  63. package/external/_chunks/libs/maath.mjs +0 -5200
  64. package/external/_chunks/libs/suspend-react.mjs +0 -58
  65. package/external/_chunks/libs/three.mjs +0 -15387
  66. package/external/_chunks/rolldown-runtime.mjs +0 -32
  67. package/external/_chunks/vision_bundle.mjs +0 -3
  68. package/external/external/index.d.mts +0 -499
  69. package/external/external/index.mjs +0 -9422
  70. package/legacy/_chunks/hls.mjs +0 -3
  71. package/legacy/_chunks/libs/@monogrid/gainmap-js.mjs +0 -1137
  72. package/legacy/_chunks/libs/@use-gesture/core.mjs +0 -1650
  73. package/legacy/_chunks/libs/@use-gesture/react.mjs +0 -207
  74. package/legacy/_chunks/libs/bidi-js.mjs +0 -675
  75. package/legacy/_chunks/libs/detect-gpu.mjs +0 -515
  76. package/legacy/_chunks/libs/hls.js.mjs +0 -21925
  77. package/legacy/_chunks/libs/maath.mjs +0 -5200
  78. package/legacy/_chunks/libs/stats-gl.mjs +0 -301
  79. package/legacy/_chunks/libs/stats.js.mjs +0 -90
  80. package/legacy/_chunks/libs/suspend-react.mjs +0 -60
  81. package/legacy/_chunks/libs/three.mjs +0 -26062
  82. package/legacy/_chunks/libs/troika-three-text.mjs +0 -6494
  83. package/legacy/_chunks/libs/tunnel-rat.mjs +0 -458
  84. package/legacy/_chunks/libs/zustand.mjs +0 -104
  85. package/legacy/_chunks/rolldown-runtime.mjs +0 -47
  86. package/legacy/legacy/index.d.mts +0 -2788
  87. package/legacy/legacy/index.mjs +0 -14984
  88. package/native/_chunks/hls.mjs +0 -3
  89. package/native/_chunks/libs/@monogrid/gainmap-js.mjs +0 -1137
  90. package/native/_chunks/libs/@use-gesture/core.mjs +0 -1650
  91. package/native/_chunks/libs/@use-gesture/react.mjs +0 -207
  92. package/native/_chunks/libs/detect-gpu.mjs +0 -515
  93. package/native/_chunks/libs/hls.js.mjs +0 -21925
  94. package/native/_chunks/libs/maath.mjs +0 -5200
  95. package/native/_chunks/libs/stats-gl.mjs +0 -301
  96. package/native/_chunks/libs/stats.js.mjs +0 -90
  97. package/native/_chunks/libs/suspend-react.mjs +0 -60
  98. package/native/_chunks/libs/three.mjs +0 -22592
  99. package/native/_chunks/libs/tunnel-rat.mjs +0 -458
  100. package/native/_chunks/libs/zustand.mjs +0 -104
  101. package/native/_chunks/rolldown-runtime.mjs +0 -47
  102. package/native/native/index.d.mts +0 -3168
  103. package/native/native/index.mjs +0 -14863
  104. package/webgpu/_chunks/hls.mjs +0 -3
  105. package/webgpu/_chunks/libs/@monogrid/gainmap-js.mjs +0 -1137
  106. package/webgpu/_chunks/libs/@use-gesture/core.mjs +0 -1650
  107. package/webgpu/_chunks/libs/@use-gesture/react.mjs +0 -207
  108. package/webgpu/_chunks/libs/detect-gpu.mjs +0 -515
  109. package/webgpu/_chunks/libs/hls.js.mjs +0 -21925
  110. package/webgpu/_chunks/libs/maath.mjs +0 -5200
  111. package/webgpu/_chunks/libs/stats-gl.mjs +0 -301
  112. package/webgpu/_chunks/libs/stats.js.mjs +0 -90
  113. package/webgpu/_chunks/libs/suspend-react.mjs +0 -60
  114. package/webgpu/_chunks/libs/three.mjs +0 -22592
  115. package/webgpu/_chunks/libs/tunnel-rat.mjs +0 -458
  116. package/webgpu/_chunks/libs/zustand.mjs +0 -104
  117. package/webgpu/_chunks/rolldown-runtime.mjs +0 -47
  118. package/webgpu/webgpu/index.d.mts +0 -3166
  119. package/webgpu/webgpu/index.mjs +0 -15015
@@ -0,0 +1,222 @@
1
+ import * as THREE from 'three';
2
+ import { Color, MeshStandardMaterial, Texture, Matrix4, ColorRepresentation, Object3D } from 'three';
3
+ import { MarchingCubes as MarchingCubes$1 } from 'three/examples/jsm/objects/MarchingCubes.js';
4
+ import { ThreeElements, ReactThreeFiber, ThreeElement } from '@react-three/fiber';
5
+ import * as React from 'react';
6
+ import { ForwardRefExoticComponent, PropsWithoutRef, RefAttributes } from 'react';
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
+ import { Line2 } from 'three/examples/jsm/lines/Line2.js';
11
+
12
+ type ForwardRefComponent<P, T> = ForwardRefExoticComponent<PropsWithoutRef<P> & RefAttributes<T>>;
13
+
14
+ type MarchingCubesProps = {
15
+ resolution?: number;
16
+ maxPolyCount?: number;
17
+ enableUvs?: boolean;
18
+ enableColors?: boolean;
19
+ } & Omit<ThreeElements['group'], 'ref'>;
20
+ declare const MarchingCubes: ForwardRefComponent<MarchingCubesProps, MarchingCubes$1>;
21
+ type MarchingCubeProps = {
22
+ strength?: number;
23
+ subtract?: number;
24
+ color?: Color;
25
+ } & ThreeElements['group'];
26
+ declare const MarchingCube: ForwardRefComponent<MarchingCubeProps, THREE.Group>;
27
+ type MarchingPlaneProps = {
28
+ planeType?: 'x' | 'y' | 'z';
29
+ strength?: number;
30
+ subtract?: number;
31
+ } & ThreeElements['group'];
32
+ declare const MarchingPlane: ForwardRefComponent<MarchingPlaneProps, THREE.Group>;
33
+
34
+ type OutlinesProps = Omit<ThreeElements['group'], 'ref'> & {
35
+ color?: ReactThreeFiber.Color;
36
+ screenspace?: boolean;
37
+ opacity?: number;
38
+ transparent?: boolean;
39
+ thickness?: number;
40
+ angle?: number;
41
+ clippingPlanes?: THREE.Plane[];
42
+ toneMapped?: boolean;
43
+ polygonOffset?: boolean;
44
+ polygonOffsetFactor?: number;
45
+ renderOrder?: number;
46
+ };
47
+ declare function Outlines({ color, opacity, transparent, screenspace, toneMapped, polygonOffset, polygonOffsetFactor, renderOrder, thickness, angle, clippingPlanes, ...props }: OutlinesProps): React.JSX.Element;
48
+
49
+ type SoftShadowMaterialProps = {
50
+ map: THREE.Texture;
51
+ color?: ReactThreeFiber.Color;
52
+ alphaTest?: number;
53
+ blend?: number;
54
+ };
55
+ declare module '@react-three/fiber' {
56
+ interface ThreeElements {
57
+ softShadowMaterial: ThreeElements['shaderMaterial'] & SoftShadowMaterialProps;
58
+ }
59
+ }
60
+
61
+ declare module '@react-three/fiber' {
62
+ interface ThreeElements {
63
+ causticsProjectionMaterial: ThreeElements['meshNormalMaterial'] & {
64
+ viewMatrix?: {
65
+ value: THREE.Matrix4;
66
+ };
67
+ color?: ReactThreeFiber.Color;
68
+ causticsTexture?: THREE.Texture;
69
+ causticsTextureB?: THREE.Texture;
70
+ lightProjMatrix?: THREE.Matrix4;
71
+ lightViewMatrix?: THREE.Matrix4;
72
+ };
73
+ }
74
+ }
75
+
76
+ type MeshTransmissionMaterialType = Omit<ThreeElements['meshPhysicalMaterial'], 'args' | 'roughness' | 'thickness' | 'transmission'> & {
77
+ transmission?: number;
78
+ thickness?: number;
79
+ roughness?: number;
80
+ chromaticAberration?: number;
81
+ anisotropy?: number;
82
+ anisotropicBlur?: number;
83
+ distortion?: number;
84
+ distortionScale?: number;
85
+ temporalDistortion?: number;
86
+ buffer?: THREE.Texture;
87
+ time?: number;
88
+ args?: [samples: number, transmissionSampler: boolean];
89
+ };
90
+ declare module '@react-three/fiber' {
91
+ interface ThreeElements {
92
+ meshTransmissionMaterial: MeshTransmissionMaterialType;
93
+ }
94
+ }
95
+
96
+ declare class MeshReflectorMaterial extends MeshStandardMaterial {
97
+ private _tDepth;
98
+ private _distortionMap;
99
+ private _tDiffuse;
100
+ private _tDiffuseBlur;
101
+ private _textureMatrix;
102
+ private _hasBlur;
103
+ private _mirror;
104
+ private _mixBlur;
105
+ private _blurStrength;
106
+ private _minDepthThreshold;
107
+ private _maxDepthThreshold;
108
+ private _depthScale;
109
+ private _depthToBlurRatioBias;
110
+ private _distortion;
111
+ private _mixContrast;
112
+ constructor(parameters?: {});
113
+ onBeforeCompile(shader: any): void;
114
+ get tDiffuse(): Texture | null;
115
+ set tDiffuse(v: Texture | null);
116
+ get tDepth(): Texture | null;
117
+ set tDepth(v: Texture | null);
118
+ get distortionMap(): Texture | null;
119
+ set distortionMap(v: Texture | null);
120
+ get tDiffuseBlur(): Texture | null;
121
+ set tDiffuseBlur(v: Texture | null);
122
+ get textureMatrix(): Matrix4 | null;
123
+ set textureMatrix(v: Matrix4 | null);
124
+ get hasBlur(): boolean;
125
+ set hasBlur(v: boolean);
126
+ get mirror(): number;
127
+ set mirror(v: number);
128
+ get mixBlur(): number;
129
+ set mixBlur(v: number);
130
+ get mixStrength(): number;
131
+ set mixStrength(v: number);
132
+ get minDepthThreshold(): number;
133
+ set minDepthThreshold(v: number);
134
+ get maxDepthThreshold(): number;
135
+ set maxDepthThreshold(v: number);
136
+ get depthScale(): number;
137
+ set depthScale(v: number);
138
+ get depthToBlurRatioBias(): number;
139
+ set depthToBlurRatioBias(v: number);
140
+ get distortion(): number;
141
+ set distortion(v: number);
142
+ get mixContrast(): number;
143
+ set mixContrast(v: number);
144
+ }
145
+
146
+ declare module '@react-three/fiber' {
147
+ interface ThreeElements {
148
+ meshReflectorMaterialImpl: ThreeElement<typeof MeshReflectorMaterial>;
149
+ }
150
+ }
151
+
152
+ declare module '@react-three/fiber' {
153
+ interface ThreeElements {
154
+ portalMaterialImpl: ThreeElements['shaderMaterial'] & {
155
+ resolution: ReactThreeFiber.Vector2;
156
+ blur: number;
157
+ blend: number;
158
+ size?: number;
159
+ sdf?: THREE.Texture;
160
+ map?: THREE.Texture;
161
+ };
162
+ }
163
+ }
164
+
165
+ declare module '@react-three/fiber' {
166
+ interface ThreeElements {
167
+ distortMaterialImpl: ThreeElements['meshPhysicalMaterial'] & {
168
+ time?: number;
169
+ distort?: number;
170
+ radius?: number;
171
+ };
172
+ }
173
+ }
174
+
175
+ declare module '@react-three/fiber' {
176
+ interface ThreeElements {
177
+ wobbleMaterialImpl: ThreeElements['meshStandardMaterial'] & {
178
+ time?: number;
179
+ factor?: number;
180
+ speed?: number;
181
+ };
182
+ }
183
+ }
184
+
185
+ declare module '@react-three/fiber' {
186
+ interface ThreeElements {
187
+ effectComposer: ThreeElement<typeof EffectComposer>;
188
+ renderPass: ThreeElement<typeof RenderPass>;
189
+ shaderPass: ThreeElement<typeof ShaderPass>;
190
+ }
191
+ }
192
+
193
+ declare module '@react-three/fiber' {
194
+ interface ThreeElements {
195
+ segmentObject: ThreeElement<typeof SegmentObject>;
196
+ }
197
+ }
198
+ declare class SegmentObject {
199
+ color: THREE.Color;
200
+ start: THREE.Vector3;
201
+ end: THREE.Vector3;
202
+ constructor();
203
+ }
204
+
205
+ type Settings = {
206
+ width: number;
207
+ length: number;
208
+ decay: number;
209
+ local: boolean;
210
+ stride: number;
211
+ interval: number;
212
+ };
213
+ type TrailProps = {
214
+ color?: ColorRepresentation;
215
+ attenuation?: (t: number) => number;
216
+ target?: React.RefObject<Object3D>;
217
+ } & Partial<Settings>;
218
+ declare function useTrail(target: Object3D, settings: Partial<Settings>, pointCount: number): React.RefObject<Float32Array>;
219
+ declare const Trail: ForwardRefComponent<React.PropsWithChildren<TrailProps>, Line2>;
220
+
221
+ export { MarchingCube, MarchingCubes, MarchingPlane, Outlines, Trail, useTrail };
222
+ export type { MarchingCubeProps, MarchingCubesProps, MarchingPlaneProps, OutlinesProps, TrailProps };
@@ -0,0 +1,222 @@
1
+ import * as THREE from 'three';
2
+ import { Color, MeshStandardMaterial, Texture, Matrix4, ColorRepresentation, Object3D } from 'three';
3
+ import { MarchingCubes as MarchingCubes$1 } from 'three/examples/jsm/objects/MarchingCubes.js';
4
+ import { ThreeElements, ReactThreeFiber, ThreeElement } from '@react-three/fiber';
5
+ import * as React from 'react';
6
+ import { ForwardRefExoticComponent, PropsWithoutRef, RefAttributes } from 'react';
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
+ import { Line2 } from 'three/examples/jsm/lines/Line2.js';
11
+
12
+ type ForwardRefComponent<P, T> = ForwardRefExoticComponent<PropsWithoutRef<P> & RefAttributes<T>>;
13
+
14
+ type MarchingCubesProps = {
15
+ resolution?: number;
16
+ maxPolyCount?: number;
17
+ enableUvs?: boolean;
18
+ enableColors?: boolean;
19
+ } & Omit<ThreeElements['group'], 'ref'>;
20
+ declare const MarchingCubes: ForwardRefComponent<MarchingCubesProps, MarchingCubes$1>;
21
+ type MarchingCubeProps = {
22
+ strength?: number;
23
+ subtract?: number;
24
+ color?: Color;
25
+ } & ThreeElements['group'];
26
+ declare const MarchingCube: ForwardRefComponent<MarchingCubeProps, THREE.Group>;
27
+ type MarchingPlaneProps = {
28
+ planeType?: 'x' | 'y' | 'z';
29
+ strength?: number;
30
+ subtract?: number;
31
+ } & ThreeElements['group'];
32
+ declare const MarchingPlane: ForwardRefComponent<MarchingPlaneProps, THREE.Group>;
33
+
34
+ type OutlinesProps = Omit<ThreeElements['group'], 'ref'> & {
35
+ color?: ReactThreeFiber.Color;
36
+ screenspace?: boolean;
37
+ opacity?: number;
38
+ transparent?: boolean;
39
+ thickness?: number;
40
+ angle?: number;
41
+ clippingPlanes?: THREE.Plane[];
42
+ toneMapped?: boolean;
43
+ polygonOffset?: boolean;
44
+ polygonOffsetFactor?: number;
45
+ renderOrder?: number;
46
+ };
47
+ declare function Outlines({ color, opacity, transparent, screenspace, toneMapped, polygonOffset, polygonOffsetFactor, renderOrder, thickness, angle, clippingPlanes, ...props }: OutlinesProps): React.JSX.Element;
48
+
49
+ type SoftShadowMaterialProps = {
50
+ map: THREE.Texture;
51
+ color?: ReactThreeFiber.Color;
52
+ alphaTest?: number;
53
+ blend?: number;
54
+ };
55
+ declare module '@react-three/fiber' {
56
+ interface ThreeElements {
57
+ softShadowMaterial: ThreeElements['shaderMaterial'] & SoftShadowMaterialProps;
58
+ }
59
+ }
60
+
61
+ declare module '@react-three/fiber' {
62
+ interface ThreeElements {
63
+ causticsProjectionMaterial: ThreeElements['meshNormalMaterial'] & {
64
+ viewMatrix?: {
65
+ value: THREE.Matrix4;
66
+ };
67
+ color?: ReactThreeFiber.Color;
68
+ causticsTexture?: THREE.Texture;
69
+ causticsTextureB?: THREE.Texture;
70
+ lightProjMatrix?: THREE.Matrix4;
71
+ lightViewMatrix?: THREE.Matrix4;
72
+ };
73
+ }
74
+ }
75
+
76
+ type MeshTransmissionMaterialType = Omit<ThreeElements['meshPhysicalMaterial'], 'args' | 'roughness' | 'thickness' | 'transmission'> & {
77
+ transmission?: number;
78
+ thickness?: number;
79
+ roughness?: number;
80
+ chromaticAberration?: number;
81
+ anisotropy?: number;
82
+ anisotropicBlur?: number;
83
+ distortion?: number;
84
+ distortionScale?: number;
85
+ temporalDistortion?: number;
86
+ buffer?: THREE.Texture;
87
+ time?: number;
88
+ args?: [samples: number, transmissionSampler: boolean];
89
+ };
90
+ declare module '@react-three/fiber' {
91
+ interface ThreeElements {
92
+ meshTransmissionMaterial: MeshTransmissionMaterialType;
93
+ }
94
+ }
95
+
96
+ declare class MeshReflectorMaterial extends MeshStandardMaterial {
97
+ private _tDepth;
98
+ private _distortionMap;
99
+ private _tDiffuse;
100
+ private _tDiffuseBlur;
101
+ private _textureMatrix;
102
+ private _hasBlur;
103
+ private _mirror;
104
+ private _mixBlur;
105
+ private _blurStrength;
106
+ private _minDepthThreshold;
107
+ private _maxDepthThreshold;
108
+ private _depthScale;
109
+ private _depthToBlurRatioBias;
110
+ private _distortion;
111
+ private _mixContrast;
112
+ constructor(parameters?: {});
113
+ onBeforeCompile(shader: any): void;
114
+ get tDiffuse(): Texture | null;
115
+ set tDiffuse(v: Texture | null);
116
+ get tDepth(): Texture | null;
117
+ set tDepth(v: Texture | null);
118
+ get distortionMap(): Texture | null;
119
+ set distortionMap(v: Texture | null);
120
+ get tDiffuseBlur(): Texture | null;
121
+ set tDiffuseBlur(v: Texture | null);
122
+ get textureMatrix(): Matrix4 | null;
123
+ set textureMatrix(v: Matrix4 | null);
124
+ get hasBlur(): boolean;
125
+ set hasBlur(v: boolean);
126
+ get mirror(): number;
127
+ set mirror(v: number);
128
+ get mixBlur(): number;
129
+ set mixBlur(v: number);
130
+ get mixStrength(): number;
131
+ set mixStrength(v: number);
132
+ get minDepthThreshold(): number;
133
+ set minDepthThreshold(v: number);
134
+ get maxDepthThreshold(): number;
135
+ set maxDepthThreshold(v: number);
136
+ get depthScale(): number;
137
+ set depthScale(v: number);
138
+ get depthToBlurRatioBias(): number;
139
+ set depthToBlurRatioBias(v: number);
140
+ get distortion(): number;
141
+ set distortion(v: number);
142
+ get mixContrast(): number;
143
+ set mixContrast(v: number);
144
+ }
145
+
146
+ declare module '@react-three/fiber' {
147
+ interface ThreeElements {
148
+ meshReflectorMaterialImpl: ThreeElement<typeof MeshReflectorMaterial>;
149
+ }
150
+ }
151
+
152
+ declare module '@react-three/fiber' {
153
+ interface ThreeElements {
154
+ portalMaterialImpl: ThreeElements['shaderMaterial'] & {
155
+ resolution: ReactThreeFiber.Vector2;
156
+ blur: number;
157
+ blend: number;
158
+ size?: number;
159
+ sdf?: THREE.Texture;
160
+ map?: THREE.Texture;
161
+ };
162
+ }
163
+ }
164
+
165
+ declare module '@react-three/fiber' {
166
+ interface ThreeElements {
167
+ distortMaterialImpl: ThreeElements['meshPhysicalMaterial'] & {
168
+ time?: number;
169
+ distort?: number;
170
+ radius?: number;
171
+ };
172
+ }
173
+ }
174
+
175
+ declare module '@react-three/fiber' {
176
+ interface ThreeElements {
177
+ wobbleMaterialImpl: ThreeElements['meshStandardMaterial'] & {
178
+ time?: number;
179
+ factor?: number;
180
+ speed?: number;
181
+ };
182
+ }
183
+ }
184
+
185
+ declare module '@react-three/fiber' {
186
+ interface ThreeElements {
187
+ effectComposer: ThreeElement<typeof EffectComposer>;
188
+ renderPass: ThreeElement<typeof RenderPass>;
189
+ shaderPass: ThreeElement<typeof ShaderPass>;
190
+ }
191
+ }
192
+
193
+ declare module '@react-three/fiber' {
194
+ interface ThreeElements {
195
+ segmentObject: ThreeElement<typeof SegmentObject>;
196
+ }
197
+ }
198
+ declare class SegmentObject {
199
+ color: THREE.Color;
200
+ start: THREE.Vector3;
201
+ end: THREE.Vector3;
202
+ constructor();
203
+ }
204
+
205
+ type Settings = {
206
+ width: number;
207
+ length: number;
208
+ decay: number;
209
+ local: boolean;
210
+ stride: number;
211
+ interval: number;
212
+ };
213
+ type TrailProps = {
214
+ color?: ColorRepresentation;
215
+ attenuation?: (t: number) => number;
216
+ target?: React.RefObject<Object3D>;
217
+ } & Partial<Settings>;
218
+ declare function useTrail(target: Object3D, settings: Partial<Settings>, pointCount: number): React.RefObject<Float32Array>;
219
+ declare const Trail: ForwardRefComponent<React.PropsWithChildren<TrailProps>, Line2>;
220
+
221
+ export { MarchingCube, MarchingCubes, MarchingPlane, Outlines, Trail, useTrail };
222
+ export type { MarchingCubeProps, MarchingCubesProps, MarchingPlaneProps, OutlinesProps, TrailProps };