@react-three/drei 7.12.5 → 7.14.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/cloud.base64.js +2 -1
- package/core/ArcballControls.cjs.js +1 -0
- package/core/ArcballControls.d.ts +15 -0
- package/core/ArcballControls.js +82 -0
- package/core/Cloud.js +2 -2
- package/core/Instances.cjs.js +1 -1
- package/core/Instances.js +2 -2
- package/core/OrbitControls.cjs.js +1 -1
- package/core/OrbitControls.js +5 -2
- package/core/Points.cjs.js +1 -1
- package/core/Points.js +2 -2
- package/core/TrackballControls.cjs.js +1 -1
- package/core/TrackballControls.d.ts +2 -1
- package/core/TrackballControls.js +8 -2
- package/core/TransformControls.cjs.js +1 -1
- package/core/TransformControls.d.ts +2 -1
- package/core/TransformControls.js +16 -2
- package/core/index.cjs.js +1 -1
- package/core/index.d.ts +1 -0
- package/core/index.js +1 -0
- package/helpers/glsl/distort.vert.glsl.js +1 -1
- package/helpers/useEffectfulState.js +1 -1
- 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 +7 -7
- package/web/index.cjs.js +1 -1
- package/web/index.js +1 -0
package/assets/cloud.base64.js
CHANGED
|
@@ -1029,5 +1029,6 @@ Qj+oSHUlEcrBOw8esqMMtxFhcQWKOHTr3oMdkKzwgZt37jeP+oUTsDvU094Bwf/97eXVi8EsvHF7
|
|
|
1029
1029
|
wQl6fKAOgP1v0NDzhWOPaonS+Uc7hKGg16rTLeaYbJE71ntakUrVxpDLLO+74hH0G7zHA76zCuL9
|
|
1030
1030
|
G/zVNxwCv33vQ/bCrec9fuqtw/8HPnCpb7whAMsAAAAASUVORK5CYII=`;
|
|
1031
1031
|
const img = createImageUrl(blob, 'img/png');
|
|
1032
|
+
var CloudImage = img;
|
|
1032
1033
|
|
|
1033
|
-
export default
|
|
1034
|
+
export { CloudImage as default };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/extends"),r=require("@react-three/fiber"),t=require("react"),n=require("three-stdlib");function o(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function s(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 a=o(e),c=s(t);const u=c.forwardRef((({makeDefault:e,camera:t,regress:o,domElement:s,onChange:u,onStart:i,onEnd:l,...d},f)=>{const b=r.useThree((({invalidate:e})=>e)),m=r.useThree((({camera:e})=>e)),v=r.useThree((({gl:e})=>e)),h=r.useThree((({events:e})=>e)),p=r.useThree((({set:e})=>e)),E=r.useThree((({get:e})=>e)),g=r.useThree((({performance:e})=>e)),j=t||m,O=s||("boolean"!=typeof h.connected?h.connected:v.domElement),T=c.useMemo((()=>new n.ArcballControls(j)),[j]);return r.useFrame((()=>{T.enabled&&T.update()})),c.useEffect((()=>{const e=e=>{b(),o&&g.regress(),u&&u(e)};return T.connect(O),T.addEventListener("change",e),i&&T.addEventListener("start",i),l&&T.addEventListener("end",l),()=>{T.removeEventListener("change",e),i&&T.removeEventListener("start",i),l&&T.removeEventListener("end",l),T.dispose()}}),[O,u,i,l,o,T,b]),c.useEffect((()=>{if(e){const e=E().controls;return p({controls:T}),()=>p({controls:e})}}),[e,T]),c.createElement("primitive",a.default({ref:f,object:T},d))}));exports.ArcballControls=u;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { ReactThreeFiber } from '@react-three/fiber';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import * as THREE from 'three';
|
|
4
|
+
import { ArcballControls as ArcballControlsImpl } from 'three-stdlib';
|
|
5
|
+
export declare type ArcballControlsProps = ReactThreeFiber.Overwrite<ReactThreeFiber.Object3DNode<ArcballControlsImpl, typeof ArcballControlsImpl>, {
|
|
6
|
+
target?: ReactThreeFiber.Vector3;
|
|
7
|
+
camera?: THREE.Camera;
|
|
8
|
+
domElement?: HTMLElement;
|
|
9
|
+
regress?: boolean;
|
|
10
|
+
makeDefault?: boolean;
|
|
11
|
+
onChange?: (e?: THREE.Event) => void;
|
|
12
|
+
onStart?: (e?: THREE.Event) => void;
|
|
13
|
+
onEnd?: (e?: THREE.Event) => void;
|
|
14
|
+
}>;
|
|
15
|
+
export declare const ArcballControls: React.ForwardRefExoticComponent<Pick<ArcballControlsProps, string | number | symbol> & React.RefAttributes<any>>;
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import _extends from '@babel/runtime/helpers/esm/extends';
|
|
2
|
+
import { useThree, useFrame } from '@react-three/fiber';
|
|
3
|
+
import * as React from 'react';
|
|
4
|
+
import { ArcballControls as ArcballControls$1 } from 'three-stdlib';
|
|
5
|
+
|
|
6
|
+
const ArcballControls = /*#__PURE__*/React.forwardRef(({
|
|
7
|
+
makeDefault,
|
|
8
|
+
camera,
|
|
9
|
+
regress,
|
|
10
|
+
domElement,
|
|
11
|
+
onChange,
|
|
12
|
+
onStart,
|
|
13
|
+
onEnd,
|
|
14
|
+
...restProps
|
|
15
|
+
}, ref) => {
|
|
16
|
+
const invalidate = useThree(({
|
|
17
|
+
invalidate
|
|
18
|
+
}) => invalidate);
|
|
19
|
+
const defaultCamera = useThree(({
|
|
20
|
+
camera
|
|
21
|
+
}) => camera);
|
|
22
|
+
const gl = useThree(({
|
|
23
|
+
gl
|
|
24
|
+
}) => gl);
|
|
25
|
+
const events = useThree(({
|
|
26
|
+
events
|
|
27
|
+
}) => events);
|
|
28
|
+
const set = useThree(({
|
|
29
|
+
set
|
|
30
|
+
}) => set);
|
|
31
|
+
const get = useThree(({
|
|
32
|
+
get
|
|
33
|
+
}) => get);
|
|
34
|
+
const performance = useThree(({
|
|
35
|
+
performance
|
|
36
|
+
}) => performance);
|
|
37
|
+
const explCamera = camera || defaultCamera;
|
|
38
|
+
const explDomElement = domElement || (typeof events.connected !== 'boolean' ? events.connected : gl.domElement);
|
|
39
|
+
const controls = React.useMemo(() => new ArcballControls$1(explCamera), [explCamera]);
|
|
40
|
+
useFrame(() => {
|
|
41
|
+
if (controls.enabled) controls.update();
|
|
42
|
+
});
|
|
43
|
+
React.useEffect(() => {
|
|
44
|
+
const callback = e => {
|
|
45
|
+
invalidate();
|
|
46
|
+
if (regress) performance.regress();
|
|
47
|
+
if (onChange) onChange(e);
|
|
48
|
+
};
|
|
49
|
+
|
|
50
|
+
controls.connect(explDomElement);
|
|
51
|
+
controls.addEventListener('change', callback);
|
|
52
|
+
if (onStart) controls.addEventListener('start', onStart);
|
|
53
|
+
if (onEnd) controls.addEventListener('end', onEnd);
|
|
54
|
+
return () => {
|
|
55
|
+
controls.removeEventListener('change', callback);
|
|
56
|
+
if (onStart) controls.removeEventListener('start', onStart);
|
|
57
|
+
if (onEnd) controls.removeEventListener('end', onEnd);
|
|
58
|
+
controls.dispose();
|
|
59
|
+
}; // eslint-disable-next-line react-hooks/exhaustive-deps
|
|
60
|
+
}, [explDomElement, onChange, onStart, onEnd, regress, controls, invalidate]);
|
|
61
|
+
React.useEffect(() => {
|
|
62
|
+
if (makeDefault) {
|
|
63
|
+
// @ts-expect-error new in @react-three/fiber@7.0.5
|
|
64
|
+
const old = get().controls; // @ts-expect-error new in @react-three/fiber@7.0.5
|
|
65
|
+
|
|
66
|
+
set({
|
|
67
|
+
controls
|
|
68
|
+
}); // @ts-expect-error new in @react-three/fiber@7.0.5
|
|
69
|
+
|
|
70
|
+
return () => set({
|
|
71
|
+
controls: old
|
|
72
|
+
});
|
|
73
|
+
} // eslint-disable-next-line react-hooks/exhaustive-deps
|
|
74
|
+
|
|
75
|
+
}, [makeDefault, controls]);
|
|
76
|
+
return /*#__PURE__*/React.createElement("primitive", _extends({
|
|
77
|
+
ref: ref,
|
|
78
|
+
object: controls
|
|
79
|
+
}, restProps));
|
|
80
|
+
});
|
|
81
|
+
|
|
82
|
+
export { ArcballControls };
|
package/core/Cloud.js
CHANGED
|
@@ -2,7 +2,7 @@ import * as React from 'react';
|
|
|
2
2
|
import { useFrame } from '@react-three/fiber';
|
|
3
3
|
import { Billboard } from './Billboard.js';
|
|
4
4
|
import { useTexture } from './useTexture.js';
|
|
5
|
-
import
|
|
5
|
+
import CloudImage from '../assets/cloud.base64.js';
|
|
6
6
|
|
|
7
7
|
function Cloud({
|
|
8
8
|
opacity = 0.5,
|
|
@@ -14,7 +14,7 @@ function Cloud({
|
|
|
14
14
|
...props
|
|
15
15
|
}) {
|
|
16
16
|
const group = React.useRef();
|
|
17
|
-
const texture = useTexture(
|
|
17
|
+
const texture = useTexture(CloudImage);
|
|
18
18
|
const clouds = React.useMemo(() => [...new Array(segments)].map((_, index) => ({
|
|
19
19
|
x: width / 2 - Math.random() * width,
|
|
20
20
|
y: width / 2 - Math.random() * width,
|
package/core/Instances.cjs.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/extends"),t=require("three"),r=require("react"),n=require("@react-three/fiber"),a=require("react-merge-refs"),c=require("react-composer"),u=require("../helpers/Position.cjs.js");function o(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/extends"),t=require("three"),r=require("react"),n=require("@react-three/fiber"),a=require("react-merge-refs"),c=require("react-composer"),u=require("../helpers/Position.cjs.js");function o(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 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 s=o(e),l=i(t),f=i(r),d=o(a),m=o(c);let p,y;const x=f.createContext(null),b=new l.Matrix4,g=new l.Matrix4,h=new l.Matrix4,v=new l.Color,M=new l.Vector3,w=new l.Quaternion,j=new l.Vector3,A=f.forwardRef((({context:e,children:t,...r},a)=>{f.useMemo((()=>n.extend({Position:u.Position})),[]);const c=f.useRef(),{subscribe:o}=f.useContext(e||x);return f.useLayoutEffect((()=>o(c)),[]),f.createElement("position",s.default({ref:d.default([a,c])},r),t)})),E=f.forwardRef((({children:e,range:t,limit:r=1e3,frames:a=1/0,...c},u)=>{const[{context:o,instance:i}]=f.useState((()=>{const e=f.createContext(null);return{context:e,instance:f.forwardRef(((t,r)=>f.createElement(A,s.default({context:e},t,{ref:r}))))}})),m=f.useRef(null),[E,O]=f.useState([]),[[q,P]]=f.useState((()=>{const e=new Float32Array(16*r);for(p=0;p<r;p++)h.identity().toArray(e,16*p);return[e,new Float32Array([...new Array(3*r)].map((()=>1)))]}));f.useLayoutEffect((()=>{m.current.count=m.current.instanceMatrix.updateRange.count=m.current.instanceColor.updateRange.count=Math.min(r,void 0!==t?t:r,E.length)}),[E,t]),f.useEffect((()=>{m.current.instanceMatrix.needsUpdate=!0}));let _=0;n.useFrame((e=>{if(a===1/0||_<a){for(m.current.updateMatrix(),m.current.updateMatrixWorld(),b.copy(m.current.matrixWorld).invert(),p=0;p<E.length;p++)y=E[p].current,y.matrixWorld.decompose(M,w,j),g.compose(M,w,j).premultiply(b),g.equals(h.fromArray(q,16*p))||(g.toArray(q,16*p),m.current.instanceMatrix.needsUpdate=!0),y.color.equals(v.fromArray(P,3*p))||(y.color.toArray(P,3*p),m.current.instanceColor.needsUpdate=!0);_++}}));const C=f.useMemo((()=>{const e={};for(p=0;p<E.length;p++){var t;Object.assign(e,null==(t=E[p].current)?void 0:t.__r3f.handlers)}return Object.keys(e).reduce(((e,t)=>({...e,[t]:e=>{var r,n,a;const c=null==(r=E[e.instanceId])?void 0:r.current;return null==c||null==(n=c.__r3f)||null==(a=n.handlers)?void 0:a[t]({...e,object:c})}})),{})}),[e,E]),R=f.useMemo((()=>({subscribe:e=>(O((t=>[...t,e])),()=>O((t=>t.filter((t=>t.current!==e.current)))))})),[]);return f.createElement("instancedMesh",s.default({matrixAutoUpdate:!1,ref:d.default([u,m]),args:[null,null,0]},C,c),f.createElement("instancedBufferAttribute",{attach:"instanceMatrix",count:q.length/16,array:q,itemSize:16,usage:l.DynamicDrawUsage}),f.createElement("instancedBufferAttribute",{attach:"instanceColor",count:P.length/3,array:P,itemSize:3,usage:l.DynamicDrawUsage}),"function"==typeof e?f.createElement(o.Provider,{value:R},e(i)):f.createElement(x.Provider,{value:R},e))}));exports.Instance=A,exports.Instances=E,exports.Merged=function({meshes:e,children:t,...r}){const n=Array.isArray(e);return f.createElement(m.default,{components:(n?e:Object.values(e)).map((({geometry:e,material:t})=>f.createElement(E,s.default({geometry:e,material:t},r))))},(r=>n?t(...r):t(Object.keys(e).reduce(((e,t,n)=>({...e,[t]:r[n]})),{}))))};
|
package/core/Instances.js
CHANGED
|
@@ -108,9 +108,9 @@ const Instances = /*#__PURE__*/React.forwardRef(({
|
|
|
108
108
|
|
|
109
109
|
return Object.keys(events).reduce((prev, key) => ({ ...prev,
|
|
110
110
|
[key]: event => {
|
|
111
|
-
var _r3f, _r3f$handlers;
|
|
111
|
+
var _instances$event$inst, _r3f, _r3f$handlers;
|
|
112
112
|
|
|
113
|
-
const object = instances[event.instanceId].current;
|
|
113
|
+
const object = (_instances$event$inst = instances[event.instanceId]) == null ? void 0 : _instances$event$inst.current;
|
|
114
114
|
return object == null ? void 0 : (_r3f = object.__r3f) == null ? void 0 : (_r3f$handlers = _r3f.handlers) == null ? void 0 : _r3f$handlers[key]({ ...event,
|
|
115
115
|
object
|
|
116
116
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/extends"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/extends"),t=require("@react-three/fiber"),r=require("react"),n=require("three-stdlib");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)}var a=o(e),u=s(r);const c=u.forwardRef((({makeDefault:e,camera:r,regress:o,domElement:s,enableDamping:c=!0,onChange:i,onStart:d,onEnd:l,...f},b)=>{const m=t.useThree((({invalidate:e})=>e)),v=t.useThree((({camera:e})=>e)),p=t.useThree((({gl:e})=>e)),h=t.useThree((({events:e})=>e)),E=t.useThree((({set:e})=>e)),g=t.useThree((({get:e})=>e)),O=t.useThree((({performance:e})=>e)),j=r||v,T=s||("boolean"!=typeof h.connected?h.connected:p.domElement),y=u.useMemo((()=>new n.OrbitControls(j)),[j]);return t.useFrame((()=>{y.enabled&&y.update()})),u.useEffect((()=>{const e=e=>{m(),o&&O.regress(),i&&i(e)};return y.connect(T),y.addEventListener("change",e),d&&y.addEventListener("start",d),l&&y.addEventListener("end",l),()=>{y.removeEventListener("change",e),d&&y.removeEventListener("start",d),l&&y.removeEventListener("end",l),y.dispose()}}),[T,i,d,l,o,y,m]),u.useEffect((()=>{if(e){const e=g().controls;return E({controls:y}),()=>E({controls:e})}}),[e,y]),u.createElement("primitive",a.default({ref:b,object:y,enableDamping:c},f))}));exports.OrbitControls=c;
|
package/core/OrbitControls.js
CHANGED
|
@@ -23,6 +23,9 @@ const OrbitControls = /*#__PURE__*/React.forwardRef(({
|
|
|
23
23
|
const gl = useThree(({
|
|
24
24
|
gl
|
|
25
25
|
}) => gl);
|
|
26
|
+
const events = useThree(({
|
|
27
|
+
events
|
|
28
|
+
}) => events);
|
|
26
29
|
const set = useThree(({
|
|
27
30
|
set
|
|
28
31
|
}) => set);
|
|
@@ -33,7 +36,7 @@ const OrbitControls = /*#__PURE__*/React.forwardRef(({
|
|
|
33
36
|
performance
|
|
34
37
|
}) => performance);
|
|
35
38
|
const explCamera = camera || defaultCamera;
|
|
36
|
-
const explDomElement = domElement || gl.domElement;
|
|
39
|
+
const explDomElement = domElement || (typeof events.connected !== 'boolean' ? events.connected : gl.domElement);
|
|
37
40
|
const controls = React.useMemo(() => new OrbitControls$1(explCamera), [explCamera]);
|
|
38
41
|
useFrame(() => {
|
|
39
42
|
if (controls.enabled) controls.update();
|
|
@@ -55,7 +58,7 @@ const OrbitControls = /*#__PURE__*/React.forwardRef(({
|
|
|
55
58
|
if (onEnd) controls.removeEventListener('end', onEnd);
|
|
56
59
|
controls.dispose();
|
|
57
60
|
}; // eslint-disable-next-line react-hooks/exhaustive-deps
|
|
58
|
-
}, [onChange, onStart, onEnd, regress, controls, invalidate]);
|
|
61
|
+
}, [explDomElement, onChange, onStart, onEnd, regress, controls, invalidate]);
|
|
59
62
|
React.useEffect(() => {
|
|
60
63
|
if (makeDefault) {
|
|
61
64
|
// @ts-expect-error new in @react-three/fiber@7.0.5
|
package/core/Points.cjs.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/extends"),t=require("three"),r=require("react"),n=require("@react-three/fiber"),a=require("react-merge-refs"),u=require("../helpers/Position.cjs.js");function o(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 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=o(e),s=i(t),l=i(r),f=o(a);let d,b;const m=l.createContext(null),p=new s.Matrix4,y=new s.Vector3,g=new s.Color,h=l.forwardRef((({children:e,range:t,limit:r=1e3,...a},u)=>{const o=l.useRef(null),[i,h]=l.useState([]),[[x,j]]=l.useState((()=>[new Float32Array(3*r),new Float32Array([...new Array(3*r)].map((()=>1)))]));l.useLayoutEffect((()=>{o.current.geometry.drawRange.count=Math.min(r,void 0!==t?t:r,i.length)}),[i,t]),l.useEffect((()=>{o.current.geometry.attributes.position.needsUpdate=!0})),n.useFrame((()=>{for(o.current.updateMatrix(),o.current.updateMatrixWorld(),p.copy(o.current.matrixWorld).invert(),d=0;d<i.length;d++)b=i[d].current,b.getWorldPosition(y).applyMatrix4(p),y.x===x[3*d]&&y.y===x[3*d+1]&&y.z===x[3*d+2]||(y.toArray(x,3*d),o.current.geometry.attributes.position.needsUpdate=!0,b.matrixWorldNeedsUpdate=!0),b.color.equals(g.fromArray(j,3*d))||(b.color.toArray(j,3*d),o.current.geometry.attributes.color.needsUpdate=!0)}));const v=l.useMemo((()=>{const e={};for(d=0;d<i.length;d++){var t;Object.assign(e,null==(t=i[d].current)?void 0:t.__r3f.handlers)}return Object.keys(e).reduce(((e,t)=>({...e,[t]:e=>{var r,n;const
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/extends"),t=require("three"),r=require("react"),n=require("@react-three/fiber"),a=require("react-merge-refs"),u=require("../helpers/Position.cjs.js");function o(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 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=o(e),s=i(t),l=i(r),f=o(a);let d,b;const m=l.createContext(null),p=new s.Matrix4,y=new s.Vector3,g=new s.Color,h=l.forwardRef((({children:e,range:t,limit:r=1e3,...a},u)=>{const o=l.useRef(null),[i,h]=l.useState([]),[[x,j]]=l.useState((()=>[new Float32Array(3*r),new Float32Array([...new Array(3*r)].map((()=>1)))]));l.useLayoutEffect((()=>{o.current.geometry.drawRange.count=Math.min(r,void 0!==t?t:r,i.length)}),[i,t]),l.useEffect((()=>{o.current.geometry.attributes.position.needsUpdate=!0})),n.useFrame((()=>{for(o.current.updateMatrix(),o.current.updateMatrixWorld(),p.copy(o.current.matrixWorld).invert(),d=0;d<i.length;d++)b=i[d].current,b.getWorldPosition(y).applyMatrix4(p),y.x===x[3*d]&&y.y===x[3*d+1]&&y.z===x[3*d+2]||(y.toArray(x,3*d),o.current.geometry.attributes.position.needsUpdate=!0,b.matrixWorldNeedsUpdate=!0),b.color.equals(g.fromArray(j,3*d))||(b.color.toArray(j,3*d),o.current.geometry.attributes.color.needsUpdate=!0)}));const v=l.useMemo((()=>{const e={};for(d=0;d<i.length;d++){var t;Object.assign(e,null==(t=i[d].current)?void 0:t.__r3f.handlers)}return Object.keys(e).reduce(((e,t)=>({...e,[t]:e=>{var r,n,a;const u=null==(r=i[e.index])?void 0:r.current;return null==u||null==(n=u.__r3f)||null==(a=n.handlers)?void 0:a[t]({...e,object:u})}})),{})}),[e,i]),w=l.useMemo((()=>({subscribe:e=>(h((t=>[...t,e])),()=>h((t=>t.filter((t=>t.current!==e.current)))))})),[]);return l.createElement("points",c.default({matrixAutoUpdate:!1,ref:f.default([u,o])},v,a),l.createElement("bufferGeometry",null,l.createElement("bufferAttribute",{attachObject:["attributes","position"],count:x.length/3,array:x,itemSize:3,usage:s.DynamicDrawUsage}),l.createElement("bufferAttribute",{attachObject:["attributes","color"],count:j.length/3,array:j,itemSize:3,usage:s.DynamicDrawUsage})),l.createElement(m.Provider,{value:w},e))})),x=l.forwardRef((({children:e,...t},r)=>{l.useMemo((()=>n.extend({Position:u.Position})),[]);const a=l.useRef(),{subscribe:o}=l.useContext(m);return l.useLayoutEffect((()=>o(a)),[]),l.createElement("position",c.default({ref:f.default([r,a])},t),e)}));exports.Point=x,exports.Points=h;
|
package/core/Points.js
CHANGED
|
@@ -58,9 +58,9 @@ const Points = /*#__PURE__*/React.forwardRef(({
|
|
|
58
58
|
|
|
59
59
|
return Object.keys(events).reduce((prev, key) => ({ ...prev,
|
|
60
60
|
[key]: event => {
|
|
61
|
-
var _r3f, _r3f$handlers;
|
|
61
|
+
var _refs$event$index, _r3f, _r3f$handlers;
|
|
62
62
|
|
|
63
|
-
const object = refs[event.index].current;
|
|
63
|
+
const object = (_refs$event$index = refs[event.index]) == null ? void 0 : _refs$event$index.current;
|
|
64
64
|
return object == null ? void 0 : (_r3f = object.__r3f) == null ? void 0 : (_r3f$handlers = _r3f.handlers) == null ? void 0 : _r3f$handlers[key]({ ...event,
|
|
65
65
|
object
|
|
66
66
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/extends"),r=require("@react-three/fiber"),t=require("react"),n=require("three-stdlib");function
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/extends"),r=require("@react-three/fiber"),t=require("react"),n=require("three-stdlib");function o(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function s(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 a=o(e),c=s(t);const u=c.forwardRef((({makeDefault:e,camera:t,domElement:o,regress:s,onChange:u,onStart:i,onEnd:l,...d},f)=>{const b=r.useThree((({invalidate:e})=>e)),m=r.useThree((({camera:e})=>e)),v=r.useThree((({gl:e})=>e)),h=r.useThree((({events:e})=>e)),p=r.useThree((({set:e})=>e)),E=r.useThree((({get:e})=>e)),g=r.useThree((({performance:e})=>e)),T=t||m,j=o||("boolean"!=typeof h.connected?h.connected:v.domElement),O=c.useMemo((()=>new n.TrackballControls(T)),[T]);return r.useFrame((()=>{O.enabled&&O.update()})),c.useEffect((()=>{const e=e=>{b(),s&&g.regress(),u&&u(e)};return O.connect(j),O.addEventListener("change",e),i&&O.addEventListener("start",i),l&&O.addEventListener("end",l),()=>{O.removeEventListener("change",e),i&&O.removeEventListener("start",i),l&&O.removeEventListener("end",l),O.dispose()}}),[j,u,i,l,s,O,b]),c.useEffect((()=>{if(e){const e=E().controls;return p({controls:O}),()=>p({controls:e})}}),[e,O]),c.createElement("primitive",a.default({ref:f,object:O},d))}));exports.TrackballControls=u;
|
|
@@ -5,10 +5,11 @@ import { TrackballControls as TrackballControlsImpl } from 'three-stdlib';
|
|
|
5
5
|
export declare type TrackballControlsProps = ReactThreeFiber.Overwrite<ReactThreeFiber.Object3DNode<TrackballControlsImpl, typeof TrackballControlsImpl>, {
|
|
6
6
|
target?: ReactThreeFiber.Vector3;
|
|
7
7
|
camera?: THREE.Camera;
|
|
8
|
+
domElement?: HTMLElement;
|
|
8
9
|
regress?: boolean;
|
|
9
10
|
makeDefault?: boolean;
|
|
10
11
|
onChange?: (e?: THREE.Event) => void;
|
|
11
12
|
onStart?: (e?: THREE.Event) => void;
|
|
12
13
|
onEnd?: (e?: THREE.Event) => void;
|
|
13
14
|
}>;
|
|
14
|
-
export declare const TrackballControls: React.ForwardRefExoticComponent<Pick<TrackballControlsProps, "object" | "attach" | "attachArray" | "attachObject" | "args" | "children" | "key" | "onUpdate" | "position" | "up" | "scale" | "rotation" | "matrix" | "quaternion" | "layers" | "dispose" | "addEventListener" | "hasEventListener" | "removeEventListener" | "dispatchEvent" | "onChange" | keyof import("@react-three/fiber/dist/declarations/src/core/events").EventHandlers | "camera" | "screen" | "reset" | "enabled" | "target" | "makeDefault" | "update" | "domElement" | "minDistance" | "maxDistance" | "zoomSpeed" | "rotateSpeed" | "panSpeed" | "keys" | "mouseButtons" | "onStart" | "onEnd" | "regress" | "noRotate" | "noZoom" | "noPan" | "staticMoving" | "dynamicDampingFactor"> & React.RefAttributes<TrackballControlsImpl>>;
|
|
15
|
+
export declare const TrackballControls: React.ForwardRefExoticComponent<Pick<TrackballControlsProps, "object" | "attach" | "attachArray" | "attachObject" | "args" | "children" | "key" | "onUpdate" | "position" | "up" | "scale" | "rotation" | "matrix" | "quaternion" | "layers" | "dispose" | "addEventListener" | "hasEventListener" | "removeEventListener" | "dispatchEvent" | "onChange" | keyof import("@react-three/fiber/dist/declarations/src/core/events").EventHandlers | "camera" | "screen" | "reset" | "enabled" | "connect" | "target" | "makeDefault" | "update" | "domElement" | "minDistance" | "maxDistance" | "zoomSpeed" | "rotateSpeed" | "panSpeed" | "keys" | "mouseButtons" | "onStart" | "onEnd" | "regress" | "noRotate" | "noZoom" | "noPan" | "staticMoving" | "dynamicDampingFactor"> & React.RefAttributes<TrackballControlsImpl>>;
|
|
@@ -6,6 +6,7 @@ import { TrackballControls as TrackballControls$1 } from 'three-stdlib';
|
|
|
6
6
|
const TrackballControls = /*#__PURE__*/React.forwardRef(({
|
|
7
7
|
makeDefault,
|
|
8
8
|
camera,
|
|
9
|
+
domElement,
|
|
9
10
|
regress,
|
|
10
11
|
onChange,
|
|
11
12
|
onStart,
|
|
@@ -21,6 +22,9 @@ const TrackballControls = /*#__PURE__*/React.forwardRef(({
|
|
|
21
22
|
const gl = useThree(({
|
|
22
23
|
gl
|
|
23
24
|
}) => gl);
|
|
25
|
+
const events = useThree(({
|
|
26
|
+
events
|
|
27
|
+
}) => events);
|
|
24
28
|
const set = useThree(({
|
|
25
29
|
set
|
|
26
30
|
}) => set);
|
|
@@ -31,7 +35,8 @@ const TrackballControls = /*#__PURE__*/React.forwardRef(({
|
|
|
31
35
|
performance
|
|
32
36
|
}) => performance);
|
|
33
37
|
const explCamera = camera || defaultCamera;
|
|
34
|
-
const
|
|
38
|
+
const explDomElement = domElement || (typeof events.connected !== 'boolean' ? events.connected : gl.domElement);
|
|
39
|
+
const controls = React.useMemo(() => new TrackballControls$1(explCamera), [explCamera]);
|
|
35
40
|
useFrame(() => {
|
|
36
41
|
if (controls.enabled) controls.update();
|
|
37
42
|
});
|
|
@@ -42,6 +47,7 @@ const TrackballControls = /*#__PURE__*/React.forwardRef(({
|
|
|
42
47
|
if (onChange) onChange(e);
|
|
43
48
|
};
|
|
44
49
|
|
|
50
|
+
controls.connect(explDomElement);
|
|
45
51
|
controls.addEventListener('change', callback);
|
|
46
52
|
if (onStart) controls.addEventListener('start', onStart);
|
|
47
53
|
if (onEnd) controls.addEventListener('end', onEnd);
|
|
@@ -51,7 +57,7 @@ const TrackballControls = /*#__PURE__*/React.forwardRef(({
|
|
|
51
57
|
if (onEnd) controls.removeEventListener('end', onEnd);
|
|
52
58
|
controls.dispose();
|
|
53
59
|
}; // eslint-disable-next-line react-hooks/exhaustive-deps
|
|
54
|
-
}, [onChange, onStart, onEnd, regress, controls, invalidate]);
|
|
60
|
+
}, [explDomElement, onChange, onStart, onEnd, regress, controls, invalidate]);
|
|
55
61
|
React.useEffect(() => {
|
|
56
62
|
if (makeDefault) {
|
|
57
63
|
// @ts-expect-error new in @react-three/fiber@7.0.5
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/extends"),n=require("@react-three/fiber"),t=require("lodash.omit"),r=require("lodash.pick"),l=require("react"),u=require("three-stdlib");function o(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/extends"),n=require("@react-three/fiber"),t=require("lodash.omit"),r=require("lodash.pick"),l=require("react"),u=require("three"),a=require("three-stdlib");function o(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function s(e){if(e&&e.__esModule)return e;var n=Object.create(null);return e&&Object.keys(e).forEach((function(t){if("default"!==t){var r=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(n,t,r.get?r:{enumerable:!0,get:function(){return e[t]}})}})),n.default=e,Object.freeze(n)}var i=o(e),c=o(t),d=o(r),v=s(l),f=s(u);const m=v.forwardRef((({children:e,onChange:t,onMouseDown:r,onMouseUp:l,onObjectChange:u,object:o,...s},m)=>{const E=["enabled","axis","mode","translationSnap","rotationSnap","scaleSnap","space","size","showX","showY","showZ"],{camera:h,...b}=s,g=d.default(b,E),p=c.default(b,E),L=n.useThree((e=>e.controls)),j=n.useThree((({gl:e})=>e)),w=n.useThree((({camera:e})=>e)),O=n.useThree((({invalidate:e})=>e)),q=h||w,[y]=v.useState((()=>new a.TransformControls(q,j.domElement))),C=v.useRef();return v.useLayoutEffect((()=>{o?null==y||y.attach(o instanceof f.Object3D?o:o.current):null==y||y.attach(C.current)}),[o,e,y]),v.useEffect((()=>{if(L){const e=e=>L.enabled=!e.value;return y.addEventListener("dragging-changed",e),()=>y.removeEventListener("dragging-changed",e)}}),[y,L]),v.useEffect((()=>{const e=e=>{O(),t&&t(e)};return null==y||null==y.addEventListener||y.addEventListener("change",e),r&&(null==y||null==y.addEventListener||y.addEventListener("mouseDown",r)),l&&(null==y||null==y.addEventListener||y.addEventListener("mouseUp",l)),u&&(null==y||null==y.addEventListener||y.addEventListener("objectChange",u)),()=>{null==y||null==y.removeEventListener||y.removeEventListener("change",e),r&&(null==y||null==y.removeEventListener||y.removeEventListener("mouseDown",r)),l&&(null==y||null==y.removeEventListener||y.removeEventListener("mouseUp",l)),u&&(null==y||null==y.removeEventListener||y.removeEventListener("objectChange",u))}}),[t,r,l,u,y,O]),y?v.createElement(v.Fragment,null,v.createElement("primitive",i.default({ref:m,dispose:void 0,object:y},g)),v.createElement("group",i.default({ref:C},p),e)):null}));exports.TransformControls=m;
|
|
@@ -3,6 +3,7 @@ import * as React from 'react';
|
|
|
3
3
|
import * as THREE from 'three';
|
|
4
4
|
import { TransformControls as TransformControlsImpl } from 'three-stdlib';
|
|
5
5
|
export declare type TransformControlsProps = ReactThreeFiber.Object3DNode<TransformControlsImpl, typeof TransformControlsImpl> & JSX.IntrinsicElements['group'] & {
|
|
6
|
+
object?: THREE.Object3D | React.MutableRefObject<THREE.Object3D>;
|
|
6
7
|
enabled?: boolean;
|
|
7
8
|
axis?: string | null;
|
|
8
9
|
mode?: string;
|
|
@@ -21,4 +22,4 @@ export declare type TransformControlsProps = ReactThreeFiber.Object3DNode<Transf
|
|
|
21
22
|
onMouseUp?: (e?: THREE.Event) => void;
|
|
22
23
|
onObjectChange?: (e?: THREE.Event) => void;
|
|
23
24
|
};
|
|
24
|
-
export declare const TransformControls: React.ForwardRefExoticComponent<Pick<TransformControlsProps, "visible" | "attach" | "attachArray" | "attachObject" | "args" | "children" | "key" | "onUpdate" | "position" | "up" | "scale" | "rotation" | "matrix" | "quaternion" | "layers" | "dispose" | "type" | "isGroup" | "id" | "uuid" | "name" | "parent" | "modelViewMatrix" | "normalMatrix" | "matrixWorld" | "matrixAutoUpdate" | "matrixWorldNeedsUpdate" | "castShadow" | "receiveShadow" | "frustumCulled" | "renderOrder" | "animations" | "userData" | "customDepthMaterial" | "customDistanceMaterial" | "isObject3D" | "onBeforeRender" | "onAfterRender" | "applyMatrix4" | "applyQuaternion" | "setRotationFromAxisAngle" | "setRotationFromEuler" | "setRotationFromMatrix" | "setRotationFromQuaternion" | "rotateOnAxis" | "rotateOnWorldAxis" | "rotateX" | "rotateY" | "rotateZ" | "translateOnAxis" | "translateX" | "translateY" | "translateZ" | "localToWorld" | "worldToLocal" | "lookAt" | "add" | "remove" | "clear" | "getObjectById" | "getObjectByName" | "getObjectByProperty" | "getWorldPosition" | "getWorldQuaternion" | "getWorldScale" | "getWorldDirection" | "raycast" | "traverse" | "traverseVisible" | "traverseAncestors" | "updateMatrix" | "updateMatrixWorld" | "updateWorldMatrix" | "toJSON" | "clone" | "copy" | "addEventListener" | "hasEventListener" | "removeEventListener" | "dispatchEvent" | "onChange" | "onMouseDown" | "onMouseUp" | keyof import("@react-three/fiber/dist/declarations/src/core/events").EventHandlers | "camera" | "size" | "space" | "enabled" | "setSize" | "update" | "isTransformControls" | "detach" | "getMode" | "setMode" | "setTranslationSnap" | "setRotationSnap" | "setScaleSnap" | "setSpace" | "onObjectChange" | "axis" | "mode" | "translationSnap" | "rotationSnap" | "scaleSnap" | "showX" | "showY" | "showZ"> & React.RefAttributes<TransformControlsImpl<THREE.Camera>>>;
|
|
25
|
+
export declare const TransformControls: React.ForwardRefExoticComponent<Pick<TransformControlsProps, "object" | "visible" | "attach" | "attachArray" | "attachObject" | "args" | "children" | "key" | "onUpdate" | "position" | "up" | "scale" | "rotation" | "matrix" | "quaternion" | "layers" | "dispose" | "type" | "isGroup" | "id" | "uuid" | "name" | "parent" | "modelViewMatrix" | "normalMatrix" | "matrixWorld" | "matrixAutoUpdate" | "matrixWorldNeedsUpdate" | "castShadow" | "receiveShadow" | "frustumCulled" | "renderOrder" | "animations" | "userData" | "customDepthMaterial" | "customDistanceMaterial" | "isObject3D" | "onBeforeRender" | "onAfterRender" | "applyMatrix4" | "applyQuaternion" | "setRotationFromAxisAngle" | "setRotationFromEuler" | "setRotationFromMatrix" | "setRotationFromQuaternion" | "rotateOnAxis" | "rotateOnWorldAxis" | "rotateX" | "rotateY" | "rotateZ" | "translateOnAxis" | "translateX" | "translateY" | "translateZ" | "localToWorld" | "worldToLocal" | "lookAt" | "add" | "remove" | "clear" | "getObjectById" | "getObjectByName" | "getObjectByProperty" | "getWorldPosition" | "getWorldQuaternion" | "getWorldScale" | "getWorldDirection" | "raycast" | "traverse" | "traverseVisible" | "traverseAncestors" | "updateMatrix" | "updateMatrixWorld" | "updateWorldMatrix" | "toJSON" | "clone" | "copy" | "addEventListener" | "hasEventListener" | "removeEventListener" | "dispatchEvent" | "onChange" | "onMouseDown" | "onMouseUp" | keyof import("@react-three/fiber/dist/declarations/src/core/events").EventHandlers | "camera" | "size" | "space" | "enabled" | "setSize" | "update" | "isTransformControls" | "detach" | "getMode" | "setMode" | "setTranslationSnap" | "setRotationSnap" | "setScaleSnap" | "setSpace" | "onObjectChange" | "axis" | "mode" | "translationSnap" | "rotationSnap" | "scaleSnap" | "showX" | "showY" | "showZ"> & React.RefAttributes<TransformControlsImpl<THREE.Camera>>>;
|
|
@@ -3,6 +3,7 @@ import { useThree } from '@react-three/fiber';
|
|
|
3
3
|
import omit from 'lodash.omit';
|
|
4
4
|
import pick from 'lodash.pick';
|
|
5
5
|
import * as React from 'react';
|
|
6
|
+
import * as THREE from 'three';
|
|
6
7
|
import { TransformControls as TransformControls$1 } from 'three-stdlib';
|
|
7
8
|
|
|
8
9
|
const TransformControls = /*#__PURE__*/React.forwardRef(({
|
|
@@ -11,6 +12,7 @@ const TransformControls = /*#__PURE__*/React.forwardRef(({
|
|
|
11
12
|
onMouseDown,
|
|
12
13
|
onMouseUp,
|
|
13
14
|
onObjectChange,
|
|
15
|
+
object,
|
|
14
16
|
...props
|
|
15
17
|
}, ref) => {
|
|
16
18
|
const transformOnlyPropNames = ['enabled', 'axis', 'mode', 'translationSnap', 'rotationSnap', 'scaleSnap', 'space', 'size', 'showX', 'showY', 'showZ'];
|
|
@@ -19,7 +21,9 @@ const TransformControls = /*#__PURE__*/React.forwardRef(({
|
|
|
19
21
|
...rest
|
|
20
22
|
} = props;
|
|
21
23
|
const transformProps = pick(rest, transformOnlyPropNames);
|
|
22
|
-
const objectProps = omit(rest, transformOnlyPropNames);
|
|
24
|
+
const objectProps = omit(rest, transformOnlyPropNames); // @ts-expect-error new in @react-three/fiber@7.0.5
|
|
25
|
+
|
|
26
|
+
const defaultControls = useThree(state => state.controls);
|
|
23
27
|
const gl = useThree(({
|
|
24
28
|
gl
|
|
25
29
|
}) => gl);
|
|
@@ -32,7 +36,17 @@ const TransformControls = /*#__PURE__*/React.forwardRef(({
|
|
|
32
36
|
const explCamera = camera || defaultCamera;
|
|
33
37
|
const [controls] = React.useState(() => new TransformControls$1(explCamera, gl.domElement));
|
|
34
38
|
const group = React.useRef();
|
|
35
|
-
React.useLayoutEffect(() =>
|
|
39
|
+
React.useLayoutEffect(() => {
|
|
40
|
+
if (object) controls == null ? void 0 : controls.attach(object instanceof THREE.Object3D ? object : object.current);else controls == null ? void 0 : controls.attach(group.current);
|
|
41
|
+
}, [object, children, controls]);
|
|
42
|
+
React.useEffect(() => {
|
|
43
|
+
if (defaultControls) {
|
|
44
|
+
const callback = event => defaultControls.enabled = !event.value;
|
|
45
|
+
|
|
46
|
+
controls.addEventListener('dragging-changed', callback);
|
|
47
|
+
return () => controls.removeEventListener('dragging-changed', callback);
|
|
48
|
+
}
|
|
49
|
+
}, [controls, defaultControls]);
|
|
36
50
|
React.useEffect(() => {
|
|
37
51
|
const callback = e => {
|
|
38
52
|
invalidate();
|
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"),
|
|
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("./OrthographicCamera.cjs.js"),n=require("./PerspectiveCamera.cjs.js"),l=require("./CameraShake.cjs.js"),x=require("./CubeCamera.cjs.js"),q=require("./DeviceOrientationControls.cjs.js"),d=require("./FlyControls.cjs.js"),C=require("./MapControls.cjs.js"),h=require("./OrbitControls.cjs.js"),m=require("./TrackballControls.cjs.js"),b=require("./ArcballControls.cjs.js"),S=require("./TransformControls.cjs.js"),P=require("./PointerLockControls.cjs.js"),T=require("./FirstPersonControls.cjs.js"),f=require("./GizmoHelper.cjs.js"),B=require("./GizmoViewcube.cjs.js"),M=require("./GizmoViewport.cjs.js"),g=require("./useCubeTexture.cjs.js"),v=require("./useFBX.cjs.js"),L=require("./useGLTF.cjs.js"),A=require("./useProgress.cjs.js"),G=require("./useTexture.cjs.js"),D=require("./Reflector.cjs.js"),w=require("./Shadow.cjs.js"),z=require("./Stats.cjs.js"),k=require("./Center.cjs.js"),F=require("./DepthBuffer.cjs.js"),O=require("./useAspect.cjs.js"),E=require("./useCamera.cjs.js"),y=require("./useDetectGPU.cjs.js"),I=require("./useHelper.cjs.js"),H=require("./useBVH.cjs.js"),R=require("./useContextBridge.cjs.js"),V=require("./useAnimations.cjs.js"),Q=require("./useFBO.cjs.js"),W=require("./useSimplification.cjs.js"),N=require("./useTessellation.cjs.js"),U=require("./useEdgeSplit.cjs.js"),X=require("./CurveModifier.cjs.js"),K=require("./MeshDistortMaterial.cjs.js"),_=require("./MeshWobbleMaterial.cjs.js"),J=require("./PointMaterial.cjs.js"),Y=require("./shaderMaterial.cjs.js"),Z=require("./Sky.cjs.js"),$=require("./softShadows.cjs.js"),ee=require("./Stars.cjs.js"),re=require("./ContactShadows.cjs.js"),se=require("./SpotLight.cjs.js"),te=require("./shapes.cjs.js"),oe=require("./RoundedBox.cjs.js"),ie=require("./ScreenQuad.cjs.js"),ue=require("./useMatcapTexture.cjs.js"),ae=require("./useNormalTexture.cjs.js"),ce=require("./Stage.cjs.js"),je=require("./Points.cjs.js"),pe=require("./Instances.cjs.js"),ne=require("./Detailed.cjs.js"),le=require("./Preload.cjs.js"),xe=require("./BakeShadows.cjs.js"),qe=require("./meshBounds.cjs.js"),de=require("./AdaptiveDpr.cjs.js"),Ce=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("../helpers/base64.cjs.js"),require("blob-polyfill"),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.OrthographicCamera=p.OrthographicCamera,exports.PerspectiveCamera=n.PerspectiveCamera,exports.CameraShake=l.CameraShake,exports.CubeCamera=x.CubeCamera,exports.DeviceOrientationControls=q.DeviceOrientationControls,exports.FlyControls=d.FlyControls,exports.MapControls=C.MapControls,exports.OrbitControls=h.OrbitControls,exports.TrackballControls=m.TrackballControls,exports.ArcballControls=b.ArcballControls,exports.TransformControls=S.TransformControls,exports.PointerLockControls=P.PointerLockControls,exports.FirstPersonControls=T.FirstPersonControls,exports.GizmoHelper=f.GizmoHelper,exports.useGizmoContext=f.useGizmoContext,exports.GizmoViewcube=B.GizmoViewcube,exports.GizmoViewport=M.GizmoViewport,exports.useCubeTexture=g.useCubeTexture,exports.useFBX=v.useFBX,exports.useGLTF=L.useGLTF,exports.useProgress=A.useProgress,exports.IsObject=G.IsObject,exports.useTexture=G.useTexture,exports.Reflector=D.Reflector,exports.Shadow=w.Shadow,exports.Stats=z.Stats,exports.Center=k.Center,exports.DepthBuffer=F.DepthBuffer,exports.useAspect=O.useAspect,exports.useCamera=E.useCamera,exports.useDetectGPU=y.useDetectGPU,exports.useHelper=I.useHelper,exports.useBVH=H.useBVH,exports.useContextBridge=R.useContextBridge,exports.useAnimations=V.useAnimations,exports.useFBO=Q.useFBO,exports.useSimplification=W.useSimplification,exports.useTessellation=N.useTessellation,exports.useEdgeSplit=U.useEdgeSplit,exports.CurveModifier=X.CurveModifier,exports.MeshDistortMaterial=K.MeshDistortMaterial,exports.MeshWobbleMaterial=_.MeshWobbleMaterial,exports.PointMaterial=J.PointMaterial,exports.PointMaterialImpl=J.PointMaterialImpl,exports.shaderMaterial=Y.shaderMaterial,exports.Sky=Z.Sky,exports.calcPosFromAngles=Z.calcPosFromAngles,exports.softShadows=$.softShadows,exports.Stars=ee.Stars,exports.ContactShadows=re.ContactShadows,exports.SpotLight=se.SpotLight,exports.Box=te.Box,exports.Circle=te.Circle,exports.Cone=te.Cone,exports.Cylinder=te.Cylinder,exports.Dodecahedron=te.Dodecahedron,exports.Extrude=te.Extrude,exports.Icosahedron=te.Icosahedron,exports.Lathe=te.Lathe,exports.Octahedron=te.Octahedron,exports.Parametric=te.Parametric,exports.Plane=te.Plane,exports.Polyhedron=te.Polyhedron,exports.Ring=te.Ring,exports.Sphere=te.Sphere,exports.Tetrahedron=te.Tetrahedron,exports.Torus=te.Torus,exports.TorusKnot=te.TorusKnot,exports.Tube=te.Tube,exports.RoundedBox=oe.RoundedBox,exports.ScreenQuad=ie.ScreenQuad,exports.useMatcapTexture=ue.useMatcapTexture,exports.useNormalTexture=ae.useNormalTexture,exports.Stage=ce.Stage,exports.Point=je.Point,exports.Points=je.Points,exports.Instance=pe.Instance,exports.Instances=pe.Instances,exports.Merged=pe.Merged,exports.Detailed=ne.Detailed,exports.Preload=le.Preload,exports.BakeShadows=xe.BakeShadows,exports.meshBounds=qe.meshBounds,exports.AdaptiveDpr=de.AdaptiveDpr,exports.AdaptiveEvents=Ce.AdaptiveEvents;
|
package/core/index.d.ts
CHANGED
|
@@ -17,6 +17,7 @@ export * from './FlyControls';
|
|
|
17
17
|
export * from './MapControls';
|
|
18
18
|
export * from './OrbitControls';
|
|
19
19
|
export * from './TrackballControls';
|
|
20
|
+
export * from './ArcballControls';
|
|
20
21
|
export * from './TransformControls';
|
|
21
22
|
export * from './PointerLockControls';
|
|
22
23
|
export * from './FirstPersonControls';
|
package/core/index.js
CHANGED
|
@@ -17,6 +17,7 @@ export { FlyControls } from './FlyControls.js';
|
|
|
17
17
|
export { MapControls } from './MapControls.js';
|
|
18
18
|
export { OrbitControls } from './OrbitControls.js';
|
|
19
19
|
export { TrackballControls } from './TrackballControls.js';
|
|
20
|
+
export { ArcballControls } from './ArcballControls.js';
|
|
20
21
|
export { TransformControls } from './TransformControls.js';
|
|
21
22
|
export { PointerLockControls } from './PointerLockControls.js';
|
|
22
23
|
export { FirstPersonControls } from './FirstPersonControls.js';
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
var distort = "#define GLSLIFY 1\nvec3 mod289(vec3 x){return x-floor(x*(1.0/289.0))*289.0;}vec4 mod289(vec4 x){return x-floor(x*(1.0/289.0))*289.0;}vec4 permute(vec4 x){return mod289(((x*34.0)+1.0)*x);}vec4 taylorInvSqrt(vec4 r){return 1.79284291400159-0.85373472095314*r;}float snoise(vec3 v){const vec2 C=vec2(1.0/6.0,1.0/3.0);const vec4 D=vec4(0.0,0.5,1.0,2.0);vec3 i=floor(v+dot(v,C.yyy));vec3 x0=v-i+dot(i,C.xxx);vec3 g=step(x0.yzx,x0.xyz);vec3 l=1.0-g;vec3 i1=min(g.xyz,l.zxy);vec3 i2=max(g.xyz,l.zxy);vec3 x1=x0-i1+C.xxx;vec3 x2=x0-i2+C.yyy;vec3 x3=x0-D.yyy;i=mod289(i);vec4 p=permute(permute(permute(i.z+vec4(0.0,i1.z,i2.z,1.0))+i.y+vec4(0.0,i1.y,i2.y,1.0))+i.x+vec4(0.0,i1.x,i2.x,1.0));float n_=0.142857142857;vec3 ns=n_*D.wyz-D.xzx;vec4 j=p-49.0*floor(p*ns.z*ns.z);vec4 x_=floor(j*ns.z);vec4 y_=floor(j-7.0*x_);vec4 x=x_*ns.x+ns.yyyy;vec4 y=y_*ns.x+ns.yyyy;vec4 h=1.0-abs(x)-abs(y);vec4 b0=vec4(x.xy,y.xy);vec4 b1=vec4(x.zw,y.zw);vec4 s0=floor(b0)*2.0+1.0;vec4 s1=floor(b1)*2.0+1.0;vec4 sh=-step(h,vec4(0.0));vec4 a0=b0.xzyw+s0.xzyw*sh.xxyy;vec4 a1=b1.xzyw+s1.xzyw*sh.zzww;vec3 p0=vec3(a0.xy,h.x);vec3 p1=vec3(a0.zw,h.y);vec3 p2=vec3(a1.xy,h.z);vec3 p3=vec3(a1.zw,h.w);vec4 norm=taylorInvSqrt(vec4(dot(p0,p0),dot(p1,p1),dot(p2,p2),dot(p3,p3)));p0*=norm.x;p1*=norm.y;p2*=norm.z;p3*=norm.w;vec4 m=max(0.6-vec4(dot(x0,x0),dot(x1,x1),dot(x2,x2),dot(x3,x3)),0.0);m=m*m;return 42.0*dot(m*m,vec4(dot(p0,x0),dot(p1,x1),dot(p2,x2),dot(p3,x3)));}"; // eslint-disable-line
|
|
2
2
|
|
|
3
|
-
export default
|
|
3
|
+
export { distort as default };
|