@react-three/drei 9.98.0 → 9.99.1

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.js CHANGED
@@ -2,6 +2,7 @@ export { Html } from './web/Html.js';
2
2
  export { CycleRaycast } from './web/CycleRaycast.js';
3
3
  export { useCursor } from './web/useCursor.js';
4
4
  export { Loader } from './web/Loader.js';
5
+ export { DragControls } from './web/DragControls.js';
5
6
  export { Scroll, ScrollControls, useScroll } from './web/ScrollControls.js';
6
7
  export { PresentationControls } from './web/PresentationControls.js';
7
8
  export { KeyboardControls, useKeyboardControls } from './web/KeyboardControls.js';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@react-three/drei",
3
- "version": "9.98.0",
3
+ "version": "9.99.1",
4
4
  "private": false,
5
5
  "description": "useful add-ons for react-three-fiber",
6
6
  "keywords": [
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/extends"),r=require("react"),t=require("three"),n=require("@react-three/fiber"),a=require("@use-gesture/react");function o(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 n=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,n.get?n:{enumerable:!0,get:function(){return e[t]}})}})),r.default=e,Object.freeze(r)}var c=o(e),u=i(r),s=i(t);const l=new s.Vector3,m=new s.Vector2,d=new s.Vector3,f=new s.Vector3,x=new s.Vector3,p=new s.Plane,y=u.forwardRef((({autoTransform:e=!0,matrix:r,axisLock:t,dragLimits:o,onHover:i,onDragStart:y,onDrag:h,onDragEnd:g,children:b,...v},w)=>{const D=n.useThree((e=>e.controls)),{camera:M,size:z,raycaster:P,invalidate:j}=n.useThree(),O=u.useRef(null),V=a.useGesture({onHover:({hovering:e})=>i&&i(null!=e&&e),onDragStart:({event:e})=>{D.enabled=!1;const{point:r}=e;O.current.matrix.decompose(l,new s.Quaternion,new s.Vector3),d.copy(r),f.copy(d).sub(l),y&&y(l),j()},onDrag:({xy:[r,n],intentional:a})=>{if(!a)return;const i=(r-z.left)/z.width*2-1,c=-(n-z.top)/z.height*2+1;if(m.set(i,c),P.setFromCamera(m,M),t)switch(t){case"x":x.set(1,0,0);break;case"y":x.set(0,1,0);break;case"z":x.set(0,0,1)}else M.getWorldDirection(x).negate();p.setFromNormalAndCoplanarPoint(x,d),P.ray.intersectPlane(p,d);const u=O.current.matrix.clone(),l=O.current.matrixWorld.clone(),y=new s.Vector3(d.x-f.x,d.y-f.y,d.z-f.z);if(o&&(y.x=o[0]?Math.max(Math.min(y.x,o[0][1]),o[0][0]):y.x,y.y=o[1]?Math.max(Math.min(y.y,o[1][1]),o[1][0]):y.y,y.z=o[2]?Math.max(Math.min(y.z,o[2][1]),o[2][0]):y.z),e){O.current.matrix.setPosition(y);const e=O.current.matrix.clone().multiply(u.invert()),r=O.current.matrix.clone().multiply(l.invert());h&&h(O.current.matrix,e,O.current.matrixWorld,r)}else{const e=(new s.Matrix4).copy(O.current.matrix);e.setPosition(y);const r=e.clone().multiply(u.invert()),t=e.clone().multiply(l.invert());h&&h(e,r,O.current.matrixWorld,t)}j()},onDragEnd:()=>{D.enabled=!0,g&&g(),j()}},{drag:{filterTaps:!0,threshold:1}});return u.useImperativeHandle(w,(()=>O.current),[]),u.useLayoutEffect((()=>{r&&(O.current.matrix=r)}),[r]),u.createElement("group",c.default({ref:O},V(),{matrix:r,matrixAutoUpdate:!1},v),b)}));exports.DragControls=y;
@@ -0,0 +1,15 @@
1
+ import * as React from 'react';
2
+ import * as THREE from 'three';
3
+ import { ForwardRefComponent } from '../helpers/ts-utils';
4
+ export type DragControlsProps = {
5
+ autoTransform?: boolean;
6
+ matrix?: THREE.Matrix4;
7
+ axisLock?: 'x' | 'y' | 'z';
8
+ dragLimits?: [[number, number] | undefined, [number, number] | undefined, [number, number] | undefined];
9
+ onHover?: (hovering: boolean) => void;
10
+ onDragStart?: (origin: THREE.Vector3) => void;
11
+ onDrag?: (localMatrix: THREE.Matrix4, deltaLocalMatrix: THREE.Matrix4, worldMatrix: THREE.Matrix4, deltaWorldMatrix: THREE.Matrix4) => void;
12
+ onDragEnd?: () => void;
13
+ children: React.ReactNode;
14
+ };
15
+ export declare const DragControls: ForwardRefComponent<DragControlsProps, THREE.Group>;
@@ -0,0 +1,126 @@
1
+ import _extends from '@babel/runtime/helpers/esm/extends';
2
+ import * as React from 'react';
3
+ import * as THREE from 'three';
4
+ import { useThree } from '@react-three/fiber';
5
+ import { useGesture } from '@use-gesture/react';
6
+
7
+ const initialModelPosition = new THREE.Vector3();
8
+ const mousePosition2D = new THREE.Vector2();
9
+ const mousePosition3D = new THREE.Vector3();
10
+ const dragOffset = new THREE.Vector3();
11
+ const dragPlaneNormal = new THREE.Vector3();
12
+ const dragPlane = new THREE.Plane();
13
+ const DragControls = /*#__PURE__*/React.forwardRef(({
14
+ autoTransform = true,
15
+ matrix,
16
+ axisLock,
17
+ dragLimits,
18
+ onHover,
19
+ onDragStart,
20
+ onDrag,
21
+ onDragEnd,
22
+ children,
23
+ ...props
24
+ }, fRef) => {
25
+ // @ts-expect-error new in @react-three/fiber@7.0.5
26
+ const defaultControls = useThree(state => state.controls);
27
+ const {
28
+ camera,
29
+ size,
30
+ raycaster,
31
+ invalidate
32
+ } = useThree();
33
+ const ref = React.useRef(null);
34
+ const bind = useGesture({
35
+ onHover: ({
36
+ hovering
37
+ }) => onHover && onHover(hovering !== null && hovering !== void 0 ? hovering : false),
38
+ onDragStart: ({
39
+ event
40
+ }) => {
41
+ defaultControls.enabled = false;
42
+ const {
43
+ point
44
+ } = event;
45
+ ref.current.matrix.decompose(initialModelPosition, new THREE.Quaternion(), new THREE.Vector3());
46
+ mousePosition3D.copy(point);
47
+ dragOffset.copy(mousePosition3D).sub(initialModelPosition);
48
+ onDragStart && onDragStart(initialModelPosition);
49
+ invalidate();
50
+ },
51
+ onDrag: ({
52
+ xy: [dragX, dragY],
53
+ intentional
54
+ }) => {
55
+ if (!intentional) return;
56
+ const normalizedMouseX = (dragX - size.left) / size.width * 2 - 1;
57
+ const normalizedMouseY = -((dragY - size.top) / size.height) * 2 + 1;
58
+ mousePosition2D.set(normalizedMouseX, normalizedMouseY);
59
+ raycaster.setFromCamera(mousePosition2D, camera);
60
+ if (!axisLock) {
61
+ camera.getWorldDirection(dragPlaneNormal).negate();
62
+ } else {
63
+ switch (axisLock) {
64
+ case 'x':
65
+ dragPlaneNormal.set(1, 0, 0);
66
+ break;
67
+ case 'y':
68
+ dragPlaneNormal.set(0, 1, 0);
69
+ break;
70
+ case 'z':
71
+ dragPlaneNormal.set(0, 0, 1);
72
+ break;
73
+ }
74
+ }
75
+ dragPlane.setFromNormalAndCoplanarPoint(dragPlaneNormal, mousePosition3D);
76
+ raycaster.ray.intersectPlane(dragPlane, mousePosition3D);
77
+ const previousLocalMatrix = ref.current.matrix.clone();
78
+ const previousWorldMatrix = ref.current.matrixWorld.clone();
79
+ const intendedNewPosition = new THREE.Vector3(mousePosition3D.x - dragOffset.x, mousePosition3D.y - dragOffset.y, mousePosition3D.z - dragOffset.z);
80
+ if (dragLimits) {
81
+ intendedNewPosition.x = dragLimits[0] ? Math.max(Math.min(intendedNewPosition.x, dragLimits[0][1]), dragLimits[0][0]) : intendedNewPosition.x;
82
+ intendedNewPosition.y = dragLimits[1] ? Math.max(Math.min(intendedNewPosition.y, dragLimits[1][1]), dragLimits[1][0]) : intendedNewPosition.y;
83
+ intendedNewPosition.z = dragLimits[2] ? Math.max(Math.min(intendedNewPosition.z, dragLimits[2][1]), dragLimits[2][0]) : intendedNewPosition.z;
84
+ }
85
+ if (autoTransform) {
86
+ ref.current.matrix.setPosition(intendedNewPosition);
87
+ const deltaLocalMatrix = ref.current.matrix.clone().multiply(previousLocalMatrix.invert());
88
+ const deltaWorldMatrix = ref.current.matrix.clone().multiply(previousWorldMatrix.invert());
89
+ onDrag && onDrag(ref.current.matrix, deltaLocalMatrix, ref.current.matrixWorld, deltaWorldMatrix);
90
+ } else {
91
+ const tempMatrix = new THREE.Matrix4().copy(ref.current.matrix);
92
+ tempMatrix.setPosition(intendedNewPosition);
93
+ const deltaLocalMatrix = tempMatrix.clone().multiply(previousLocalMatrix.invert());
94
+ const deltaWorldMatrix = tempMatrix.clone().multiply(previousWorldMatrix.invert());
95
+ onDrag && onDrag(tempMatrix, deltaLocalMatrix, ref.current.matrixWorld, deltaWorldMatrix);
96
+ }
97
+ invalidate();
98
+ },
99
+ onDragEnd: () => {
100
+ defaultControls.enabled = true;
101
+ onDragEnd && onDragEnd();
102
+ invalidate();
103
+ }
104
+ }, {
105
+ drag: {
106
+ filterTaps: true,
107
+ threshold: 1
108
+ }
109
+ });
110
+ React.useImperativeHandle(fRef, () => ref.current, []);
111
+ React.useLayoutEffect(() => {
112
+ if (!matrix) return;
113
+
114
+ // If the matrix is a real matrix4 it means that the user wants to control the gizmo
115
+ // In that case it should just be set, as a bare prop update would merely copy it
116
+ ref.current.matrix = matrix;
117
+ }, [matrix]);
118
+ return /*#__PURE__*/React.createElement("group", _extends({
119
+ ref: ref
120
+ }, bind(), {
121
+ matrix: matrix,
122
+ matrixAutoUpdate: false
123
+ }, props), children);
124
+ });
125
+
126
+ export { DragControls };
package/web/View.cjs.js CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/extends"),t=require("react"),r=require("three"),n=require("@react-three/fiber"),c=require("tunnel-rat");function i(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function a(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var o=i(e),s=a(t),l=a(r),u=i(c);const f=e=>e&&e.isOrthographicCamera,d=new l.Color,m=u.default();function h(e){return"top"in e}function g(e,t){const{right:r,top:n,left:c,bottom:i,width:a,height:o}=t,s=t.bottom<0||n>e.height||r<0||t.left>e.width;if(h(e)){const t=e.top+e.height-i;return{position:{width:a,height:o,left:c-e.left,top:n,bottom:t,right:r},isOffscreen:s}}return{position:{width:a,height:o,top:n,left:c,bottom:e.height-i,right:r},isOffscreen:s}}function p(e,{left:t,bottom:r,width:n,height:c}){let i;const a=n/c;return f(e.camera)?e.camera.left===n/-2&&e.camera.right===n/2&&e.camera.top===c/2&&e.camera.bottom===c/-2||(Object.assign(e.camera,{left:n/-2,right:n/2,top:c/2,bottom:c/-2}),e.camera.updateProjectionMatrix()):e.camera.aspect!==a&&(e.camera.aspect=a,e.camera.updateProjectionMatrix()),i=e.gl.autoClear,e.gl.autoClear=!1,e.gl.setViewport(t,r,n,c),e.gl.setScissor(t,r,n,c),e.gl.setScissorTest(!0),i}function b(e,t){e.gl.setScissorTest(!1),e.gl.autoClear=t}function v(e){e.gl.getClearColor(d),e.gl.setClearColor(d,e.gl.getClearAlpha()),e.gl.clear(!0,!0)}function w({visible:e=!0,canvasSize:t,scene:r,index:c,children:i,frames:a,rect:o,track:l}){const u=n.useThree(),[f,d]=s.useState(!1);let m=0;return n.useFrame((n=>{var c;(a===1/0||m<=a)&&(o.current=null==(c=l.current)?void 0:c.getBoundingClientRect(),m++);if(o.current){const{position:c,isOffscreen:a}=g(t,o.current);if(f!==a&&d(a),e&&!f&&o.current){const e=p(n,c);n.gl.render(i?n.scene:r,n.camera),b(n,e)}}}),c),s.useLayoutEffect((()=>{const r=o.current;if(r&&(!e||!f)){const{position:e}=g(t,r),n=p(u,e);v(u),b(u,n)}}),[e,f]),s.useEffect((()=>{const e=o.current,r=u.get().events.connected;return u.setEvents({connected:l.current}),()=>{if(e){const{position:r}=g(t,e),n=p(u,r);v(u),b(u,n)}u.setEvents({connected:r})}}),[]),s.useEffect((()=>{h(t)||console.warn("Detected @react-three/fiber canvas size does not include position information. <View /> may not work as expected. Upgrade to @react-three/fiber ^8.1.0 for support.\n See https://github.com/pmndrs/drei/issues/944")}),[]),s.createElement(s.Fragment,null,i)}const E=s.forwardRef((({track:e,visible:t=!0,index:r=1,id:c,style:i,className:a,frames:u=1/0,children:f,...d},m)=>{var h,g,p,b;const v=s.useRef(null),{size:E,scene:C}=n.useThree(),[x]=s.useState((()=>new l.Scene)),[y,O]=s.useReducer((()=>!0),!1),j=s.useCallback(((t,r)=>{if(v.current&&e.current&&t.target===e.current){const{width:e,height:n,left:c,top:i}=v.current,a=t.clientX-c,o=t.clientY-i;r.pointer.set(a/e*2-1,-o/n*2+1),r.raycaster.setFromCamera(r.pointer,r.camera)}}),[v,e]);return s.useEffect((()=>{var t;v.current=null==(t=e.current)?void 0:t.getBoundingClientRect(),O()}),[e]),s.createElement("group",o.default({ref:m},d),y&&n.createPortal(s.createElement(w,{visible:t,canvasSize:E,frames:u,scene:C,track:e,rect:v,index:r},f),x,{events:{compute:j,priority:r},size:{width:null==(h=v.current)?void 0:h.width,height:null==(g=v.current)?void 0:g.height,top:null==(p=v.current)?void 0:p.top,left:null==(b=v.current)?void 0:b.left}}))})),C=s.forwardRef((({as:e="div",id:t,visible:r,className:n,style:c,index:i=1,track:a,frames:l=1/0,children:u,...f},d)=>{const h=s.useId(),g=s.useRef(null);return s.useImperativeHandle(d,(()=>g.current)),s.createElement(s.Fragment,null,s.createElement(e,o.default({ref:g,id:t,className:n,style:c},f)),s.createElement(m.In,null,s.createElement(E,{visible:r,key:h,track:g,frames:l,index:i},u)))})),x=s.forwardRef(((e,t)=>s.useContext(n.context)?s.createElement(E,o.default({ref:t},e)):s.createElement(C,o.default({ref:t},e))));x.Port=()=>s.createElement(m.Out,null),exports.View=x;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/extends"),t=require("react"),r=require("three"),n=require("@react-three/fiber"),c=require("tunnel-rat");function i(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function a(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var o=i(e),s=a(t),l=a(r),u=i(c);const f=e=>e&&e.isOrthographicCamera,d=new l.Color,m=u.default();function h(e){return"top"in e}function g(e,t){const{right:r,top:n,left:c,bottom:i,width:a,height:o}=t,s=t.bottom<0||n>e.height||r<0||t.left>e.width;if(h(e)){const t=e.top+e.height-i;return{position:{width:a,height:o,left:c-e.left,top:n,bottom:t,right:r},isOffscreen:s}}return{position:{width:a,height:o,top:n,left:c,bottom:e.height-i,right:r},isOffscreen:s}}function p(e,{left:t,bottom:r,width:n,height:c}){let i;const a=n/c;return f(e.camera)?e.camera.left===n/-2&&e.camera.right===n/2&&e.camera.top===c/2&&e.camera.bottom===c/-2||(Object.assign(e.camera,{left:n/-2,right:n/2,top:c/2,bottom:c/-2}),e.camera.updateProjectionMatrix()):e.camera.aspect!==a&&(e.camera.aspect=a,e.camera.updateProjectionMatrix()),i=e.gl.autoClear,e.gl.autoClear=!1,e.gl.setViewport(t,r,n,c),e.gl.setScissor(t,r,n,c),e.gl.setScissorTest(!0),i}function v(e,t){e.gl.setScissorTest(!1),e.gl.autoClear=t}function b(e){e.gl.getClearColor(d),e.gl.setClearColor(d,e.gl.getClearAlpha()),e.gl.clear(!0,!0)}function w({visible:e=!0,canvasSize:t,scene:r,index:c,children:i,frames:a,rect:o,track:l}){const u=n.useThree(),[f,d]=s.useState(!1);let m=0;return n.useFrame((n=>{var c;(a===1/0||m<=a)&&(o.current=null==(c=l.current)?void 0:c.getBoundingClientRect(),m++);if(o.current){const{position:c,isOffscreen:a}=g(t,o.current);if(f!==a&&d(a),e&&!f&&o.current){const e=p(n,c);n.gl.render(i?n.scene:r,n.camera),v(n,e)}}}),c),s.useLayoutEffect((()=>{const r=o.current;if(r&&(!e||!f)){const{position:e}=g(t,r),n=p(u,e);b(u),v(u,n)}}),[e,f]),s.useEffect((()=>{const e=o.current,r=u.get().events.connected;return u.setEvents({connected:l.current}),()=>{if(e){const{position:r}=g(t,e),n=p(u,r);b(u),v(u,n)}u.setEvents({connected:r})}}),[]),s.useEffect((()=>{h(t)||console.warn("Detected @react-three/fiber canvas size does not include position information. <View /> may not work as expected. Upgrade to @react-three/fiber ^8.1.0 for support.\n See https://github.com/pmndrs/drei/issues/944")}),[]),s.createElement(s.Fragment,null,i,s.createElement("group",{onPointerOver:()=>null}))}const E=s.forwardRef((({track:e,visible:t=!0,index:r=1,id:c,style:i,className:a,frames:u=1/0,children:f,...d},m)=>{var h,g,p,v;const b=s.useRef(null),{size:E,scene:C}=n.useThree(),[O]=s.useState((()=>new l.Scene)),[x,y]=s.useReducer((()=>!0),!1),j=s.useCallback(((t,r)=>{if(b.current&&e.current&&t.target===e.current){const{width:e,height:n,left:c,top:i}=b.current,a=t.clientX-c,o=t.clientY-i;r.pointer.set(a/e*2-1,-o/n*2+1),r.raycaster.setFromCamera(r.pointer,r.camera)}}),[b,e]);return s.useEffect((()=>{var t;b.current=null==(t=e.current)?void 0:t.getBoundingClientRect(),y()}),[e]),s.createElement("group",o.default({ref:m},d),x&&n.createPortal(s.createElement(w,{visible:t,canvasSize:E,frames:u,scene:C,track:e,rect:b,index:r},f),O,{events:{compute:j,priority:r},size:{width:null==(h=b.current)?void 0:h.width,height:null==(g=b.current)?void 0:g.height,top:null==(p=b.current)?void 0:p.top,left:null==(v=b.current)?void 0:v.left}}))})),C=s.forwardRef((({as:e="div",id:t,visible:r,className:n,style:c,index:i=1,track:a,frames:l=1/0,children:u,...f},d)=>{const h=s.useId(),g=s.useRef(null);return s.useImperativeHandle(d,(()=>g.current)),s.createElement(s.Fragment,null,s.createElement(e,o.default({ref:g,id:t,className:n,style:c},f)),s.createElement(m.In,null,s.createElement(E,{visible:r,key:h,track:g,frames:l,index:i},u)))})),O=s.forwardRef(((e,t)=>s.useContext(n.context)?s.createElement(E,o.default({ref:t},e)):s.createElement(C,o.default({ref:t},e))));O.Port=()=>s.createElement(m.Out,null),exports.View=O;
package/web/View.js CHANGED
@@ -167,7 +167,9 @@ function Container({
167
167
  if (isNonLegacyCanvasSize(canvasSize)) return;
168
168
  console.warn('Detected @react-three/fiber canvas size does not include position information. <View /> may not work as expected. ' + 'Upgrade to @react-three/fiber ^8.1.0 for support.\n See https://github.com/pmndrs/drei/issues/944');
169
169
  }, []);
170
- return /*#__PURE__*/React.createElement(React.Fragment, null, children);
170
+ return /*#__PURE__*/React.createElement(React.Fragment, null, children, /*#__PURE__*/React.createElement("group", {
171
+ onPointerOver: () => null
172
+ }));
171
173
  }
