@react-three/drei 9.0.3 → 9.1.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@react-three/drei",
3
- "version": "9.0.3",
3
+ "version": "9.1.1",
4
4
  "private": false,
5
5
  "description": "useful add-ons for react-three-fiber",
6
6
  "keywords": [
@@ -1 +1 @@
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-dom/client"),s=require("@react-three/fiber"),n=require("react-merge-refs");function l(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function i(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)}var a=l(e),c=i(t),f=i(r),u=i(o),d=l(n);const h=f.createContext(null);function p(){return f.useContext(h)}const m=f.forwardRef((({children:e},t)=>{const r=f.useRef(null),o=p(),{width:n,height:l}=s.useThree((e=>e.viewport));return s.useFrame((()=>{r.current.position.x=o.horizontal?-n*(o.pages-1)*o.offset:0,r.current.position.y=o.horizontal?0:l*(o.pages-1)*o.offset})),f.createElement("group",{ref:d.default([t,r])},e)})),v=f.forwardRef((({children:e,style:t,...r},o)=>{const n=p(),l=f.useRef(null),{width:i,height:c}=s.useThree((e=>e.size)),m=f.useContext(s.context),v=f.useMemo((()=>u.createRoot(n.fixed)),[n.fixed]);return s.useFrame((()=>{n.delta>n.eps&&(l.current.style.transform=`translate3d(${n.horizontal?-i*(n.pages-1)*n.offset:0}px,${n.horizontal?0:c*(n.pages-1)*-n.offset}px,0)`)})),v.render(f.createElement("div",a.default({ref:d.default([o,l]),style:{...t,position:"absolute",top:0,left:0,willChange:"transform"}},r),f.createElement(h.Provider,{value:n},f.createElement(s.context.Provider,{value:m},e)))),null})),y=f.forwardRef((({html:e,...t},r)=>{const o=e?v:m;return f.createElement(o,a.default({ref:r},t))}));exports.Scroll=y,exports.ScrollControls=function({eps:e=1e-5,enabled:t=!0,infinite:r,horizontal:o,pages:n=1,distance:l=1,damping:i=4,style:a={},children:u}){const{get:d,setEvents:p,gl:m,size:v,invalidate:y,events:g,raycaster:w}=s.useThree(),[x]=f.useState((()=>document.createElement("div"))),[E]=f.useState((()=>document.createElement("div"))),[b]=f.useState((()=>document.createElement("div"))),z=m.domElement.parentNode,L=f.useRef(0),C=f.useMemo((()=>{const t={el:x,eps:e,fill:E,fixed:b,horizontal:o,damping:i,offset:0,delta:0,scroll:L,pages:n,range(e,t,r=0){const o=e-r,s=o+t+2*r;return this.offset<o?0:this.offset>s?1:(this.offset-o)/(s-o)},curve(e,t,r=0){return Math.sin(this.range(e,t,r)*Math.PI)},visible(e,t,r=0){const o=e-r,s=o+t+2*r;return this.offset>=o&&this.offset<=s}};return t}),[e,i,o,n]);f.useEffect((()=>{x.style.position="absolute",x.style.width="100%",x.style.height="100%",x.style[o?"overflowX":"overflowY"]="auto",x.style[o?"overflowY":"overflowX"]="hidden",x.style.top="0px",x.style.left="0px";for(const e in a)x.style[e]=a[e];b.style.position="sticky",b.style.top="0px",b.style.left="0px",b.style.width="100%",b.style.height="100%",b.style.overflow="hidden",x.appendChild(b),E.style.height=o?"100%":n*l*100+"%",E.style.width=o?n*l*100+"%":"100%",E.style.pointerEvents="none",x.appendChild(E),z.appendChild(x),x[o?"scrollLeft":"scrollTop"]=1;const e=g.connected||m.domElement;requestAnimationFrame((()=>null==g.connect?void 0:g.connect(x)));const t=d().events.compute;return p({compute(e,t){const r=e.clientX-e.target.offsetLeft,o=e.clientX-e.target.offsetLeft;t.pointer.set(r/t.size.width*2-1,-o/t.size.height*2+1),t.raycaster.setFromCamera(t.pointer,t.camera)}}),()=>{z.removeChild(x),p({compute:t}),null==g.connect||g.connect(e)}}),[n,l,o,x,E,b,z]),f.useEffect((()=>{const e=v[o?"width":"height"],s=x[o?"scrollWidth":"scrollHeight"],n=s-e;let l=0,i=!0,a=!0;const c=()=>{if(t&&!a&&(y(),l=x[o?"scrollLeft":"scrollTop"],L.current=l/n,r)){if(!i)if(l>=n){const e=1-C.offset;x[o?"scrollLeft":"scrollTop"]=1,L.current=C.offset=-e,i=!0}else if(l<=0){const e=1+C.offset;x[o?"scrollLeft":"scrollTop"]=s,L.current=C.offset=e,i=!0}i&&setTimeout((()=>i=!1),40)}};x.addEventListener("scroll",c,{passive:!0}),requestAnimationFrame((()=>a=!1));const f=e=>x.scrollLeft+=e.deltaY/2;return o&&x.addEventListener("wheel",f,{passive:!0}),()=>{x.removeEventListener("scroll",c),o&&x.removeEventListener("wheel",f)}}),[x,v,r,C,y,o,t]);let M=0;return s.useFrame(((t,r)=>{C.offset=c.MathUtils.damp(M=C.offset,L.current,i,r),C.delta=c.MathUtils.damp(C.delta,Math.abs(M-C.offset),i,r),C.delta>e&&y()})),f.createElement(h.Provider,{value:C},u)},exports.useScroll=p;
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-dom/client"),s=require("@react-three/fiber"),n=require("react-merge-refs");function l(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function i(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)}var c=l(e),a=i(t),f=i(r),u=i(o),d=l(n);const h=f.createContext(null);function p(){return f.useContext(h)}const m=f.forwardRef((({children:e},t)=>{const r=f.useRef(null),o=p(),{width:n,height:l}=s.useThree((e=>e.viewport));return s.useFrame((()=>{r.current.position.x=o.horizontal?-n*(o.pages-1)*o.offset:0,r.current.position.y=o.horizontal?0:l*(o.pages-1)*o.offset})),f.createElement("group",{ref:d.default([t,r])},e)})),v=f.forwardRef((({children:e,style:t,...r},o)=>{const n=p(),l=f.useRef(null),{width:i,height:a}=s.useThree((e=>e.size)),m=f.useContext(s.context),v=f.useMemo((()=>u.createRoot(n.fixed)),[n.fixed]);return s.useFrame((()=>{n.delta>n.eps&&(l.current.style.transform=`translate3d(${n.horizontal?-i*(n.pages-1)*n.offset:0}px,${n.horizontal?0:a*(n.pages-1)*-n.offset}px,0)`)})),v.render(f.createElement("div",c.default({ref:d.default([o,l]),style:{...t,position:"absolute",top:0,left:0,willChange:"transform"}},r),f.createElement(h.Provider,{value:n},f.createElement(s.context.Provider,{value:m},e)))),null})),y=f.forwardRef((({html:e,...t},r)=>{const o=e?v:m;return f.createElement(o,c.default({ref:r},t))}));exports.Scroll=y,exports.ScrollControls=function({eps:e=1e-5,enabled:t=!0,infinite:r,horizontal:o,pages:n=1,distance:l=1,damping:i=4,style:c={},children:u}){const{get:d,setEvents:p,gl:m,size:v,invalidate:y,events:g}=s.useThree(),[w]=f.useState((()=>document.createElement("div"))),[x]=f.useState((()=>document.createElement("div"))),[E]=f.useState((()=>document.createElement("div"))),b=m.domElement.parentNode,z=f.useRef(0),C=f.useMemo((()=>{const t={el:w,eps:e,fill:x,fixed:E,horizontal:o,damping:i,offset:0,delta:0,scroll:z,pages:n,range(e,t,r=0){const o=e-r,s=o+t+2*r;return this.offset<o?0:this.offset>s?1:(this.offset-o)/(s-o)},curve(e,t,r=0){return Math.sin(this.range(e,t,r)*Math.PI)},visible(e,t,r=0){const o=e-r,s=o+t+2*r;return this.offset>=o&&this.offset<=s}};return t}),[e,i,o,n]);f.useEffect((()=>{w.style.position="absolute",w.style.width="100%",w.style.height="100%",w.style[o?"overflowX":"overflowY"]="auto",w.style[o?"overflowY":"overflowX"]="hidden",w.style.top="0px",w.style.left="0px";for(const e in c)w.style[e]=c[e];E.style.position="sticky",E.style.top="0px",E.style.left="0px",E.style.width="100%",E.style.height="100%",E.style.overflow="hidden",w.appendChild(E),x.style.height=o?"100%":n*l*100+"%",x.style.width=o?n*l*100+"%":"100%",x.style.pointerEvents="none",w.appendChild(x),b.appendChild(w),w[o?"scrollLeft":"scrollTop"]=1;const e=g.connected||m.domElement;requestAnimationFrame((()=>null==g.connect?void 0:g.connect(w)));const t=d().events.compute;return p({compute(e,t){const r=e.clientX-b.offsetLeft,o=e.clientY-b.offsetTop;t.pointer.set(r/t.size.width*2-1,-o/t.size.height*2+1),t.raycaster.setFromCamera(t.pointer,t.camera)}}),()=>{b.removeChild(w),p({compute:t}),null==g.connect||g.connect(e)}}),[n,l,o,w,x,E,b]),f.useEffect((()=>{const e=v[o?"width":"height"],s=w[o?"scrollWidth":"scrollHeight"],n=s-e;let l=0,i=!0,c=!0;const a=()=>{if(t&&!c&&(y(),l=w[o?"scrollLeft":"scrollTop"],z.current=l/n,r)){if(!i)if(l>=n){const e=1-C.offset;w[o?"scrollLeft":"scrollTop"]=1,z.current=C.offset=-e,i=!0}else if(l<=0){const e=1+C.offset;w[o?"scrollLeft":"scrollTop"]=s,z.current=C.offset=e,i=!0}i&&setTimeout((()=>i=!1),40)}};w.addEventListener("scroll",a,{passive:!0}),requestAnimationFrame((()=>c=!1));const f=e=>w.scrollLeft+=e.deltaY/2;return o&&w.addEventListener("wheel",f,{passive:!0}),()=>{w.removeEventListener("scroll",a),o&&w.removeEventListener("wheel",f)}}),[w,v,r,C,y,o,t]);let L=0;return s.useFrame(((t,r)=>{C.offset=a.MathUtils.damp(L=C.offset,z.current,i,r),C.delta=a.MathUtils.damp(C.delta,Math.abs(L-C.offset),i,r),C.delta>e&&y()})),f.createElement(h.Provider,{value:C},u)},exports.useScroll=p;
@@ -26,8 +26,7 @@ function ScrollControls({
26
26
  gl,
27
27
  size,
28
28
  invalidate,
29
- events,
30
- raycaster
29
+ events
31
30
  } = useThree();
32
31
  const [el] = React.useState(() => document.createElement('div'));
33
32
  const [fill] = React.useState(() => document.createElement('div'));
@@ -101,8 +100,8 @@ function ScrollControls({
101
100
  const oldCompute = get().events.compute;
102
101
  setEvents({
103
102
  compute(event, state) {
104
- const offsetX = event.clientX - event.target.offsetLeft;
105
- const offsetY = event.clientX - event.target.offsetLeft;
103
+ const offsetX = event.clientX - target.offsetLeft;
104
+ const offsetY = event.clientY - target.offsetTop;
106
105
  state.pointer.set(offsetX / state.size.width * 2 - 1, -(offsetY / state.size.height) * 2 + 1);
107
106
  state.raycaster.setFromCamera(state.pointer, state.camera);
108
107
  }
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=require("three"),r=require("@react-three/fiber");function n(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 c=n(e),i=n(t);const s=new i.Color;function o({scene:e,index:t,children:n,frames:i,rect:o,track:a}){const u=r.useThree((e=>e.get)),l=r.useThree((e=>e.camera)),f=r.useThree((e=>e.scene)),g=r.useThree((e=>e.setEvents));let h=0;r.useFrame((t=>{var r,c;(i===1/0||h<=i)&&(o.current=null==(r=a.current)?void 0:r.getBoundingClientRect(),h++);if(o.current){const{left:r,right:i,top:a,bottom:u,width:g,height:h}=o.current,d=u<0||a>t.size.height||i<0||r>t.size.width,p=t.size.height-u,m=g/h;if((c=l)&&c.isOrthographicCamera?l.left===g/-2&&l.right===g/2&&l.top===h/2&&l.bottom===h/-2||(Object.assign(l,{left:g/-2,right:g/2,top:h/2,bottom:h/-2}),l.updateProjectionMatrix()):l.aspect!==m&&(l.aspect=m,l.updateProjectionMatrix()),t.gl.setViewport(r,p,g,h),t.gl.setScissor(r,p,g,h),t.gl.setScissorTest(!0),d)return t.gl.getClearColor(s),t.gl.setClearColor(s,t.gl.getClearAlpha()),void t.gl.clear(!0,!0);t.gl.render(n?f:e,l)}}),t);const[d,p]=c.useReducer((()=>!0),!1);return c.useEffect((()=>{const e=u().events.connected;return g({connected:a.current}),p(),()=>g({connected:e})}),[]),c.createElement(c.Fragment,null,d&&n)}exports.View=({track:e,index:t=1,frames:n=1/0,children:s})=>{const a=c.useRef(null),u=r.useThree((e=>e.scene)),[l]=c.useState((()=>new i.Scene)),f=c.useCallback(((t,r)=>{if(e.current&&t.target===e.current){if(!a.current)return;const{width:e,height:n,left:c,top:i}=a.current,s=t.clientX-c,o=t.clientY-i;r.pointer.set(s/e*2-1,-o/n*2+1),r.raycaster.setFromCamera(r.pointer,r.camera)}}),[a]);return r.createPortal(c.createElement(o,{frames:n,scene:u,track:e,rect:a,index:t},s),l,{events:{compute:f,priority:t}})};
package/web/View.d.ts ADDED
@@ -0,0 +1,17 @@
1
+ import * as React from 'react';
2
+ import * as THREE from 'three';
3
+ export declare type ContainerProps = {
4
+ scene: THREE.Scene;
5
+ index: number;
6
+ children?: React.ReactNode;
7
+ frames: number;
8
+ rect: React.MutableRefObject<DOMRect>;
9
+ track: React.MutableRefObject<HTMLElement>;
10
+ };
11
+ export declare type ViewProps = {
12
+ track: React.MutableRefObject<HTMLElement>;
13
+ index?: number;
14
+ frames?: number;
15
+ children?: React.ReactNode;
16
+ };
17
+ export declare const View: ({ track, index, frames, children }: ViewProps) => React.ReactNode;
package/web/View.js ADDED
@@ -0,0 +1,125 @@
1
+ import * as React from 'react';
2
+ import * as THREE from 'three';
3
+ import { useThree, createPortal, useFrame } from '@react-three/fiber';
4
+
5
+ const isOrthographicCamera = def => def && def.isOrthographicCamera;
6
+
7
+ const col = new THREE.Color();
8
+
9
+ function Container({
10
+ scene,
11
+ index,
12
+ children,
13
+ frames,
14
+ rect,
15
+ track
16
+ }) {
17
+ const get = useThree(state => state.get);
18
+ const camera = useThree(state => state.camera);
19
+ const virtualScene = useThree(state => state.scene);
20
+ const setEvents = useThree(state => state.setEvents);
21
+ let frameCount = 0;
22
+ useFrame(state => {
23
+ if (frames === Infinity || frameCount <= frames) {
24
+ var _track$current;
25
+
26
+ rect.current = (_track$current = track.current) == null ? void 0 : _track$current.getBoundingClientRect();
27
+ frameCount++;
28
+ }
29
+
30
+ if (rect.current) {
31
+ const {
32
+ left,
33
+ right,
34
+ top,
35
+ bottom,
36
+ width,
37
+ height
38
+ } = rect.current;
39
+ const isOffscreen = bottom < 0 || top > state.size.height || right < 0 || left > state.size.width;
40
+ const positiveYUpBottom = state.size.height - bottom;
41
+ const aspect = width / height;
42
+
43
+ if (isOrthographicCamera(camera)) {
44
+ if (camera.left !== width / -2 || camera.right !== width / 2 || camera.top !== height / 2 || camera.bottom !== height / -2) {
45
+ Object.assign(camera, {
46
+ left: width / -2,
47
+ right: width / 2,
48
+ top: height / 2,
49
+ bottom: height / -2
50
+ });
51
+ camera.updateProjectionMatrix();
52
+ }
53
+ } else if (camera.aspect !== aspect) {
54
+ camera.aspect = aspect;
55
+ camera.updateProjectionMatrix();
56
+ }
57
+
58
+ state.gl.setViewport(left, positiveYUpBottom, width, height);
59
+ state.gl.setScissor(left, positiveYUpBottom, width, height);
60
+ state.gl.setScissorTest(true);
61
+
62
+ if (isOffscreen) {
63
+ state.gl.getClearColor(col);
64
+ state.gl.setClearColor(col, state.gl.getClearAlpha());
65
+ state.gl.clear(true, true);
66
+ return;
67
+ } // When children are present render the portalled scene, otherwise the default scene
68
+
69
+
70
+ state.gl.render(children ? virtualScene : scene, camera);
71
+ }
72
+ }, index);
73
+ const [ready, toggle] = React.useReducer(() => true, false);
74
+ React.useEffect(() => {
75
+ const old = get().events.connected;
76
+ setEvents({
77
+ connected: track.current
78
+ });
79
+ toggle();
80
+ return () => setEvents({
81
+ connected: old
82
+ });
83
+ }, []);
84
+ return /*#__PURE__*/React.createElement(React.Fragment, null, ready && children);
85
+ }
86
+
87
+ const View = ({
88
+ track,
89
+ index = 1,
90
+ frames = Infinity,
91
+ children
92
+ }) => {
93
+ const rect = React.useRef(null);
94
+ const scene = useThree(state => state.scene);
95
+ const [virtualScene] = React.useState(() => new THREE.Scene());
96
+ const compute = React.useCallback((event, state) => {
97
+ if (track.current && event.target === track.current) {
98
+ if (!rect.current) return;
99
+ const {
100
+ width,
101
+ height,
102
+ left,
103
+ top
104
+ } = rect.current;
105
+ const x = event.clientX - left;
106
+ const y = event.clientY - top;
107
+ state.pointer.set(x / width * 2 - 1, -(y / height) * 2 + 1);
108
+ state.raycaster.setFromCamera(state.pointer, state.camera);
109
+ }
110
+ }, [rect]);
111
+ return createPortal( /*#__PURE__*/React.createElement(Container, {
112
+ frames: frames,
113
+ scene: scene,
114
+ track: track,
115
+ rect: rect,
116
+ index: index
117
+ }, children), virtualScene, {
118
+ events: {
119
+ compute,
120
+ priority: index
121
+ }
122
+ });
123
+ };
124
+
125
+ export { View };
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("./Select.cjs.js"),u=require("../core/Billboard.cjs.js"),a=require("../core/QuadraticBezierLine.cjs.js"),n=require("../core/CubicBezierLine.cjs.js"),j=require("../core/Line.cjs.js"),p=require("../core/PositionalAudio.cjs.js"),l=require("../core/Text.cjs.js"),x=require("../core/Effects.cjs.js"),q=require("../core/GradientTexture.cjs.js"),d=require("../core/Image.cjs.js"),C=require("../core/Edges.cjs.js"),m=require("../core/Trail.cjs.js"),h=require("../core/Sampler.cjs.js"),S=require("../core/ComputedAttribute.cjs.js"),P=require("../core/Clone.cjs.js"),b=require("../core/OrthographicCamera.cjs.js"),B=require("../core/PerspectiveCamera.cjs.js"),M=require("../core/CubeCamera.cjs.js"),T=require("../core/DeviceOrientationControls.cjs.js"),f=require("../core/FlyControls.cjs.js"),g=require("../core/MapControls.cjs.js"),v=require("../core/OrbitControls.cjs.js"),L=require("../core/TrackballControls.cjs.js"),A=require("../core/ArcballControls.cjs.js"),E=require("../core/TransformControls.cjs.js"),G=require("../core/PointerLockControls.cjs.js"),k=require("../core/FirstPersonControls.cjs.js"),D=require("../core/GizmoHelper.cjs.js"),F=require("../core/GizmoViewcube.cjs.js"),w=require("../core/GizmoViewport.cjs.js"),z=require("../core/useCubeTexture.cjs.js"),y=require("../core/useFBX.cjs.js"),I=require("../core/useGLTF.cjs.js"),O=require("../core/useProgress.cjs.js"),R=require("../core/useTexture.cjs.js"),H=require("../core/useKTX2.cjs.js"),V=require("../core/Stats.cjs.js"),Q=require("../core/useDepthBuffer.cjs.js"),X=require("../core/useAspect.cjs.js"),K=require("../core/useCamera.cjs.js"),W=require("../core/useDetectGPU.cjs.js"),N=require("../core/useHelper.cjs.js"),U=require("../core/useBVH.cjs.js"),_=require("../core/useContextBridge.cjs.js"),J=require("../core/useAnimations.cjs.js"),Y=require("../core/useFBO.cjs.js"),Z=require("../core/useIntersect.cjs.js"),$=require("../core/useBoxProjectedEnv.cjs.js"),ee=require("../core/CurveModifier.cjs.js"),re=require("../core/MeshDistortMaterial.cjs.js"),se=require("../core/MeshWobbleMaterial.cjs.js"),oe=require("../core/MeshReflectorMaterial.cjs.js"),te=require("../core/PointMaterial.cjs.js"),ie=require("../core/shaderMaterial.cjs.js"),ce=require("../core/softShadows.cjs.js"),ue=require("../core/shapes.cjs.js"),ae=require("../core/RoundedBox.cjs.js"),ne=require("../core/ScreenQuad.cjs.js"),je=require("../core/Center.cjs.js"),pe=require("../core/Bounds.cjs.js"),le=require("../core/CameraShake.cjs.js"),xe=require("../core/Float.cjs.js"),qe=require("../core/Stage.cjs.js"),de=require("../core/Backdrop.cjs.js"),Ce=require("../core/Shadow.cjs.js"),me=require("../core/ContactShadows.cjs.js"),he=require("../core/Reflector.cjs.js"),Se=require("../core/SpotLight.cjs.js"),Pe=require("../core/Environment.cjs.js"),be=require("../core/Lightformer.cjs.js"),Be=require("../core/Sky.cjs.js"),Me=require("../core/Stars.cjs.js"),Te=require("../core/Cloud.cjs.js"),fe=require("../core/useMatcapTexture.cjs.js"),ge=require("../core/useNormalTexture.cjs.js"),ve=require("../core/Points.cjs.js"),Le=require("../core/Instances.cjs.js"),Ae=require("../core/Segments.cjs.js"),Ee=require("../core/Detailed.cjs.js"),Ge=require("../core/Preload.cjs.js"),ke=require("../core/BakeShadows.cjs.js"),De=require("../core/meshBounds.cjs.js"),Fe=require("../core/AdaptiveDpr.cjs.js"),we=require("../core/AdaptiveEvents.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("@react-spring/three"),require("@use-gesture/react"),require("three-stdlib"),require("zustand/shallow"),require("troika-three-text"),require("suspend-react"),require("meshline"),require("lodash.pick"),require("lodash.omit"),require("stats.js"),require("../helpers/useEffectfulState.cjs.js"),require("detect-gpu"),require("three-mesh-bvh"),require("../materials/BlurPass.cjs.js"),require("../materials/ConvolutionMaterial.cjs.js"),require("../materials/MeshReflectorMaterial.cjs.js"),require("../helpers/environment-assets.cjs.js"),require("../materials/SpotLightMaterial.cjs.js"),require("../helpers/Position.cjs.js"),require("react-composer"),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.Select=c.Select,exports.useSelect=c.useSelect,exports.Billboard=u.Billboard,exports.QuadraticBezierLine=a.QuadraticBezierLine,exports.CubicBezierLine=n.CubicBezierLine,exports.Line=j.Line,exports.PositionalAudio=p.PositionalAudio,exports.Text=l.Text,exports.Effects=x.Effects,exports.isWebGL2Available=x.isWebGL2Available,exports.GradientTexture=q.GradientTexture,exports.Image=d.Image,exports.Edges=C.Edges,exports.Trail=m.Trail,exports.useTrail=m.useTrail,exports.Sampler=h.Sampler,exports.ComputedAttribute=S.ComputedAttribute,exports.Clone=P.Clone,exports.OrthographicCamera=b.OrthographicCamera,exports.PerspectiveCamera=B.PerspectiveCamera,exports.CubeCamera=M.CubeCamera,exports.DeviceOrientationControls=T.DeviceOrientationControls,exports.FlyControls=f.FlyControls,exports.MapControls=g.MapControls,exports.OrbitControls=v.OrbitControls,exports.TrackballControls=L.TrackballControls,exports.ArcballControls=A.ArcballControls,exports.TransformControls=E.TransformControls,exports.PointerLockControls=G.PointerLockControls,exports.FirstPersonControls=k.FirstPersonControls,exports.GizmoHelper=D.GizmoHelper,exports.useGizmoContext=D.useGizmoContext,exports.GizmoViewcube=F.GizmoViewcube,exports.GizmoViewport=w.GizmoViewport,exports.useCubeTexture=z.useCubeTexture,exports.useFBX=y.useFBX,exports.useGLTF=I.useGLTF,exports.useProgress=O.useProgress,exports.IsObject=R.IsObject,exports.useTexture=R.useTexture,exports.useKTX2=H.useKTX2,exports.Stats=V.Stats,exports.useDepthBuffer=Q.useDepthBuffer,exports.useAspect=X.useAspect,exports.useCamera=K.useCamera,exports.useDetectGPU=W.useDetectGPU,exports.useHelper=N.useHelper,exports.useBVH=U.useBVH,exports.useContextBridge=_.useContextBridge,exports.useAnimations=J.useAnimations,exports.useFBO=Y.useFBO,exports.useIntersect=Z.useIntersect,exports.useBoxProjectedEnv=$.useBoxProjectedEnv,exports.CurveModifier=ee.CurveModifier,exports.MeshDistortMaterial=re.MeshDistortMaterial,exports.MeshWobbleMaterial=se.MeshWobbleMaterial,exports.MeshReflectorMaterial=oe.MeshReflectorMaterial,exports.PointMaterial=te.PointMaterial,exports.PointMaterialImpl=te.PointMaterialImpl,exports.shaderMaterial=ie.shaderMaterial,exports.softShadows=ce.softShadows,exports.Box=ue.Box,exports.Circle=ue.Circle,exports.Cone=ue.Cone,exports.Cylinder=ue.Cylinder,exports.Dodecahedron=ue.Dodecahedron,exports.Extrude=ue.Extrude,exports.Icosahedron=ue.Icosahedron,exports.Lathe=ue.Lathe,exports.Octahedron=ue.Octahedron,exports.Plane=ue.Plane,exports.Polyhedron=ue.Polyhedron,exports.Ring=ue.Ring,exports.Sphere=ue.Sphere,exports.Tetrahedron=ue.Tetrahedron,exports.Torus=ue.Torus,exports.TorusKnot=ue.TorusKnot,exports.Tube=ue.Tube,exports.RoundedBox=ae.RoundedBox,exports.ScreenQuad=ne.ScreenQuad,exports.Center=je.Center,exports.Bounds=pe.Bounds,exports.useBounds=pe.useBounds,exports.CameraShake=le.CameraShake,exports.Float=xe.Float,exports.Stage=qe.Stage,exports.Backdrop=de.Backdrop,exports.Shadow=Ce.Shadow,exports.ContactShadows=me.ContactShadows,exports.Reflector=he.Reflector,exports.SpotLight=Se.SpotLight,exports.Environment=Pe.Environment,exports.EnvironmentCube=Pe.EnvironmentCube,exports.EnvironmentMap=Pe.EnvironmentMap,exports.EnvironmentPortal=Pe.EnvironmentPortal,exports.Lightformer=be.Lightformer,exports.Sky=Be.Sky,exports.calcPosFromAngles=Be.calcPosFromAngles,exports.Stars=Me.Stars,exports.Cloud=Te.Cloud,exports.useMatcapTexture=fe.useMatcapTexture,exports.useNormalTexture=ge.useNormalTexture,exports.Point=ve.Point,exports.Points=ve.Points,exports.PointsBuffer=ve.PointsBuffer,exports.Instance=Le.Instance,exports.Instances=Le.Instances,exports.Merged=Le.Merged,exports.Segment=Ae.Segment,exports.Segments=Ae.Segments,exports.Detailed=Ee.Detailed,exports.Preload=Ge.Preload,exports.BakeShadows=ke.BakeShadows,exports.meshBounds=De.meshBounds,exports.AdaptiveDpr=Fe.AdaptiveDpr,exports.AdaptiveEvents=we.AdaptiveEvents;
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("./Select.cjs.js"),u=require("./View.cjs.js"),a=require("../core/Billboard.cjs.js"),j=require("../core/QuadraticBezierLine.cjs.js"),n=require("../core/CubicBezierLine.cjs.js"),p=require("../core/Line.cjs.js"),l=require("../core/PositionalAudio.cjs.js"),x=require("../core/Text.cjs.js"),q=require("../core/Effects.cjs.js"),d=require("../core/GradientTexture.cjs.js"),C=require("../core/Image.cjs.js"),m=require("../core/Edges.cjs.js"),h=require("../core/Trail.cjs.js"),S=require("../core/Sampler.cjs.js"),P=require("../core/ComputedAttribute.cjs.js"),b=require("../core/Clone.cjs.js"),B=require("../core/OrthographicCamera.cjs.js"),M=require("../core/PerspectiveCamera.cjs.js"),T=require("../core/CubeCamera.cjs.js"),f=require("../core/DeviceOrientationControls.cjs.js"),g=require("../core/FlyControls.cjs.js"),v=require("../core/MapControls.cjs.js"),L=require("../core/OrbitControls.cjs.js"),A=require("../core/TrackballControls.cjs.js"),E=require("../core/ArcballControls.cjs.js"),w=require("../core/TransformControls.cjs.js"),G=require("../core/PointerLockControls.cjs.js"),k=require("../core/FirstPersonControls.cjs.js"),D=require("../core/GizmoHelper.cjs.js"),F=require("../core/GizmoViewcube.cjs.js"),z=require("../core/GizmoViewport.cjs.js"),y=require("../core/useCubeTexture.cjs.js"),I=require("../core/useFBX.cjs.js"),O=require("../core/useGLTF.cjs.js"),R=require("../core/useProgress.cjs.js"),H=require("../core/useTexture.cjs.js"),V=require("../core/useKTX2.cjs.js"),Q=require("../core/Stats.cjs.js"),X=require("../core/useDepthBuffer.cjs.js"),K=require("../core/useAspect.cjs.js"),W=require("../core/useCamera.cjs.js"),N=require("../core/useDetectGPU.cjs.js"),U=require("../core/useHelper.cjs.js"),_=require("../core/useBVH.cjs.js"),J=require("../core/useContextBridge.cjs.js"),Y=require("../core/useAnimations.cjs.js"),Z=require("../core/useFBO.cjs.js"),$=require("../core/useIntersect.cjs.js"),ee=require("../core/useBoxProjectedEnv.cjs.js"),re=require("../core/CurveModifier.cjs.js"),se=require("../core/MeshDistortMaterial.cjs.js"),oe=require("../core/MeshWobbleMaterial.cjs.js"),te=require("../core/MeshReflectorMaterial.cjs.js"),ie=require("../core/PointMaterial.cjs.js"),ce=require("../core/shaderMaterial.cjs.js"),ue=require("../core/softShadows.cjs.js"),ae=require("../core/shapes.cjs.js"),je=require("../core/RoundedBox.cjs.js"),ne=require("../core/ScreenQuad.cjs.js"),pe=require("../core/Center.cjs.js"),le=require("../core/Bounds.cjs.js"),xe=require("../core/CameraShake.cjs.js"),qe=require("../core/Float.cjs.js"),de=require("../core/Stage.cjs.js"),Ce=require("../core/Backdrop.cjs.js"),me=require("../core/Shadow.cjs.js"),he=require("../core/ContactShadows.cjs.js"),Se=require("../core/Reflector.cjs.js"),Pe=require("../core/SpotLight.cjs.js"),be=require("../core/Environment.cjs.js"),Be=require("../core/Lightformer.cjs.js"),Me=require("../core/Sky.cjs.js"),Te=require("../core/Stars.cjs.js"),fe=require("../core/Cloud.cjs.js"),ge=require("../core/useMatcapTexture.cjs.js"),ve=require("../core/useNormalTexture.cjs.js"),Le=require("../core/Points.cjs.js"),Ae=require("../core/Instances.cjs.js"),Ee=require("../core/Segments.cjs.js"),we=require("../core/Detailed.cjs.js"),Ge=require("../core/Preload.cjs.js"),ke=require("../core/BakeShadows.cjs.js"),De=require("../core/meshBounds.cjs.js"),Fe=require("../core/AdaptiveDpr.cjs.js"),ze=require("../core/AdaptiveEvents.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("@react-spring/three"),require("@use-gesture/react"),require("three-stdlib"),require("zustand/shallow"),require("troika-three-text"),require("suspend-react"),require("meshline"),require("lodash.pick"),require("lodash.omit"),require("stats.js"),require("../helpers/useEffectfulState.cjs.js"),require("detect-gpu"),require("three-mesh-bvh"),require("../materials/BlurPass.cjs.js"),require("../materials/ConvolutionMaterial.cjs.js"),require("../materials/MeshReflectorMaterial.cjs.js"),require("../helpers/environment-assets.cjs.js"),require("../materials/SpotLightMaterial.cjs.js"),require("../helpers/Position.cjs.js"),require("react-composer"),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.Select=c.Select,exports.useSelect=c.useSelect,exports.View=u.View,exports.Billboard=a.Billboard,exports.QuadraticBezierLine=j.QuadraticBezierLine,exports.CubicBezierLine=n.CubicBezierLine,exports.Line=p.Line,exports.PositionalAudio=l.PositionalAudio,exports.Text=x.Text,exports.Effects=q.Effects,exports.isWebGL2Available=q.isWebGL2Available,exports.GradientTexture=d.GradientTexture,exports.Image=C.Image,exports.Edges=m.Edges,exports.Trail=h.Trail,exports.useTrail=h.useTrail,exports.Sampler=S.Sampler,exports.ComputedAttribute=P.ComputedAttribute,exports.Clone=b.Clone,exports.OrthographicCamera=B.OrthographicCamera,exports.PerspectiveCamera=M.PerspectiveCamera,exports.CubeCamera=T.CubeCamera,exports.DeviceOrientationControls=f.DeviceOrientationControls,exports.FlyControls=g.FlyControls,exports.MapControls=v.MapControls,exports.OrbitControls=L.OrbitControls,exports.TrackballControls=A.TrackballControls,exports.ArcballControls=E.ArcballControls,exports.TransformControls=w.TransformControls,exports.PointerLockControls=G.PointerLockControls,exports.FirstPersonControls=k.FirstPersonControls,exports.GizmoHelper=D.GizmoHelper,exports.useGizmoContext=D.useGizmoContext,exports.GizmoViewcube=F.GizmoViewcube,exports.GizmoViewport=z.GizmoViewport,exports.useCubeTexture=y.useCubeTexture,exports.useFBX=I.useFBX,exports.useGLTF=O.useGLTF,exports.useProgress=R.useProgress,exports.IsObject=H.IsObject,exports.useTexture=H.useTexture,exports.useKTX2=V.useKTX2,exports.Stats=Q.Stats,exports.useDepthBuffer=X.useDepthBuffer,exports.useAspect=K.useAspect,exports.useCamera=W.useCamera,exports.useDetectGPU=N.useDetectGPU,exports.useHelper=U.useHelper,exports.useBVH=_.useBVH,exports.useContextBridge=J.useContextBridge,exports.useAnimations=Y.useAnimations,exports.useFBO=Z.useFBO,exports.useIntersect=$.useIntersect,exports.useBoxProjectedEnv=ee.useBoxProjectedEnv,exports.CurveModifier=re.CurveModifier,exports.MeshDistortMaterial=se.MeshDistortMaterial,exports.MeshWobbleMaterial=oe.MeshWobbleMaterial,exports.MeshReflectorMaterial=te.MeshReflectorMaterial,exports.PointMaterial=ie.PointMaterial,exports.PointMaterialImpl=ie.PointMaterialImpl,exports.shaderMaterial=ce.shaderMaterial,exports.softShadows=ue.softShadows,exports.Box=ae.Box,exports.Circle=ae.Circle,exports.Cone=ae.Cone,exports.Cylinder=ae.Cylinder,exports.Dodecahedron=ae.Dodecahedron,exports.Extrude=ae.Extrude,exports.Icosahedron=ae.Icosahedron,exports.Lathe=ae.Lathe,exports.Octahedron=ae.Octahedron,exports.Plane=ae.Plane,exports.Polyhedron=ae.Polyhedron,exports.Ring=ae.Ring,exports.Sphere=ae.Sphere,exports.Tetrahedron=ae.Tetrahedron,exports.Torus=ae.Torus,exports.TorusKnot=ae.TorusKnot,exports.Tube=ae.Tube,exports.RoundedBox=je.RoundedBox,exports.ScreenQuad=ne.ScreenQuad,exports.Center=pe.Center,exports.Bounds=le.Bounds,exports.useBounds=le.useBounds,exports.CameraShake=xe.CameraShake,exports.Float=qe.Float,exports.Stage=de.Stage,exports.Backdrop=Ce.Backdrop,exports.Shadow=me.Shadow,exports.ContactShadows=he.ContactShadows,exports.Reflector=Se.Reflector,exports.SpotLight=Pe.SpotLight,exports.Environment=be.Environment,exports.EnvironmentCube=be.EnvironmentCube,exports.EnvironmentMap=be.EnvironmentMap,exports.EnvironmentPortal=be.EnvironmentPortal,exports.Lightformer=Be.Lightformer,exports.Sky=Me.Sky,exports.calcPosFromAngles=Me.calcPosFromAngles,exports.Stars=Te.Stars,exports.Cloud=fe.Cloud,exports.useMatcapTexture=ge.useMatcapTexture,exports.useNormalTexture=ve.useNormalTexture,exports.Point=Le.Point,exports.Points=Le.Points,exports.PointsBuffer=Le.PointsBuffer,exports.Instance=Ae.Instance,exports.Instances=Ae.Instances,exports.Merged=Ae.Merged,exports.Segment=Ee.Segment,exports.Segments=Ee.Segments,exports.Detailed=we.Detailed,exports.Preload=Ge.Preload,exports.BakeShadows=ke.BakeShadows,exports.meshBounds=De.meshBounds,exports.AdaptiveDpr=Fe.AdaptiveDpr,exports.AdaptiveEvents=ze.AdaptiveEvents;
package/web/index.d.ts CHANGED
@@ -6,3 +6,4 @@ export * from './ScrollControls';
6
6
  export * from './PresentationControls';
7
7
  export * from './Select';
8
8
  export * from '../core';
9
+ export * from './View';
package/web/index.js CHANGED
@@ -5,6 +5,7 @@ export { Loader } from './Loader.js';
5
5
  export { Scroll, ScrollControls, useScroll } from './ScrollControls.js';
6
6
  export { PresentationControls } from './PresentationControls.js';
7
7
  export { Select, useSelect } from './Select.js';
8
+ export { View } from './View.js';
8
9
  export { Billboard } from '../core/Billboard.js';
9
10
  export { QuadraticBezierLine } from '../core/QuadraticBezierLine.js';
10
11
  export { CubicBezierLine } from '../core/CubicBezierLine.js';