@react-three/drei 9.118.0 → 9.120.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.cjs.js +1 -1
- package/index.js +2 -0
- package/package.json +1 -1
- package/web/FaceControls.cjs.js +1 -1
- package/web/FaceControls.d.ts +4 -18
- package/web/FaceControls.js +48 -146
- package/web/FaceLandmarker.cjs.js +1 -1
- package/web/FaceLandmarker.d.ts +1 -1
- package/web/FaceLandmarker.js +6 -4
- package/web/ScreenVideoTexture.cjs.js +1 -0
- package/web/ScreenVideoTexture.d.ts +16 -0
- package/web/ScreenVideoTexture.js +30 -0
- package/web/WebcamVideoTexture.cjs.js +1 -0
- package/web/WebcamVideoTexture.d.ts +16 -0
- package/web/WebcamVideoTexture.js +33 -0
- package/web/index.cjs.js +1 -1
- package/web/index.d.ts +2 -0
- package/web/index.js +2 -0
package/index.js
CHANGED
|
@@ -132,6 +132,8 @@ export { MeshPortalMaterial } from './core/MeshPortalMaterial.js';
|
|
|
132
132
|
export { calculateScaleFactor } from './core/calculateScaleFactor.js';
|
|
133
133
|
export { View } from './web/View.js';
|
|
134
134
|
export { PivotControls } from './web/pivotControls/index.js';
|
|
135
|
+
export { ScreenVideoTexture } from './web/ScreenVideoTexture.js';
|
|
136
|
+
export { WebcamVideoTexture } from './web/WebcamVideoTexture.js';
|
|
135
137
|
export { FaceControls, useFaceControls } from './web/FaceControls.js';
|
|
136
138
|
export { FaceLandmarker, FaceLandmarkerDefaults, useFaceLandmarker } from './web/FaceLandmarker.js';
|
|
137
139
|
export { Facemesh, FacemeshDatas, FacemeshEye, FacemeshEyeDefaults } from './web/Facemesh.js';
|
package/package.json
CHANGED
package/web/FaceControls.cjs.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/extends"),t=require("three"),r=require("react"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/extends"),t=require("three"),r=require("react"),o=require("@react-three/fiber"),n=require("maath"),c=require("./Facemesh.cjs.js"),a=require("./FaceLandmarker.cjs.js"),s=require("./WebcamVideoTexture.cjs.js"),u=require("../core/VideoTexture.cjs.js");function i(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function l(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var o=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,o.get?o:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}require("../core/Line.cjs.js"),require("three-stdlib"),require("suspend-react"),require("hls.js");var f=i(e),d=l(t),p=l(r);function m(e,t){return e.clone().add(t).multiplyScalar(.5)}function b(e,t,r){const o=e.localToWorld(t);return r.worldToLocal(o)}const h=r.createContext({}),y=r.forwardRef((({camera:e,videoTexture:t={start:!0},manualDetect:i=!1,faceLandmarkerResult:l,manualUpdate:y=!1,makeDefault:j,smoothTime:v=.25,offset:T=!0,offsetScalar:V=80,eyes:w=!1,eyesAsOrigin:g=!0,depth:q=.15,debug:x=!1,facemesh:O},k)=>{var S,R;const E=o.useThree((e=>e.scene)),D=o.useThree((e=>e.camera)),F=o.useThree((e=>e.set)),C=o.useThree((e=>e.get)),L=e||D,M=r.useRef(null),[A]=r.useState((()=>new d.Object3D)),[P]=r.useState((()=>new d.Vector3)),[W]=r.useState((()=>new d.Vector3)),[_]=r.useState((()=>new d.Vector3)),[B]=r.useState((()=>new d.Vector3)),z=r.useCallback((()=>{A.parent=L.parent;const e=M.current;if(e){const{outerRef:t,eyeRightRef:r,eyeLeftRef:o}=e;if(r.current&&o.current){const{irisDirRef:e}=r.current,{irisDirRef:n}=o.current;e.current&&n.current&&t.current&&(P.copy(b(e.current,new d.Vector3(0,0,0),t.current)),W.copy(b(n.current,new d.Vector3(0,0,0),t.current)),A.position.copy(b(t.current,m(P,W),L.parent||E)),_.copy(b(e.current,new d.Vector3(0,0,1),t.current)),B.copy(b(n.current,new d.Vector3(0,0,1),t.current)),A.lookAt(t.current.localToWorld(m(_,B))))}else t.current&&(A.position.copy(b(t.current,new d.Vector3(0,0,0),L.parent||E)),A.lookAt(t.current.localToWorld(new d.Vector3(0,0,1))))}return A}),[L,W,B,P,_,E,A]),[I]=r.useState((()=>new d.Object3D)),H=r.useCallback((function(e,t){if(L){var r;if(null!==(r=t)&&void 0!==r||(t=z()),v>0){const r=1e-9;n.easing.damp3(I.position,t.position,v,e,void 0,void 0,r),n.easing.dampE(I.rotation,t.rotation,v,e,void 0,void 0,r)}else I.position.copy(t.position),I.rotation.copy(t.rotation);L.position.copy(I.position),L.rotation.copy(I.rotation)}}),[L,z,v,I.position,I.rotation]);o.useFrame(((e,t)=>{y||H(t)}));const U=r.useRef(null),[G,J]=r.useState(),K=a.useFaceLandmarker(),N=r.useCallback(((e,t)=>{const r=U.current;if(!r)return;const o=r.source.data,n=null==K?void 0:K.detectForVideo(o,e);J(n)}),[K]),Q=r.useMemo((()=>Object.assign(Object.create(d.EventDispatcher.prototype),{computeTarget:z,update:H,facemeshApiRef:M})),[z,H]);r.useImperativeHandle(k,(()=>Q),[Q]),r.useEffect((()=>{if(j){const e=C().controls;return F({controls:Q}),()=>F({controls:e})}}),[j,Q,C,F]);const X=null!=l?l:G,Y=null==X?void 0:X.faceLandmarks[0],Z=null==X||null==(S=X.facialTransformationMatrixes)?void 0:S[0],$=null==X||null==(R=X.faceBlendshapes)?void 0:R[0],ee={onVideoFrame:N,...t};return p.createElement(h.Provider,{value:Q},!i&&p.createElement(r.Suspense,{fallback:null},"src"in ee?p.createElement(u.VideoTexture,f.default({ref:U},ee)):p.createElement(s.WebcamVideoTexture,f.default({ref:U},ee))),p.createElement(c.Facemesh,f.default({ref:M},O,{points:Y,depth:q,facialTransformationMatrix:Z,faceBlendshapes:$,eyes:w,eyesAsOrigin:g,offset:T,offsetScalar:V,debug:x,"rotation-z":Math.PI,visible:x}),p.createElement("meshBasicMaterial",{side:d.DoubleSide})))}));exports.FaceControls=y,exports.useFaceControls=()=>r.useContext(h);
|
package/web/FaceControls.d.ts
CHANGED
|
@@ -2,17 +2,14 @@ import * as THREE from 'three';
|
|
|
2
2
|
import * as React from 'react';
|
|
3
3
|
import { RefObject } from 'react';
|
|
4
4
|
import type { FaceLandmarkerResult } from '@mediapipe/tasks-vision';
|
|
5
|
-
import {
|
|
5
|
+
import { VideoTextureProps } from '..';
|
|
6
6
|
import { FacemeshApi, FacemeshProps } from './Facemesh';
|
|
7
|
-
type VideoTextureSrc = Parameters<typeof useVideoTexture>[0];
|
|
8
7
|
export type FaceControlsProps = {
|
|
9
8
|
camera?: THREE.Camera;
|
|
10
|
-
|
|
11
|
-
webcam?: boolean;
|
|
12
|
-
webcamVideoTextureSrc?: VideoTextureSrc;
|
|
13
|
-
manualUpdate?: boolean;
|
|
9
|
+
videoTexture: VideoTextureProps;
|
|
14
10
|
manualDetect?: boolean;
|
|
15
|
-
|
|
11
|
+
faceLandmarkerResult?: FaceLandmarkerResult;
|
|
12
|
+
manualUpdate?: boolean;
|
|
16
13
|
makeDefault?: boolean;
|
|
17
14
|
smoothTime?: number;
|
|
18
15
|
offset?: boolean;
|
|
@@ -24,20 +21,9 @@ export type FaceControlsProps = {
|
|
|
24
21
|
facemesh?: FacemeshProps;
|
|
25
22
|
};
|
|
26
23
|
export type FaceControlsApi = THREE.EventDispatcher & {
|
|
27
|
-
detect: (video: HTMLVideoElement, time: number) => FaceLandmarkerResult | undefined;
|
|
28
24
|
computeTarget: () => THREE.Object3D;
|
|
29
25
|
update: (delta: number, target?: THREE.Object3D) => void;
|
|
30
26
|
facemeshApiRef: RefObject<FacemeshApi>;
|
|
31
|
-
webcamApiRef: RefObject<WebcamApi>;
|
|
32
|
-
play: () => void;
|
|
33
|
-
pause: () => void;
|
|
34
27
|
};
|
|
35
28
|
export declare const FaceControls: React.ForwardRefExoticComponent<FaceControlsProps & React.RefAttributes<FaceControlsApi>>;
|
|
36
29
|
export declare const useFaceControls: () => FaceControlsApi;
|
|
37
|
-
type WebcamApi = {
|
|
38
|
-
videoTextureApiRef: RefObject<VideoTextureApi>;
|
|
39
|
-
};
|
|
40
|
-
type VideoTextureApi = {
|
|
41
|
-
texture: THREE.VideoTexture;
|
|
42
|
-
};
|
|
43
|
-
export {};
|
package/web/FaceControls.js
CHANGED
|
@@ -4,12 +4,10 @@ import * as React from 'react';
|
|
|
4
4
|
import { forwardRef, useRef, useState, useCallback, useMemo, useImperativeHandle, useEffect, Suspense, useContext, createContext } from 'react';
|
|
5
5
|
import { useThree, useFrame } from '@react-three/fiber';
|
|
6
6
|
import { easing } from 'maath';
|
|
7
|
-
import { suspend, clear } from 'suspend-react';
|
|
8
|
-
import { useVideoTexture } from '../core/VideoTexture.js';
|
|
9
7
|
import { Facemesh } from './Facemesh.js';
|
|
10
8
|
import { useFaceLandmarker } from './FaceLandmarker.js';
|
|
11
|
-
|
|
12
|
-
|
|
9
|
+
import { WebcamVideoTexture } from './WebcamVideoTexture.js';
|
|
10
|
+
import { VideoTexture } from '../core/VideoTexture.js';
|
|
13
11
|
|
|
14
12
|
function mean(v1, v2) {
|
|
15
13
|
return v1.clone().add(v2).multiplyScalar(0.5);
|
|
@@ -38,12 +36,13 @@ const FaceControlsContext = /* @__PURE__ */createContext({});
|
|
|
38
36
|
|
|
39
37
|
const FaceControls = /* @__PURE__ */forwardRef(({
|
|
40
38
|
camera,
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
manualUpdate = false,
|
|
39
|
+
videoTexture = {
|
|
40
|
+
start: true
|
|
41
|
+
},
|
|
45
42
|
manualDetect = false,
|
|
46
|
-
|
|
43
|
+
faceLandmarkerResult,
|
|
44
|
+
manualUpdate = false,
|
|
45
|
+
makeDefault,
|
|
47
46
|
smoothTime = 0.25,
|
|
48
47
|
offset = true,
|
|
49
48
|
offsetScalar = 80,
|
|
@@ -51,16 +50,14 @@ const FaceControls = /* @__PURE__ */forwardRef(({
|
|
|
51
50
|
eyesAsOrigin = true,
|
|
52
51
|
depth = 0.15,
|
|
53
52
|
debug = false,
|
|
54
|
-
facemesh
|
|
55
|
-
makeDefault
|
|
53
|
+
facemesh
|
|
56
54
|
}, fref) => {
|
|
57
|
-
var
|
|
55
|
+
var _result$facialTransfo, _result$faceBlendshap;
|
|
58
56
|
const scene = useThree(state => state.scene);
|
|
59
57
|
const defaultCamera = useThree(state => state.camera);
|
|
60
58
|
const set = useThree(state => state.set);
|
|
61
59
|
const get = useThree(state => state.get);
|
|
62
60
|
const explCamera = camera || defaultCamera;
|
|
63
|
-
const webcamApiRef = useRef(null);
|
|
64
61
|
const facemeshApiRef = useRef(null);
|
|
65
62
|
|
|
66
63
|
//
|
|
@@ -148,59 +145,41 @@ const FaceControls = /* @__PURE__ */forwardRef(({
|
|
|
148
145
|
explCamera.rotation.copy(current.rotation);
|
|
149
146
|
}
|
|
150
147
|
}, [explCamera, computeTarget, smoothTime, current.position, current.rotation]);
|
|
148
|
+
useFrame((_, delta) => {
|
|
149
|
+
if (manualUpdate) return;
|
|
150
|
+
update(delta);
|
|
151
|
+
});
|
|
151
152
|
|
|
152
153
|
//
|
|
153
|
-
//
|
|
154
|
+
// onVideoFrame (only used if !manualDetect)
|
|
154
155
|
//
|
|
155
156
|
|
|
156
|
-
const
|
|
157
|
+
const videoTextureRef = useRef(null);
|
|
158
|
+
const [_faceLandmarkerResult, setFaceLandmarkerResult] = useState();
|
|
157
159
|
const faceLandmarker = useFaceLandmarker();
|
|
158
|
-
const
|
|
159
|
-
const
|
|
160
|
-
|
|
161
|
-
|
|
160
|
+
const onVideoFrame = useCallback((now, metadata) => {
|
|
161
|
+
const texture = videoTextureRef.current;
|
|
162
|
+
if (!texture) return;
|
|
163
|
+
const videoFrame = texture.source.data;
|
|
164
|
+
const result = faceLandmarker == null ? void 0 : faceLandmarker.detectForVideo(videoFrame, now);
|
|
165
|
+
setFaceLandmarkerResult(result);
|
|
162
166
|
}, [faceLandmarker]);
|
|
163
|
-
useFrame((_, delta) => {
|
|
164
|
-
if (!manualUpdate) {
|
|
165
|
-
update(delta);
|
|
166
|
-
}
|
|
167
|
-
});
|
|
168
167
|
|
|
168
|
+
//
|
|
169
169
|
// Ref API
|
|
170
|
+
//
|
|
171
|
+
|
|
170
172
|
const api = useMemo(() => Object.assign(Object.create(THREE.EventDispatcher.prototype), {
|
|
171
|
-
detect,
|
|
172
173
|
computeTarget,
|
|
173
174
|
update,
|
|
174
|
-
facemeshApiRef
|
|
175
|
-
|
|
176
|
-
// shorthands
|
|
177
|
-
play: () => {
|
|
178
|
-
var _webcamApiRef$current;
|
|
179
|
-
(_webcamApiRef$current = webcamApiRef.current) == null || (_webcamApiRef$current = _webcamApiRef$current.videoTextureApiRef.current) == null || _webcamApiRef$current.texture.source.data.play();
|
|
180
|
-
},
|
|
181
|
-
pause: () => {
|
|
182
|
-
var _webcamApiRef$current2;
|
|
183
|
-
(_webcamApiRef$current2 = webcamApiRef.current) == null || (_webcamApiRef$current2 = _webcamApiRef$current2.videoTextureApiRef.current) == null || _webcamApiRef$current2.texture.source.data.pause();
|
|
184
|
-
}
|
|
185
|
-
}), [detect, computeTarget, update]);
|
|
175
|
+
facemeshApiRef
|
|
176
|
+
}), [computeTarget, update]);
|
|
186
177
|
useImperativeHandle(fref, () => api, [api]);
|
|
187
178
|
|
|
188
179
|
//
|
|
189
|
-
//
|
|
180
|
+
// makeDefault (`controls` global state)
|
|
190
181
|
//
|
|
191
182
|
|
|
192
|
-
useEffect(() => {
|
|
193
|
-
const onVideoFrameCb = e => {
|
|
194
|
-
if (!manualDetect) detect(e.texture.source.data, e.time);
|
|
195
|
-
if (onVideoFrame) onVideoFrame(e);
|
|
196
|
-
};
|
|
197
|
-
api.addEventListener('videoFrame', onVideoFrameCb);
|
|
198
|
-
return () => {
|
|
199
|
-
api.removeEventListener('videoFrame', onVideoFrameCb);
|
|
200
|
-
};
|
|
201
|
-
}, [api, detect, faceLandmarker, manualDetect, onVideoFrame]);
|
|
202
|
-
|
|
203
|
-
// `controls` global state
|
|
204
183
|
useEffect(() => {
|
|
205
184
|
if (makeDefault) {
|
|
206
185
|
const old = get().controls;
|
|
@@ -212,18 +191,28 @@ const FaceControls = /* @__PURE__ */forwardRef(({
|
|
|
212
191
|
});
|
|
213
192
|
}
|
|
214
193
|
}, [makeDefault, api, get, set]);
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
194
|
+
|
|
195
|
+
//
|
|
196
|
+
//
|
|
197
|
+
//
|
|
198
|
+
|
|
199
|
+
const result = faceLandmarkerResult !== null && faceLandmarkerResult !== void 0 ? faceLandmarkerResult : _faceLandmarkerResult;
|
|
200
|
+
const points = result == null ? void 0 : result.faceLandmarks[0];
|
|
201
|
+
const facialTransformationMatrix = result == null || (_result$facialTransfo = result.facialTransformationMatrixes) == null ? void 0 : _result$facialTransfo[0];
|
|
202
|
+
const faceBlendshapes = result == null || (_result$faceBlendshap = result.faceBlendshapes) == null ? void 0 : _result$faceBlendshap[0];
|
|
203
|
+
const videoTextureProps = {
|
|
204
|
+
onVideoFrame,
|
|
205
|
+
...videoTexture
|
|
206
|
+
};
|
|
218
207
|
return /*#__PURE__*/React.createElement(FaceControlsContext.Provider, {
|
|
219
208
|
value: api
|
|
220
|
-
},
|
|
209
|
+
}, !manualDetect && /*#__PURE__*/React.createElement(Suspense, {
|
|
221
210
|
fallback: null
|
|
222
|
-
}, /*#__PURE__*/React.createElement(
|
|
223
|
-
ref:
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
})), /*#__PURE__*/React.createElement(Facemesh, _extends({
|
|
211
|
+
}, 'src' in videoTextureProps ? /*#__PURE__*/React.createElement(VideoTexture, _extends({
|
|
212
|
+
ref: videoTextureRef
|
|
213
|
+
}, videoTextureProps)) : /*#__PURE__*/React.createElement(WebcamVideoTexture, _extends({
|
|
214
|
+
ref: videoTextureRef
|
|
215
|
+
}, videoTextureProps))), /*#__PURE__*/React.createElement(Facemesh, _extends({
|
|
227
216
|
ref: facemeshApiRef
|
|
228
217
|
}, facemesh, {
|
|
229
218
|
points: points,
|
|
@@ -243,91 +232,4 @@ const FaceControls = /* @__PURE__ */forwardRef(({
|
|
|
243
232
|
});
|
|
244
233
|
const useFaceControls = () => useContext(FaceControlsContext);
|
|
245
234
|
|
|
246
|
-
//
|
|
247
|
-
// Webcam
|
|
248
|
-
//
|
|
249
|
-
|
|
250
|
-
const Webcam = /* @__PURE__ */forwardRef(({
|
|
251
|
-
videoTextureSrc,
|
|
252
|
-
autostart = true
|
|
253
|
-
}, fref) => {
|
|
254
|
-
const videoTextureApiRef = useRef(null);
|
|
255
|
-
const faceControls = useFaceControls();
|
|
256
|
-
const stream = suspend(async () => {
|
|
257
|
-
return !videoTextureSrc ? await navigator.mediaDevices.getUserMedia({
|
|
258
|
-
audio: false,
|
|
259
|
-
video: {
|
|
260
|
-
facingMode: 'user'
|
|
261
|
-
}
|
|
262
|
-
}) : Promise.resolve(null);
|
|
263
|
-
}, [videoTextureSrc]);
|
|
264
|
-
useEffect(() => {
|
|
265
|
-
faceControls.dispatchEvent({
|
|
266
|
-
type: 'stream',
|
|
267
|
-
stream
|
|
268
|
-
});
|
|
269
|
-
return () => {
|
|
270
|
-
stream == null || stream.getTracks().forEach(track => track.stop());
|
|
271
|
-
clear([videoTextureSrc]);
|
|
272
|
-
};
|
|
273
|
-
}, [stream, faceControls, videoTextureSrc]);
|
|
274
|
-
|
|
275
|
-
// ref-api
|
|
276
|
-
const api = useMemo(() => ({
|
|
277
|
-
videoTextureApiRef
|
|
278
|
-
}), []);
|
|
279
|
-
useImperativeHandle(fref, () => api, [api]);
|
|
280
|
-
return /*#__PURE__*/React.createElement(Suspense, {
|
|
281
|
-
fallback: null
|
|
282
|
-
}, /*#__PURE__*/React.createElement(VideoTexture, {
|
|
283
|
-
ref: videoTextureApiRef,
|
|
284
|
-
src: videoTextureSrc || stream,
|
|
285
|
-
start: autostart
|
|
286
|
-
}));
|
|
287
|
-
});
|
|
288
|
-
|
|
289
|
-
//
|
|
290
|
-
// VideoTexture
|
|
291
|
-
//
|
|
292
|
-
|
|
293
|
-
const VideoTexture = /* @__PURE__ */forwardRef(({
|
|
294
|
-
src,
|
|
295
|
-
start
|
|
296
|
-
}, fref) => {
|
|
297
|
-
const texture = useVideoTexture(src, {
|
|
298
|
-
start
|
|
299
|
-
});
|
|
300
|
-
const video = texture.source.data;
|
|
301
|
-
const faceControls = useFaceControls();
|
|
302
|
-
const onVideoFrame = useCallback(time => {
|
|
303
|
-
faceControls.dispatchEvent({
|
|
304
|
-
type: 'videoFrame',
|
|
305
|
-
texture,
|
|
306
|
-
time
|
|
307
|
-
});
|
|
308
|
-
}, [texture, faceControls]);
|
|
309
|
-
useVideoFrame(video, onVideoFrame);
|
|
310
|
-
|
|
311
|
-
// ref-api
|
|
312
|
-
const api = useMemo(() => ({
|
|
313
|
-
texture
|
|
314
|
-
}), [texture]);
|
|
315
|
-
useImperativeHandle(fref, () => api, [api]);
|
|
316
|
-
return /*#__PURE__*/React.createElement(React.Fragment, null);
|
|
317
|
-
});
|
|
318
|
-
const useVideoFrame = (video, f) => {
|
|
319
|
-
// https://web.dev/requestvideoframecallback-rvfc/
|
|
320
|
-
// https://www.remotion.dev/docs/video-manipulation
|
|
321
|
-
useEffect(() => {
|
|
322
|
-
if (!video || !video.requestVideoFrameCallback) return;
|
|
323
|
-
let handle;
|
|
324
|
-
function callback(...args) {
|
|
325
|
-
f(...args);
|
|
326
|
-
handle = video.requestVideoFrameCallback(callback);
|
|
327
|
-
}
|
|
328
|
-
video.requestVideoFrameCallback(callback);
|
|
329
|
-
return () => video.cancelVideoFrameCallback(handle);
|
|
330
|
-
}, [video, f]);
|
|
331
|
-
};
|
|
332
|
-
|
|
333
235
|
export { FaceControls, useFaceControls };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=require("suspend-react");function r(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var a=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,a.get?a:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var a=r(e);const
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=require("suspend-react");function r(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var a=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,a.get?a:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var a=r(e);const s=e.createContext({}),n={basePath:"https://cdn.jsdelivr.net/npm/@mediapipe/tasks-vision@0.10.17/wasm",options:{baseOptions:{modelAssetPath:"https://storage.googleapis.com/mediapipe-models/face_landmarker/face_landmarker/float16/1/face_landmarker.task",delegate:"GPU"},runningMode:"VIDEO",outputFaceBlendshapes:!0,outputFacialTransformationMatrixes:!0}},o=e.forwardRef((({basePath:o=n.basePath,options:i=n.options,children:c},u)=>{const l=JSON.stringify(i),d=t.suspend((async()=>{const{FilesetResolver:e,FaceLandmarker:t}=await Promise.resolve().then((function(){return r(require("@mediapipe/tasks-vision"))})),a=await e.forVisionTasks(o);return t.createFromOptions(a,i)}),[o,l]);return e.useEffect((()=>()=>{null==d||d.close(),t.clear([o,l])}),[d,o,l]),e.useImperativeHandle(u,(()=>d),[d]),a.createElement(s.Provider,{value:d},c)}));exports.FaceLandmarker=o,exports.FaceLandmarkerDefaults=n,exports.useFaceLandmarker=function(){return e.useContext(s)};
|
package/web/FaceLandmarker.d.ts
CHANGED
|
@@ -10,6 +10,6 @@ export declare const FaceLandmarkerDefaults: {
|
|
|
10
10
|
basePath: string;
|
|
11
11
|
options: FaceLandmarkerOptions;
|
|
12
12
|
};
|
|
13
|
-
export declare
|
|
13
|
+
export declare const FaceLandmarker: React.ForwardRefExoticComponent<FaceLandmarkerProps & React.RefAttributes<FaceLandmarkerImpl>>;
|
|
14
14
|
export declare function useFaceLandmarker(): FaceLandmarkerImpl | undefined;
|
|
15
15
|
export {};
|
package/web/FaceLandmarker.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import { useEffect, useContext, createContext } from 'react';
|
|
2
|
+
import { forwardRef, useEffect, useImperativeHandle, useContext, createContext } from 'react';
|
|
3
3
|
import { suspend, clear } from 'suspend-react';
|
|
4
4
|
|
|
5
5
|
/* eslint react-hooks/exhaustive-deps: 1 */
|
|
@@ -16,11 +16,11 @@ const FaceLandmarkerDefaults = {
|
|
|
16
16
|
outputFacialTransformationMatrixes: true
|
|
17
17
|
}
|
|
18
18
|
};
|
|
19
|
-
|
|
19
|
+
const FaceLandmarker = /*#__PURE__*/forwardRef(({
|
|
20
20
|
basePath = FaceLandmarkerDefaults.basePath,
|
|
21
21
|
options = FaceLandmarkerDefaults.options,
|
|
22
22
|
children
|
|
23
|
-
}) {
|
|
23
|
+
}, fref) => {
|
|
24
24
|
const opts = JSON.stringify(options);
|
|
25
25
|
const faceLandmarker = suspend(async () => {
|
|
26
26
|
const {
|
|
@@ -36,10 +36,12 @@ function FaceLandmarker({
|
|
|
36
36
|
clear([basePath, opts]);
|
|
37
37
|
};
|
|
38
38
|
}, [faceLandmarker, basePath, opts]);
|
|
39
|
+
useImperativeHandle(fref, () => faceLandmarker, [faceLandmarker]); // expose faceLandmarker through ref
|
|
40
|
+
|
|
39
41
|
return /*#__PURE__*/React.createElement(FaceLandmarkerContext.Provider, {
|
|
40
42
|
value: faceLandmarker
|
|
41
43
|
}, children);
|
|
42
|
-
}
|
|
44
|
+
});
|
|
43
45
|
function useFaceLandmarker() {
|
|
44
46
|
return useContext(FaceLandmarkerContext);
|
|
45
47
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/extends"),r=require("react"),t=require("suspend-react"),u=require("../core/VideoTexture.cjs.js");function c(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function i(e){if(e&&e.__esModule)return e;var r=Object.create(null);return e&&Object.keys(e).forEach((function(t){if("default"!==t){var u=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,u.get?u:{enumerable:!0,get:function(){return e[t]}})}})),r.default=e,Object.freeze(r)}require("three"),require("@react-three/fiber"),require("hls.js");var n=c(e),o=i(r);const a=r.forwardRef((({options:e={video:!0},...c},i)=>{const a=t.suspend((()=>navigator.mediaDevices.getDisplayMedia(e)),[]);return r.useEffect((()=>()=>{null==a||a.getTracks().forEach((e=>e.stop())),t.clear([])}),[a]),o.createElement(u.VideoTexture,n.default({ref:i},c,{src:a}))}));exports.ScreenVideoTexture=a;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { VideoTextureProps } from '..';
|
|
3
|
+
export type ScreenVideoTextureProps = Omit<VideoTextureProps, 'src'> & {
|
|
4
|
+
options?: DisplayMediaStreamOptions;
|
|
5
|
+
};
|
|
6
|
+
export declare const ScreenVideoTexture: React.ForwardRefExoticComponent<Omit<{
|
|
7
|
+
children?: (texture: import("three").VideoTexture) => React.ReactNode;
|
|
8
|
+
src: string | MediaProvider | null;
|
|
9
|
+
} & {
|
|
10
|
+
unsuspend?: keyof HTMLVideoElementEventMap;
|
|
11
|
+
start?: boolean;
|
|
12
|
+
hls?: Parameters<(userConfig?: Partial<import("hls.js").HlsConfig> | undefined) => Promise<import("hls.js").default | null>>[0];
|
|
13
|
+
onVideoFrame?: VideoFrameRequestCallback;
|
|
14
|
+
} & Partial<Omit<HTMLVideoElement, "children" | "src" | "srcObject">>, "src"> & {
|
|
15
|
+
options?: DisplayMediaStreamOptions;
|
|
16
|
+
} & React.RefAttributes<import("three").VideoTexture>>;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import _extends from '@babel/runtime/helpers/esm/extends';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import { forwardRef, useEffect } from 'react';
|
|
4
|
+
import { suspend, clear } from 'suspend-react';
|
|
5
|
+
import { VideoTexture } from '../core/VideoTexture.js';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Create a video texture from [`getDisplayMedia`](https://developer.mozilla.org/en-US/docs/Web/API/MediaDevices/getDisplayMedia)
|
|
9
|
+
*/
|
|
10
|
+
const ScreenVideoTexture = /* @__PURE__ */forwardRef(({
|
|
11
|
+
options = {
|
|
12
|
+
video: true
|
|
13
|
+
},
|
|
14
|
+
...props
|
|
15
|
+
}, fref) => {
|
|
16
|
+
const mediaStream = suspend(() => navigator.mediaDevices.getDisplayMedia(options), []);
|
|
17
|
+
useEffect(() => {
|
|
18
|
+
return () => {
|
|
19
|
+
mediaStream == null || mediaStream.getTracks().forEach(track => track.stop());
|
|
20
|
+
clear([]);
|
|
21
|
+
};
|
|
22
|
+
}, [mediaStream]);
|
|
23
|
+
return /*#__PURE__*/React.createElement(VideoTexture, _extends({
|
|
24
|
+
ref: fref
|
|
25
|
+
}, props, {
|
|
26
|
+
src: mediaStream
|
|
27
|
+
}));
|
|
28
|
+
});
|
|
29
|
+
|
|
30
|
+
export { ScreenVideoTexture };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/extends"),r=require("react"),t=require("suspend-react"),u=require("../core/VideoTexture.cjs.js");function c(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function i(e){if(e&&e.__esModule)return e;var r=Object.create(null);return e&&Object.keys(e).forEach((function(t){if("default"!==t){var u=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,u.get?u:{enumerable:!0,get:function(){return e[t]}})}})),r.default=e,Object.freeze(r)}require("three"),require("@react-three/fiber"),require("hls.js");var n=c(e),a=i(r);const o=r.forwardRef((({constraints:e={audio:!1,video:{facingMode:"user"}},...c},i)=>{const o=t.suspend((()=>navigator.mediaDevices.getUserMedia(e)),[]);return r.useEffect((()=>()=>{null==o||o.getTracks().forEach((e=>e.stop())),t.clear([])}),[o]),a.createElement(u.VideoTexture,n.default({ref:i},c,{src:o}))}));exports.WebcamVideoTexture=o;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { VideoTextureProps } from '..';
|
|
3
|
+
export type WebcamVideoTextureProps = Omit<VideoTextureProps, 'src'> & {
|
|
4
|
+
constraints?: MediaStreamConstraints;
|
|
5
|
+
};
|
|
6
|
+
export declare const WebcamVideoTexture: React.ForwardRefExoticComponent<Omit<{
|
|
7
|
+
children?: (texture: import("three").VideoTexture) => React.ReactNode;
|
|
8
|
+
src: string | MediaProvider | null;
|
|
9
|
+
} & {
|
|
10
|
+
unsuspend?: keyof HTMLVideoElementEventMap;
|
|
11
|
+
start?: boolean;
|
|
12
|
+
hls?: Parameters<(userConfig?: Partial<import("hls.js").HlsConfig> | undefined) => Promise<import("hls.js").default | null>>[0];
|
|
13
|
+
onVideoFrame?: VideoFrameRequestCallback;
|
|
14
|
+
} & Partial<Omit<HTMLVideoElement, "children" | "src" | "srcObject">>, "src"> & {
|
|
15
|
+
constraints?: MediaStreamConstraints;
|
|
16
|
+
} & React.RefAttributes<import("three").VideoTexture>>;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import _extends from '@babel/runtime/helpers/esm/extends';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import { forwardRef, useEffect } from 'react';
|
|
4
|
+
import { suspend, clear } from 'suspend-react';
|
|
5
|
+
import { VideoTexture } from '../core/VideoTexture.js';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Create a video texture from [`getUserMedia`](https://developer.mozilla.org/en-US/docs/Web/API/MediaDevices/getUserMedia)
|
|
9
|
+
*/
|
|
10
|
+
const WebcamVideoTexture = /* @__PURE__ */forwardRef(({
|
|
11
|
+
constraints = {
|
|
12
|
+
audio: false,
|
|
13
|
+
video: {
|
|
14
|
+
facingMode: 'user'
|
|
15
|
+
}
|
|
16
|
+
},
|
|
17
|
+
...props
|
|
18
|
+
}, fref) => {
|
|
19
|
+
const mediaStream = suspend(() => navigator.mediaDevices.getUserMedia(constraints), []);
|
|
20
|
+
useEffect(() => {
|
|
21
|
+
return () => {
|
|
22
|
+
mediaStream == null || mediaStream.getTracks().forEach(track => track.stop());
|
|
23
|
+
clear([]);
|
|
24
|
+
};
|
|
25
|
+
}, [mediaStream]);
|
|
26
|
+
return /*#__PURE__*/React.createElement(VideoTexture, _extends({
|
|
27
|
+
ref: fref
|
|
28
|
+
}, props, {
|
|
29
|
+
src: mediaStream
|
|
30
|
+
}));
|
|
31
|
+
});
|
|
32
|
+
|
|
33
|
+
export { WebcamVideoTexture };
|
package/web/index.cjs.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./Html.cjs.js"),r=require("./CycleRaycast.cjs.js"),s=require("./useCursor.cjs.js"),o=require("./Loader.cjs.js"),t=require("./ScrollControls.cjs.js"),i=require("./PresentationControls.cjs.js"),a=require("./KeyboardControls.cjs.js"),c=require("./Select.cjs.js"),u=require("./View.cjs.js"),n=require("./pivotControls/index.cjs.js"),p=require("./FaceControls.cjs.js"),j=require("./DragControls.cjs.js"),l=require("./FaceLandmarker.cjs.js"),x=require("./Facemesh.cjs.js"),q=require("../core/Billboard.cjs.js"),d=require("../core/ScreenSpace.cjs.js"),m=require("../core/ScreenSizer.cjs.js"),C=require("../core/QuadraticBezierLine.cjs.js"),h=require("../core/CubicBezierLine.cjs.js"),S=require("../core/CatmullRomLine.cjs.js"),M=require("../core/Line.cjs.js"),T=require("../core/PositionalAudio.cjs.js"),b=require("../core/Text.cjs.js"),P=require("../core/Text3D.cjs.js"),g=require("../core/Effects.cjs.js"),f=require("../core/GradientTexture.cjs.js"),v=require("../core/Image.cjs.js"),F=require("../core/Edges.cjs.js"),B=require("../core/Outlines.cjs.js"),A=require("../core/Trail.cjs.js"),L=require("../core/Sampler.cjs.js"),D=require("../core/ComputedAttribute.cjs.js"),R=require("../core/Clone.cjs.js"),k=require("../core/MarchingCubes.cjs.js"),E=require("../core/Decal.cjs.js"),G=require("../core/Svg.cjs.js"),y=require("../core/Gltf.cjs.js"),w=require("../core/AsciiRenderer.cjs.js"),z=require("../core/Splat.cjs.js"),I=require("../core/OrthographicCamera.cjs.js"),O=require("../core/PerspectiveCamera.cjs.js"),H=require("../core/CubeCamera.cjs.js"),V=require("../core/DeviceOrientationControls.cjs.js"),K=require("../core/FlyControls.cjs.js"),W=require("../core/MapControls.cjs.js"),Q=require("../core/OrbitControls.cjs.js"),N=require("../core/TrackballControls.cjs.js"),U=require("../core/ArcballControls.cjs.js"),X=require("../core/TransformControls.cjs.js"),_=require("../core/PointerLockControls.cjs.js"),J=require("../core/FirstPersonControls.cjs.js"),Y=require("../core/CameraControls.cjs.js"),Z=require("../core/MotionPathControls.cjs.js"),$=require("../core/GizmoHelper.cjs.js"),ee=require("../core/GizmoViewcube.cjs.js"),re=require("../core/GizmoViewport.cjs.js"),se=require("../core/Grid.cjs.js"),oe=require("../core/CubeTexture.cjs.js"),te=require("../core/Fbx.cjs.js"),ie=require("../core/Ktx2.cjs.js"),ae=require("../core/Progress.cjs.js"),ce=require("../core/Texture.cjs.js"),ue=require("../core/VideoTexture.cjs.js"),ne=require("../core/useFont.cjs.js"),pe=require("../core/useSpriteLoader.cjs.js"),je=require("../core/Helper.cjs.js"),le=require("../core/Stats.cjs.js"),xe=require("../core/StatsGl.cjs.js"),qe=require("../core/useDepthBuffer.cjs.js"),de=require("../core/useAspect.cjs.js"),me=require("../core/useCamera.cjs.js"),Ce=require("../core/DetectGPU.cjs.js"),he=require("../core/Bvh.cjs.js"),Se=require("../core/useContextBridge.cjs.js"),Me=require("../core/useAnimations.cjs.js"),Te=require("../core/Fbo.cjs.js"),be=require("../core/useIntersect.cjs.js"),Pe=require("../core/useBoxProjectedEnv.cjs.js"),ge=require("../core/BBAnchor.cjs.js"),fe=require("../core/TrailTexture.cjs.js"),ve=require("../core/Example.cjs.js"),Fe=require("../core/SpriteAnimator.cjs.js"),Be=require("../core/CurveModifier.cjs.js"),Ae=require("../core/MeshDistortMaterial.cjs.js"),Le=require("../core/MeshWobbleMaterial.cjs.js"),De=require("../core/MeshReflectorMaterial.cjs.js"),Re=require("../core/MeshRefractionMaterial.cjs.js"),ke=require("../core/MeshTransmissionMaterial.cjs.js"),Ee=require("../core/MeshDiscardMaterial.cjs.js"),Ge=require("../core/MultiMaterial.cjs.js"),ye=require("../core/PointMaterial.cjs.js"),we=require("../core/shaderMaterial.cjs.js"),ze=require("../core/softShadows.cjs.js"),Ie=require("../core/shapes.cjs.js"),Oe=require("../core/RoundedBox.cjs.js"),He=require("../core/ScreenQuad.cjs.js"),Ve=require("../core/Center.cjs.js"),Ke=require("../core/Resize.cjs.js"),We=require("../core/Bounds.cjs.js"),Qe=require("../core/CameraShake.cjs.js"),Ne=require("../core/Float.cjs.js"),Ue=require("../core/Stage.cjs.js"),Xe=require("../core/Backdrop.cjs.js"),_e=require("../core/Shadow.cjs.js"),Je=require("../core/Caustics.cjs.js"),Ye=require("../core/ContactShadows.cjs.js"),Ze=require("../core/AccumulativeShadows.cjs.js"),$e=require("../core/Reflector.cjs.js"),er=require("../core/SpotLight.cjs.js"),rr=require("../core/Environment.cjs.js"),sr=require("../core/Lightformer.cjs.js"),or=require("../core/Sky.cjs.js"),tr=require("../core/Stars.cjs.js"),ir=require("../core/Cloud.cjs.js"),ar=require("../core/Sparkles.cjs.js"),cr=require("../core/useEnvironment.cjs.js"),ur=require("../core/MatcapTexture.cjs.js"),nr=require("../core/NormalTexture.cjs.js"),pr=require("../core/Wireframe.cjs.js"),jr=require("../core/ShadowAlpha.cjs.js"),lr=require("../core/Points.cjs.js"),xr=require("../core/Instances.cjs.js"),qr=require("../core/Segments.cjs.js"),dr=require("../core/Detailed.cjs.js"),mr=require("../core/Preload.cjs.js"),Cr=require("../core/BakeShadows.cjs.js"),hr=require("../core/meshBounds.cjs.js"),Sr=require("../core/AdaptiveDpr.cjs.js"),Mr=require("../core/AdaptiveEvents.cjs.js"),Tr=require("../core/PerformanceMonitor.cjs.js"),br=require("../core/RenderTexture.cjs.js"),Pr=require("../core/RenderCubeTexture.cjs.js"),gr=require("../core/Mask.cjs.js"),fr=require("../core/Hud.cjs.js"),vr=require("../core/Fisheye.cjs.js"),Fr=require("../core/MeshPortalMaterial.cjs.js"),Br=require("../core/calculateScaleFactor.cjs.js");require("@babel/runtime/helpers/extends"),require("react"),require("react-dom/client"),require("three"),require("@react-three/fiber"),require("zustand"),require("maath"),require("@react-spring/three"),require("@use-gesture/react"),require("zustand/middleware"),require("three-stdlib"),require("zustand/shallow"),require("tunnel-rat"),require("./pivotControls/AxisArrow.cjs.js"),require("./pivotControls/context.cjs.js"),require("./pivotControls/AxisRotator.cjs.js"),require("./pivotControls/PlaneSlider.cjs.js"),require("./pivotControls/ScalingSphere.cjs.js"),require("suspend-react"),require("hls.js"),require("troika-three-text"),require("../helpers/constants.cjs.js"),require("meshline"),require("camera-controls"),require("stats.js"),require("../helpers/useEffectfulState.cjs.js"),require("stats-gl"),require("detect-gpu"),require("three-mesh-bvh"),require("react-composer"),require("../helpers/deprecated.cjs.js"),require("../materials/BlurPass.cjs.js"),require("../materials/ConvolutionMaterial.cjs.js"),require("../materials/MeshReflectorMaterial.cjs.js"),require("../materials/MeshRefractionMaterial.cjs.js"),require("../materials/DiscardMaterial.cjs.js"),require("@monogrid/gainmap-js"),require("../helpers/environment-assets.cjs.js"),require("../materials/SpotLightMaterial.cjs.js"),require("uuid"),require("../materials/WireframeMaterial.cjs.js"),exports.Html=e.Html,exports.CycleRaycast=r.CycleRaycast,exports.useCursor=s.useCursor,exports.Loader=o.Loader,exports.Scroll=t.Scroll,exports.ScrollControls=t.ScrollControls,exports.useScroll=t.useScroll,exports.PresentationControls=i.PresentationControls,exports.KeyboardControls=a.KeyboardControls,exports.useKeyboardControls=a.useKeyboardControls,exports.Select=c.Select,exports.useSelect=c.useSelect,exports.View=u.View,exports.PivotControls=n.PivotControls,exports.FaceControls=p.FaceControls,exports.useFaceControls=p.useFaceControls,exports.DragControls=j.DragControls,exports.FaceLandmarker=l.FaceLandmarker,exports.FaceLandmarkerDefaults=l.FaceLandmarkerDefaults,exports.useFaceLandmarker=l.useFaceLandmarker,exports.Facemesh=x.Facemesh,exports.FacemeshDatas=x.FacemeshDatas,exports.FacemeshEye=x.FacemeshEye,exports.FacemeshEyeDefaults=x.FacemeshEyeDefaults,exports.Billboard=q.Billboard,exports.ScreenSpace=d.ScreenSpace,exports.ScreenSizer=m.ScreenSizer,exports.QuadraticBezierLine=C.QuadraticBezierLine,exports.CubicBezierLine=h.CubicBezierLine,exports.CatmullRomLine=S.CatmullRomLine,exports.Line=M.Line,exports.PositionalAudio=T.PositionalAudio,exports.Text=b.Text,exports.Text3D=P.Text3D,exports.Effects=g.Effects,exports.isWebGL2Available=g.isWebGL2Available,exports.GradientTexture=f.GradientTexture,exports.GradientType=f.GradientType,exports.Image=v.Image,exports.Edges=F.Edges,exports.Outlines=B.Outlines,exports.Trail=A.Trail,exports.useTrail=A.useTrail,exports.Sampler=L.Sampler,exports.useSurfaceSampler=L.useSurfaceSampler,exports.ComputedAttribute=D.ComputedAttribute,exports.Clone=R.Clone,exports.MarchingCube=k.MarchingCube,exports.MarchingCubes=k.MarchingCubes,exports.MarchingPlane=k.MarchingPlane,exports.Decal=E.Decal,exports.Svg=G.Svg,exports.Gltf=y.Gltf,exports.useGLTF=y.useGLTF,exports.AsciiRenderer=w.AsciiRenderer,exports.Splat=z.Splat,exports.OrthographicCamera=I.OrthographicCamera,exports.PerspectiveCamera=O.PerspectiveCamera,exports.CubeCamera=H.CubeCamera,exports.useCubeCamera=H.useCubeCamera,exports.DeviceOrientationControls=V.DeviceOrientationControls,exports.FlyControls=K.FlyControls,exports.MapControls=W.MapControls,exports.OrbitControls=Q.OrbitControls,exports.TrackballControls=N.TrackballControls,exports.ArcballControls=U.ArcballControls,exports.TransformControls=X.TransformControls,exports.PointerLockControls=_.PointerLockControls,exports.FirstPersonControls=J.FirstPersonControls,exports.CameraControls=Y.CameraControls,exports.MotionPathControls=Z.MotionPathControls,exports.useMotion=Z.useMotion,exports.GizmoHelper=$.GizmoHelper,exports.useGizmoContext=$.useGizmoContext,exports.GizmoViewcube=ee.GizmoViewcube,exports.GizmoViewport=re.GizmoViewport,exports.Grid=se.Grid,exports.CubeTexture=oe.CubeTexture,exports.useCubeTexture=oe.useCubeTexture,exports.Fbx=te.Fbx,exports.useFBX=te.useFBX,exports.Ktx2=ie.Ktx2,exports.useKTX2=ie.useKTX2,exports.Progress=ae.Progress,exports.useProgress=ae.useProgress,exports.IsObject=ce.IsObject,exports.Texture=ce.Texture,exports.useTexture=ce.useTexture,exports.VideoTexture=ue.VideoTexture,exports.useVideoTexture=ue.useVideoTexture,exports.useFont=ne.useFont,exports.checkIfFrameIsEmpty=pe.checkIfFrameIsEmpty,exports.getFirstFrame=pe.getFirstFrame,exports.useSpriteLoader=pe.useSpriteLoader,exports.Helper=je.Helper,exports.useHelper=je.useHelper,exports.Stats=le.Stats,exports.StatsGl=xe.StatsGl,exports.useDepthBuffer=qe.useDepthBuffer,exports.useAspect=de.useAspect,exports.useCamera=me.useCamera,exports.DetectGPU=Ce.DetectGPU,exports.useDetectGPU=Ce.useDetectGPU,exports.Bvh=he.Bvh,exports.useBVH=he.useBVH,exports.useContextBridge=Se.useContextBridge,exports.useAnimations=Me.useAnimations,exports.Fbo=Te.Fbo,exports.useFBO=Te.useFBO,exports.useIntersect=be.useIntersect,exports.useBoxProjectedEnv=Pe.useBoxProjectedEnv,exports.BBAnchor=ge.BBAnchor,exports.TrailTexture=fe.TrailTexture,exports.useTrailTexture=fe.useTrailTexture,exports.Example=ve.Example,exports.SpriteAnimator=Fe.SpriteAnimator,exports.useSpriteAnimator=Fe.useSpriteAnimator,exports.CurveModifier=Be.CurveModifier,exports.MeshDistortMaterial=Ae.MeshDistortMaterial,exports.MeshWobbleMaterial=Le.MeshWobbleMaterial,exports.MeshReflectorMaterial=De.MeshReflectorMaterial,exports.MeshRefractionMaterial=Re.MeshRefractionMaterial,exports.MeshTransmissionMaterial=ke.MeshTransmissionMaterial,exports.MeshDiscardMaterial=Ee.MeshDiscardMaterial,exports.MultiMaterial=Ge.MultiMaterial,exports.PointMaterial=ye.PointMaterial,exports.PointMaterialImpl=ye.PointMaterialImpl,exports.shaderMaterial=we.shaderMaterial,exports.SoftShadows=ze.SoftShadows,exports.Box=Ie.Box,exports.Capsule=Ie.Capsule,exports.Circle=Ie.Circle,exports.Cone=Ie.Cone,exports.Cylinder=Ie.Cylinder,exports.Dodecahedron=Ie.Dodecahedron,exports.Extrude=Ie.Extrude,exports.Icosahedron=Ie.Icosahedron,exports.Lathe=Ie.Lathe,exports.Octahedron=Ie.Octahedron,exports.Plane=Ie.Plane,exports.Polyhedron=Ie.Polyhedron,exports.Ring=Ie.Ring,exports.Shape=Ie.Shape,exports.Sphere=Ie.Sphere,exports.Tetrahedron=Ie.Tetrahedron,exports.Torus=Ie.Torus,exports.TorusKnot=Ie.TorusKnot,exports.Tube=Ie.Tube,exports.RoundedBox=Oe.RoundedBox,exports.ScreenQuad=He.ScreenQuad,exports.Center=Ve.Center,exports.Resize=Ke.Resize,exports.Bounds=We.Bounds,exports.useBounds=We.useBounds,exports.CameraShake=Qe.CameraShake,exports.Float=Ne.Float,exports.Stage=Ue.Stage,exports.Backdrop=Xe.Backdrop,exports.Shadow=_e.Shadow,exports.Caustics=Je.Caustics,exports.ContactShadows=Ye.ContactShadows,exports.AccumulativeShadows=Ze.AccumulativeShadows,exports.RandomizedLight=Ze.RandomizedLight,exports.accumulativeContext=Ze.accumulativeContext,exports.Reflector=$e.Reflector,exports.SpotLight=er.SpotLight,exports.SpotLightShadow=er.SpotLightShadow,exports.Environment=rr.Environment,exports.EnvironmentCube=rr.EnvironmentCube,exports.EnvironmentMap=rr.EnvironmentMap,exports.EnvironmentPortal=rr.EnvironmentPortal,exports.Lightformer=sr.Lightformer,exports.Sky=or.Sky,exports.calcPosFromAngles=or.calcPosFromAngles,exports.Stars=tr.Stars,exports.Cloud=ir.Cloud,exports.CloudInstance=ir.CloudInstance,exports.Clouds=ir.Clouds,exports.Sparkles=ar.Sparkles,exports.useEnvironment=cr.useEnvironment,exports.MatcapTexture=ur.MatcapTexture,exports.useMatcapTexture=ur.useMatcapTexture,exports.NormalTexture=nr.NormalTexture,exports.useNormalTexture=nr.useNormalTexture,exports.Wireframe=pr.Wireframe,exports.ShadowAlpha=jr.ShadowAlpha,exports.Point=lr.Point,exports.Points=lr.Points,exports.PointsBuffer=lr.PointsBuffer,exports.PositionPoint=lr.PositionPoint,exports.Instance=xr.Instance,exports.InstancedAttribute=xr.InstancedAttribute,exports.Instances=xr.Instances,exports.Merged=xr.Merged,exports.PositionMesh=xr.PositionMesh,exports.createInstances=xr.createInstances,exports.Segment=qr.Segment,exports.SegmentObject=qr.SegmentObject,exports.Segments=qr.Segments,exports.Detailed=dr.Detailed,exports.Preload=mr.Preload,exports.BakeShadows=Cr.BakeShadows,exports.meshBounds=hr.meshBounds,exports.AdaptiveDpr=Sr.AdaptiveDpr,exports.AdaptiveEvents=Mr.AdaptiveEvents,exports.PerformanceMonitor=Tr.PerformanceMonitor,exports.usePerformanceMonitor=Tr.usePerformanceMonitor,exports.RenderTexture=br.RenderTexture,exports.RenderCubeTexture=Pr.RenderCubeTexture,exports.Mask=gr.Mask,exports.useMask=gr.useMask,exports.Hud=fr.Hud,exports.Fisheye=vr.Fisheye,exports.MeshPortalMaterial=Fr.MeshPortalMaterial,exports.calculateScaleFactor=Br.calculateScaleFactor;
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./Html.cjs.js"),r=require("./CycleRaycast.cjs.js"),s=require("./useCursor.cjs.js"),o=require("./Loader.cjs.js"),t=require("./ScrollControls.cjs.js"),i=require("./PresentationControls.cjs.js"),a=require("./KeyboardControls.cjs.js"),c=require("./Select.cjs.js"),u=require("./View.cjs.js"),n=require("./pivotControls/index.cjs.js"),p=require("./ScreenVideoTexture.cjs.js"),j=require("./WebcamVideoTexture.cjs.js"),l=require("./FaceControls.cjs.js"),x=require("./DragControls.cjs.js"),d=require("./FaceLandmarker.cjs.js"),q=require("./Facemesh.cjs.js"),m=require("../core/Billboard.cjs.js"),C=require("../core/ScreenSpace.cjs.js"),h=require("../core/ScreenSizer.cjs.js"),S=require("../core/QuadraticBezierLine.cjs.js"),M=require("../core/CubicBezierLine.cjs.js"),T=require("../core/CatmullRomLine.cjs.js"),b=require("../core/Line.cjs.js"),P=require("../core/PositionalAudio.cjs.js"),g=require("../core/Text.cjs.js"),f=require("../core/Text3D.cjs.js"),v=require("../core/Effects.cjs.js"),F=require("../core/GradientTexture.cjs.js"),B=require("../core/Image.cjs.js"),A=require("../core/Edges.cjs.js"),L=require("../core/Outlines.cjs.js"),D=require("../core/Trail.cjs.js"),R=require("../core/Sampler.cjs.js"),k=require("../core/ComputedAttribute.cjs.js"),E=require("../core/Clone.cjs.js"),G=require("../core/MarchingCubes.cjs.js"),y=require("../core/Decal.cjs.js"),w=require("../core/Svg.cjs.js"),z=require("../core/Gltf.cjs.js"),I=require("../core/AsciiRenderer.cjs.js"),V=require("../core/Splat.cjs.js"),O=require("../core/OrthographicCamera.cjs.js"),H=require("../core/PerspectiveCamera.cjs.js"),K=require("../core/CubeCamera.cjs.js"),W=require("../core/DeviceOrientationControls.cjs.js"),Q=require("../core/FlyControls.cjs.js"),N=require("../core/MapControls.cjs.js"),U=require("../core/OrbitControls.cjs.js"),X=require("../core/TrackballControls.cjs.js"),_=require("../core/ArcballControls.cjs.js"),J=require("../core/TransformControls.cjs.js"),Y=require("../core/PointerLockControls.cjs.js"),Z=require("../core/FirstPersonControls.cjs.js"),$=require("../core/CameraControls.cjs.js"),ee=require("../core/MotionPathControls.cjs.js"),re=require("../core/GizmoHelper.cjs.js"),se=require("../core/GizmoViewcube.cjs.js"),oe=require("../core/GizmoViewport.cjs.js"),te=require("../core/Grid.cjs.js"),ie=require("../core/CubeTexture.cjs.js"),ae=require("../core/Fbx.cjs.js"),ce=require("../core/Ktx2.cjs.js"),ue=require("../core/Progress.cjs.js"),ne=require("../core/Texture.cjs.js"),pe=require("../core/VideoTexture.cjs.js"),je=require("../core/useFont.cjs.js"),le=require("../core/useSpriteLoader.cjs.js"),xe=require("../core/Helper.cjs.js"),de=require("../core/Stats.cjs.js"),qe=require("../core/StatsGl.cjs.js"),me=require("../core/useDepthBuffer.cjs.js"),Ce=require("../core/useAspect.cjs.js"),he=require("../core/useCamera.cjs.js"),Se=require("../core/DetectGPU.cjs.js"),Me=require("../core/Bvh.cjs.js"),Te=require("../core/useContextBridge.cjs.js"),be=require("../core/useAnimations.cjs.js"),Pe=require("../core/Fbo.cjs.js"),ge=require("../core/useIntersect.cjs.js"),fe=require("../core/useBoxProjectedEnv.cjs.js"),ve=require("../core/BBAnchor.cjs.js"),Fe=require("../core/TrailTexture.cjs.js"),Be=require("../core/Example.cjs.js"),Ae=require("../core/SpriteAnimator.cjs.js"),Le=require("../core/CurveModifier.cjs.js"),De=require("../core/MeshDistortMaterial.cjs.js"),Re=require("../core/MeshWobbleMaterial.cjs.js"),ke=require("../core/MeshReflectorMaterial.cjs.js"),Ee=require("../core/MeshRefractionMaterial.cjs.js"),Ge=require("../core/MeshTransmissionMaterial.cjs.js"),ye=require("../core/MeshDiscardMaterial.cjs.js"),we=require("../core/MultiMaterial.cjs.js"),ze=require("../core/PointMaterial.cjs.js"),Ie=require("../core/shaderMaterial.cjs.js"),Ve=require("../core/softShadows.cjs.js"),Oe=require("../core/shapes.cjs.js"),He=require("../core/RoundedBox.cjs.js"),Ke=require("../core/ScreenQuad.cjs.js"),We=require("../core/Center.cjs.js"),Qe=require("../core/Resize.cjs.js"),Ne=require("../core/Bounds.cjs.js"),Ue=require("../core/CameraShake.cjs.js"),Xe=require("../core/Float.cjs.js"),_e=require("../core/Stage.cjs.js"),Je=require("../core/Backdrop.cjs.js"),Ye=require("../core/Shadow.cjs.js"),Ze=require("../core/Caustics.cjs.js"),$e=require("../core/ContactShadows.cjs.js"),er=require("../core/AccumulativeShadows.cjs.js"),rr=require("../core/Reflector.cjs.js"),sr=require("../core/SpotLight.cjs.js"),or=require("../core/Environment.cjs.js"),tr=require("../core/Lightformer.cjs.js"),ir=require("../core/Sky.cjs.js"),ar=require("../core/Stars.cjs.js"),cr=require("../core/Cloud.cjs.js"),ur=require("../core/Sparkles.cjs.js"),nr=require("../core/useEnvironment.cjs.js"),pr=require("../core/MatcapTexture.cjs.js"),jr=require("../core/NormalTexture.cjs.js"),lr=require("../core/Wireframe.cjs.js"),xr=require("../core/ShadowAlpha.cjs.js"),dr=require("../core/Points.cjs.js"),qr=require("../core/Instances.cjs.js"),mr=require("../core/Segments.cjs.js"),Cr=require("../core/Detailed.cjs.js"),hr=require("../core/Preload.cjs.js"),Sr=require("../core/BakeShadows.cjs.js"),Mr=require("../core/meshBounds.cjs.js"),Tr=require("../core/AdaptiveDpr.cjs.js"),br=require("../core/AdaptiveEvents.cjs.js"),Pr=require("../core/PerformanceMonitor.cjs.js"),gr=require("../core/RenderTexture.cjs.js"),fr=require("../core/RenderCubeTexture.cjs.js"),vr=require("../core/Mask.cjs.js"),Fr=require("../core/Hud.cjs.js"),Br=require("../core/Fisheye.cjs.js"),Ar=require("../core/MeshPortalMaterial.cjs.js"),Lr=require("../core/calculateScaleFactor.cjs.js");require("@babel/runtime/helpers/extends"),require("react"),require("react-dom/client"),require("three"),require("@react-three/fiber"),require("zustand"),require("maath"),require("@react-spring/three"),require("@use-gesture/react"),require("zustand/middleware"),require("three-stdlib"),require("zustand/shallow"),require("tunnel-rat"),require("./pivotControls/AxisArrow.cjs.js"),require("./pivotControls/context.cjs.js"),require("./pivotControls/AxisRotator.cjs.js"),require("./pivotControls/PlaneSlider.cjs.js"),require("./pivotControls/ScalingSphere.cjs.js"),require("suspend-react"),require("hls.js"),require("troika-three-text"),require("../helpers/constants.cjs.js"),require("meshline"),require("camera-controls"),require("stats.js"),require("../helpers/useEffectfulState.cjs.js"),require("stats-gl"),require("detect-gpu"),require("three-mesh-bvh"),require("react-composer"),require("../helpers/deprecated.cjs.js"),require("../materials/BlurPass.cjs.js"),require("../materials/ConvolutionMaterial.cjs.js"),require("../materials/MeshReflectorMaterial.cjs.js"),require("../materials/MeshRefractionMaterial.cjs.js"),require("../materials/DiscardMaterial.cjs.js"),require("@monogrid/gainmap-js"),require("../helpers/environment-assets.cjs.js"),require("../materials/SpotLightMaterial.cjs.js"),require("uuid"),require("../materials/WireframeMaterial.cjs.js"),exports.Html=e.Html,exports.CycleRaycast=r.CycleRaycast,exports.useCursor=s.useCursor,exports.Loader=o.Loader,exports.Scroll=t.Scroll,exports.ScrollControls=t.ScrollControls,exports.useScroll=t.useScroll,exports.PresentationControls=i.PresentationControls,exports.KeyboardControls=a.KeyboardControls,exports.useKeyboardControls=a.useKeyboardControls,exports.Select=c.Select,exports.useSelect=c.useSelect,exports.View=u.View,exports.PivotControls=n.PivotControls,exports.ScreenVideoTexture=p.ScreenVideoTexture,exports.WebcamVideoTexture=j.WebcamVideoTexture,exports.FaceControls=l.FaceControls,exports.useFaceControls=l.useFaceControls,exports.DragControls=x.DragControls,exports.FaceLandmarker=d.FaceLandmarker,exports.FaceLandmarkerDefaults=d.FaceLandmarkerDefaults,exports.useFaceLandmarker=d.useFaceLandmarker,exports.Facemesh=q.Facemesh,exports.FacemeshDatas=q.FacemeshDatas,exports.FacemeshEye=q.FacemeshEye,exports.FacemeshEyeDefaults=q.FacemeshEyeDefaults,exports.Billboard=m.Billboard,exports.ScreenSpace=C.ScreenSpace,exports.ScreenSizer=h.ScreenSizer,exports.QuadraticBezierLine=S.QuadraticBezierLine,exports.CubicBezierLine=M.CubicBezierLine,exports.CatmullRomLine=T.CatmullRomLine,exports.Line=b.Line,exports.PositionalAudio=P.PositionalAudio,exports.Text=g.Text,exports.Text3D=f.Text3D,exports.Effects=v.Effects,exports.isWebGL2Available=v.isWebGL2Available,exports.GradientTexture=F.GradientTexture,exports.GradientType=F.GradientType,exports.Image=B.Image,exports.Edges=A.Edges,exports.Outlines=L.Outlines,exports.Trail=D.Trail,exports.useTrail=D.useTrail,exports.Sampler=R.Sampler,exports.useSurfaceSampler=R.useSurfaceSampler,exports.ComputedAttribute=k.ComputedAttribute,exports.Clone=E.Clone,exports.MarchingCube=G.MarchingCube,exports.MarchingCubes=G.MarchingCubes,exports.MarchingPlane=G.MarchingPlane,exports.Decal=y.Decal,exports.Svg=w.Svg,exports.Gltf=z.Gltf,exports.useGLTF=z.useGLTF,exports.AsciiRenderer=I.AsciiRenderer,exports.Splat=V.Splat,exports.OrthographicCamera=O.OrthographicCamera,exports.PerspectiveCamera=H.PerspectiveCamera,exports.CubeCamera=K.CubeCamera,exports.useCubeCamera=K.useCubeCamera,exports.DeviceOrientationControls=W.DeviceOrientationControls,exports.FlyControls=Q.FlyControls,exports.MapControls=N.MapControls,exports.OrbitControls=U.OrbitControls,exports.TrackballControls=X.TrackballControls,exports.ArcballControls=_.ArcballControls,exports.TransformControls=J.TransformControls,exports.PointerLockControls=Y.PointerLockControls,exports.FirstPersonControls=Z.FirstPersonControls,exports.CameraControls=$.CameraControls,exports.MotionPathControls=ee.MotionPathControls,exports.useMotion=ee.useMotion,exports.GizmoHelper=re.GizmoHelper,exports.useGizmoContext=re.useGizmoContext,exports.GizmoViewcube=se.GizmoViewcube,exports.GizmoViewport=oe.GizmoViewport,exports.Grid=te.Grid,exports.CubeTexture=ie.CubeTexture,exports.useCubeTexture=ie.useCubeTexture,exports.Fbx=ae.Fbx,exports.useFBX=ae.useFBX,exports.Ktx2=ce.Ktx2,exports.useKTX2=ce.useKTX2,exports.Progress=ue.Progress,exports.useProgress=ue.useProgress,exports.IsObject=ne.IsObject,exports.Texture=ne.Texture,exports.useTexture=ne.useTexture,exports.VideoTexture=pe.VideoTexture,exports.useVideoTexture=pe.useVideoTexture,exports.useFont=je.useFont,exports.checkIfFrameIsEmpty=le.checkIfFrameIsEmpty,exports.getFirstFrame=le.getFirstFrame,exports.useSpriteLoader=le.useSpriteLoader,exports.Helper=xe.Helper,exports.useHelper=xe.useHelper,exports.Stats=de.Stats,exports.StatsGl=qe.StatsGl,exports.useDepthBuffer=me.useDepthBuffer,exports.useAspect=Ce.useAspect,exports.useCamera=he.useCamera,exports.DetectGPU=Se.DetectGPU,exports.useDetectGPU=Se.useDetectGPU,exports.Bvh=Me.Bvh,exports.useBVH=Me.useBVH,exports.useContextBridge=Te.useContextBridge,exports.useAnimations=be.useAnimations,exports.Fbo=Pe.Fbo,exports.useFBO=Pe.useFBO,exports.useIntersect=ge.useIntersect,exports.useBoxProjectedEnv=fe.useBoxProjectedEnv,exports.BBAnchor=ve.BBAnchor,exports.TrailTexture=Fe.TrailTexture,exports.useTrailTexture=Fe.useTrailTexture,exports.Example=Be.Example,exports.SpriteAnimator=Ae.SpriteAnimator,exports.useSpriteAnimator=Ae.useSpriteAnimator,exports.CurveModifier=Le.CurveModifier,exports.MeshDistortMaterial=De.MeshDistortMaterial,exports.MeshWobbleMaterial=Re.MeshWobbleMaterial,exports.MeshReflectorMaterial=ke.MeshReflectorMaterial,exports.MeshRefractionMaterial=Ee.MeshRefractionMaterial,exports.MeshTransmissionMaterial=Ge.MeshTransmissionMaterial,exports.MeshDiscardMaterial=ye.MeshDiscardMaterial,exports.MultiMaterial=we.MultiMaterial,exports.PointMaterial=ze.PointMaterial,exports.PointMaterialImpl=ze.PointMaterialImpl,exports.shaderMaterial=Ie.shaderMaterial,exports.SoftShadows=Ve.SoftShadows,exports.Box=Oe.Box,exports.Capsule=Oe.Capsule,exports.Circle=Oe.Circle,exports.Cone=Oe.Cone,exports.Cylinder=Oe.Cylinder,exports.Dodecahedron=Oe.Dodecahedron,exports.Extrude=Oe.Extrude,exports.Icosahedron=Oe.Icosahedron,exports.Lathe=Oe.Lathe,exports.Octahedron=Oe.Octahedron,exports.Plane=Oe.Plane,exports.Polyhedron=Oe.Polyhedron,exports.Ring=Oe.Ring,exports.Shape=Oe.Shape,exports.Sphere=Oe.Sphere,exports.Tetrahedron=Oe.Tetrahedron,exports.Torus=Oe.Torus,exports.TorusKnot=Oe.TorusKnot,exports.Tube=Oe.Tube,exports.RoundedBox=He.RoundedBox,exports.ScreenQuad=Ke.ScreenQuad,exports.Center=We.Center,exports.Resize=Qe.Resize,exports.Bounds=Ne.Bounds,exports.useBounds=Ne.useBounds,exports.CameraShake=Ue.CameraShake,exports.Float=Xe.Float,exports.Stage=_e.Stage,exports.Backdrop=Je.Backdrop,exports.Shadow=Ye.Shadow,exports.Caustics=Ze.Caustics,exports.ContactShadows=$e.ContactShadows,exports.AccumulativeShadows=er.AccumulativeShadows,exports.RandomizedLight=er.RandomizedLight,exports.accumulativeContext=er.accumulativeContext,exports.Reflector=rr.Reflector,exports.SpotLight=sr.SpotLight,exports.SpotLightShadow=sr.SpotLightShadow,exports.Environment=or.Environment,exports.EnvironmentCube=or.EnvironmentCube,exports.EnvironmentMap=or.EnvironmentMap,exports.EnvironmentPortal=or.EnvironmentPortal,exports.Lightformer=tr.Lightformer,exports.Sky=ir.Sky,exports.calcPosFromAngles=ir.calcPosFromAngles,exports.Stars=ar.Stars,exports.Cloud=cr.Cloud,exports.CloudInstance=cr.CloudInstance,exports.Clouds=cr.Clouds,exports.Sparkles=ur.Sparkles,exports.useEnvironment=nr.useEnvironment,exports.MatcapTexture=pr.MatcapTexture,exports.useMatcapTexture=pr.useMatcapTexture,exports.NormalTexture=jr.NormalTexture,exports.useNormalTexture=jr.useNormalTexture,exports.Wireframe=lr.Wireframe,exports.ShadowAlpha=xr.ShadowAlpha,exports.Point=dr.Point,exports.Points=dr.Points,exports.PointsBuffer=dr.PointsBuffer,exports.PositionPoint=dr.PositionPoint,exports.Instance=qr.Instance,exports.InstancedAttribute=qr.InstancedAttribute,exports.Instances=qr.Instances,exports.Merged=qr.Merged,exports.PositionMesh=qr.PositionMesh,exports.createInstances=qr.createInstances,exports.Segment=mr.Segment,exports.SegmentObject=mr.SegmentObject,exports.Segments=mr.Segments,exports.Detailed=Cr.Detailed,exports.Preload=hr.Preload,exports.BakeShadows=Sr.BakeShadows,exports.meshBounds=Mr.meshBounds,exports.AdaptiveDpr=Tr.AdaptiveDpr,exports.AdaptiveEvents=br.AdaptiveEvents,exports.PerformanceMonitor=Pr.PerformanceMonitor,exports.usePerformanceMonitor=Pr.usePerformanceMonitor,exports.RenderTexture=gr.RenderTexture,exports.RenderCubeTexture=fr.RenderCubeTexture,exports.Mask=vr.Mask,exports.useMask=vr.useMask,exports.Hud=Fr.Hud,exports.Fisheye=Br.Fisheye,exports.MeshPortalMaterial=Ar.MeshPortalMaterial,exports.calculateScaleFactor=Lr.calculateScaleFactor;
|
package/web/index.d.ts
CHANGED
|
@@ -9,6 +9,8 @@ export * from './Select';
|
|
|
9
9
|
export * from '../core';
|
|
10
10
|
export * from './View';
|
|
11
11
|
export * from './pivotControls';
|
|
12
|
+
export * from './ScreenVideoTexture';
|
|
13
|
+
export * from './WebcamVideoTexture';
|
|
12
14
|
export * from './FaceControls';
|
|
13
15
|
export { DragControls } from './DragControls';
|
|
14
16
|
export * from './FaceLandmarker';
|
package/web/index.js
CHANGED
|
@@ -8,6 +8,8 @@ export { KeyboardControls, useKeyboardControls } from './KeyboardControls.js';
|
|
|
8
8
|
export { Select, useSelect } from './Select.js';
|
|
9
9
|
export { View } from './View.js';
|
|
10
10
|
export { PivotControls } from './pivotControls/index.js';
|
|
11
|
+
export { ScreenVideoTexture } from './ScreenVideoTexture.js';
|
|
12
|
+
export { WebcamVideoTexture } from './WebcamVideoTexture.js';
|
|
11
13
|
export { FaceControls, useFaceControls } from './FaceControls.js';
|
|
12
14
|
export { DragControls } from './DragControls.js';
|
|
13
15
|
export { FaceLandmarker, FaceLandmarkerDefaults, useFaceLandmarker } from './FaceLandmarker.js';
|