172
174
  const CanvasView = /*#__PURE__*/React.forwardRef(({
173
175
  track,
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"),c=require("./KeyboardControls.cjs.js"),a=require("./Select.cjs.js"),u=require("./View.cjs.js"),n=require("./pivotControls/index.cjs.js"),j=require("./FaceControls.cjs.js"),p=require("./FaceLandmarker.cjs.js"),l=require("./Facemesh.cjs.js"),x=require("../core/Billboard.cjs.js"),q=require("../core/ScreenSpace.cjs.js"),d=require("../core/ScreenSizer.cjs.js"),m=require("../core/QuadraticBezierLine.cjs.js"),C=require("../core/CubicBezierLine.cjs.js"),h=require("../core/CatmullRomLine.cjs.js"),S=require("../core/Line.cjs.js"),M=require("../core/PositionalAudio.cjs.js"),P=require("../core/Text.cjs.js"),b=require("../core/Text3D.cjs.js"),T=require("../core/Effects.cjs.js"),f=require("../core/GradientTexture.cjs.js"),g=require("../core/Image.cjs.js"),v=require("../core/Edges.cjs.js"),B=require("../core/Outlines.cjs.js"),F=require("../core/Trail.cjs.js"),A=require("../core/Sampler.cjs.js"),L=require("../core/ComputedAttribute.cjs.js"),R=require("../core/Clone.cjs.js"),D=require("../core/MarchingCubes.cjs.js"),k=require("../core/Decal.cjs.js"),E=require("../core/Svg.cjs.js"),G=require("../core/Gltf.cjs.js"),w=require("../core/AsciiRenderer.cjs.js"),y=require("../core/Splat.cjs.js"),z=require("../core/OrthographicCamera.cjs.js"),O=require("../core/PerspectiveCamera.cjs.js"),I=require("../core/CubeCamera.cjs.js"),H=require("../core/DeviceOrientationControls.cjs.js"),V=require("../core/FlyControls.cjs.js"),K=require("../core/MapControls.cjs.js"),W=require("../core/OrbitControls.cjs.js"),Q=require("../core/TrackballControls.cjs.js"),X=require("../core/ArcballControls.cjs.js"),N=require("../core/TransformControls.cjs.js"),U=require("../core/PointerLockControls.cjs.js"),_=require("../core/FirstPersonControls.cjs.js"),J=require("../core/CameraControls.cjs.js"),Y=require("../core/MotionPathControls.cjs.js"),Z=require("../core/GizmoHelper.cjs.js"),$=require("../core/GizmoViewcube.cjs.js"),ee=require("../core/GizmoViewport.cjs.js"),re=require("../core/Grid.cjs.js"),se=require("../core/useCubeTexture.cjs.js"),oe=require("../core/useFBX.cjs.js"),te=require("../core/useGLTF.cjs.js"),ie=require("../core/useKTX2.cjs.js"),ce=require("../core/useProgress.cjs.js"),ae=require("../core/useTexture.cjs.js"),ue=require("../core/useVideoTexture.cjs.js"),ne=require("../core/useFont.cjs.js"),je=require("../core/useSpriteLoader.cjs.js"),pe=require("../core/Stats.cjs.js"),le=require("../core/StatsGl.cjs.js"),xe=require("../core/useDepthBuffer.cjs.js"),qe=require("../core/useAspect.cjs.js"),de=require("../core/useCamera.cjs.js"),me=require("../core/useDetectGPU.cjs.js"),Ce=require("../core/useHelper.cjs.js"),he=require("../core/useBVH.cjs.js"),Se=require("../core/useContextBridge.cjs.js"),Me=require("../core/useAnimations.cjs.js"),Pe=require("../core/useFBO.cjs.js"),be=require("../core/useIntersect.cjs.js"),Te=require("../core/useBoxProjectedEnv.cjs.js"),fe=require("../core/BBAnchor.cjs.js"),ge=require("../core/useTrailTexture.cjs.js"),ve=require("../core/useCubeCamera.cjs.js"),Be=require("../core/Example.cjs.js"),Fe=require("../core/SpriteAnimator.cjs.js"),Ae=require("../core/CurveModifier.cjs.js"),Le=require("../core/MeshDistortMaterial.cjs.js"),Re=require("../core/MeshWobbleMaterial.cjs.js"),De=require("../core/MeshReflectorMaterial.cjs.js"),ke=require("../core/MeshRefractionMaterial.cjs.js"),Ee=require("../core/MeshTransmissionMaterial.cjs.js"),Ge=require("../core/MeshDiscardMaterial.cjs.js"),we=require("../core/PointMaterial.cjs.js"),ye=require("../core/shaderMaterial.cjs.js"),ze=require("../core/softShadows.cjs.js"),Oe=require("../core/shapes.cjs.js"),Ie=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"),Xe=require("../core/Float.cjs.js"),Ne=require("../core/Stage.cjs.js"),Ue=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"),cr=require("../core/Sparkles.cjs.js"),ar=require("../core/useEnvironment.cjs.js"),ur=require("../core/useMatcapTexture.cjs.js"),nr=require("../core/useNormalTexture.cjs.js"),jr=require("../core/Wireframe.cjs.js"),pr=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"),Pr=require("../core/PerformanceMonitor.cjs.js"),br=require("../core/RenderTexture.cjs.js"),Tr=require("../core/RenderCubeTexture.cjs.js"),fr=require("../core/Mask.cjs.js"),gr=require("../core/Hud.cjs.js"),vr=require("../core/Fisheye.cjs.js"),Br=require("../core/MeshPortalMaterial.cjs.js"),Fr=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("react-merge-refs"),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("suspend-react"),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("../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=c.KeyboardControls,exports.useKeyboardControls=c.useKeyboardControls,exports.Select=a.Select,exports.useSelect=a.useSelect,exports.View=u.View,exports.PivotControls=n.PivotControls,exports.FaceControls=j.FaceControls,exports.useFaceControls=j.useFaceControls,exports.FaceLandmarker=p.FaceLandmarker,exports.FaceLandmarkerDefaults=p.FaceLandmarkerDefaults,exports.useFaceLandmarker=p.useFaceLandmarker,exports.Facemesh=l.Facemesh,exports.FacemeshDatas=l.FacemeshDatas,exports.FacemeshEye=l.FacemeshEye,exports.FacemeshEyeDefaults=l.FacemeshEyeDefaults,exports.Billboard=x.Billboard,exports.ScreenSpace=q.ScreenSpace,exports.ScreenSizer=d.ScreenSizer,exports.QuadraticBezierLine=m.QuadraticBezierLine,exports.CubicBezierLine=C.CubicBezierLine,exports.CatmullRomLine=h.CatmullRomLine,exports.Line=S.Line,exports.PositionalAudio=M.PositionalAudio,exports.Text=P.Text,exports.Text3D=b.Text3D,exports.Effects=T.Effects,exports.isWebGL2Available=T.isWebGL2Available,exports.GradientTexture=f.GradientTexture,exports.GradientType=f.GradientType,exports.Image=g.Image,exports.Edges=v.Edges,exports.Outlines=B.Outlines,exports.Trail=F.Trail,exports.useTrail=F.useTrail,exports.Sampler=A.Sampler,exports.useSurfaceSampler=A.useSurfaceSampler,exports.ComputedAttribute=L.ComputedAttribute,exports.Clone=R.Clone,exports.MarchingCube=D.MarchingCube,exports.MarchingCubes=D.MarchingCubes,exports.MarchingPlane=D.MarchingPlane,exports.Decal=k.Decal,exports.Svg=E.Svg,exports.Gltf=G.Gltf,exports.AsciiRenderer=w.AsciiRenderer,exports.Splat=y.Splat,exports.OrthographicCamera=z.OrthographicCamera,exports.PerspectiveCamera=O.PerspectiveCamera,exports.CubeCamera=I.CubeCamera,exports.DeviceOrientationControls=H.DeviceOrientationControls,exports.FlyControls=V.FlyControls,exports.MapControls=K.MapControls,exports.OrbitControls=W.OrbitControls,exports.TrackballControls=Q.TrackballControls,exports.ArcballControls=X.ArcballControls,exports.TransformControls=N.TransformControls,exports.PointerLockControls=U.PointerLockControls,exports.FirstPersonControls=_.FirstPersonControls,exports.CameraControls=J.CameraControls,exports.MotionPathControls=Y.MotionPathControls,exports.useMotion=Y.useMotion,exports.GizmoHelper=Z.GizmoHelper,exports.useGizmoContext=Z.useGizmoContext,exports.GizmoViewcube=$.GizmoViewcube,exports.GizmoViewport=ee.GizmoViewport,exports.Grid=re.Grid,exports.useCubeTexture=se.useCubeTexture,exports.useFBX=oe.useFBX,exports.useGLTF=te.useGLTF,exports.useKTX2=ie.useKTX2,exports.useProgress=ce.useProgress,exports.IsObject=ae.IsObject,exports.useTexture=ae.useTexture,exports.useVideoTexture=ue.useVideoTexture,exports.useFont=ne.useFont,exports.calculateAspectRatio=je.calculateAspectRatio,exports.getFirstItem=je.getFirstItem,exports.useSpriteLoader=je.useSpriteLoader,exports.Stats=pe.Stats,exports.StatsGl=le.StatsGl,exports.useDepthBuffer=xe.useDepthBuffer,exports.useAspect=qe.useAspect,exports.useCamera=de.useCamera,exports.useDetectGPU=me.useDetectGPU,exports.useHelper=Ce.useHelper,exports.Bvh=he.Bvh,exports.useBVH=he.useBVH,exports.useContextBridge=Se.useContextBridge,exports.useAnimations=Me.useAnimations,exports.useFBO=Pe.useFBO,exports.useIntersect=be.useIntersect,exports.useBoxProjectedEnv=Te.useBoxProjectedEnv,exports.BBAnchor=fe.BBAnchor,exports.useTrailTexture=ge.useTrailTexture,exports.useCubeCamera=ve.useCubeCamera,exports.Example=Be.Example,exports.SpriteAnimator=Fe.SpriteAnimator,exports.useSpriteAnimator=Fe.useSpriteAnimator,exports.CurveModifier=Ae.CurveModifier,exports.MeshDistortMaterial=Le.MeshDistortMaterial,exports.MeshWobbleMaterial=Re.MeshWobbleMaterial,exports.MeshReflectorMaterial=De.MeshReflectorMaterial,exports.MeshRefractionMaterial=ke.MeshRefractionMaterial,exports.MeshTransmissionMaterial=Ee.MeshTransmissionMaterial,exports.MeshDiscardMaterial=Ge.MeshDiscardMaterial,exports.PointMaterial=we.PointMaterial,exports.PointMaterialImpl=we.PointMaterialImpl,exports.shaderMaterial=ye.shaderMaterial,exports.SoftShadows=ze.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=Ie.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=Xe.Float,exports.Stage=Ne.Stage,exports.Backdrop=Ue.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=cr.Sparkles,exports.useEnvironment=ar.useEnvironment,exports.useMatcapTexture=ur.useMatcapTexture,exports.useNormalTexture=nr.useNormalTexture,exports.Wireframe=jr.Wireframe,exports.ShadowAlpha=pr.ShadowAlpha,exports.Point=lr.Point,exports.Points=lr.Points,exports.PointsBuffer=lr.PointsBuffer,exports.PositionPoint=lr.PositionPoint,exports.Instance=xr.Instance,exports.Instances=xr.Instances,exports.Merged=xr.Merged,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=Pr.PerformanceMonitor,exports.usePerformanceMonitor=Pr.usePerformanceMonitor,exports.RenderTexture=br.RenderTexture,exports.RenderCubeTexture=Tr.RenderCubeTexture,exports.Mask=fr.Mask,exports.useMask=fr.useMask,exports.Hud=gr.Hud,exports.Fisheye=vr.Fisheye,exports.MeshPortalMaterial=Br.MeshPortalMaterial,exports.calculateScaleFactor=Fr.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"),c=require("./KeyboardControls.cjs.js"),a=require("./Select.cjs.js"),u=require("./View.cjs.js"),n=require("./pivotControls/index.cjs.js"),j=require("./FaceControls.cjs.js"),p=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"),P=require("../core/PositionalAudio.cjs.js"),b=require("../core/Text.cjs.js"),T=require("../core/Text3D.cjs.js"),f=require("../core/Effects.cjs.js"),g=require("../core/GradientTexture.cjs.js"),v=require("../core/Image.cjs.js"),B=require("../core/Edges.cjs.js"),F=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"),w=require("../core/Gltf.cjs.js"),y=require("../core/AsciiRenderer.cjs.js"),z=require("../core/Splat.cjs.js"),O=require("../core/OrthographicCamera.cjs.js"),I=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"),X=require("../core/TrackballControls.cjs.js"),N=require("../core/ArcballControls.cjs.js"),U=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/useCubeTexture.cjs.js"),te=require("../core/useFBX.cjs.js"),ie=require("../core/useGLTF.cjs.js"),ce=require("../core/useKTX2.cjs.js"),ae=require("../core/useProgress.cjs.js"),ue=require("../core/useTexture.cjs.js"),ne=require("../core/useVideoTexture.cjs.js"),je=require("../core/useFont.cjs.js"),pe=require("../core/useSpriteLoader.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/useDetectGPU.cjs.js"),he=require("../core/useHelper.cjs.js"),Se=require("../core/useBVH.cjs.js"),Me=require("../core/useContextBridge.cjs.js"),Pe=require("../core/useAnimations.cjs.js"),be=require("../core/useFBO.cjs.js"),Te=require("../core/useIntersect.cjs.js"),fe=require("../core/useBoxProjectedEnv.cjs.js"),ge=require("../core/BBAnchor.cjs.js"),ve=require("../core/useTrailTexture.cjs.js"),Be=require("../core/useCubeCamera.cjs.js"),Fe=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"),we=require("../core/MeshDiscardMaterial.cjs.js"),ye=require("../core/PointMaterial.cjs.js"),ze=require("../core/shaderMaterial.cjs.js"),Oe=require("../core/softShadows.cjs.js"),Ie=require("../core/shapes.cjs.js"),He=require("../core/RoundedBox.cjs.js"),Ve=require("../core/ScreenQuad.cjs.js"),Ke=require("../core/Center.cjs.js"),We=require("../core/Resize.cjs.js"),Qe=require("../core/Bounds.cjs.js"),Xe=require("../core/CameraShake.cjs.js"),Ne=require("../core/Float.cjs.js"),Ue=require("../core/Stage.cjs.js"),_e=require("../core/Backdrop.cjs.js"),Je=require("../core/Shadow.cjs.js"),Ye=require("../core/Caustics.cjs.js"),Ze=require("../core/ContactShadows.cjs.js"),$e=require("../core/AccumulativeShadows.cjs.js"),er=require("../core/Reflector.cjs.js"),rr=require("../core/SpotLight.cjs.js"),sr=require("../core/Environment.cjs.js"),or=require("../core/Lightformer.cjs.js"),tr=require("../core/Sky.cjs.js"),ir=require("../core/Stars.cjs.js"),cr=require("../core/Cloud.cjs.js"),ar=require("../core/Sparkles.cjs.js"),ur=require("../core/useEnvironment.cjs.js"),nr=require("../core/useMatcapTexture.cjs.js"),jr=require("../core/useNormalTexture.cjs.js"),pr=require("../core/Wireframe.cjs.js"),lr=require("../core/ShadowAlpha.cjs.js"),xr=require("../core/Points.cjs.js"),qr=require("../core/Instances.cjs.js"),dr=require("../core/Segments.cjs.js"),mr=require("../core/Detailed.cjs.js"),Cr=require("../core/Preload.cjs.js"),hr=require("../core/BakeShadows.cjs.js"),Sr=require("../core/meshBounds.cjs.js"),Mr=require("../core/AdaptiveDpr.cjs.js"),Pr=require("../core/AdaptiveEvents.cjs.js"),br=require("../core/PerformanceMonitor.cjs.js"),Tr=require("../core/RenderTexture.cjs.js"),fr=require("../core/RenderCubeTexture.cjs.js"),gr=require("../core/Mask.cjs.js"),vr=require("../core/Hud.cjs.js"),Br=require("../core/Fisheye.cjs.js"),Fr=require("../core/MeshPortalMaterial.cjs.js"),Ar=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("react-merge-refs"),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("suspend-react"),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("../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=c.KeyboardControls,exports.useKeyboardControls=c.useKeyboardControls,exports.Select=a.Select,exports.useSelect=a.useSelect,exports.View=u.View,exports.PivotControls=n.PivotControls,exports.FaceControls=j.FaceControls,exports.useFaceControls=j.useFaceControls,exports.DragControls=p.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=P.PositionalAudio,exports.Text=b.Text,exports.Text3D=T.Text3D,exports.Effects=f.Effects,exports.isWebGL2Available=f.isWebGL2Available,exports.GradientTexture=g.GradientTexture,exports.GradientType=g.GradientType,exports.Image=v.Image,exports.Edges=B.Edges,exports.Outlines=F.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=w.Gltf,exports.AsciiRenderer=y.AsciiRenderer,exports.Splat=z.Splat,exports.OrthographicCamera=O.OrthographicCamera,exports.PerspectiveCamera=I.PerspectiveCamera,exports.CubeCamera=H.CubeCamera,exports.DeviceOrientationControls=V.DeviceOrientationControls,exports.FlyControls=K.FlyControls,exports.MapControls=W.MapControls,exports.OrbitControls=Q.OrbitControls,exports.TrackballControls=X.TrackballControls,exports.ArcballControls=N.ArcballControls,exports.TransformControls=U.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.useCubeTexture=oe.useCubeTexture,exports.useFBX=te.useFBX,exports.useGLTF=ie.useGLTF,exports.useKTX2=ce.useKTX2,exports.useProgress=ae.useProgress,exports.IsObject=ue.IsObject,exports.useTexture=ue.useTexture,exports.useVideoTexture=ne.useVideoTexture,exports.useFont=je.useFont,exports.calculateAspectRatio=pe.calculateAspectRatio,exports.getFirstItem=pe.getFirstItem,exports.useSpriteLoader=pe.useSpriteLoader,exports.Stats=le.Stats,exports.StatsGl=xe.StatsGl,exports.useDepthBuffer=qe.useDepthBuffer,exports.useAspect=de.useAspect,exports.useCamera=me.useCamera,exports.useDetectGPU=Ce.useDetectGPU,exports.useHelper=he.useHelper,exports.Bvh=Se.Bvh,exports.useBVH=Se.useBVH,exports.useContextBridge=Me.useContextBridge,exports.useAnimations=Pe.useAnimations,exports.useFBO=be.useFBO,exports.useIntersect=Te.useIntersect,exports.useBoxProjectedEnv=fe.useBoxProjectedEnv,exports.BBAnchor=ge.BBAnchor,exports.useTrailTexture=ve.useTrailTexture,exports.useCubeCamera=Be.useCubeCamera,exports.Example=Fe.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=we.MeshDiscardMaterial,exports.PointMaterial=ye.PointMaterial,exports.PointMaterialImpl=ye.PointMaterialImpl,exports.shaderMaterial=ze.shaderMaterial,exports.SoftShadows=Oe.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=He.RoundedBox,exports.ScreenQuad=Ve.ScreenQuad,exports.Center=Ke.Center,exports.Resize=We.Resize,exports.Bounds=Qe.Bounds,exports.useBounds=Qe.useBounds,exports.CameraShake=Xe.CameraShake,exports.Float=Ne.Float,exports.Stage=Ue.Stage,exports.Backdrop=_e.Backdrop,exports.Shadow=Je.Shadow,exports.Caustics=Ye.Caustics,exports.ContactShadows=Ze.ContactShadows,exports.AccumulativeShadows=$e.AccumulativeShadows,exports.RandomizedLight=$e.RandomizedLight,exports.accumulativeContext=$e.accumulativeContext,exports.Reflector=er.Reflector,exports.SpotLight=rr.SpotLight,exports.SpotLightShadow=rr.SpotLightShadow,exports.Environment=sr.Environment,exports.EnvironmentCube=sr.EnvironmentCube,exports.EnvironmentMap=sr.EnvironmentMap,exports.EnvironmentPortal=sr.EnvironmentPortal,exports.Lightformer=or.Lightformer,exports.Sky=tr.Sky,exports.calcPosFromAngles=tr.calcPosFromAngles,exports.Stars=ir.Stars,exports.Cloud=cr.Cloud,exports.CloudInstance=cr.CloudInstance,exports.Clouds=cr.Clouds,exports.Sparkles=ar.Sparkles,exports.useEnvironment=ur.useEnvironment,exports.useMatcapTexture=nr.useMatcapTexture,exports.useNormalTexture=jr.useNormalTexture,exports.Wireframe=pr.Wireframe,exports.ShadowAlpha=lr.ShadowAlpha,exports.Point=xr.Point,exports.Points=xr.Points,exports.PointsBuffer=xr.PointsBuffer,exports.PositionPoint=xr.PositionPoint,exports.Instance=qr.Instance,exports.Instances=qr.Instances,exports.Merged=qr.Merged,exports.Segment=dr.Segment,exports.SegmentObject=dr.SegmentObject,exports.Segments=dr.Segments,exports.Detailed=mr.Detailed,exports.Preload=Cr.Preload,exports.BakeShadows=hr.BakeShadows,exports.meshBounds=Sr.meshBounds,exports.AdaptiveDpr=Mr.AdaptiveDpr,exports.AdaptiveEvents=Pr.AdaptiveEvents,exports.PerformanceMonitor=br.PerformanceMonitor,exports.usePerformanceMonitor=br.usePerformanceMonitor,exports.RenderTexture=Tr.RenderTexture,exports.RenderCubeTexture=fr.RenderCubeTexture,exports.Mask=gr.Mask,exports.useMask=gr.useMask,exports.Hud=vr.Hud,exports.Fisheye=Br.Fisheye,exports.MeshPortalMaterial=Fr.MeshPortalMaterial,exports.calculateScaleFactor=Ar.calculateScaleFactor;
package/web/index.d.ts CHANGED
@@ -10,5 +10,6 @@ export * from '../core';
10
10
  export * from './View';
11
11
  export * from './pivotControls';
12
12
  export * from './FaceControls';
13
+ export { DragControls } from './DragControls';
13
14
  export * from './FaceLandmarker';
14
15
  export * from './Facemesh';
package/web/index.js CHANGED
@@ -9,6 +9,7 @@ export { Select, useSelect } from './Select.js';
9
9
  export { View } from './View.js';
10
10
  export { PivotControls } from './pivotControls/index.js';
11
11
  export { FaceControls, useFaceControls } from './FaceControls.js';
12
+ export { DragControls } from './DragControls.js';
12
13
  export { FaceLandmarker, FaceLandmarkerDefaults, useFaceLandmarker } from './FaceLandmarker.js';
13
14
  export { Facemesh, FacemeshDatas, FacemeshEye, FacemeshEyeDefaults } from './Facemesh.js';
14
15
  export { Billboard } from '../core/Billboard.js';