@react-three/drei 10.8.0-alpha.1 → 11.0.0-alpha.3
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/core/index.d.mts +1858 -0
- package/core/index.d.ts +1858 -0
- package/core/index.mjs +8559 -0
- package/experimental/index.d.mts +222 -0
- package/experimental/index.d.ts +222 -0
- package/experimental/index.mjs +353 -0
- package/external/index.d.mts +464 -0
- package/external/index.d.ts +464 -0
- package/external/index.mjs +5079 -0
- package/index.d.mts +1746 -2147
- package/index.d.ts +2166 -0
- package/index.mjs +12940 -19766
- package/legacy/index.d.mts +2350 -0
- package/legacy/index.d.ts +2350 -0
- package/legacy/index.mjs +12326 -0
- package/native/index.d.mts +2515 -0
- package/native/index.d.ts +2515 -0
- package/native/index.mjs +12383 -0
- package/package.json +18 -15
- package/webgpu/index.d.mts +2514 -0
- package/webgpu/index.d.ts +2514 -0
- package/webgpu/index.mjs +12547 -0
- package/_chunks/hls.mjs +0 -3
- package/_chunks/libs/@mediapipe/tasks-vision.mjs +0 -4781
- package/_chunks/libs/@monogrid/gainmap-js.mjs +0 -1137
- package/_chunks/libs/@use-gesture/core.mjs +0 -1650
- package/_chunks/libs/@use-gesture/react.mjs +0 -207
- package/_chunks/libs/camera-controls.mjs +0 -2207
- package/_chunks/libs/detect-gpu.mjs +0 -515
- package/_chunks/libs/hls.js.mjs +0 -21925
- package/_chunks/libs/maath.mjs +0 -5200
- package/_chunks/libs/stats-gl.mjs +0 -301
- package/_chunks/libs/stats.js.mjs +0 -90
- package/_chunks/libs/suspend-react.mjs +0 -60
- package/_chunks/libs/three.mjs +0 -23169
- package/_chunks/libs/tunnel-rat.mjs +0 -458
- package/_chunks/libs/zustand.mjs +0 -104
- package/_chunks/rolldown-runtime.mjs +0 -47
- package/_chunks/vision_bundle.mjs +0 -3
- package/core/_chunks/hls.mjs +0 -3
- package/core/_chunks/libs/@monogrid/gainmap-js.mjs +0 -1137
- package/core/_chunks/libs/@use-gesture/core.mjs +0 -1650
- package/core/_chunks/libs/@use-gesture/react.mjs +0 -207
- package/core/_chunks/libs/detect-gpu.mjs +0 -515
- package/core/_chunks/libs/hls.js.mjs +0 -21925
- package/core/_chunks/libs/maath.mjs +0 -5200
- package/core/_chunks/libs/stats-gl.mjs +0 -301
- package/core/_chunks/libs/stats.js.mjs +0 -90
- package/core/_chunks/libs/suspend-react.mjs +0 -60
- package/core/_chunks/libs/three.mjs +0 -22457
- package/core/_chunks/libs/tunnel-rat.mjs +0 -458
- package/core/_chunks/libs/zustand.mjs +0 -104
- package/core/_chunks/rolldown-runtime.mjs +0 -47
- package/core/core/index.d.mts +0 -2232
- package/core/core/index.mjs +0 -11082
- package/experimental/_chunks/libs/three.mjs +0 -15386
- package/experimental/experimental/index.d.mts +0 -253
- package/experimental/experimental/index.mjs +0 -434
- package/external/_chunks/hls.mjs +0 -3
- package/external/_chunks/libs/@mediapipe/tasks-vision.mjs +0 -4781
- package/external/_chunks/libs/camera-controls.mjs +0 -2207
- package/external/_chunks/libs/hls.js.mjs +0 -21925
- package/external/_chunks/libs/maath.mjs +0 -5200
- package/external/_chunks/libs/suspend-react.mjs +0 -58
- package/external/_chunks/libs/three.mjs +0 -15387
- package/external/_chunks/rolldown-runtime.mjs +0 -32
- package/external/_chunks/vision_bundle.mjs +0 -3
- package/external/external/index.d.mts +0 -499
- package/external/external/index.mjs +0 -9422
- package/legacy/_chunks/hls.mjs +0 -3
- package/legacy/_chunks/libs/@monogrid/gainmap-js.mjs +0 -1137
- package/legacy/_chunks/libs/@use-gesture/core.mjs +0 -1650
- package/legacy/_chunks/libs/@use-gesture/react.mjs +0 -207
- package/legacy/_chunks/libs/bidi-js.mjs +0 -675
- package/legacy/_chunks/libs/detect-gpu.mjs +0 -515
- package/legacy/_chunks/libs/hls.js.mjs +0 -21925
- package/legacy/_chunks/libs/maath.mjs +0 -5200
- package/legacy/_chunks/libs/stats-gl.mjs +0 -301
- package/legacy/_chunks/libs/stats.js.mjs +0 -90
- package/legacy/_chunks/libs/suspend-react.mjs +0 -60
- package/legacy/_chunks/libs/three.mjs +0 -26062
- package/legacy/_chunks/libs/troika-three-text.mjs +0 -6494
- package/legacy/_chunks/libs/tunnel-rat.mjs +0 -458
- package/legacy/_chunks/libs/zustand.mjs +0 -104
- package/legacy/_chunks/rolldown-runtime.mjs +0 -47
- package/legacy/legacy/index.d.mts +0 -2788
- package/legacy/legacy/index.mjs +0 -14984
- package/native/_chunks/hls.mjs +0 -3
- package/native/_chunks/libs/@monogrid/gainmap-js.mjs +0 -1137
- package/native/_chunks/libs/@use-gesture/core.mjs +0 -1650
- package/native/_chunks/libs/@use-gesture/react.mjs +0 -207
- package/native/_chunks/libs/detect-gpu.mjs +0 -515
- package/native/_chunks/libs/hls.js.mjs +0 -21925
- package/native/_chunks/libs/maath.mjs +0 -5200
- package/native/_chunks/libs/stats-gl.mjs +0 -301
- package/native/_chunks/libs/stats.js.mjs +0 -90
- package/native/_chunks/libs/suspend-react.mjs +0 -60
- package/native/_chunks/libs/three.mjs +0 -22592
- package/native/_chunks/libs/tunnel-rat.mjs +0 -458
- package/native/_chunks/libs/zustand.mjs +0 -104
- package/native/_chunks/rolldown-runtime.mjs +0 -47
- package/native/native/index.d.mts +0 -3168
- package/native/native/index.mjs +0 -14863
- package/webgpu/_chunks/hls.mjs +0 -3
- package/webgpu/_chunks/libs/@monogrid/gainmap-js.mjs +0 -1137
- package/webgpu/_chunks/libs/@use-gesture/core.mjs +0 -1650
- package/webgpu/_chunks/libs/@use-gesture/react.mjs +0 -207
- package/webgpu/_chunks/libs/detect-gpu.mjs +0 -515
- package/webgpu/_chunks/libs/hls.js.mjs +0 -21925
- package/webgpu/_chunks/libs/maath.mjs +0 -5200
- package/webgpu/_chunks/libs/stats-gl.mjs +0 -301
- package/webgpu/_chunks/libs/stats.js.mjs +0 -90
- package/webgpu/_chunks/libs/suspend-react.mjs +0 -60
- package/webgpu/_chunks/libs/three.mjs +0 -22592
- package/webgpu/_chunks/libs/tunnel-rat.mjs +0 -458
- package/webgpu/_chunks/libs/zustand.mjs +0 -104
- package/webgpu/_chunks/rolldown-runtime.mjs +0 -47
- package/webgpu/webgpu/index.d.mts +0 -3166
- package/webgpu/webgpu/index.mjs +0 -15015
|
@@ -0,0 +1,464 @@
|
|
|
1
|
+
import { ThreeElements, ThreeElement, ReactThreeFiber, Vector2, Vector3 } from '@react-three/fiber';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import { ForwardRefExoticComponent, PropsWithoutRef, RefAttributes, RefObject, ReactNode } from 'react';
|
|
4
|
+
import * as THREE from 'three';
|
|
5
|
+
import { Mesh, Group, PerspectiveCamera, OrthographicCamera, EventDispatcher, MeshStandardMaterial, Texture, Matrix4, Color, ColorRepresentation } from 'three';
|
|
6
|
+
import { SplitStrategy } from 'three-mesh-bvh';
|
|
7
|
+
import CameraControlsImpl from 'camera-controls';
|
|
8
|
+
export { default as CameraControlsImpl } from 'camera-controls';
|
|
9
|
+
import { FaceLandmarkerResult, FaceLandmarkerOptions, FaceLandmarker as FaceLandmarker$1 } from '@mediapipe/tasks-vision';
|
|
10
|
+
import Hls from 'hls.js';
|
|
11
|
+
import { RenderPass } from 'three/examples/jsm/postprocessing/RenderPass';
|
|
12
|
+
import { ShaderPass } from 'three/examples/jsm/postprocessing/ShaderPass';
|
|
13
|
+
import { EffectComposer } from 'three/examples/jsm/postprocessing/EffectComposer';
|
|
14
|
+
import { Line2 } from 'three/examples/jsm/lines/Line2.js';
|
|
15
|
+
import { LineMaterialParameters, LineMaterial } from 'three/examples/jsm/lines/LineMaterial.js';
|
|
16
|
+
|
|
17
|
+
type ForwardRefComponent<P, T> = ForwardRefExoticComponent<PropsWithoutRef<P> & RefAttributes<T>>;
|
|
18
|
+
type NonFunctionKeys<T> = {
|
|
19
|
+
[K in keyof T]-?: T[K] extends Function ? never : K;
|
|
20
|
+
}[keyof T];
|
|
21
|
+
type Overwrite<T, O> = Omit<T, NonFunctionKeys<O>> & O;
|
|
22
|
+
|
|
23
|
+
interface BVHOptions {
|
|
24
|
+
strategy?: SplitStrategy;
|
|
25
|
+
verbose?: boolean;
|
|
26
|
+
setBoundingBox?: boolean;
|
|
27
|
+
maxDepth?: number;
|
|
28
|
+
maxLeafTris?: number;
|
|
29
|
+
indirect?: boolean;
|
|
30
|
+
}
|
|
31
|
+
type BvhProps = BVHOptions & ThreeElements['group'] & {
|
|
32
|
+
enabled?: boolean;
|
|
33
|
+
firstHitOnly?: boolean;
|
|
34
|
+
};
|
|
35
|
+
declare function useBVH(mesh: React.RefObject<Mesh | undefined>, options?: BVHOptions): void;
|
|
36
|
+
declare const Bvh: ForwardRefComponent<BvhProps, Group>;
|
|
37
|
+
|
|
38
|
+
type CameraControlsProps = Omit<Overwrite<ThreeElement<typeof CameraControlsImpl>, {
|
|
39
|
+
impl?: typeof CameraControlsImpl;
|
|
40
|
+
camera?: PerspectiveCamera | OrthographicCamera;
|
|
41
|
+
domElement?: HTMLElement;
|
|
42
|
+
makeDefault?: boolean;
|
|
43
|
+
onControlStart?: (e?: {
|
|
44
|
+
type: 'controlstart';
|
|
45
|
+
}) => void;
|
|
46
|
+
onControl?: (e?: {
|
|
47
|
+
type: 'control';
|
|
48
|
+
}) => void;
|
|
49
|
+
onControlEnd?: (e?: {
|
|
50
|
+
type: 'controlend';
|
|
51
|
+
}) => void;
|
|
52
|
+
onTransitionStart?: (e?: {
|
|
53
|
+
type: 'transitionstart';
|
|
54
|
+
}) => void;
|
|
55
|
+
onUpdate?: (e?: {
|
|
56
|
+
type: 'update';
|
|
57
|
+
}) => void;
|
|
58
|
+
onWake?: (e?: {
|
|
59
|
+
type: 'wake';
|
|
60
|
+
}) => void;
|
|
61
|
+
onRest?: (e?: {
|
|
62
|
+
type: 'rest';
|
|
63
|
+
}) => void;
|
|
64
|
+
onSleep?: (e?: {
|
|
65
|
+
type: 'sleep';
|
|
66
|
+
}) => void;
|
|
67
|
+
onStart?: (e?: {
|
|
68
|
+
type: 'controlstart';
|
|
69
|
+
}) => void;
|
|
70
|
+
onEnd?: (e?: {
|
|
71
|
+
type: 'controlend';
|
|
72
|
+
}) => void;
|
|
73
|
+
onChange?: (e?: {
|
|
74
|
+
type: string;
|
|
75
|
+
}) => void;
|
|
76
|
+
events?: boolean;
|
|
77
|
+
regress?: boolean;
|
|
78
|
+
}>, 'ref' | 'args' | keyof EventDispatcher>;
|
|
79
|
+
declare const CameraControls: ForwardRefComponent<CameraControlsProps, CameraControlsImpl>;
|
|
80
|
+
type CameraControls = CameraControlsImpl;
|
|
81
|
+
|
|
82
|
+
declare function getHls(...args: ConstructorParameters<typeof Hls>): Promise<Hls | null>;
|
|
83
|
+
declare function useVideoTexture(srcOrSrcObject: HTMLVideoElement['src' | 'srcObject'], { unsuspend, start, hls: hlsConfig, crossOrigin, muted, loop, playsInline, onVideoFrame, ...videoProps }?: {
|
|
84
|
+
unsuspend?: keyof HTMLVideoElementEventMap;
|
|
85
|
+
start?: boolean;
|
|
86
|
+
hls?: Parameters<typeof getHls>[0];
|
|
87
|
+
onVideoFrame?: VideoFrameRequestCallback;
|
|
88
|
+
} & Partial<Omit<HTMLVideoElement, 'children' | 'src' | 'srcObject'>>): THREE.VideoTexture<HTMLVideoElement>;
|
|
89
|
+
type UseVideoTextureParams = Parameters<typeof useVideoTexture>;
|
|
90
|
+
type VideoTextureProps = {
|
|
91
|
+
children?: (texture: VideoTexture) => React.ReactNode;
|
|
92
|
+
src: UseVideoTextureParams[0];
|
|
93
|
+
} & UseVideoTextureParams[1];
|
|
94
|
+
type VideoTexture = ReturnType<typeof useVideoTexture>;
|
|
95
|
+
declare const VideoTexture: React.ForwardRefExoticComponent<{
|
|
96
|
+
children?: (texture: VideoTexture) => React.ReactNode;
|
|
97
|
+
src: UseVideoTextureParams[0];
|
|
98
|
+
} & {
|
|
99
|
+
unsuspend?: keyof HTMLVideoElementEventMap;
|
|
100
|
+
start?: boolean;
|
|
101
|
+
hls?: Parameters<typeof getHls>[0];
|
|
102
|
+
onVideoFrame?: VideoFrameRequestCallback;
|
|
103
|
+
} & Partial<Omit<HTMLVideoElement, "children" | "src" | "srcObject">> & React.RefAttributes<THREE.VideoTexture<HTMLVideoElement>>>;
|
|
104
|
+
|
|
105
|
+
type SoftShadowMaterialProps = {
|
|
106
|
+
map: THREE.Texture;
|
|
107
|
+
color?: ReactThreeFiber.Color;
|
|
108
|
+
alphaTest?: number;
|
|
109
|
+
blend?: number;
|
|
110
|
+
};
|
|
111
|
+
declare module '@react-three/fiber' {
|
|
112
|
+
interface ThreeElements {
|
|
113
|
+
softShadowMaterial: ThreeElements['shaderMaterial'] & SoftShadowMaterialProps;
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
declare module '@react-three/fiber' {
|
|
118
|
+
interface ThreeElements {
|
|
119
|
+
causticsProjectionMaterial: ThreeElements['meshNormalMaterial'] & {
|
|
120
|
+
viewMatrix?: {
|
|
121
|
+
value: THREE.Matrix4;
|
|
122
|
+
};
|
|
123
|
+
color?: ReactThreeFiber.Color;
|
|
124
|
+
causticsTexture?: THREE.Texture;
|
|
125
|
+
causticsTextureB?: THREE.Texture;
|
|
126
|
+
lightProjMatrix?: THREE.Matrix4;
|
|
127
|
+
lightViewMatrix?: THREE.Matrix4;
|
|
128
|
+
};
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
type MeshTransmissionMaterialType = Omit<ThreeElements['meshPhysicalMaterial'], 'args' | 'roughness' | 'thickness' | 'transmission'> & {
|
|
133
|
+
transmission?: number;
|
|
134
|
+
thickness?: number;
|
|
135
|
+
roughness?: number;
|
|
136
|
+
chromaticAberration?: number;
|
|
137
|
+
anisotropy?: number;
|
|
138
|
+
anisotropicBlur?: number;
|
|
139
|
+
distortion?: number;
|
|
140
|
+
distortionScale?: number;
|
|
141
|
+
temporalDistortion?: number;
|
|
142
|
+
buffer?: THREE.Texture;
|
|
143
|
+
time?: number;
|
|
144
|
+
args?: [samples: number, transmissionSampler: boolean];
|
|
145
|
+
};
|
|
146
|
+
declare module '@react-three/fiber' {
|
|
147
|
+
interface ThreeElements {
|
|
148
|
+
meshTransmissionMaterial: MeshTransmissionMaterialType;
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
declare class MeshReflectorMaterial extends MeshStandardMaterial {
|
|
153
|
+
private _tDepth;
|
|
154
|
+
private _distortionMap;
|
|
155
|
+
private _tDiffuse;
|
|
156
|
+
private _tDiffuseBlur;
|
|
157
|
+
private _textureMatrix;
|
|
158
|
+
private _hasBlur;
|
|
159
|
+
private _mirror;
|
|
160
|
+
private _mixBlur;
|
|
161
|
+
private _blurStrength;
|
|
162
|
+
private _minDepthThreshold;
|
|
163
|
+
private _maxDepthThreshold;
|
|
164
|
+
private _depthScale;
|
|
165
|
+
private _depthToBlurRatioBias;
|
|
166
|
+
private _distortion;
|
|
167
|
+
private _mixContrast;
|
|
168
|
+
constructor(parameters?: {});
|
|
169
|
+
onBeforeCompile(shader: any): void;
|
|
170
|
+
get tDiffuse(): Texture | null;
|
|
171
|
+
set tDiffuse(v: Texture | null);
|
|
172
|
+
get tDepth(): Texture | null;
|
|
173
|
+
set tDepth(v: Texture | null);
|
|
174
|
+
get distortionMap(): Texture | null;
|
|
175
|
+
set distortionMap(v: Texture | null);
|
|
176
|
+
get tDiffuseBlur(): Texture | null;
|
|
177
|
+
set tDiffuseBlur(v: Texture | null);
|
|
178
|
+
get textureMatrix(): Matrix4 | null;
|
|
179
|
+
set textureMatrix(v: Matrix4 | null);
|
|
180
|
+
get hasBlur(): boolean;
|
|
181
|
+
set hasBlur(v: boolean);
|
|
182
|
+
get mirror(): number;
|
|
183
|
+
set mirror(v: number);
|
|
184
|
+
get mixBlur(): number;
|
|
185
|
+
set mixBlur(v: number);
|
|
186
|
+
get mixStrength(): number;
|
|
187
|
+
set mixStrength(v: number);
|
|
188
|
+
get minDepthThreshold(): number;
|
|
189
|
+
set minDepthThreshold(v: number);
|
|
190
|
+
get maxDepthThreshold(): number;
|
|
191
|
+
set maxDepthThreshold(v: number);
|
|
192
|
+
get depthScale(): number;
|
|
193
|
+
set depthScale(v: number);
|
|
194
|
+
get depthToBlurRatioBias(): number;
|
|
195
|
+
set depthToBlurRatioBias(v: number);
|
|
196
|
+
get distortion(): number;
|
|
197
|
+
set distortion(v: number);
|
|
198
|
+
get mixContrast(): number;
|
|
199
|
+
set mixContrast(v: number);
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
declare module '@react-three/fiber' {
|
|
203
|
+
interface ThreeElements {
|
|
204
|
+
meshReflectorMaterialImpl: ThreeElement<typeof MeshReflectorMaterial>;
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
declare module '@react-three/fiber' {
|
|
209
|
+
interface ThreeElements {
|
|
210
|
+
portalMaterialImpl: ThreeElements['shaderMaterial'] & {
|
|
211
|
+
resolution: ReactThreeFiber.Vector2;
|
|
212
|
+
blur: number;
|
|
213
|
+
blend: number;
|
|
214
|
+
size?: number;
|
|
215
|
+
sdf?: THREE.Texture;
|
|
216
|
+
map?: THREE.Texture;
|
|
217
|
+
};
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
|
|
221
|
+
declare module '@react-three/fiber' {
|
|
222
|
+
interface ThreeElements {
|
|
223
|
+
distortMaterialImpl: ThreeElements['meshPhysicalMaterial'] & {
|
|
224
|
+
time?: number;
|
|
225
|
+
distort?: number;
|
|
226
|
+
radius?: number;
|
|
227
|
+
};
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
declare module '@react-three/fiber' {
|
|
232
|
+
interface ThreeElements {
|
|
233
|
+
wobbleMaterialImpl: ThreeElements['meshStandardMaterial'] & {
|
|
234
|
+
time?: number;
|
|
235
|
+
factor?: number;
|
|
236
|
+
speed?: number;
|
|
237
|
+
};
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
|
|
241
|
+
declare module '@react-three/fiber' {
|
|
242
|
+
interface ThreeElements {
|
|
243
|
+
effectComposer: ThreeElement<typeof EffectComposer>;
|
|
244
|
+
renderPass: ThreeElement<typeof RenderPass>;
|
|
245
|
+
shaderPass: ThreeElement<typeof ShaderPass>;
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
type LineProps = Omit<{
|
|
250
|
+
points: ReadonlyArray<Vector2 | Vector3>;
|
|
251
|
+
vertexColors?: ReadonlyArray<Color | [number, number, number] | [number, number, number, number]>;
|
|
252
|
+
lineWidth?: number;
|
|
253
|
+
segments?: boolean;
|
|
254
|
+
} & Omit<LineMaterialParameters, 'vertexColors' | 'color'> & Omit<ThreeElement<typeof Line2>, 'ref' | 'args'> & Omit<ThreeElement<typeof LineMaterial>, 'ref' | 'color' | 'vertexColors' | 'args'> & {
|
|
255
|
+
color?: ColorRepresentation;
|
|
256
|
+
}, 'ref'>;
|
|
257
|
+
|
|
258
|
+
declare module '@react-three/fiber' {
|
|
259
|
+
interface ThreeElements {
|
|
260
|
+
segmentObject: ThreeElement<typeof SegmentObject>;
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
declare class SegmentObject {
|
|
264
|
+
color: THREE.Color;
|
|
265
|
+
start: THREE.Vector3;
|
|
266
|
+
end: THREE.Vector3;
|
|
267
|
+
constructor();
|
|
268
|
+
}
|
|
269
|
+
|
|
270
|
+
type MediaPipeFaceMesh = typeof FacemeshDatas.SAMPLE_FACE;
|
|
271
|
+
type MediaPipePoints = typeof FacemeshDatas.SAMPLE_FACE.keypoints | (typeof FacemeshDatas.SAMPLE_FACELANDMARKER_RESULT.faceLandmarks)[0];
|
|
272
|
+
type FacemeshProps = {
|
|
273
|
+
points?: MediaPipePoints;
|
|
274
|
+
face?: MediaPipeFaceMesh;
|
|
275
|
+
width?: number;
|
|
276
|
+
height?: number;
|
|
277
|
+
depth?: number;
|
|
278
|
+
verticalTri?: [number, number, number];
|
|
279
|
+
origin?: number | THREE.Vector3;
|
|
280
|
+
facialTransformationMatrix?: (typeof FacemeshDatas.SAMPLE_FACELANDMARKER_RESULT.facialTransformationMatrixes)[0];
|
|
281
|
+
offset?: boolean;
|
|
282
|
+
offsetScalar?: number;
|
|
283
|
+
faceBlendshapes?: (typeof FacemeshDatas.SAMPLE_FACELANDMARKER_RESULT.faceBlendshapes)[0];
|
|
284
|
+
eyes?: boolean;
|
|
285
|
+
eyesAsOrigin?: boolean;
|
|
286
|
+
debug?: boolean;
|
|
287
|
+
LineComponent?: React.ComponentType<LineProps>;
|
|
288
|
+
} & Omit<ThreeElements['group'], 'ref'>;
|
|
289
|
+
type FacemeshApi = {
|
|
290
|
+
meshRef: React.RefObject<THREE.Mesh>;
|
|
291
|
+
outerRef: React.RefObject<THREE.Group>;
|
|
292
|
+
eyeRightRef: React.RefObject<FacemeshEyeApi>;
|
|
293
|
+
eyeLeftRef: React.RefObject<FacemeshEyeApi>;
|
|
294
|
+
};
|
|
295
|
+
declare const Facemesh: React.ForwardRefExoticComponent<Omit<FacemeshProps, "ref"> & React.RefAttributes<FacemeshApi>>;
|
|
296
|
+
type FacemeshEyeProps = {
|
|
297
|
+
side: 'left' | 'right';
|
|
298
|
+
debug?: boolean;
|
|
299
|
+
LineComponent?: React.ComponentType<LineProps>;
|
|
300
|
+
};
|
|
301
|
+
type FacemeshEyeApi = {
|
|
302
|
+
eyeMeshRef: React.RefObject<THREE.Group>;
|
|
303
|
+
irisDirRef: React.RefObject<THREE.Group>;
|
|
304
|
+
_computeSphere: (faceGeometry: THREE.BufferGeometry) => THREE.Sphere;
|
|
305
|
+
_update: (faceGeometry: THREE.BufferGeometry, faceBlendshapes: FacemeshProps['faceBlendshapes'], sphere?: THREE.Sphere) => void;
|
|
306
|
+
};
|
|
307
|
+
declare const FacemeshEyeDefaults: {
|
|
308
|
+
contourLandmarks: {
|
|
309
|
+
right: number[];
|
|
310
|
+
left: number[];
|
|
311
|
+
};
|
|
312
|
+
blendshapes: {
|
|
313
|
+
right: number[];
|
|
314
|
+
left: number[];
|
|
315
|
+
};
|
|
316
|
+
color: {
|
|
317
|
+
right: string;
|
|
318
|
+
left: string;
|
|
319
|
+
};
|
|
320
|
+
fov: {
|
|
321
|
+
horizontal: number;
|
|
322
|
+
vertical: number;
|
|
323
|
+
};
|
|
324
|
+
};
|
|
325
|
+
declare const FacemeshEye: React.ForwardRefExoticComponent<FacemeshEyeProps & React.RefAttributes<FacemeshEyeApi>>;
|
|
326
|
+
declare const FacemeshDatas: {
|
|
327
|
+
TRIANGULATION: number[];
|
|
328
|
+
SAMPLE_FACE: {
|
|
329
|
+
keypoints: ({
|
|
330
|
+
x: number;
|
|
331
|
+
y: number;
|
|
332
|
+
z: number;
|
|
333
|
+
name: string;
|
|
334
|
+
} | {
|
|
335
|
+
x: number;
|
|
336
|
+
y: number;
|
|
337
|
+
z: number;
|
|
338
|
+
name?: undefined;
|
|
339
|
+
})[];
|
|
340
|
+
box: {
|
|
341
|
+
xMin: number;
|
|
342
|
+
yMin: number;
|
|
343
|
+
xMax: number;
|
|
344
|
+
yMax: number;
|
|
345
|
+
width: number;
|
|
346
|
+
height: number;
|
|
347
|
+
};
|
|
348
|
+
};
|
|
349
|
+
SAMPLE_FACELANDMARKER_RESULT: {
|
|
350
|
+
faceLandmarks: {
|
|
351
|
+
x: number;
|
|
352
|
+
y: number;
|
|
353
|
+
z: number;
|
|
354
|
+
}[][];
|
|
355
|
+
faceBlendshapes: {
|
|
356
|
+
categories: {
|
|
357
|
+
index: number;
|
|
358
|
+
score: number;
|
|
359
|
+
categoryName: string;
|
|
360
|
+
displayName: string;
|
|
361
|
+
}[];
|
|
362
|
+
headIndex: number;
|
|
363
|
+
headName: string;
|
|
364
|
+
}[];
|
|
365
|
+
facialTransformationMatrixes: {
|
|
366
|
+
rows: number;
|
|
367
|
+
columns: number;
|
|
368
|
+
data: number[];
|
|
369
|
+
}[];
|
|
370
|
+
};
|
|
371
|
+
};
|
|
372
|
+
|
|
373
|
+
type FaceControlsProps = {
|
|
374
|
+
camera?: THREE.Camera;
|
|
375
|
+
videoTexture?: VideoTextureProps;
|
|
376
|
+
manualDetect?: boolean;
|
|
377
|
+
faceLandmarkerResult?: FaceLandmarkerResult;
|
|
378
|
+
manualUpdate?: boolean;
|
|
379
|
+
makeDefault?: boolean;
|
|
380
|
+
smoothTime?: number;
|
|
381
|
+
offset?: boolean;
|
|
382
|
+
offsetScalar?: number;
|
|
383
|
+
eyes?: boolean;
|
|
384
|
+
eyesAsOrigin?: boolean;
|
|
385
|
+
depth?: number;
|
|
386
|
+
debug?: boolean;
|
|
387
|
+
facemesh?: FacemeshProps;
|
|
388
|
+
};
|
|
389
|
+
type FaceControlsApi = THREE.EventDispatcher & {
|
|
390
|
+
computeTarget: () => THREE.Object3D;
|
|
391
|
+
update: (delta: number, target?: THREE.Object3D) => void;
|
|
392
|
+
facemeshApiRef: RefObject<FacemeshApi>;
|
|
393
|
+
};
|
|
394
|
+
declare const FaceControls: React.ForwardRefExoticComponent<FaceControlsProps & React.RefAttributes<FaceControlsApi>>;
|
|
395
|
+
declare const useFaceControls: () => FaceControlsApi;
|
|
396
|
+
|
|
397
|
+
type SplatMaterialType = {
|
|
398
|
+
alphaTest?: number;
|
|
399
|
+
alphaHash?: boolean;
|
|
400
|
+
centerAndScaleTexture?: THREE.DataTexture;
|
|
401
|
+
covAndColorTexture?: THREE.DataTexture;
|
|
402
|
+
viewport?: THREE.Vector2;
|
|
403
|
+
focal?: number;
|
|
404
|
+
};
|
|
405
|
+
type TargetMesh = THREE.Mesh<THREE.InstancedBufferGeometry, THREE.ShaderMaterial & SplatMaterialType> & {
|
|
406
|
+
ready: boolean;
|
|
407
|
+
sorted: boolean;
|
|
408
|
+
pm: THREE.Matrix4;
|
|
409
|
+
vm1: THREE.Matrix4;
|
|
410
|
+
vm2: THREE.Matrix4;
|
|
411
|
+
viewport: THREE.Vector4;
|
|
412
|
+
};
|
|
413
|
+
type SharedState = {
|
|
414
|
+
url: string;
|
|
415
|
+
gl: THREE.WebGLRenderer;
|
|
416
|
+
worker: Worker;
|
|
417
|
+
manager: THREE.LoadingManager;
|
|
418
|
+
stream: ReadableStreamDefaultReader<Uint8Array>;
|
|
419
|
+
loading: boolean;
|
|
420
|
+
loaded: boolean;
|
|
421
|
+
loadedVertexCount: number;
|
|
422
|
+
rowLength: number;
|
|
423
|
+
maxVertexes: number;
|
|
424
|
+
chunkSize: number;
|
|
425
|
+
totalDownloadBytes: number;
|
|
426
|
+
numVertices: number;
|
|
427
|
+
bufferTextureWidth: number;
|
|
428
|
+
bufferTextureHeight: number;
|
|
429
|
+
centerAndScaleData: Float32Array;
|
|
430
|
+
covAndColorData: Uint32Array;
|
|
431
|
+
covAndColorTexture: THREE.DataTexture;
|
|
432
|
+
centerAndScaleTexture: THREE.DataTexture;
|
|
433
|
+
connect(target: TargetMesh): () => void;
|
|
434
|
+
update(target: TargetMesh, camera: THREE.Camera, hashed: boolean): void;
|
|
435
|
+
onProgress?: (event: ProgressEvent) => void;
|
|
436
|
+
};
|
|
437
|
+
declare module '@react-three/fiber' {
|
|
438
|
+
interface ThreeElements {
|
|
439
|
+
splatMaterial: SplatMaterialType & ThreeElements['shaderMaterial'];
|
|
440
|
+
}
|
|
441
|
+
}
|
|
442
|
+
type SplatProps = {
|
|
443
|
+
src: string;
|
|
444
|
+
toneMapped?: boolean;
|
|
445
|
+
alphaTest?: number;
|
|
446
|
+
alphaHash?: boolean;
|
|
447
|
+
chunkSize?: number;
|
|
448
|
+
} & Omit<ThreeElements['mesh'], 'ref'>;
|
|
449
|
+
declare function Splat({ src, toneMapped, alphaTest, alphaHash, chunkSize, ...props }: SplatProps): React.JSX.Element;
|
|
450
|
+
|
|
451
|
+
type FaceLandmarkerProps = {
|
|
452
|
+
basePath?: string;
|
|
453
|
+
options?: FaceLandmarkerOptions;
|
|
454
|
+
children?: ReactNode;
|
|
455
|
+
};
|
|
456
|
+
declare const FaceLandmarkerDefaults: {
|
|
457
|
+
basePath: string;
|
|
458
|
+
options: FaceLandmarkerOptions;
|
|
459
|
+
};
|
|
460
|
+
declare const FaceLandmarker: React.ForwardRefExoticComponent<FaceLandmarkerProps & React.RefAttributes<FaceLandmarker$1>>;
|
|
461
|
+
declare function useFaceLandmarker(): FaceLandmarker$1 | undefined;
|
|
462
|
+
|
|
463
|
+
export { Bvh, CameraControls, FaceControls, FaceLandmarker, FaceLandmarkerDefaults, Facemesh, FacemeshDatas, FacemeshEye, FacemeshEyeDefaults, Splat, useBVH, useFaceControls, useFaceLandmarker };
|
|
464
|
+
export type { BVHOptions, BvhProps, CameraControlsProps, FaceControlsApi, FaceControlsProps, FaceLandmarkerProps, FacemeshApi, FacemeshEyeApi, FacemeshEyeProps, FacemeshProps, MediaPipeFaceMesh, MediaPipePoints, SharedState, SplatMaterialType, SplatProps, TargetMesh };
|