@react-three/drei 9.88.1 → 9.88.3
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/AccumulativeShadows.cjs.js +1 -1
- package/core/AccumulativeShadows.js +8 -7
- package/core/ArcballControls.js +1 -1
- package/core/BBAnchor.js +2 -2
- package/core/Billboard.js +1 -1
- package/core/Bounds.js +1 -1
- package/core/CameraControls.js +1 -1
- package/core/CameraShake.js +1 -1
- package/core/CatmullRomLine.js +1 -1
- package/core/Caustics.cjs.js +1 -1
- package/core/Caustics.js +13 -12
- package/core/Center.js +1 -1
- package/core/Clone.js +1 -1
- package/core/Cloud.js +10 -10
- package/core/ContactShadows.js +1 -1
- package/core/CubicBezierLine.js +1 -1
- package/core/CurveModifier.js +1 -1
- package/core/Decal.js +1 -1
- package/core/Detailed.js +1 -1
- package/core/DeviceOrientationControls.js +1 -1
- package/core/Edges.js +1 -1
- package/core/Effects.js +1 -1
- package/core/Example.js +1 -1
- package/core/FaceControls.cjs.js +1 -1
- package/core/FaceControls.js +4 -4
- package/core/FaceLandmarker.cjs.js +1 -1
- package/core/FaceLandmarker.d.ts +1 -1
- package/core/FaceLandmarker.js +7 -3
- package/core/Facemesh.d.ts +3 -3
- package/core/Facemesh.js +4 -4
- package/core/FirstPersonControls.js +1 -1
- package/core/Float.js +1 -1
- package/core/FlyControls.js +1 -1
- package/core/GizmoHelper.js +7 -7
- package/core/GizmoViewcube.js +3 -3
- package/core/Gltf.js +1 -1
- package/core/Grid.cjs.js +1 -1
- package/core/Grid.js +8 -7
- package/core/Image.cjs.js +1 -1
- package/core/Image.js +8 -7
- package/core/Instances.js +13 -13
- package/core/Lightformer.js +1 -1
- package/core/Line.js +1 -1
- package/core/MapControls.js +1 -1
- package/core/MarchingCubes.js +4 -4
- package/core/Mask.js +1 -1
- package/core/MeshDiscardMaterial.js +1 -1
- package/core/MeshDistortMaterial.js +1 -1
- package/core/MeshPortalMaterial.cjs.js +1 -1
- package/core/MeshPortalMaterial.js +6 -5
- package/core/MeshReflectorMaterial.cjs.js +1 -1
- package/core/MeshReflectorMaterial.js +4 -4
- package/core/MeshRefractionMaterial.cjs.js +1 -1
- package/core/MeshTransmissionMaterial.js +1 -1
- package/core/MeshWobbleMaterial.js +1 -1
- package/core/MotionPathControls.js +2 -2
- package/core/OrbitControls.js +1 -1
- package/core/OrthographicCamera.js +1 -1
- package/core/Outlines.cjs.js +1 -1
- package/core/Outlines.js +5 -4
- package/core/PerformanceMonitor.js +1 -1
- package/core/PerspectiveCamera.js +1 -1
- package/core/PointMaterial.cjs.js +1 -1
- package/core/PointMaterial.js +4 -3
- package/core/PointerLockControls.js +1 -1
- package/core/Points.js +11 -11
- package/core/PositionalAudio.js +1 -1
- package/core/QuadraticBezierLine.js +3 -3
- package/core/Reflector.cjs.js +1 -1
- package/core/Reflector.js +4 -5
- package/core/RenderCubeTexture.js +1 -1
- package/core/RenderTexture.js +1 -1
- package/core/Resize.js +1 -1
- package/core/RoundedBox.js +1 -1
- package/core/ScreenQuad.js +1 -1
- package/core/ScreenSpace.js +1 -1
- package/core/Segments.js +3 -3
- package/core/Shadow.js +1 -1
- package/core/Sky.js +1 -1
- package/core/Sparkles.cjs.js +1 -1
- package/core/Sparkles.js +4 -3
- package/core/SpotLight.cjs.js +1 -1
- package/core/Stage.cjs.js +1 -1
- package/core/Stars.cjs.js +1 -1
- package/core/Stars.js +4 -4
- package/core/Svg.js +1 -1
- package/core/Text.js +1 -1
- package/core/Text3D.js +1 -1
- package/core/TrackballControls.js +1 -1
- package/core/Trail.js +1 -1
- package/core/TransformControls.js +1 -1
- package/core/Wireframe.cjs.js +1 -1
- package/core/Wireframe.d.ts +2 -2
- package/core/Wireframe.js +4 -4
- package/core/index.cjs.js +1 -1
- package/core/index.js +1 -1
- package/core/meshBounds.js +4 -4
- package/core/shapes.js +19 -19
- package/core/useBVH.js +1 -1
- package/core/useProgress.js +1 -1
- package/helpers/constants.cjs.js +1 -0
- package/helpers/constants.d.ts +1 -0
- package/helpers/constants.js +6 -0
- package/index.cjs.js +1 -1
- package/materials/BlurPass.cjs.js +1 -1
- package/materials/ConvolutionMaterial.cjs.js +1 -1
- package/materials/ConvolutionMaterial.js +2 -1
- package/materials/DiscardMaterial.js +1 -1
- package/materials/MeshRefractionMaterial.cjs.js +1 -1
- package/materials/MeshRefractionMaterial.js +8 -7
- package/materials/SpotLightMaterial.cjs.js +1 -1
- package/materials/SpotLightMaterial.js +2 -1
- package/materials/WireframeMaterial.js +4 -4
- package/native/index.cjs.js +1 -1
- package/native/index.js +1 -1
- package/package.json +2 -2
- package/react-three-drei-0.0.0-semantic-release.tgz +0 -0
- package/web/Html.js +4 -4
- package/web/KeyboardControls.js +1 -1
- package/web/ScrollControls.js +3 -3
- package/web/Select.js +1 -1
- package/web/View.js +1 -1
- package/web/index.cjs.js +1 -1
- package/web/index.js +1 -1
- package/web/pivotControls/AxisArrow.js +4 -4
- package/web/pivotControls/AxisRotator.js +6 -6
- package/web/pivotControls/PlaneSlider.js +3 -3
- package/web/pivotControls/context.js +1 -1
- package/web/pivotControls/index.js +21 -21
|
@@ -2,7 +2,7 @@ import * as React from 'react';
|
|
|
2
2
|
import { useState, useContext, useRef, useLayoutEffect, createContext } from 'react';
|
|
3
3
|
import { useFrame } from '@react-three/fiber';
|
|
4
4
|
|
|
5
|
-
const context =
|
|
5
|
+
const context = /* @__PURE__ */createContext(null);
|
|
6
6
|
function PerformanceMonitor({
|
|
7
7
|
iterations = 10,
|
|
8
8
|
ms = 250,
|
|
@@ -5,7 +5,7 @@ import mergeRefs from 'react-merge-refs';
|
|
|
5
5
|
import { useFBO } from './useFBO.js';
|
|
6
6
|
|
|
7
7
|
const isFunction = node => typeof node === 'function';
|
|
8
|
-
const PerspectiveCamera =
|
|
8
|
+
const PerspectiveCamera = /* @__PURE__ */React.forwardRef(({
|
|
9
9
|
envMap,
|
|
10
10
|
resolution = 256,
|
|
11
11
|
frames = Infinity,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/extends"),t=require("three"),r=require("react");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("../helpers/constants.cjs.js");function a(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function o(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 i=a(e),l=o(t),c=o(r);const s=n.version>=154?"opaque_fragment":"output_fragment";class u extends l.PointsMaterial{constructor(e){super(e),this.onBeforeCompile=(e,t)=>{const{isWebGL2:r}=t.capabilities;e.fragmentShader=e.fragmentShader.replace(`#include <${s}>`,`\n ${r?`#include <${s}>`:`#extension GL_OES_standard_derivatives : enable\n#include <${s}>`}\n vec2 cxy = 2.0 * gl_PointCoord - 1.0;\n float r = dot(cxy, cxy);\n float delta = fwidth(r); \n float mask = 1.0 - smoothstep(1.0 - delta, 1.0 + delta, r);\n gl_FragColor = vec4(gl_FragColor.rgb, mask * gl_FragColor.a );\n #include <tonemapping_fragment>\n #include <${n.version>=154?"colorspace_fragment":"encodings_fragment"}>\n `)}}}const f=c.forwardRef(((e,t)=>{const[r]=c.useState((()=>new u(null)));return c.createElement("primitive",i.default({},e,{object:r,ref:t,attach:"material"}))}));exports.PointMaterial=f,exports.PointMaterialImpl=u;
|
package/core/PointMaterial.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import _extends from '@babel/runtime/helpers/esm/extends';
|
|
2
2
|
import * as THREE from 'three';
|
|
3
3
|
import * as React from 'react';
|
|
4
|
+
import { version } from '../helpers/constants.js';
|
|
4
5
|
|
|
5
|
-
const opaque_fragment =
|
|
6
|
+
const opaque_fragment = version >= 154 ? 'opaque_fragment' : 'output_fragment';
|
|
6
7
|
class PointMaterialImpl extends THREE.PointsMaterial {
|
|
7
8
|
constructor(props) {
|
|
8
9
|
super(props);
|
|
@@ -18,12 +19,12 @@ class PointMaterialImpl extends THREE.PointsMaterial {
|
|
|
18
19
|
float mask = 1.0 - smoothstep(1.0 - delta, 1.0 + delta, r);
|
|
19
20
|
gl_FragColor = vec4(gl_FragColor.rgb, mask * gl_FragColor.a );
|
|
20
21
|
#include <tonemapping_fragment>
|
|
21
|
-
#include <${
|
|
22
|
+
#include <${version >= 154 ? 'colorspace_fragment' : 'encodings_fragment'}>
|
|
22
23
|
`);
|
|
23
24
|
};
|
|
24
25
|
}
|
|
25
26
|
}
|
|
26
|
-
const PointMaterial =
|
|
27
|
+
const PointMaterial = /* @__PURE__ */React.forwardRef((props, ref) => {
|
|
27
28
|
const [material] = React.useState(() => new PointMaterialImpl(null));
|
|
28
29
|
return /*#__PURE__*/React.createElement("primitive", _extends({}, props, {
|
|
29
30
|
object: material,
|
|
@@ -3,7 +3,7 @@ import { useThree } from '@react-three/fiber';
|
|
|
3
3
|
import * as React from 'react';
|
|
4
4
|
import { PointerLockControls as PointerLockControls$1 } from 'three-stdlib';
|
|
5
5
|
|
|
6
|
-
const PointerLockControls =
|
|
6
|
+
const PointerLockControls = /* @__PURE__ */React.forwardRef(({
|
|
7
7
|
domElement,
|
|
8
8
|
selector,
|
|
9
9
|
onChange,
|
package/core/Points.js
CHANGED
|
@@ -4,10 +4,10 @@ import * as React from 'react';
|
|
|
4
4
|
import { extend, useFrame } from '@react-three/fiber';
|
|
5
5
|
import mergeRefs from 'react-merge-refs';
|
|
6
6
|
|
|
7
|
-
const _inverseMatrix =
|
|
8
|
-
const _ray =
|
|
9
|
-
const _sphere =
|
|
10
|
-
const _position =
|
|
7
|
+
const _inverseMatrix = /* @__PURE__ */new THREE.Matrix4();
|
|
8
|
+
const _ray = /* @__PURE__ */new THREE.Ray();
|
|
9
|
+
const _sphere = /* @__PURE__ */new THREE.Sphere();
|
|
10
|
+
const _position = /* @__PURE__ */new THREE.Vector3();
|
|
11
11
|
class PositionPoint extends THREE.Group {
|
|
12
12
|
constructor() {
|
|
13
13
|
super();
|
|
@@ -59,14 +59,14 @@ class PositionPoint extends THREE.Group {
|
|
|
59
59
|
}
|
|
60
60
|
}
|
|
61
61
|
let i, positionRef;
|
|
62
|
-
const context =
|
|
63
|
-
const parentMatrix =
|
|
64
|
-
const position =
|
|
62
|
+
const context = /* @__PURE__ */React.createContext(null);
|
|
63
|
+
const parentMatrix = /* @__PURE__ */new THREE.Matrix4();
|
|
64
|
+
const position = /* @__PURE__ */new THREE.Vector3();
|
|
65
65
|
|
|
66
66
|
/**
|
|
67
67
|
* Instance implementation, relies on react + context to update the attributes based on the children of this component
|
|
68
68
|
*/
|
|
69
|
-
const PointsInstances =
|
|
69
|
+
const PointsInstances = /* @__PURE__ */React.forwardRef(({
|
|
70
70
|
children,
|
|
71
71
|
range,
|
|
72
72
|
limit = 1000,
|
|
@@ -136,7 +136,7 @@ const PointsInstances = /*#__PURE__*/React.forwardRef(({
|
|
|
136
136
|
value: api
|
|
137
137
|
}, children));
|
|
138
138
|
});
|
|
139
|
-
const Point =
|
|
139
|
+
const Point = /* @__PURE__ */React.forwardRef(({
|
|
140
140
|
children,
|
|
141
141
|
...props
|
|
142
142
|
}, ref) => {
|
|
@@ -160,7 +160,7 @@ const Point = /*#__PURE__*/React.forwardRef(({
|
|
|
160
160
|
* Buffer implementation, relies on complete buffers of the correct number, leaves it to the user to update them
|
|
161
161
|
*/
|
|
162
162
|
|
|
163
|
-
const PointsBuffer =
|
|
163
|
+
const PointsBuffer = /* @__PURE__ */React.forwardRef(({
|
|
164
164
|
children,
|
|
165
165
|
positions,
|
|
166
166
|
colors,
|
|
@@ -197,7 +197,7 @@ const PointsBuffer = /*#__PURE__*/React.forwardRef(({
|
|
|
197
197
|
usage: THREE.DynamicDrawUsage
|
|
198
198
|
})), children);
|
|
199
199
|
});
|
|
200
|
-
const Points =
|
|
200
|
+
const Points = /* @__PURE__ */React.forwardRef((props, forwardedRef) => {
|
|
201
201
|
if (props.positions instanceof Float32Array) {
|
|
202
202
|
return /*#__PURE__*/React.createElement(PointsBuffer, _extends({}, props, {
|
|
203
203
|
ref: forwardedRef
|
package/core/PositionalAudio.js
CHANGED
|
@@ -4,7 +4,7 @@ import { AudioListener, AudioLoader } from 'three';
|
|
|
4
4
|
import { useThree, useLoader } from '@react-three/fiber';
|
|
5
5
|
import mergeRefs from 'react-merge-refs';
|
|
6
6
|
|
|
7
|
-
const PositionalAudio =
|
|
7
|
+
const PositionalAudio = /* @__PURE__ */React.forwardRef(({
|
|
8
8
|
url,
|
|
9
9
|
distance = 1,
|
|
10
10
|
loop = true,
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import _extends from '@babel/runtime/helpers/esm/extends';
|
|
2
2
|
import * as React from 'react';
|
|
3
|
-
import {
|
|
3
|
+
import { QuadraticBezierCurve3, Vector3 } from 'three';
|
|
4
4
|
import mergeRefs from 'react-merge-refs';
|
|
5
5
|
import { Line } from './Line.js';
|
|
6
6
|
|
|
7
|
-
const v = new Vector3();
|
|
8
|
-
const QuadraticBezierLine =
|
|
7
|
+
const v = /* @__PURE__ */new Vector3();
|
|
8
|
+
const QuadraticBezierLine = /* @__PURE__ */React.forwardRef(function QuadraticBezierLine({
|
|
9
9
|
start = [0, 0, 0],
|
|
10
10
|
end = [0, 0, 0],
|
|
11
11
|
mid,
|
package/core/Reflector.cjs.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/extends"),t=require("react"),r=require("three"),a=require("@react-three/fiber"),n=require("react-merge-refs"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/extends"),t=require("react"),r=require("three"),a=require("@react-three/fiber"),n=require("react-merge-refs"),s=require("../materials/BlurPass.cjs.js"),o=require("../materials/MeshReflectorMaterial.cjs.js");function i(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function l(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)}require("../materials/ConvolutionMaterial.cjs.js"),require("../helpers/constants.cjs.js");var u=i(e),d=l(t),c=i(n);const p=d.forwardRef((({mixBlur:e=0,mixStrength:t=.5,resolution:n=256,blur:i=[0,0],args:l=[1,1],minDepthThreshold:p=.9,maxDepthThreshold:m=1,depthScale:h=0,depthToBlurRatioBias:f=.25,mirror:x=0,children:M,debug:b=0,distortion:w=1,mixContrast:y=1,distortionMap:T,...g},S)=>{a.extend({MeshReflectorMaterial:o.MeshReflectorMaterial}),d.useEffect((()=>{console.warn("Reflector has been deprecated and will be removed next major. Replace it with <MeshReflectorMaterial />!")}),[]);const R=a.useThree((({gl:e})=>e)),j=a.useThree((({camera:e})=>e)),v=a.useThree((({scene:e})=>e)),B=(i=Array.isArray(i)?i:[i,i])[0]+i[1]>0,D=d.useRef(null),[P]=d.useState((()=>new r.Plane)),[F]=d.useState((()=>new r.Vector3)),[V]=d.useState((()=>new r.Vector3)),[W]=d.useState((()=>new r.Vector3)),[q]=d.useState((()=>new r.Matrix4)),[E]=d.useState((()=>new r.Vector3(0,0,-1))),[O]=d.useState((()=>new r.Vector4)),[U]=d.useState((()=>new r.Vector3)),[C]=d.useState((()=>new r.Vector3)),[_]=d.useState((()=>new r.Vector4)),[L]=d.useState((()=>new r.Matrix4)),[k]=d.useState((()=>new r.PerspectiveCamera)),z=d.useCallback((()=>{if(V.setFromMatrixPosition(D.current.matrixWorld),W.setFromMatrixPosition(j.matrixWorld),q.extractRotation(D.current.matrixWorld),F.set(0,0,1),F.applyMatrix4(q),U.subVectors(V,W),U.dot(F)>0)return;U.reflect(F).negate(),U.add(V),q.extractRotation(j.matrixWorld),E.set(0,0,-1),E.applyMatrix4(q),E.add(W),C.subVectors(V,E),C.reflect(F).negate(),C.add(V),k.position.copy(U),k.up.set(0,1,0),k.up.applyMatrix4(q),k.up.reflect(F),k.lookAt(C),k.far=j.far,k.updateMatrixWorld(),k.projectionMatrix.copy(j.projectionMatrix),L.set(.5,0,0,.5,0,.5,0,.5,0,0,.5,.5,0,0,0,1),L.multiply(k.projectionMatrix),L.multiply(k.matrixWorldInverse),L.multiply(D.current.matrixWorld),P.setFromNormalAndCoplanarPoint(F,V),P.applyMatrix4(k.matrixWorldInverse),O.set(P.normal.x,P.normal.y,P.normal.z,P.constant);const e=k.projectionMatrix;_.x=(Math.sign(O.x)+e.elements[8])/e.elements[0],_.y=(Math.sign(O.y)+e.elements[9])/e.elements[5],_.z=-1,_.w=(1+e.elements[10])/e.elements[14],O.multiplyScalar(2/O.dot(_)),e.elements[2]=O.x,e.elements[6]=O.y,e.elements[10]=O.z+1,e.elements[14]=O.w}),[]),[A,I,G,H]=d.useMemo((()=>{const a={type:r.HalfFloatType,minFilter:r.LinearFilter,magFilter:r.LinearFilter},o=new r.WebGLRenderTarget(n,n,a);o.depthBuffer=!0,o.depthTexture=new r.DepthTexture(n,n),o.depthTexture.format=r.DepthFormat,o.depthTexture.type=r.UnsignedShortType;const l=new r.WebGLRenderTarget(n,n,a);return[o,l,new s.BlurPass({gl:R,resolution:n,width:i[0],height:i[1],minDepthThreshold:p,maxDepthThreshold:m,depthScale:h,depthToBlurRatioBias:f}),{mirror:x,textureMatrix:L,mixBlur:e,tDiffuse:o.texture,tDepth:o.depthTexture,tDiffuseBlur:l.texture,hasBlur:B,mixStrength:t,minDepthThreshold:p,maxDepthThreshold:m,depthScale:h,depthToBlurRatioBias:f,transparent:!0,debug:b,distortion:w,distortionMap:T,mixContrast:y,"defines-USE_BLUR":B?"":void 0,"defines-USE_DEPTH":h>0?"":void 0,"defines-USE_DISTORTION":T?"":void 0}]}),[R,i,L,n,x,B,e,t,p,m,h,f,b,w,T,y]);return a.useFrame((()=>{if(null==D||!D.current)return;D.current.visible=!1;const e=R.xr.enabled,t=R.shadowMap.autoUpdate;z(),R.xr.enabled=!1,R.shadowMap.autoUpdate=!1,R.setRenderTarget(A),R.state.buffers.depth.setMask(!0),R.autoClear||R.clear(),R.render(v,k),B&&G.render(R,A,I),R.xr.enabled=e,R.shadowMap.autoUpdate=t,D.current.visible=!0,R.setRenderTarget(null)})),d.createElement("mesh",u.default({ref:c.default([D,S])},g),d.createElement("planeGeometry",{args:l}),M?M("meshReflectorMaterial",H):d.createElement("meshReflectorMaterial",H))}));exports.Reflector=p;
|
package/core/Reflector.js
CHANGED
|
@@ -6,14 +6,10 @@ import mergeRefs from 'react-merge-refs';
|
|
|
6
6
|
import { BlurPass } from '../materials/BlurPass.js';
|
|
7
7
|
import { MeshReflectorMaterial } from '../materials/MeshReflectorMaterial.js';
|
|
8
8
|
|
|
9
|
-
extend({
|
|
10
|
-
MeshReflectorMaterial
|
|
11
|
-
});
|
|
12
|
-
|
|
13
9
|
/**
|
|
14
10
|
* @deprecated Use MeshReflectorMaterial instead
|
|
15
11
|
*/
|
|
16
|
-
const Reflector =
|
|
12
|
+
const Reflector = /* @__PURE__ */React.forwardRef(({
|
|
17
13
|
mixBlur = 0,
|
|
18
14
|
mixStrength = 0.5,
|
|
19
15
|
resolution = 256,
|
|
@@ -31,6 +27,9 @@ const Reflector = /*#__PURE__*/React.forwardRef(({
|
|
|
31
27
|
distortionMap,
|
|
32
28
|
...props
|
|
33
29
|
}, ref) => {
|
|
30
|
+
extend({
|
|
31
|
+
MeshReflectorMaterial
|
|
32
|
+
});
|
|
34
33
|
React.useEffect(() => {
|
|
35
34
|
console.warn('Reflector has been deprecated and will be removed next major. Replace it with <MeshReflectorMaterial />!');
|
|
36
35
|
}, []);
|
|
@@ -3,7 +3,7 @@ import * as THREE from 'three';
|
|
|
3
3
|
import * as React from 'react';
|
|
4
4
|
import { useThree, createPortal, useFrame } from '@react-three/fiber';
|
|
5
5
|
|
|
6
|
-
const RenderCubeTexture =
|
|
6
|
+
const RenderCubeTexture = /* @__PURE__ */React.forwardRef(({
|
|
7
7
|
children,
|
|
8
8
|
compute,
|
|
9
9
|
renderPriority = -1,
|
package/core/RenderTexture.js
CHANGED
|
@@ -4,7 +4,7 @@ import * as React from 'react';
|
|
|
4
4
|
import { useThree, createPortal, useFrame } from '@react-three/fiber';
|
|
5
5
|
import { useFBO } from './useFBO.js';
|
|
6
6
|
|
|
7
|
-
const RenderTexture =
|
|
7
|
+
const RenderTexture = /* @__PURE__ */React.forwardRef(({
|
|
8
8
|
children,
|
|
9
9
|
compute,
|
|
10
10
|
width,
|
package/core/Resize.js
CHANGED
package/core/RoundedBox.js
CHANGED
|
@@ -13,7 +13,7 @@ function createShape(width, height, radius0) {
|
|
|
13
13
|
shape.absarc(width - radius * 2, eps, eps, 0, -Math.PI / 2, true);
|
|
14
14
|
return shape;
|
|
15
15
|
}
|
|
16
|
-
const RoundedBox =
|
|
16
|
+
const RoundedBox = /* @__PURE__ */React.forwardRef(function RoundedBox({
|
|
17
17
|
args: [width = 1, height = 1, depth = 1] = [],
|
|
18
18
|
radius = 0.05,
|
|
19
19
|
steps = 1,
|
package/core/ScreenQuad.js
CHANGED
|
@@ -10,7 +10,7 @@ function createScreenQuadGeometry() {
|
|
|
10
10
|
geometry.setAttribute('position', new THREE.BufferAttribute(vertices, 2));
|
|
11
11
|
return geometry;
|
|
12
12
|
}
|
|
13
|
-
const ScreenQuad =
|
|
13
|
+
const ScreenQuad = /* @__PURE__ */React.forwardRef(function ScreenQuad({
|
|
14
14
|
children,
|
|
15
15
|
...restProps
|
|
16
16
|
}, ref) {
|
package/core/ScreenSpace.js
CHANGED
|
@@ -3,7 +3,7 @@ import * as React from 'react';
|
|
|
3
3
|
import mergeRefs from 'react-merge-refs';
|
|
4
4
|
import { useFrame } from '@react-three/fiber';
|
|
5
5
|
|
|
6
|
-
const ScreenSpace =
|
|
6
|
+
const ScreenSpace = /* @__PURE__ */React.forwardRef(({
|
|
7
7
|
children,
|
|
8
8
|
depth = -1,
|
|
9
9
|
...rest
|
package/core/Segments.js
CHANGED
|
@@ -5,8 +5,8 @@ import mergeRefs from 'react-merge-refs';
|
|
|
5
5
|
import { extend, useFrame } from '@react-three/fiber';
|
|
6
6
|
import { Line2, LineMaterial, LineSegmentsGeometry } from 'three-stdlib';
|
|
7
7
|
|
|
8
|
-
const context =
|
|
9
|
-
const Segments =
|
|
8
|
+
const context = /* @__PURE__ */React.createContext(null);
|
|
9
|
+
const Segments = /* @__PURE__ */React.forwardRef((props, forwardedRef) => {
|
|
10
10
|
React.useMemo(() => extend({
|
|
11
11
|
SegmentObject
|
|
12
12
|
}), []);
|
|
@@ -76,7 +76,7 @@ class SegmentObject {
|
|
|
76
76
|
}
|
|
77
77
|
}
|
|
78
78
|
const normPos = pos => pos instanceof THREE.Vector3 ? pos : new THREE.Vector3(...(typeof pos === 'number' ? [pos, pos, pos] : pos));
|
|
79
|
-
const Segment =
|
|
79
|
+
const Segment = /* @__PURE__ */React.forwardRef(({
|
|
80
80
|
color,
|
|
81
81
|
start,
|
|
82
82
|
end
|
package/core/Shadow.js
CHANGED
|
@@ -2,7 +2,7 @@ import _extends from '@babel/runtime/helpers/esm/extends';
|
|
|
2
2
|
import * as React from 'react';
|
|
3
3
|
import { Color, DoubleSide } from 'three';
|
|
4
4
|
|
|
5
|
-
const Shadow =
|
|
5
|
+
const Shadow = /* @__PURE__ */React.forwardRef(({
|
|
6
6
|
fog = false,
|
|
7
7
|
renderOrder,
|
|
8
8
|
depthWrite = false,
|
package/core/Sky.js
CHANGED
|
@@ -11,7 +11,7 @@ function calcPosFromAngles(inclination, azimuth, vector = new Vector3()) {
|
|
|
11
11
|
vector.z = Math.sin(phi);
|
|
12
12
|
return vector;
|
|
13
13
|
}
|
|
14
|
-
const Sky =
|
|
14
|
+
const Sky = /* @__PURE__ */React.forwardRef(({
|
|
15
15
|
inclination = 0.6,
|
|
16
16
|
azimuth = 0.1,
|
|
17
17
|
distance = 1000,
|
package/core/Sparkles.cjs.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/extends"),t=require("react"),r=require("three"),o=require("@react-three/fiber"),i=require("./shaderMaterial.cjs.js");function
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/extends"),t=require("react"),r=require("three"),o=require("@react-three/fiber"),i=require("./shaderMaterial.cjs.js"),n=require("../helpers/constants.cjs.js");function a(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 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 l=a(e),c=s(t),u=s(r);const f=i.shaderMaterial({time:0,pixelRatio:1}," uniform float pixelRatio;\n uniform float time;\n attribute float size; \n attribute float speed; \n attribute float opacity;\n attribute vec3 noise;\n attribute vec3 color;\n varying vec3 vColor;\n varying float vOpacity;\n void main() {\n vec4 modelPosition = modelMatrix * vec4(position, 1.0);\n modelPosition.y += sin(time * speed + modelPosition.x * noise.x * 100.0) * 0.2;\n modelPosition.z += cos(time * speed + modelPosition.x * noise.y * 100.0) * 0.2;\n modelPosition.x += cos(time * speed + modelPosition.x * noise.z * 100.0) * 0.2;\n vec4 viewPosition = viewMatrix * modelPosition;\n vec4 projectionPostion = projectionMatrix * viewPosition;\n gl_Position = projectionPostion;\n gl_PointSize = size * 25. * pixelRatio;\n gl_PointSize *= (1.0 / - viewPosition.z);\n vColor = color;\n vOpacity = opacity;\n }",` varying vec3 vColor;\n varying float vOpacity;\n void main() {\n float distanceToCenter = distance(gl_PointCoord, vec2(0.5));\n float strength = 0.05 / distanceToCenter - 0.1;\n gl_FragColor = vec4(vColor, strength * vOpacity);\n #include <tonemapping_fragment>\n #include <${n.version>=154?"colorspace_fragment":"encodings_fragment"}>\n }`),m=e=>e&&e.constructor===Float32Array,p=e=>e instanceof u.Vector2||e instanceof u.Vector3||e instanceof u.Vector4,d=e=>Array.isArray(e)?e:p(e)?e.toArray():[e,e,e];function v(e,t,r){return c.useMemo((()=>{if(void 0!==t){if(m(t))return t;if(t instanceof u.Color){const r=Array.from({length:3*e},(()=>{return[(e=t).r,e.g,e.b];var e})).flat();return Float32Array.from(r)}if(p(t)||Array.isArray(t)){const r=Array.from({length:3*e},(()=>d(t))).flat();return Float32Array.from(r)}return Float32Array.from({length:e},(()=>t))}return Float32Array.from({length:e},r)}),[t])}const b=c.forwardRef((({noise:e=1,count:t=100,speed:r=1,opacity:i=1,scale:n=1,size:a,color:s,children:p,...b},y)=>{c.useMemo((()=>o.extend({SparklesImplMaterial:f})),[]);const g=c.useRef(null),h=o.useThree((e=>e.viewport.dpr)),A=d(n),P=c.useMemo((()=>Float32Array.from(Array.from({length:t},(()=>A.map(u.MathUtils.randFloatSpread))).flat())),[t,...A]),x=v(t,a,Math.random),j=v(t,i),M=v(t,r),O=v(3*t,e),_=v(void 0===s?3*t:t,m(s)?s:new u.Color(s),(()=>1));return o.useFrame((e=>{g.current&&g.current.material&&(g.current.material.time=e.clock.elapsedTime)})),c.useImperativeHandle(y,(()=>g.current),[]),c.createElement("points",l.default({key:`particle-${t}-${JSON.stringify(n)}`},b,{ref:g}),c.createElement("bufferGeometry",null,c.createElement("bufferAttribute",{attach:"attributes-position",args:[P,3]}),c.createElement("bufferAttribute",{attach:"attributes-size",args:[x,1]}),c.createElement("bufferAttribute",{attach:"attributes-opacity",args:[j,1]}),c.createElement("bufferAttribute",{attach:"attributes-speed",args:[M,1]}),c.createElement("bufferAttribute",{attach:"attributes-color",args:[_,3]}),c.createElement("bufferAttribute",{attach:"attributes-noise",args:[O,3]})),p||c.createElement("sparklesImplMaterial",{transparent:!0,pixelRatio:h,depthWrite:!1}))}));exports.Sparkles=b;
|
package/core/Sparkles.js
CHANGED
|
@@ -3,8 +3,9 @@ import * as React from 'react';
|
|
|
3
3
|
import * as THREE from 'three';
|
|
4
4
|
import { extend, useThree, useFrame } from '@react-three/fiber';
|
|
5
5
|
import { shaderMaterial } from './shaderMaterial.js';
|
|
6
|
+
import { version } from '../helpers/constants.js';
|
|
6
7
|
|
|
7
|
-
const SparklesImplMaterial = shaderMaterial({
|
|
8
|
+
const SparklesImplMaterial = /* @__PURE__ */shaderMaterial({
|
|
8
9
|
time: 0,
|
|
9
10
|
pixelRatio: 1
|
|
10
11
|
}, ` uniform float pixelRatio;
|
|
@@ -35,7 +36,7 @@ const SparklesImplMaterial = shaderMaterial({
|
|
|
35
36
|
float strength = 0.05 / distanceToCenter - 0.1;
|
|
36
37
|
gl_FragColor = vec4(vColor, strength * vOpacity);
|
|
37
38
|
#include <tonemapping_fragment>
|
|
38
|
-
#include <${
|
|
39
|
+
#include <${version >= 154 ? 'colorspace_fragment' : 'encodings_fragment'}>
|
|
39
40
|
}`);
|
|
40
41
|
const isFloat32Array = def => def && def.constructor === Float32Array;
|
|
41
42
|
const expandColor = v => [v.r, v.g, v.b];
|
|
@@ -71,7 +72,7 @@ function usePropAsIsOrAsAttribute(count, prop, setDefault) {
|
|
|
71
72
|
}, setDefault);
|
|
72
73
|
}, [prop]);
|
|
73
74
|
}
|
|
74
|
-
const Sparkles =
|
|
75
|
+
const Sparkles = /* @__PURE__ */React.forwardRef(({
|
|
75
76
|
noise = 1,
|
|
76
77
|
count = 100,
|
|
77
78
|
speed = 1,
|
package/core/SpotLight.cjs.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/extends"),t=require("react"),r=require("three"),a=require("@react-three/fiber"),n=require("three-stdlib"),o=require("react-merge-refs"),i=require("../materials/SpotLightMaterial.cjs.js");function u(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function l(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 s=u(e),c=l(t),p=u(o),d="#define GLSLIFY 1\nvarying vec2 vUv;uniform sampler2D uShadowMap;uniform float uTime;void main(){vec3 color=texture2D(uShadowMap,vUv).xyz;gl_FragColor=vec4(color,1.);}";const m=e=>null==e?void 0:e.isSpotLight;function h({opacity:e=1,radiusTop:t,radiusBottom:n,depthBuffer:o,color:u="white",distance:l=5,angle:s=.15,attenuation:p=5,anglePower:d=5}){const m=c.useRef(null),h=a.useThree((e=>e.size)),f=a.useThree((e=>e.camera)),g=a.useThree((e=>e.viewport.dpr)),[v]=c.useState((()=>new i.SpotLightMaterial)),[w]=c.useState((()=>new r.Vector3));t=void 0===t?.1:t,n=void 0===n?7*s:n,a.useFrame((()=>{v.uniforms.spotPosition.value.copy(m.current.getWorldPosition(w)),m.current.lookAt(m.current.parent.target.getWorldPosition(w))}));const S=c.useMemo((()=>{const e=new r.CylinderGeometry(t,n,l,128,64,!0);return e.applyMatrix4((new r.Matrix4).makeTranslation(0,-l/2,0)),e.applyMatrix4((new r.Matrix4).makeRotationX(-Math.PI/2)),e}),[l,t,n]);return c.createElement(c.Fragment,null,c.createElement("mesh",{ref:m,geometry:S,raycast:()=>null},c.createElement("primitive",{object:v,attach:"material","uniforms-opacity-value":e,"uniforms-lightColor-value":u,"uniforms-attenuation-value":p,"uniforms-anglePower-value":d,"uniforms-depth-value":o,"uniforms-cameraNear-value":f.near,"uniforms-cameraFar-value":f.far,"uniforms-resolution-value":o?[h.width*g,h.height*g]:[0,0]})))}function f(e,t,n,o,i){const[[u,l]]=c.useState((()=>[new r.Vector3,new r.Vector3]));c.useLayoutEffect((()=>{if(!m(e.current))throw new Error("SpotlightShadow must be a child of a SpotLight");e.current.shadow.mapSize.set(n,o),e.current.shadow.needsUpdate=!0}),[e,n,o]),a.useFrame((()=>{if(!e.current)return;const r=e.current.position,a=e.current.target.position;l.copy(a).sub(r);var n=l.length();l.normalize().multiplyScalar(n*i),u.copy(r).add(l),t.current.position.copy(u),t.current.lookAt(e.current.target.position)}))}function g({distance:e=.4,alphaTest:t=.5,map:o,shader:i=d,width:u=512,height:l=512,scale:s=1,children:p,...m}){const h=c.useRef(null),g=m.spotlightRef,v=m.debug;f(g,h,u,l,e);const w=c.useMemo((()=>new r.WebGLRenderTarget(u,l,{format:r.RGBAFormat,encoding:r.LinearEncoding,stencilBuffer:!1})),[u,l]),S=c.useRef({uShadowMap:{value:o},uTime:{value:0}});c.useEffect((()=>{S.current.uShadowMap.value=o}),[o]);const y=c.useMemo((()=>new n.FullScreenQuad(new r.ShaderMaterial({uniforms:S.current,vertexShader:"\n varying vec2 vUv;\n\n void main() {\n vUv = uv;\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n }\n ",fragmentShader:i}))),[i]);return c.useEffect((()=>()=>{y.material.dispose(),y.dispose()}),[y]),c.useEffect((()=>()=>w.dispose()),[w]),a.useFrame((({gl:e},t)=>{S.current.uTime.value+=t,e.setRenderTarget(w),y.render(e),e.setRenderTarget(null)})),c.createElement(c.Fragment,null,c.createElement("mesh",{ref:h,scale:s,castShadow:!0},c.createElement("planeGeometry",null),c.createElement("meshBasicMaterial",{transparent:!0,side:r.DoubleSide,alphaTest:t,alphaMap:w.texture,"alphaMap-wrapS":r.RepeatWrapping,"alphaMap-wrapT":r.RepeatWrapping,opacity:v?1:0},p)))}function v({distance:e=.4,alphaTest:t=.5,map:a,width:n=512,height:o=512,scale:i,children:u,...l}){const s=c.useRef(null),p=l.spotlightRef,d=l.debug;return f(p,s,n,o,e),c.createElement(c.Fragment,null,c.createElement("mesh",{ref:s,scale:i,castShadow:!0},c.createElement("planeGeometry",null),c.createElement("meshBasicMaterial",{transparent:!0,side:r.DoubleSide,alphaTest:t,alphaMap:a,"alphaMap-wrapS":r.RepeatWrapping,"alphaMap-wrapT":r.RepeatWrapping,opacity:d?1:0},u)))}const w=c.forwardRef((({opacity:e=1,radiusTop:t,radiusBottom:r,depthBuffer:a,color:n="white",distance:o=5,angle:i=.15,attenuation:u=5,anglePower:l=5,volumetric:d=!0,debug:m=!1,children:f,...g},v)=>{const w=c.useRef(null);return c.createElement("group",null,m&&w.current&&c.createElement("spotLightHelper",{args:[w.current]}),c.createElement("spotLight",s.default({ref:p.default([v,w]),angle:i,color:n,distance:o,castShadow:!0},g),d&&c.createElement(h,{debug:m,opacity:e,radiusTop:t,radiusBottom:r,depthBuffer:a,color:n,distance:o,angle:i,attenuation:u,anglePower:l})),f&&c.cloneElement(f,{spotlightRef:w,debug:m}))}));exports.SpotLight=w,exports.SpotLightShadow=function(e){return e.shader?c.createElement(g,e):c.createElement(v,e)};
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/extends"),t=require("react"),r=require("three"),a=require("@react-three/fiber"),n=require("three-stdlib"),o=require("react-merge-refs"),i=require("../materials/SpotLightMaterial.cjs.js");function u(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function l(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)}require("../helpers/constants.cjs.js");var s=u(e),c=l(t),p=u(o),d="#define GLSLIFY 1\nvarying vec2 vUv;uniform sampler2D uShadowMap;uniform float uTime;void main(){vec3 color=texture2D(uShadowMap,vUv).xyz;gl_FragColor=vec4(color,1.);}";const m=e=>null==e?void 0:e.isSpotLight;function h({opacity:e=1,radiusTop:t,radiusBottom:n,depthBuffer:o,color:u="white",distance:l=5,angle:s=.15,attenuation:p=5,anglePower:d=5}){const m=c.useRef(null),h=a.useThree((e=>e.size)),f=a.useThree((e=>e.camera)),g=a.useThree((e=>e.viewport.dpr)),[v]=c.useState((()=>new i.SpotLightMaterial)),[w]=c.useState((()=>new r.Vector3));t=void 0===t?.1:t,n=void 0===n?7*s:n,a.useFrame((()=>{v.uniforms.spotPosition.value.copy(m.current.getWorldPosition(w)),m.current.lookAt(m.current.parent.target.getWorldPosition(w))}));const S=c.useMemo((()=>{const e=new r.CylinderGeometry(t,n,l,128,64,!0);return e.applyMatrix4((new r.Matrix4).makeTranslation(0,-l/2,0)),e.applyMatrix4((new r.Matrix4).makeRotationX(-Math.PI/2)),e}),[l,t,n]);return c.createElement(c.Fragment,null,c.createElement("mesh",{ref:m,geometry:S,raycast:()=>null},c.createElement("primitive",{object:v,attach:"material","uniforms-opacity-value":e,"uniforms-lightColor-value":u,"uniforms-attenuation-value":p,"uniforms-anglePower-value":d,"uniforms-depth-value":o,"uniforms-cameraNear-value":f.near,"uniforms-cameraFar-value":f.far,"uniforms-resolution-value":o?[h.width*g,h.height*g]:[0,0]})))}function f(e,t,n,o,i){const[[u,l]]=c.useState((()=>[new r.Vector3,new r.Vector3]));c.useLayoutEffect((()=>{if(!m(e.current))throw new Error("SpotlightShadow must be a child of a SpotLight");e.current.shadow.mapSize.set(n,o),e.current.shadow.needsUpdate=!0}),[e,n,o]),a.useFrame((()=>{if(!e.current)return;const r=e.current.position,a=e.current.target.position;l.copy(a).sub(r);var n=l.length();l.normalize().multiplyScalar(n*i),u.copy(r).add(l),t.current.position.copy(u),t.current.lookAt(e.current.target.position)}))}function g({distance:e=.4,alphaTest:t=.5,map:o,shader:i=d,width:u=512,height:l=512,scale:s=1,children:p,...m}){const h=c.useRef(null),g=m.spotlightRef,v=m.debug;f(g,h,u,l,e);const w=c.useMemo((()=>new r.WebGLRenderTarget(u,l,{format:r.RGBAFormat,encoding:r.LinearEncoding,stencilBuffer:!1})),[u,l]),S=c.useRef({uShadowMap:{value:o},uTime:{value:0}});c.useEffect((()=>{S.current.uShadowMap.value=o}),[o]);const y=c.useMemo((()=>new n.FullScreenQuad(new r.ShaderMaterial({uniforms:S.current,vertexShader:"\n varying vec2 vUv;\n\n void main() {\n vUv = uv;\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n }\n ",fragmentShader:i}))),[i]);return c.useEffect((()=>()=>{y.material.dispose(),y.dispose()}),[y]),c.useEffect((()=>()=>w.dispose()),[w]),a.useFrame((({gl:e},t)=>{S.current.uTime.value+=t,e.setRenderTarget(w),y.render(e),e.setRenderTarget(null)})),c.createElement(c.Fragment,null,c.createElement("mesh",{ref:h,scale:s,castShadow:!0},c.createElement("planeGeometry",null),c.createElement("meshBasicMaterial",{transparent:!0,side:r.DoubleSide,alphaTest:t,alphaMap:w.texture,"alphaMap-wrapS":r.RepeatWrapping,"alphaMap-wrapT":r.RepeatWrapping,opacity:v?1:0},p)))}function v({distance:e=.4,alphaTest:t=.5,map:a,width:n=512,height:o=512,scale:i,children:u,...l}){const s=c.useRef(null),p=l.spotlightRef,d=l.debug;return f(p,s,n,o,e),c.createElement(c.Fragment,null,c.createElement("mesh",{ref:s,scale:i,castShadow:!0},c.createElement("planeGeometry",null),c.createElement("meshBasicMaterial",{transparent:!0,side:r.DoubleSide,alphaTest:t,alphaMap:a,"alphaMap-wrapS":r.RepeatWrapping,"alphaMap-wrapT":r.RepeatWrapping,opacity:d?1:0},u)))}const w=c.forwardRef((({opacity:e=1,radiusTop:t,radiusBottom:r,depthBuffer:a,color:n="white",distance:o=5,angle:i=.15,attenuation:u=5,anglePower:l=5,volumetric:d=!0,debug:m=!1,children:f,...g},v)=>{const w=c.useRef(null);return c.createElement("group",null,m&&w.current&&c.createElement("spotLightHelper",{args:[w.current]}),c.createElement("spotLight",s.default({ref:p.default([v,w]),angle:i,color:n,distance:o,castShadow:!0},g),d&&c.createElement(h,{debug:m,opacity:e,radiusTop:t,radiusBottom:r,depthBuffer:a,color:n,distance:o,angle:i,attenuation:u,anglePower:l})),f&&c.cloneElement(f,{spotlightRef:w,debug:m}))}));exports.SpotLight=w,exports.SpotLightShadow=function(e){return e.shader?c.createElement(g,e):c.createElement(v,e)};
|
package/core/Stage.cjs.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/extends"),t=require("react"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/extends"),t=require("react"),n=require("./Environment.cjs.js"),i=require("./ContactShadows.cjs.js"),r=require("./Center.cjs.js"),a=require("./AccumulativeShadows.cjs.js"),s=require("./Bounds.cjs.js");function l(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function u(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(n){if("default"!==n){var i=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,i.get?i:{enumerable:!0,get:function(){return e[n]}})}})),t.default=e,Object.freeze(t)}require("@react-three/fiber"),require("three"),require("three-stdlib"),require("./useEnvironment.cjs.js"),require("../helpers/environment-assets.cjs.js"),require("./shaderMaterial.cjs.js"),require("../materials/DiscardMaterial.cjs.js"),require("../helpers/constants.cjs.js");var o=l(e),c=u(t);const d={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]}};function m({radius:e,adjustCamera:t}){const n=s.useBounds();return c.useEffect((()=>{t&&n.refresh().clip().fit()}),[e,t]),null}exports.Stage=function({children:e,center:t,adjustCamera:l=!0,intensity:u=.5,shadows:f="contact",environment:p="city",preset:h="rembrandt",...j}){var v,b,g,y,E,q,w,C;const S="string"==typeof h?d[h]:h,[{radius:O,height:z},B]=c.useState({radius:0,width:0,height:0,depth:0}),M=null!==(v=null==f?void 0:f.bias)&&void 0!==v?v:-1e-4,L=null!==(b=null==f?void 0:f.normalBias)&&void 0!==b?b:0,_=null!==(g=null==f?void 0:f.size)&&void 0!==g?g:1024,x=null!==(y=null==f?void 0:f.offset)&&void 0!==y?y:0,P="contact"===f||"contact"===(null==f?void 0:f.type),k="accumulative"===f||"accumulative"===(null==f?void 0:f.type),A={..."object"==typeof f?f:{}},D=p?"string"==typeof p?{preset:p}:p:null,F=c.useCallback((e=>{const{width:n,height:i,depth:r,boundingSphere:a}=e;B({radius:a.radius,width:n,height:i,depth:r}),null!=t&&t.onCentered&&t.onCentered(e)}),[]);return c.createElement(c.Fragment,null,c.createElement("ambientLight",{intensity:u/3}),c.createElement("spotLight",{penumbra:1,position:[S.main[0]*O,S.main[1]*O,S.main[2]*O],intensity:2*u,castShadow:!!f,"shadow-bias":M,"shadow-normalBias":L,"shadow-mapSize":_}),c.createElement("pointLight",{position:[S.fill[0]*O,S.fill[1]*O,S.fill[2]*O],intensity:u}),c.createElement(s.Bounds,o.default({fit:!!l,clip:!!l,margin:Number(l),observe:!0},j),c.createElement(m,{radius:O,adjustCamera:l}),c.createElement(r.Center,o.default({},t,{position:[0,x/2,0],onCentered:F}),e)),c.createElement("group",{position:[0,-z/2-x/2,0]},P&&c.createElement(i.ContactShadows,o.default({scale:4*O,far:O,blur:2},A)),k&&c.createElement(a.AccumulativeShadows,o.default({temporal:!0,frames:100,alphaTest:.9,toneMapped:!0,scale:4*O},A),c.createElement(a.RandomizedLight,{amount:null!==(E=A.amount)&&void 0!==E?E:8,radius:null!==(q=A.radius)&&void 0!==q?q:O,ambient:null!==(w=A.ambient)&&void 0!==w?w:.5,intensity:null!==(C=A.intensity)&&void 0!==C?C:1,position:[S.main[0]*O,S.main[1]*O,S.main[2]*O],size:4*O,bias:-M,mapSize:_}))),p&&c.createElement(n.Environment,D))};
|
package/core/Stars.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("react"),t=require("@react-three/fiber"),r=require("three"),n=require("../helpers/constants.cjs.js");function a(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var o=a(e);class i extends r.ShaderMaterial{constructor(){super({uniforms:{time:{value:0},fade:{value:1}},vertexShader:"\n uniform float time;\n attribute float size;\n varying vec3 vColor;\n void main() {\n vColor = color;\n vec4 mvPosition = modelViewMatrix * vec4(position, 0.5);\n gl_PointSize = size * (30.0 / -mvPosition.z) * (3.0 + sin(time + 100.0));\n gl_Position = projectionMatrix * mvPosition;\n }",fragmentShader:`\n uniform sampler2D pointTexture;\n uniform float fade;\n varying vec3 vColor;\n void main() {\n float opacity = 1.0;\n if (fade == 1.0) {\n float d = distance(gl_PointCoord, vec2(0.5, 0.5));\n opacity = 1.0 / (1.0 + exp(16.0 * (d - 0.25)));\n }\n gl_FragColor = vec4(vColor, opacity);\n\n #include <tonemapping_fragment>\n\t #include <${n.version>=154?"colorspace_fragment":"encodings_fragment"}>\n }`})}}const c=e=>(new r.Vector3).setFromSpherical(new r.Spherical(e,Math.acos(1-2*Math.random()),2*Math.random()*Math.PI)),s=o.forwardRef((({radius:e=100,depth:n=50,count:a=5e3,saturation:s=0,factor:l=4,fade:u=!1,speed:f=1},m)=>{const d=o.useRef(),[p,v,g]=o.useMemo((()=>{const t=[],o=[],i=Array.from({length:a},(()=>(.5+.5*Math.random())*l)),u=new r.Color;let f=e+n;const m=n/a;for(let e=0;e<a;e++)f-=m*Math.random(),t.push(...c(f).toArray()),u.setHSL(e/a,s,.9),o.push(u.r,u.g,u.b);return[new Float32Array(t),new Float32Array(o),new Float32Array(i)]}),[a,n,l,e,s]);t.useFrame((e=>d.current&&(d.current.uniforms.time.value=e.clock.getElapsedTime()*f)));const[h]=o.useState((()=>new i));return o.createElement("points",{ref:m},o.createElement("bufferGeometry",null,o.createElement("bufferAttribute",{attach:"attributes-position",args:[p,3]}),o.createElement("bufferAttribute",{attach:"attributes-color",args:[v,3]}),o.createElement("bufferAttribute",{attach:"attributes-size",args:[g,1]})),o.createElement("primitive",{ref:d,object:h,attach:"material",blending:r.AdditiveBlending,"uniforms-fade-value":u,depthWrite:!1,transparent:!0,vertexColors:!0}))}));exports.Stars=s;
|
package/core/Stars.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import * as THREE from 'three';
|
|
2
|
-
import { Color, AdditiveBlending, ShaderMaterial, Vector3, Spherical } from 'three';
|
|
3
1
|
import * as React from 'react';
|
|
4
2
|
import { useFrame } from '@react-three/fiber';
|
|
3
|
+
import { Color, AdditiveBlending, ShaderMaterial, Vector3, Spherical } from 'three';
|
|
4
|
+
import { version } from '../helpers/constants.js';
|
|
5
5
|
|
|
6
6
|
class StarfieldMaterial extends ShaderMaterial {
|
|
7
7
|
constructor() {
|
|
@@ -37,7 +37,7 @@ class StarfieldMaterial extends ShaderMaterial {
|
|
|
37
37
|
gl_FragColor = vec4(vColor, opacity);
|
|
38
38
|
|
|
39
39
|
#include <tonemapping_fragment>
|
|
40
|
-
#include <${
|
|
40
|
+
#include <${version >= 154 ? 'colorspace_fragment' : 'encodings_fragment'}>
|
|
41
41
|
}`
|
|
42
42
|
});
|
|
43
43
|
}
|
|
@@ -45,7 +45,7 @@ class StarfieldMaterial extends ShaderMaterial {
|
|
|
45
45
|
const genStar = r => {
|
|
46
46
|
return new Vector3().setFromSpherical(new Spherical(r, Math.acos(1 - Math.random() * 2), Math.random() * 2 * Math.PI));
|
|
47
47
|
};
|
|
48
|
-
const Stars =
|
|
48
|
+
const Stars = /* @__PURE__ */React.forwardRef(({
|
|
49
49
|
radius = 100,
|
|
50
50
|
depth = 50,
|
|
51
51
|
count = 5000,
|
package/core/Svg.js
CHANGED
|
@@ -5,7 +5,7 @@ import { forwardRef, useMemo, useEffect, Fragment } from 'react';
|
|
|
5
5
|
import { DoubleSide } from 'three';
|
|
6
6
|
import { SVGLoader } from 'three-stdlib';
|
|
7
7
|
|
|
8
|
-
const Svg =
|
|
8
|
+
const Svg = /* @__PURE__ */forwardRef(function R3FSvg({
|
|
9
9
|
src,
|
|
10
10
|
skipFill,
|
|
11
11
|
skipStrokes,
|
package/core/Text.js
CHANGED
|
@@ -5,7 +5,7 @@ import { useThree } from '@react-three/fiber';
|
|
|
5
5
|
import { suspend } from 'suspend-react';
|
|
6
6
|
|
|
7
7
|
// eslint-disable-next-line prettier/prettier
|
|
8
|
-
const Text =
|
|
8
|
+
const Text = /* @__PURE__ */React.forwardRef(({
|
|
9
9
|
sdfGlyphSize = 64,
|
|
10
10
|
anchorX = 'center',
|
|
11
11
|
anchorY = 'middle',
|
package/core/Text3D.js
CHANGED
|
@@ -3,7 +3,7 @@ import { useThree, useFrame } from '@react-three/fiber';
|
|
|
3
3
|
import * as React from 'react';
|
|
4
4
|
import { TrackballControls as TrackballControls$1 } from 'three-stdlib';
|
|
5
5
|
|
|
6
|
-
const TrackballControls =
|
|
6
|
+
const TrackballControls = /* @__PURE__ */React.forwardRef(({
|
|
7
7
|
makeDefault,
|
|
8
8
|
camera,
|
|
9
9
|
domElement,
|
package/core/Trail.js
CHANGED
|
@@ -6,7 +6,7 @@ import * as React from 'react';
|
|
|
6
6
|
import * as THREE from 'three';
|
|
7
7
|
import { TransformControls as TransformControls$1 } from 'three-stdlib';
|
|
8
8
|
|
|
9
|
-
const TransformControls =
|
|
9
|
+
const TransformControls = /* @__PURE__ */React.forwardRef(({
|
|
10
10
|
children,
|
|
11
11
|
domElement,
|
|
12
12
|
onChange,
|
package/core/Wireframe.cjs.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/extends"),r=require("react"),t=require("three"),n=require("@react-three/fiber"),o=require("../materials/WireframeMaterial.cjs.js");function i(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function a(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)}require("./shaderMaterial.cjs.js");var u=i(e),f=a(r),s=a(t);function c(e){return void 0!==(null==e?void 0:e.current)}function l(e){return"WireframeGeometry"===e.type}function m(e){const r=null!=(t=e)&&t.current?e.current:e;var t;if(function(e){return!(null==e||!e.isBufferGeometry)}(r))return r;{if(l(r))throw new Error("Wireframe: WireframeGeometry is not supported.");const e=r.parent;if(function(e){return!(null==e||!e.geometry)}(e)){if(l(e.geometry))throw new Error("Wireframe: WireframeGeometry is not supported.");return e.geometry}}}function d(e,r){if(e.index){console.warn("Wireframe: Requires non-indexed geometry, converting to non-indexed geometry.");const r=e.toNonIndexed();e.copy(r),e.setIndex(null)}const t=function(e,r){const t=e.getAttribute("position").count,n=[];for(let e=0;e<t;e++){const t=r?1:0;e%2==0?n.push(0,0,1,0,1,0,1,0,t):n.push(0,1,0,0,0,1,1,0,t)}return new s.BufferAttribute(Float32Array.from(n),3)}(e,r);e.setAttribute("barycentric",t)}function y({geometry:e,simplify:r=!1,...t}){const[
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/extends"),r=require("react"),t=require("three"),n=require("@react-three/fiber"),o=require("../materials/WireframeMaterial.cjs.js");function i(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function a(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)}require("./shaderMaterial.cjs.js");var u=i(e),f=a(r),s=a(t);function c(e){return void 0!==(null==e?void 0:e.current)}function l(e){return"WireframeGeometry"===e.type}function m(e){const r=null!=(t=e)&&t.current?e.current:e;var t;if(function(e){return!(null==e||!e.isBufferGeometry)}(r))return r;{if(l(r))throw new Error("Wireframe: WireframeGeometry is not supported.");const e=r.parent;if(function(e){return!(null==e||!e.geometry)}(e)){if(l(e.geometry))throw new Error("Wireframe: WireframeGeometry is not supported.");return e.geometry}}}function d(e,r){if(e.index){console.warn("Wireframe: Requires non-indexed geometry, converting to non-indexed geometry.");const r=e.toNonIndexed();e.copy(r),e.setIndex(null)}const t=function(e,r){const t=e.getAttribute("position").count,n=[];for(let e=0;e<t;e++){const t=r?1:0;e%2==0?n.push(0,0,1,0,1,0,1,0,t):n.push(0,1,0,0,0,1,1,0,t)}return new s.BufferAttribute(Float32Array.from(n),3)}(e,r);e.setAttribute("barycentric",t)}function y({geometry:e,simplify:r=!1,...t}){n.extend({MeshWireframeMaterial:o.WireframeMaterial});const[i,a]=f.useState(null);f.useLayoutEffect((()=>{const t=m(e);if(!t)throw new Error("Wireframe: geometry prop must be a BufferGeometry or a ref to a BufferGeometry.");d(t,r),c(e)&&a(t)}),[r,e]);const l=c(e)?i:e;return f.createElement(f.Fragment,null,l&&f.createElement("mesh",{geometry:l},f.createElement("meshWireframeMaterial",u.default({attach:"material",transparent:!0,side:s.DoubleSide,polygonOffset:!0,polygonOffsetFactor:-4},t,{extensions:{derivatives:!0,fragDepth:!1,drawBuffers:!1,shaderTextureLOD:!1}}))))}function p({simplify:e=!1,...r}){const t=f.useRef(null),n=f.useMemo((()=>function(){const e={};for(const r in o.WireframeMaterialShaders.uniforms)e[r]={value:o.WireframeMaterialShaders.uniforms[r]};return e}()),[o.WireframeMaterialShaders.uniforms]);return o.useWireframeUniforms(n,r),f.useLayoutEffect((()=>{const r=m(t);if(!r)throw new Error("Wireframe: Must be a child of a Mesh, Line or Points object or specify a geometry prop.");const n=r.clone();return d(r,e),()=>{r.copy(n),n.dispose()}}),[e]),f.useLayoutEffect((()=>{const e=t.current.parent,r=e.material.clone();return o.setWireframeOverride(e.material,n),()=>{e.material.dispose(),e.material=r}}),[]),f.createElement("object3D",{ref:t})}exports.Wireframe=function({geometry:e,...r}){return e?f.createElement(y,u.default({geometry:e},r)):f.createElement(p,r)};
|
package/core/Wireframe.d.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import * as THREE from 'three';
|
|
3
|
-
import
|
|
3
|
+
import { MaterialNode } from '@react-three/fiber';
|
|
4
4
|
import { WireframeMaterialProps } from '../materials/WireframeMaterial';
|
|
5
5
|
declare global {
|
|
6
6
|
namespace JSX {
|
|
7
7
|
interface IntrinsicElements {
|
|
8
|
-
meshWireframeMaterial:
|
|
8
|
+
meshWireframeMaterial: MaterialNode<THREE.ShaderMaterial, WireframeMaterialProps>;
|
|
9
9
|
}
|
|
10
10
|
}
|
|
11
11
|
}
|
package/core/Wireframe.js
CHANGED
|
@@ -1,12 +1,9 @@
|
|
|
1
1
|
import _extends from '@babel/runtime/helpers/esm/extends';
|
|
2
2
|
import * as React from 'react';
|
|
3
3
|
import * as THREE from 'three';
|
|
4
|
-
import
|
|
4
|
+
import { extend } from '@react-three/fiber';
|
|
5
5
|
import { WireframeMaterial, WireframeMaterialShaders, useWireframeUniforms, setWireframeOverride } from '../materials/WireframeMaterial.js';
|
|
6
6
|
|
|
7
|
-
FIBER.extend({
|
|
8
|
-
MeshWireframeMaterial: WireframeMaterial
|
|
9
|
-
});
|
|
10
7
|
function isWithGeometry(object) {
|
|
11
8
|
return !!(object != null && object.geometry);
|
|
12
9
|
}
|
|
@@ -80,6 +77,9 @@ function WireframeWithCustomGeo({
|
|
|
80
77
|
simplify = false,
|
|
81
78
|
...props
|
|
82
79
|
}) {
|
|
80
|
+
extend({
|
|
81
|
+
MeshWireframeMaterial: WireframeMaterial
|
|
82
|
+
});
|
|
83
83
|
const [geometry, setGeometry] = React.useState(null);
|
|
84
84
|
React.useLayoutEffect(() => {
|
|
85
85
|
const geom = getInputGeometry(customGeometry);
|