@react-three/drei 9.0.4 → 9.1.2
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/README.md +46 -1
- package/core/ArcballControls.cjs.js +1 -1
- package/core/ArcballControls.js +1 -1
- package/core/Bounds.cjs.js +1 -1
- package/core/Bounds.js +1 -1
- package/core/CameraShake.cjs.js +1 -1
- package/core/CameraShake.d.ts +0 -8
- package/core/CameraShake.js +13 -16
- package/core/DeviceOrientationControls.cjs.js +1 -1
- package/core/DeviceOrientationControls.js +1 -1
- package/core/FirstPersonControls.cjs.js +1 -1
- package/core/FirstPersonControls.js +1 -1
- package/core/MapControls.cjs.js +1 -1
- package/core/MapControls.js +1 -1
- package/core/OrbitControls.cjs.js +1 -1
- package/core/OrbitControls.js +1 -1
- package/core/TrackballControls.cjs.js +1 -1
- package/core/TrackballControls.js +1 -1
- package/index.cjs.js +1 -1
- package/index.js +1 -0
- package/package.json +1 -1
- package/web/ScrollControls.cjs.js +1 -1
- package/web/ScrollControls.js +3 -4
- package/web/View.cjs.js +1 -0
- package/web/View.d.ts +17 -0
- package/web/View.js +125 -0
- package/web/index.cjs.js +1 -1
- package/web/index.d.ts +1 -0
- package/web/index.js +1 -0
package/package.json
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"),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
|
|
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;
|
package/web/ScrollControls.js
CHANGED
|
@@ -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 -
|
|
105
|
-
const offsetY = event.
|
|
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
|
}
|
package/web/View.cjs.js
ADDED
|
@@ -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"),
|
|
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
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';
|