@react-three/drei 7.17.2 → 7.19.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/core/Bounds.cjs.js +1 -0
- package/core/Bounds.d.ts +21 -0
- package/core/Bounds.js +185 -0
- package/core/Stage.cjs.js +1 -1
- package/core/Stage.d.ts +6 -4
- package/core/Stage.js +8 -7
- package/core/index.cjs.js +1 -1
- package/core/index.d.ts +1 -0
- package/core/index.js +1 -0
- package/index.cjs.js +1 -1
- package/index.js +1 -0
- package/native/index.cjs.js +1 -1
- package/native/index.js +1 -0
- package/package.json +1 -1
- package/web/ScrollControls.cjs.js +1 -1
- package/web/ScrollControls.js +1 -1
- package/web/index.cjs.js +1 -1
- package/web/index.js +1 -0
|
@@ -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 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 a=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,a.get?a:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var o=a(e),n=a(t);const c=e=>e&&e.isOrthographicCamera,i=o.createContext(null);exports.Bounds=function({children:e,damping:t=6,fit:a,clip:s,margin:m=1.2,eps:u=.01}){const f=o.useRef(null),x=r.useThree((e=>e.camera)),p=r.useThree((e=>e.controls)),l=r.useThree((e=>e.invalidate));function z(e,t){return Math.abs(e.x-t.x)<u&&Math.abs(e.y-t.y)<u&&Math.abs(e.z-t.z)<u}function h(e,t,r,a){e.x=n.MathUtils.damp(e.x,t.x,r,a),e.y=n.MathUtils.damp(e.y,t.y,r,a),e.z=n.MathUtils.damp(e.z,t.z,r,a)}const[y]=o.useState((()=>({animating:!1,focus:new n.Vector3,camera:new n.Vector3,zoom:1}))),[d]=o.useState((()=>({focus:new n.Vector3,camera:new n.Vector3,zoom:1}))),M=o.useMemo((()=>{const e=new n.Box3;function r(){const t=e.getSize(new n.Vector3),r=e.getCenter(new n.Vector3),a=Math.max(t.x,t.y,t.z),o=c(x)?4*a:a/(2*Math.atan(Math.PI*x.fov/360)),i=c(x)?4*a:o/x.aspect;return{size:t,center:r,distance:m*Math.max(o,i)}}return{getSize:r,refresh(t){return e.setFromObject(t||f.current),this},clip(){const{distance:e}=r();return p&&(p.maxDistance=10*e),x.near=e/100,x.far=100*e,x.updateProjectionMatrix(),p&&p.update(),this},fit(){y.camera.copy(x.position),p&&y.focus.copy(p.target);const{center:a,distance:o}=r(),i=a.clone().sub(x.position).normalize().multiplyScalar(o);if(d.camera.copy(a).sub(i),d.focus.copy(a),c(x)){y.zoom=x.zoom;let r=0,o=0;const c=[new n.Vector3(e.min.x,e.min.y,e.min.z),new n.Vector3(e.min.x,e.max.y,e.min.z),new n.Vector3(e.min.x,e.min.y,e.max.z),new n.Vector3(e.min.x,e.max.y,e.max.z),new n.Vector3(e.max.x,e.max.y,e.max.z),new n.Vector3(e.max.x,e.max.y,e.min.z),new n.Vector3(e.max.x,e.min.y,e.max.z),new n.Vector3(e.max.x,e.min.y,e.min.z)];a.applyMatrix4(x.matrixWorldInverse);for(const e of c)e.applyMatrix4(x.matrixWorldInverse),r=Math.max(r,Math.abs(e.y-a.y)),o=Math.max(o,Math.abs(e.x-a.x));r*=2,o*=2;const i=(x.top-x.bottom)/r,s=(x.right-x.left)/o;d.zoom=Math.min(i,s)/m,t||(x.zoom=d.zoom,x.updateProjectionMatrix())}return t?y.animating=!0:(x.position.copy(d.camera),x.lookAt(d.focus),p&&(p.target.copy(d.focus),p.update()),l()),this}}}),[x,p,m,t,l]);return o.useLayoutEffect((()=>{if(M.refresh(),a&&M.fit(),s&&M.clip(),p){const e=e=>y.animating=!1;return p.addEventListener("start",e),()=>p.removeEventListener("start",e)}}),[M,a,p]),r.useFrame(((e,r)=>{if(y.animating){if(h(y.focus,d.focus,t,r),h(y.camera,d.camera,t,r),y.zoom=n.MathUtils.damp(y.zoom,d.zoom,t,r),x.position.copy(y.camera),c(x)&&(x.zoom=y.zoom,x.updateProjectionMatrix()),p?(p.target.copy(y.focus),p.update()):x.lookAt(y.focus),l(),c(x)&&!(Math.abs(y.zoom-d.zoom)<u))return;if(!c(x)&&!z(y.camera,d.camera))return;if(p&&!z(y.focus,d.focus))return;y.animating=!1}})),o.createElement("group",{ref:f},o.createElement(i.Provider,{value:M},e))},exports.useBounds=function(){return o.useContext(i)};
|
package/core/Bounds.d.ts
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import * as THREE from 'three';
|
|
3
|
+
export declare type BoundsApi = {
|
|
4
|
+
getSize: () => {
|
|
5
|
+
size: THREE.Vector3;
|
|
6
|
+
center: THREE.Vector3;
|
|
7
|
+
distance: number;
|
|
8
|
+
};
|
|
9
|
+
refresh(object?: THREE.Object3D): any;
|
|
10
|
+
clip(): any;
|
|
11
|
+
fit(): any;
|
|
12
|
+
};
|
|
13
|
+
export declare type BoundsProps = JSX.IntrinsicElements['group'] & {
|
|
14
|
+
damping?: number;
|
|
15
|
+
fit?: boolean;
|
|
16
|
+
clip?: boolean;
|
|
17
|
+
margin?: number;
|
|
18
|
+
eps?: number;
|
|
19
|
+
};
|
|
20
|
+
export declare function Bounds({ children, damping, fit, clip, margin, eps }: BoundsProps): JSX.Element;
|
|
21
|
+
export declare function useBounds(): BoundsApi;
|
package/core/Bounds.js
ADDED
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import * as THREE from 'three';
|
|
3
|
+
import { useThree, useFrame } from '@react-three/fiber';
|
|
4
|
+
|
|
5
|
+
const isOrthographic = def => def && def.isOrthographicCamera;
|
|
6
|
+
|
|
7
|
+
const context = /*#__PURE__*/React.createContext(null);
|
|
8
|
+
function Bounds({
|
|
9
|
+
children,
|
|
10
|
+
damping = 6,
|
|
11
|
+
fit,
|
|
12
|
+
clip,
|
|
13
|
+
margin = 1.2,
|
|
14
|
+
eps = 0.01
|
|
15
|
+
}) {
|
|
16
|
+
const ref = React.useRef(null);
|
|
17
|
+
const camera = useThree(state => state.camera); // @ts-expect-error new in @react-three/fiber@7.0.5
|
|
18
|
+
|
|
19
|
+
const controls = useThree(state => state.controls);
|
|
20
|
+
const invalidate = useThree(state => state.invalidate);
|
|
21
|
+
|
|
22
|
+
function equals(a, b) {
|
|
23
|
+
return Math.abs(a.x - b.x) < eps && Math.abs(a.y - b.y) < eps && Math.abs(a.z - b.z) < eps;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
function damp(v, t, lambda, delta) {
|
|
27
|
+
v.x = THREE.MathUtils.damp(v.x, t.x, lambda, delta);
|
|
28
|
+
v.y = THREE.MathUtils.damp(v.y, t.y, lambda, delta);
|
|
29
|
+
v.z = THREE.MathUtils.damp(v.z, t.z, lambda, delta);
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
const [current] = React.useState(() => ({
|
|
33
|
+
animating: false,
|
|
34
|
+
focus: new THREE.Vector3(),
|
|
35
|
+
camera: new THREE.Vector3(),
|
|
36
|
+
zoom: 1
|
|
37
|
+
}));
|
|
38
|
+
const [goal] = React.useState(() => ({
|
|
39
|
+
focus: new THREE.Vector3(),
|
|
40
|
+
camera: new THREE.Vector3(),
|
|
41
|
+
zoom: 1
|
|
42
|
+
}));
|
|
43
|
+
const api = React.useMemo(() => {
|
|
44
|
+
const box = new THREE.Box3();
|
|
45
|
+
|
|
46
|
+
function getSize() {
|
|
47
|
+
const size = box.getSize(new THREE.Vector3());
|
|
48
|
+
const center = box.getCenter(new THREE.Vector3());
|
|
49
|
+
const maxSize = Math.max(size.x, size.y, size.z);
|
|
50
|
+
const fitHeightDistance = isOrthographic(camera) ? maxSize * 4 : maxSize / (2 * Math.atan(Math.PI * camera.fov / 360));
|
|
51
|
+
const fitWidthDistance = isOrthographic(camera) ? maxSize * 4 : fitHeightDistance / camera.aspect;
|
|
52
|
+
const distance = margin * Math.max(fitHeightDistance, fitWidthDistance);
|
|
53
|
+
return {
|
|
54
|
+
size,
|
|
55
|
+
center,
|
|
56
|
+
distance
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
return {
|
|
61
|
+
getSize,
|
|
62
|
+
|
|
63
|
+
refresh(object) {
|
|
64
|
+
box.setFromObject(object || ref.current);
|
|
65
|
+
return this;
|
|
66
|
+
},
|
|
67
|
+
|
|
68
|
+
clip() {
|
|
69
|
+
const {
|
|
70
|
+
distance
|
|
71
|
+
} = getSize();
|
|
72
|
+
if (controls) controls.maxDistance = distance * 10;
|
|
73
|
+
camera.near = distance / 100;
|
|
74
|
+
camera.far = distance * 100;
|
|
75
|
+
camera.updateProjectionMatrix();
|
|
76
|
+
if (controls) controls.update();
|
|
77
|
+
return this;
|
|
78
|
+
},
|
|
79
|
+
|
|
80
|
+
fit() {
|
|
81
|
+
current.camera.copy(camera.position);
|
|
82
|
+
if (controls) current.focus.copy(controls.target);
|
|
83
|
+
const {
|
|
84
|
+
center,
|
|
85
|
+
distance
|
|
86
|
+
} = getSize();
|
|
87
|
+
const direction = center.clone().sub(camera.position).normalize().multiplyScalar(distance);
|
|
88
|
+
goal.camera.copy(center).sub(direction);
|
|
89
|
+
goal.focus.copy(center);
|
|
90
|
+
|
|
91
|
+
if (isOrthographic(camera)) {
|
|
92
|
+
current.zoom = camera.zoom;
|
|
93
|
+
let maxHeight = 0,
|
|
94
|
+
maxWidth = 0;
|
|
95
|
+
const vertices = [new THREE.Vector3(box.min.x, box.min.y, box.min.z), new THREE.Vector3(box.min.x, box.max.y, box.min.z), new THREE.Vector3(box.min.x, box.min.y, box.max.z), new THREE.Vector3(box.min.x, box.max.y, box.max.z), new THREE.Vector3(box.max.x, box.max.y, box.max.z), new THREE.Vector3(box.max.x, box.max.y, box.min.z), new THREE.Vector3(box.max.x, box.min.y, box.max.z), new THREE.Vector3(box.max.x, box.min.y, box.min.z)]; // Transform the center and each corner to camera space
|
|
96
|
+
|
|
97
|
+
center.applyMatrix4(camera.matrixWorldInverse);
|
|
98
|
+
|
|
99
|
+
for (const v of vertices) {
|
|
100
|
+
v.applyMatrix4(camera.matrixWorldInverse);
|
|
101
|
+
maxHeight = Math.max(maxHeight, Math.abs(v.y - center.y));
|
|
102
|
+
maxWidth = Math.max(maxWidth, Math.abs(v.x - center.x));
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
maxHeight *= 2;
|
|
106
|
+
maxWidth *= 2;
|
|
107
|
+
const zoomForHeight = (camera.top - camera.bottom) / maxHeight;
|
|
108
|
+
const zoomForWidth = (camera.right - camera.left) / maxWidth;
|
|
109
|
+
goal.zoom = Math.min(zoomForHeight, zoomForWidth) / margin;
|
|
110
|
+
|
|
111
|
+
if (!damping) {
|
|
112
|
+
camera.zoom = goal.zoom;
|
|
113
|
+
camera.updateProjectionMatrix();
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
if (damping) {
|
|
118
|
+
current.animating = true;
|
|
119
|
+
} else {
|
|
120
|
+
camera.position.copy(goal.camera);
|
|
121
|
+
camera.lookAt(goal.focus);
|
|
122
|
+
|
|
123
|
+
if (controls) {
|
|
124
|
+
controls.target.copy(goal.focus);
|
|
125
|
+
controls.update();
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
invalidate();
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
return this;
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
};
|
|
135
|
+
}, [camera, controls, margin, damping, invalidate]);
|
|
136
|
+
React.useLayoutEffect(() => {
|
|
137
|
+
api.refresh();
|
|
138
|
+
if (fit) api.fit();
|
|
139
|
+
if (clip) api.clip();
|
|
140
|
+
|
|
141
|
+
if (controls) {
|
|
142
|
+
// Try to prevent drag hijacking
|
|
143
|
+
const callback = event => current.animating = false;
|
|
144
|
+
|
|
145
|
+
controls.addEventListener('start', callback);
|
|
146
|
+
return () => controls.removeEventListener('start', callback);
|
|
147
|
+
}
|
|
148
|
+
}, [api, fit, controls]);
|
|
149
|
+
useFrame((state, delta) => {
|
|
150
|
+
if (current.animating) {
|
|
151
|
+
damp(current.focus, goal.focus, damping, delta);
|
|
152
|
+
damp(current.camera, goal.camera, damping, delta);
|
|
153
|
+
current.zoom = THREE.MathUtils.damp(current.zoom, goal.zoom, damping, delta);
|
|
154
|
+
camera.position.copy(current.camera);
|
|
155
|
+
|
|
156
|
+
if (isOrthographic(camera)) {
|
|
157
|
+
camera.zoom = current.zoom;
|
|
158
|
+
camera.updateProjectionMatrix();
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
if (!controls) {
|
|
162
|
+
camera.lookAt(current.focus);
|
|
163
|
+
} else {
|
|
164
|
+
controls.target.copy(current.focus);
|
|
165
|
+
controls.update();
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
invalidate();
|
|
169
|
+
if (isOrthographic(camera) && !(Math.abs(current.zoom - goal.zoom) < eps)) return;
|
|
170
|
+
if (!isOrthographic(camera) && !equals(current.camera, goal.camera)) return;
|
|
171
|
+
if (controls && !equals(current.focus, goal.focus)) return;
|
|
172
|
+
current.animating = false;
|
|
173
|
+
}
|
|
174
|
+
});
|
|
175
|
+
return /*#__PURE__*/React.createElement("group", {
|
|
176
|
+
ref: ref
|
|
177
|
+
}, /*#__PURE__*/React.createElement(context.Provider, {
|
|
178
|
+
value: api
|
|
179
|
+
}, children));
|
|
180
|
+
}
|
|
181
|
+
function useBounds() {
|
|
182
|
+
return React.useContext(context);
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
export { Bounds, useBounds };
|
package/core/Stage.cjs.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("
|
|
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"),i=require("./Environment.cjs.js"),a=require("./ContactShadows.cjs.js");function o(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function s(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)}require("three-stdlib"),require("use-asset"),require("../helpers/environment-assets.cjs.js");var u=o(e),c=s(t),l=s(r);const f={rembrandt:{main:[1,2,1],fill:[-2,-.5,-2]},portrait:{main:[-1,2,.5],fill:[-1,.5,-1.5]},upfront:{main:[0,2,1],fill:[-1,.5,-1.5]},soft:{main:[-2,4,4],fill:[-1,.5,-1.5]}};exports.Stage=function({children:e,controls:t,shadows:r=!0,adjustCamera:o=!0,environment:s="city",intensity:d=1,preset:h="rembrandt",shadowBias:m=0,contactShadow:p={blur:2,opacity:.5,position:[0,0,0]},...b}){const g=f[h],y=n.useThree((e=>e.camera)),j=n.useThree((e=>e.controls)),w=c.useRef(null),E=c.useRef(null),[{radius:x,width:v,height:q},O]=c.useState({radius:0,width:0,height:0});return c.useLayoutEffect((()=>{w.current.position.set(0,0,0),w.current.updateWorldMatrix(!0,!0);const e=(new l.Box3).setFromObject(E.current),t=new l.Vector3,r=new l.Sphere,n=e.max.y-e.min.y,i=e.max.x-e.min.x;e.getCenter(t),e.getBoundingSphere(r),O({radius:r.radius,width:i,height:n}),w.current.position.set(-t.x,-t.y+n/2,-t.z)}),[e]),c.useLayoutEffect((()=>{if(o){const e=x/(q>v?1.5:2.5);y.position.set(0,.5*x,2.5*x),y.near=.1,y.far=Math.max(5e3,4*x),y.lookAt(0,e,0);const r=j||(null==t?void 0:t.current);r&&(r.target.set(0,e,0),r.update())}}),[j,x,q,v,o]),c.createElement("group",b,c.createElement("group",{ref:w},c.createElement("group",{ref:E},e)),p&&c.createElement(a.ContactShadows,u.default({"rotation-x":Math.PI/2,width:2*x,height:2*x,far:x/2},p)),s&&c.createElement(i.Environment,{preset:s}),c.createElement("ambientLight",{intensity:d/3}),c.createElement("spotLight",{penumbra:1,position:[g.main[0]*x,g.main[1]*x,g.main[2]*x],intensity:2*d,castShadow:r,"shadow-bias":m}),c.createElement("pointLight",{position:[g.fill[0]*x,g.fill[1]*x,g.fill[2]*x],intensity:d}))};
|
package/core/Stage.d.ts
CHANGED
|
@@ -24,7 +24,6 @@ declare type ControlsProto = {
|
|
|
24
24
|
target: THREE.Vector3;
|
|
25
25
|
};
|
|
26
26
|
declare type Props = JSX.IntrinsicElements['group'] & {
|
|
27
|
-
contactShadow?: boolean;
|
|
28
27
|
shadows?: boolean;
|
|
29
28
|
adjustCamera?: boolean;
|
|
30
29
|
environment?: PresetsType;
|
|
@@ -33,8 +32,11 @@ declare type Props = JSX.IntrinsicElements['group'] & {
|
|
|
33
32
|
controls?: React.MutableRefObject<ControlsProto>;
|
|
34
33
|
preset?: keyof typeof presets;
|
|
35
34
|
shadowBias?: number;
|
|
36
|
-
|
|
37
|
-
|
|
35
|
+
contactShadow?: {
|
|
36
|
+
blur: number;
|
|
37
|
+
opacity?: number;
|
|
38
|
+
position?: [x: number, y: number, z: number];
|
|
39
|
+
} | false;
|
|
38
40
|
};
|
|
39
|
-
export declare function Stage({ children, controls, shadows, adjustCamera, environment,
|
|
41
|
+
export declare function Stage({ children, controls, shadows, adjustCamera, environment, intensity, preset, shadowBias, contactShadow, ...props }: Props): JSX.Element;
|
|
40
42
|
export {};
|
package/core/Stage.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import _extends from '@babel/runtime/helpers/esm/extends';
|
|
1
2
|
import * as React from 'react';
|
|
2
3
|
import * as THREE from 'three';
|
|
3
4
|
import { useThree } from '@react-three/fiber';
|
|
@@ -28,12 +29,14 @@ function Stage({
|
|
|
28
29
|
shadows = true,
|
|
29
30
|
adjustCamera = true,
|
|
30
31
|
environment = 'city',
|
|
31
|
-
contactShadow = true,
|
|
32
32
|
intensity = 1,
|
|
33
33
|
preset = 'rembrandt',
|
|
34
34
|
shadowBias = 0,
|
|
35
|
-
|
|
36
|
-
|
|
35
|
+
contactShadow = {
|
|
36
|
+
blur: 2,
|
|
37
|
+
opacity: 0.5,
|
|
38
|
+
position: [0, 0, 0]
|
|
39
|
+
},
|
|
37
40
|
...props
|
|
38
41
|
}) {
|
|
39
42
|
const config = presets[preset];
|
|
@@ -88,14 +91,12 @@ function Stage({
|
|
|
88
91
|
ref: outer
|
|
89
92
|
}, /*#__PURE__*/React.createElement("group", {
|
|
90
93
|
ref: inner
|
|
91
|
-
}, children)), contactShadow && /*#__PURE__*/React.createElement(ContactShadows, {
|
|
94
|
+
}, children)), contactShadow && /*#__PURE__*/React.createElement(ContactShadows, _extends({
|
|
92
95
|
"rotation-x": Math.PI / 2,
|
|
93
|
-
opacity: contactShadowOpacity,
|
|
94
96
|
width: radius * 2,
|
|
95
97
|
height: radius * 2,
|
|
96
|
-
blur: contactShadowBlur,
|
|
97
98
|
far: radius / 2
|
|
98
|
-
}), environment && /*#__PURE__*/React.createElement(Environment, {
|
|
99
|
+
}, contactShadow)), environment && /*#__PURE__*/React.createElement(Environment, {
|
|
99
100
|
preset: environment
|
|
100
101
|
}), /*#__PURE__*/React.createElement("ambientLight", {
|
|
101
102
|
intensity: intensity / 3
|
package/core/index.cjs.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./Billboard.cjs.js"),r=require("./Cloud.cjs.js"),s=require("./QuadraticBezierLine.cjs.js"),t=require("./CubicBezierLine.cjs.js"),o=require("./Line.cjs.js"),i=require("./PositionalAudio.cjs.js"),u=require("./Text.cjs.js"),a=require("./Environment.cjs.js"),c=require("./Effects.cjs.js"),j=require("./GradientTexture.cjs.js"),p=require("./Image.cjs.js"),n=require("./OrthographicCamera.cjs.js"),l=require("./PerspectiveCamera.cjs.js"),x=require("./CameraShake.cjs.js"),q=require("./CubeCamera.cjs.js"),d=require("./DeviceOrientationControls.cjs.js"),C=require("./FlyControls.cjs.js"),h=require("./MapControls.cjs.js"),m=require("./OrbitControls.cjs.js"),b=require("./TrackballControls.cjs.js"),S=require("./ArcballControls.cjs.js"),P=require("./TransformControls.cjs.js"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./Billboard.cjs.js"),r=require("./Cloud.cjs.js"),s=require("./QuadraticBezierLine.cjs.js"),t=require("./CubicBezierLine.cjs.js"),o=require("./Line.cjs.js"),i=require("./PositionalAudio.cjs.js"),u=require("./Text.cjs.js"),a=require("./Environment.cjs.js"),c=require("./Effects.cjs.js"),j=require("./GradientTexture.cjs.js"),p=require("./Image.cjs.js"),n=require("./OrthographicCamera.cjs.js"),l=require("./PerspectiveCamera.cjs.js"),x=require("./CameraShake.cjs.js"),q=require("./CubeCamera.cjs.js"),d=require("./DeviceOrientationControls.cjs.js"),C=require("./FlyControls.cjs.js"),h=require("./MapControls.cjs.js"),m=require("./OrbitControls.cjs.js"),b=require("./TrackballControls.cjs.js"),S=require("./ArcballControls.cjs.js"),P=require("./TransformControls.cjs.js"),B=require("./PointerLockControls.cjs.js"),T=require("./FirstPersonControls.cjs.js"),M=require("./GizmoHelper.cjs.js"),f=require("./GizmoViewcube.cjs.js"),g=require("./GizmoViewport.cjs.js"),v=require("./useCubeTexture.cjs.js"),L=require("./useFBX.cjs.js"),A=require("./useGLTF.cjs.js"),G=require("./useProgress.cjs.js"),D=require("./useTexture.cjs.js"),w=require("./Reflector.cjs.js"),z=require("./Shadow.cjs.js"),k=require("./Stats.cjs.js"),F=require("./Center.cjs.js"),I=require("./Bounds.cjs.js"),O=require("./DepthBuffer.cjs.js"),E=require("./useAspect.cjs.js"),y=require("./useCamera.cjs.js"),H=require("./useDetectGPU.cjs.js"),R=require("./useHelper.cjs.js"),V=require("./useBVH.cjs.js"),Q=require("./useContextBridge.cjs.js"),W=require("./useAnimations.cjs.js"),N=require("./useFBO.cjs.js"),U=require("./useIntersect.cjs.js"),X=require("./useSimplification.cjs.js"),K=require("./useTessellation.cjs.js"),_=require("./useEdgeSplit.cjs.js"),J=require("./CurveModifier.cjs.js"),Y=require("./MeshDistortMaterial.cjs.js"),Z=require("./MeshWobbleMaterial.cjs.js"),$=require("./PointMaterial.cjs.js"),ee=require("./shaderMaterial.cjs.js"),re=require("./Sky.cjs.js"),se=require("./softShadows.cjs.js"),te=require("./Stars.cjs.js"),oe=require("./ContactShadows.cjs.js"),ie=require("./SpotLight.cjs.js"),ue=require("./shapes.cjs.js"),ae=require("./RoundedBox.cjs.js"),ce=require("./ScreenQuad.cjs.js"),je=require("./useMatcapTexture.cjs.js"),pe=require("./useNormalTexture.cjs.js"),ne=require("./Stage.cjs.js"),le=require("./Points.cjs.js"),xe=require("./Instances.cjs.js"),qe=require("./Detailed.cjs.js"),de=require("./Preload.cjs.js"),Ce=require("./BakeShadows.cjs.js"),he=require("./meshBounds.cjs.js"),me=require("./AdaptiveDpr.cjs.js"),be=require("./AdaptiveEvents.cjs.js");require("@babel/runtime/helpers/extends"),require("react"),require("@react-three/fiber"),require("react-merge-refs"),require("../assets/cloud.base64.cjs.js"),require("three"),require("three-stdlib"),require("troika-three-text"),require("use-asset"),require("../helpers/environment-assets.cjs.js"),require("lodash.omit"),require("lodash.pick"),require("zustand"),require("../materials/MeshReflectorMaterial.cjs.js"),require("three/examples/js/libs/stats.min"),require("../helpers/useEffectfulState.cjs.js"),require("detect-gpu"),require("three-mesh-bvh"),require("../materials/SpotLightMaterial.cjs.js"),require("../helpers/matcap-assets.cjs.js"),require("../helpers/normal-assets.cjs.js"),require("../helpers/Position.cjs.js"),require("react-composer"),exports.Billboard=e.Billboard,exports.Cloud=r.Cloud,exports.QuadraticBezierLine=s.QuadraticBezierLine,exports.CubicBezierLine=t.CubicBezierLine,exports.Line=o.Line,exports.PositionalAudio=i.PositionalAudio,exports.Text=u.Text,exports.Environment=a.Environment,exports.Effects=c.Effects,exports.isWebGL2Available=c.isWebGL2Available,exports.GradientTexture=j.GradientTexture,exports.Image=p.Image,exports.OrthographicCamera=n.OrthographicCamera,exports.PerspectiveCamera=l.PerspectiveCamera,exports.CameraShake=x.CameraShake,exports.CubeCamera=q.CubeCamera,exports.DeviceOrientationControls=d.DeviceOrientationControls,exports.FlyControls=C.FlyControls,exports.MapControls=h.MapControls,exports.OrbitControls=m.OrbitControls,exports.TrackballControls=b.TrackballControls,exports.ArcballControls=S.ArcballControls,exports.TransformControls=P.TransformControls,exports.PointerLockControls=B.PointerLockControls,exports.FirstPersonControls=T.FirstPersonControls,exports.GizmoHelper=M.GizmoHelper,exports.useGizmoContext=M.useGizmoContext,exports.GizmoViewcube=f.GizmoViewcube,exports.GizmoViewport=g.GizmoViewport,exports.useCubeTexture=v.useCubeTexture,exports.useFBX=L.useFBX,exports.useGLTF=A.useGLTF,exports.useProgress=G.useProgress,exports.IsObject=D.IsObject,exports.useTexture=D.useTexture,exports.Reflector=w.Reflector,exports.Shadow=z.Shadow,exports.Stats=k.Stats,exports.Center=F.Center,exports.Bounds=I.Bounds,exports.useBounds=I.useBounds,exports.DepthBuffer=O.DepthBuffer,exports.useAspect=E.useAspect,exports.useCamera=y.useCamera,exports.useDetectGPU=H.useDetectGPU,exports.useHelper=R.useHelper,exports.useBVH=V.useBVH,exports.useContextBridge=Q.useContextBridge,exports.useAnimations=W.useAnimations,exports.useFBO=N.useFBO,exports.useIntersect=U.useIntersect,exports.useSimplification=X.useSimplification,exports.useTessellation=K.useTessellation,exports.useEdgeSplit=_.useEdgeSplit,exports.CurveModifier=J.CurveModifier,exports.MeshDistortMaterial=Y.MeshDistortMaterial,exports.MeshWobbleMaterial=Z.MeshWobbleMaterial,exports.PointMaterial=$.PointMaterial,exports.PointMaterialImpl=$.PointMaterialImpl,exports.shaderMaterial=ee.shaderMaterial,exports.Sky=re.Sky,exports.calcPosFromAngles=re.calcPosFromAngles,exports.softShadows=se.softShadows,exports.Stars=te.Stars,exports.ContactShadows=oe.ContactShadows,exports.SpotLight=ie.SpotLight,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.Parametric=ue.Parametric,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=ce.ScreenQuad,exports.useMatcapTexture=je.useMatcapTexture,exports.useNormalTexture=pe.useNormalTexture,exports.Stage=ne.Stage,exports.Point=le.Point,exports.Points=le.Points,exports.Instance=xe.Instance,exports.Instances=xe.Instances,exports.Merged=xe.Merged,exports.Detailed=qe.Detailed,exports.Preload=de.Preload,exports.BakeShadows=Ce.BakeShadows,exports.meshBounds=he.meshBounds,exports.AdaptiveDpr=me.AdaptiveDpr,exports.AdaptiveEvents=be.AdaptiveEvents;
|
package/core/index.d.ts
CHANGED
package/core/index.js
CHANGED
|
@@ -34,6 +34,7 @@ export { Reflector } from './Reflector.js';
|
|
|
34
34
|
export { Shadow } from './Shadow.js';
|
|
35
35
|
export { Stats } from './Stats.js';
|
|
36
36
|
export { Center } from './Center.js';
|
|
37
|
+
export { Bounds, useBounds } from './Bounds.js';
|
|
37
38
|
export { DepthBuffer } from './DepthBuffer.js';
|
|
38
39
|
export { useAspect } from './useAspect.js';
|
|
39
40
|
export { useCamera } from './useCamera.js';
|