@react-three/drei 9.58.3 → 9.58.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -0
- package/core/RoundedBox.cjs.js +1 -1
- package/core/RoundedBox.d.ts +2 -1
- package/core/RoundedBox.js +3 -0
- package/core/index.cjs.js +1 -1
- package/core/index.js +1 -0
- package/index.cjs.js +1 -1
- package/native/index.cjs.js +1 -1
- package/native/index.js +1 -0
- package/package.json +1 -1
- package/web/index.cjs.js +1 -1
- package/web/index.js +1 -0
package/README.md
CHANGED
|
@@ -805,6 +805,7 @@ A box buffer geometry with rounded corners, done with extrusion.
|
|
|
805
805
|
args={[1, 1, 1]} // Width, height, depth. Default is [1, 1, 1]
|
|
806
806
|
radius={0.05} // Radius of the rounded corners. Default is 0.05
|
|
807
807
|
smoothness={4} // The number of curve segments. Default is 4
|
|
808
|
+
creaseAngle={0.4} // Smooth normals everywhere except faces that meet at an angle greater than the crease angle
|
|
808
809
|
{...meshProps} // All THREE.Mesh props are valid
|
|
809
810
|
>
|
|
810
811
|
<meshPhongMaterial color="#f3f3f3" wireframe />
|
package/core/RoundedBox.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");function
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/extends"),t=require("react"),r=require("three"),n=require("three-stdlib/utils/BufferGeometryUtils");function s(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(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=s(e),c=u(t);const o=1e-5;const f=c.forwardRef((function({args:[e=1,t=1,s=1]=[],radius:u=.05,steps:f=1,smoothness:l=4,creaseAngle:i=.4,children:b,...d},h){const m=c.useMemo((()=>function(e,t,n){const s=new r.Shape,u=n-o;return s.absarc(o,o,o,-Math.PI/2,-Math.PI,!0),s.absarc(o,t-2*u,o,Math.PI,Math.PI/2,!0),s.absarc(e-2*u,t-2*u,o,Math.PI/2,0,!0),s.absarc(e-2*u,o,o,0,-Math.PI/2,!0),s}(e,t,u)),[e,t,u]),p=c.useMemo((()=>({depth:s-2*u,bevelEnabled:!0,bevelSegments:2*l,steps:f,bevelSize:u-o,bevelThickness:u,curveSegments:l})),[s,u,l]),v=c.useRef();return c.useLayoutEffect((()=>{v.current&&(v.current.center(),n.toCreasedNormals(v.current,i))}),[m,p]),c.createElement("mesh",a.default({ref:h},d),c.createElement("extrudeGeometry",{ref:v,args:[m,p]}),b)}));exports.RoundedBox=f;
|
package/core/RoundedBox.d.ts
CHANGED
|
@@ -6,6 +6,7 @@ declare type Props = {
|
|
|
6
6
|
radius?: number;
|
|
7
7
|
smoothness?: number;
|
|
8
8
|
steps?: number;
|
|
9
|
+
creaseAngle?: number;
|
|
9
10
|
} & Omit<JSX.IntrinsicElements['mesh'], 'args'>;
|
|
10
|
-
export declare const RoundedBox: React.ForwardRefExoticComponent<Pick<Props, "visible" | "attach" | "args" | "children" | "key" | "onUpdate" | "position" | "up" | "scale" | "rotation" | "matrix" | "quaternion" | "layers" | "dispose" | "type" | "id" | "uuid" | "name" | "parent" | "modelViewMatrix" | "normalMatrix" | "matrixWorld" | "matrixAutoUpdate" | "matrixWorldAutoUpdate" | "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" | "removeFromParent" | "clear" | "getObjectById" | "getObjectByName" | "getObjectByProperty" | "getObjectsByProperty" | "getWorldPosition" | "getWorldQuaternion" | "getWorldScale" | "getWorldDirection" | "raycast" | "traverse" | "traverseVisible" | "traverseAncestors" | "updateMatrix" | "updateMatrixWorld" | "updateWorldMatrix" | "toJSON" | "clone" | "copy" | "addEventListener" | "hasEventListener" | "removeEventListener" | "dispatchEvent" | keyof import("@react-three/fiber/dist/declarations/src/core/events").EventHandlers | "material" | "geometry" | "morphTargetInfluences" | "morphTargetDictionary" | "isMesh" | "updateMorphTargets" | "getVertexPosition" | "radius" | "steps" | "smoothness"> & React.RefAttributes<Mesh<import("three").BufferGeometry, import("three").Material | import("three").Material[]>>>;
|
|
11
|
+
export declare const RoundedBox: React.ForwardRefExoticComponent<Pick<Props, "visible" | "attach" | "args" | "children" | "key" | "onUpdate" | "position" | "up" | "scale" | "rotation" | "matrix" | "quaternion" | "layers" | "dispose" | "type" | "id" | "uuid" | "name" | "parent" | "modelViewMatrix" | "normalMatrix" | "matrixWorld" | "matrixAutoUpdate" | "matrixWorldAutoUpdate" | "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" | "removeFromParent" | "clear" | "getObjectById" | "getObjectByName" | "getObjectByProperty" | "getObjectsByProperty" | "getWorldPosition" | "getWorldQuaternion" | "getWorldScale" | "getWorldDirection" | "raycast" | "traverse" | "traverseVisible" | "traverseAncestors" | "updateMatrix" | "updateMatrixWorld" | "updateWorldMatrix" | "toJSON" | "clone" | "copy" | "addEventListener" | "hasEventListener" | "removeEventListener" | "dispatchEvent" | keyof import("@react-three/fiber/dist/declarations/src/core/events").EventHandlers | "material" | "geometry" | "morphTargetInfluences" | "morphTargetDictionary" | "isMesh" | "updateMorphTargets" | "getVertexPosition" | "radius" | "steps" | "smoothness" | "creaseAngle"> & React.RefAttributes<Mesh<import("three").BufferGeometry, import("three").Material | import("three").Material[]>>>;
|
|
11
12
|
export {};
|
package/core/RoundedBox.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import _extends from '@babel/runtime/helpers/esm/extends';
|
|
2
2
|
import * as React from 'react';
|
|
3
3
|
import { Shape } from 'three';
|
|
4
|
+
import { toCreasedNormals } from 'three-stdlib/utils/BufferGeometryUtils';
|
|
4
5
|
|
|
5
6
|
const eps = 0.00001;
|
|
6
7
|
|
|
@@ -19,6 +20,7 @@ const RoundedBox = /*#__PURE__*/React.forwardRef(function RoundedBox({
|
|
|
19
20
|
radius = 0.05,
|
|
20
21
|
steps = 1,
|
|
21
22
|
smoothness = 4,
|
|
23
|
+
creaseAngle = 0.4,
|
|
22
24
|
children,
|
|
23
25
|
...rest
|
|
24
26
|
}, ref) {
|
|
@@ -36,6 +38,7 @@ const RoundedBox = /*#__PURE__*/React.forwardRef(function RoundedBox({
|
|
|
36
38
|
React.useLayoutEffect(() => {
|
|
37
39
|
if (geomRef.current) {
|
|
38
40
|
geomRef.current.center();
|
|
41
|
+
toCreasedNormals(geomRef.current, creaseAngle);
|
|
39
42
|
}
|
|
40
43
|
}, [shape, params]);
|
|
41
44
|
return /*#__PURE__*/React.createElement("mesh", _extends({
|
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("./ScreenSpace.cjs.js"),s=require("./QuadraticBezierLine.cjs.js"),t=require("./CubicBezierLine.cjs.js"),o=require("./CatmullRomLine.cjs.js"),i=require("./Line.cjs.js"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./Billboard.cjs.js"),r=require("./ScreenSpace.cjs.js"),s=require("./QuadraticBezierLine.cjs.js"),t=require("./CubicBezierLine.cjs.js"),o=require("./CatmullRomLine.cjs.js"),i=require("./Line.cjs.js"),u=require("./PositionalAudio.cjs.js"),a=require("./Text.cjs.js"),c=require("./Text3D.cjs.js"),n=require("./Effects.cjs.js"),j=require("./GradientTexture.cjs.js"),p=require("./Image.cjs.js"),x=require("./Edges.cjs.js"),l=require("./Trail.cjs.js"),q=require("./Sampler.cjs.js"),d=require("./ComputedAttribute.cjs.js"),m=require("./Clone.cjs.js"),h=require("./MarchingCubes.cjs.js"),C=require("./Decal.cjs.js"),M=require("./Svg.cjs.js"),S=require("./Gltf.cjs.js"),T=require("./AsciiRenderer.cjs.js"),B=require("./OrthographicCamera.cjs.js"),b=require("./PerspectiveCamera.cjs.js"),f=require("./CubeCamera.cjs.js"),P=require("./DeviceOrientationControls.cjs.js"),g=require("./FlyControls.cjs.js"),v=require("./MapControls.cjs.js"),A=require("./OrbitControls.cjs.js"),L=require("./TrackballControls.cjs.js"),G=require("./ArcballControls.cjs.js"),k=require("./TransformControls.cjs.js"),D=require("./PointerLockControls.cjs.js"),R=require("./FirstPersonControls.cjs.js"),E=require("./CameraControls.cjs.js"),w=require("./GizmoHelper.cjs.js"),z=require("./GizmoViewcube.cjs.js"),F=require("./GizmoViewport.cjs.js"),O=require("./Grid.cjs.js"),I=require("./useCubeTexture.cjs.js"),y=require("./useFBX.cjs.js"),H=require("./useGLTF.cjs.js"),V=require("./useKTX2.cjs.js"),Q=require("./useProgress.cjs.js"),X=require("./useTexture.cjs.js"),K=require("./useVideoTexture.cjs.js"),W=require("./Stats.cjs.js"),U=require("./useDepthBuffer.cjs.js"),N=require("./useAspect.cjs.js"),_=require("./useCamera.cjs.js"),J=require("./useDetectGPU.cjs.js"),Y=require("./useHelper.cjs.js"),Z=require("./useBVH.cjs.js"),$=require("./useContextBridge.cjs.js"),ee=require("./useAnimations.cjs.js"),re=require("./useFBO.cjs.js"),se=require("./useIntersect.cjs.js"),te=require("./useBoxProjectedEnv.cjs.js"),oe=require("./BBAnchor.cjs.js"),ie=require("./useTrailTexture.cjs.js"),ue=require("./CurveModifier.cjs.js"),ae=require("./MeshDistortMaterial.cjs.js"),ce=require("./MeshWobbleMaterial.cjs.js"),ne=require("./MeshReflectorMaterial.cjs.js"),je=require("./MeshRefractionMaterial.cjs.js"),pe=require("./MeshTransmissionMaterial.cjs.js"),xe=require("./PointMaterial.cjs.js"),le=require("./shaderMaterial.cjs.js"),qe=require("./softShadows.cjs.js"),de=require("./shapes.cjs.js"),me=require("./RoundedBox.cjs.js"),he=require("./ScreenQuad.cjs.js"),Ce=require("./Center.cjs.js"),Me=require("./Bounds.cjs.js"),Se=require("./CameraShake.cjs.js"),Te=require("./Float.cjs.js"),Be=require("./Stage.cjs.js"),be=require("./Backdrop.cjs.js"),fe=require("./Shadow.cjs.js"),Pe=require("./Caustics.cjs.js"),ge=require("./ContactShadows.cjs.js"),ve=require("./AccumulativeShadows.cjs.js"),Ae=require("./Reflector.cjs.js"),Le=require("./SpotLight.cjs.js"),Ge=require("./Environment.cjs.js"),ke=require("./Lightformer.cjs.js"),De=require("./Sky.cjs.js"),Re=require("./Stars.cjs.js"),Ee=require("./Cloud.cjs.js"),we=require("./Sparkles.cjs.js"),ze=require("./useMatcapTexture.cjs.js"),Fe=require("./useNormalTexture.cjs.js"),Oe=require("./Points.cjs.js"),Ie=require("./Instances.cjs.js"),ye=require("./Segments.cjs.js"),He=require("./Detailed.cjs.js"),Ve=require("./Preload.cjs.js"),Qe=require("./BakeShadows.cjs.js"),Xe=require("./meshBounds.cjs.js"),Ke=require("./AdaptiveDpr.cjs.js"),We=require("./AdaptiveEvents.cjs.js"),Ue=require("./PerformanceMonitor.cjs.js"),Ne=require("./RenderTexture.cjs.js"),_e=require("./Mask.cjs.js"),Je=require("./Hud.cjs.js");require("@babel/runtime/helpers/extends"),require("react"),require("@react-three/fiber"),require("react-merge-refs"),require("three"),require("three-stdlib"),require("troika-three-text"),require("suspend-react"),require("meshline"),require("lodash.pick"),require("lodash.omit"),require("camera-controls"),require("zustand"),require("stats.js"),require("../helpers/useEffectfulState.cjs.js"),require("detect-gpu"),require("three-mesh-bvh"),require("../materials/BlurPass.cjs.js"),require("../materials/ConvolutionMaterial.cjs.js"),require("../materials/MeshReflectorMaterial.cjs.js"),require("../materials/MeshRefractionMaterial.cjs.js"),require("../materials/DiscardMaterial.cjs.js"),require("three-stdlib/utils/BufferGeometryUtils"),require("../helpers/environment-assets.cjs.js"),require("../materials/SpotLightMaterial.cjs.js"),require("react-composer"),exports.Billboard=e.Billboard,exports.ScreenSpace=r.ScreenSpace,exports.QuadraticBezierLine=s.QuadraticBezierLine,exports.CubicBezierLine=t.CubicBezierLine,exports.CatmullRomLine=o.CatmullRomLine,exports.Line=i.Line,exports.PositionalAudio=u.PositionalAudio,exports.Text=a.Text,exports.Text3D=c.Text3D,exports.Effects=n.Effects,exports.isWebGL2Available=n.isWebGL2Available,exports.GradientTexture=j.GradientTexture,exports.Image=p.Image,exports.Edges=x.Edges,exports.Trail=l.Trail,exports.useTrail=l.useTrail,exports.Sampler=q.Sampler,exports.useSurfaceSampler=q.useSurfaceSampler,exports.ComputedAttribute=d.ComputedAttribute,exports.Clone=m.Clone,exports.MarchingCube=h.MarchingCube,exports.MarchingCubes=h.MarchingCubes,exports.MarchingPlane=h.MarchingPlane,exports.Decal=C.Decal,exports.Svg=M.Svg,exports.Gltf=S.Gltf,exports.AsciiRenderer=T.AsciiRenderer,exports.OrthographicCamera=B.OrthographicCamera,exports.PerspectiveCamera=b.PerspectiveCamera,exports.CubeCamera=f.CubeCamera,exports.DeviceOrientationControls=P.DeviceOrientationControls,exports.FlyControls=g.FlyControls,exports.MapControls=v.MapControls,exports.OrbitControls=A.OrbitControls,exports.TrackballControls=L.TrackballControls,exports.ArcballControls=G.ArcballControls,exports.TransformControls=k.TransformControls,exports.PointerLockControls=D.PointerLockControls,exports.FirstPersonControls=R.FirstPersonControls,exports.CameraControls=E.CameraControls,exports.GizmoHelper=w.GizmoHelper,exports.useGizmoContext=w.useGizmoContext,exports.GizmoViewcube=z.GizmoViewcube,exports.GizmoViewport=F.GizmoViewport,exports.Grid=O.Grid,exports.useCubeTexture=I.useCubeTexture,exports.useFBX=y.useFBX,exports.useGLTF=H.useGLTF,exports.useKTX2=V.useKTX2,exports.useProgress=Q.useProgress,exports.IsObject=X.IsObject,exports.useTexture=X.useTexture,exports.useVideoTexture=K.useVideoTexture,exports.Stats=W.Stats,exports.useDepthBuffer=U.useDepthBuffer,exports.useAspect=N.useAspect,exports.useCamera=_.useCamera,exports.useDetectGPU=J.useDetectGPU,exports.useHelper=Y.useHelper,exports.Bvh=Z.Bvh,exports.useBVH=Z.useBVH,exports.useContextBridge=$.useContextBridge,exports.useAnimations=ee.useAnimations,exports.useFBO=re.useFBO,exports.useIntersect=se.useIntersect,exports.useBoxProjectedEnv=te.useBoxProjectedEnv,exports.BBAnchor=oe.BBAnchor,exports.useTrailTexture=ie.useTrailTexture,exports.CurveModifier=ue.CurveModifier,exports.MeshDistortMaterial=ae.MeshDistortMaterial,exports.MeshWobbleMaterial=ce.MeshWobbleMaterial,exports.MeshReflectorMaterial=ne.MeshReflectorMaterial,exports.MeshRefractionMaterial=je.MeshRefractionMaterial,exports.MeshTransmissionMaterial=pe.MeshTransmissionMaterial,exports.PointMaterial=xe.PointMaterial,exports.PointMaterialImpl=xe.PointMaterialImpl,exports.shaderMaterial=le.shaderMaterial,exports.SoftShadows=qe.SoftShadows,exports.Box=de.Box,exports.Capsule=de.Capsule,exports.Circle=de.Circle,exports.Cone=de.Cone,exports.Cylinder=de.Cylinder,exports.Dodecahedron=de.Dodecahedron,exports.Extrude=de.Extrude,exports.Icosahedron=de.Icosahedron,exports.Lathe=de.Lathe,exports.Octahedron=de.Octahedron,exports.Plane=de.Plane,exports.Polyhedron=de.Polyhedron,exports.Ring=de.Ring,exports.Shape=de.Shape,exports.Sphere=de.Sphere,exports.Tetrahedron=de.Tetrahedron,exports.Torus=de.Torus,exports.TorusKnot=de.TorusKnot,exports.Tube=de.Tube,exports.RoundedBox=me.RoundedBox,exports.ScreenQuad=he.ScreenQuad,exports.Center=Ce.Center,exports.Bounds=Me.Bounds,exports.useBounds=Me.useBounds,exports.CameraShake=Se.CameraShake,exports.Float=Te.Float,exports.Stage=Be.Stage,exports.Backdrop=be.Backdrop,exports.Shadow=fe.Shadow,exports.Caustics=Pe.Caustics,exports.ContactShadows=ge.ContactShadows,exports.AccumulativeShadows=ve.AccumulativeShadows,exports.RandomizedLight=ve.RandomizedLight,exports.accumulativeContext=ve.accumulativeContext,exports.Reflector=Ae.Reflector,exports.SpotLight=Le.SpotLight,exports.SpotLightShadow=Le.SpotLightShadow,exports.Environment=Ge.Environment,exports.EnvironmentCube=Ge.EnvironmentCube,exports.EnvironmentMap=Ge.EnvironmentMap,exports.EnvironmentPortal=Ge.EnvironmentPortal,exports.useEnvironment=Ge.useEnvironment,exports.Lightformer=ke.Lightformer,exports.Sky=De.Sky,exports.calcPosFromAngles=De.calcPosFromAngles,exports.Stars=Re.Stars,exports.Cloud=Ee.Cloud,exports.Sparkles=we.Sparkles,exports.useMatcapTexture=ze.useMatcapTexture,exports.useNormalTexture=Fe.useNormalTexture,exports.Point=Oe.Point,exports.Points=Oe.Points,exports.PointsBuffer=Oe.PointsBuffer,exports.PositionPoint=Oe.PositionPoint,exports.Instance=Ie.Instance,exports.Instances=Ie.Instances,exports.Merged=Ie.Merged,exports.Segment=ye.Segment,exports.SegmentObject=ye.SegmentObject,exports.Segments=ye.Segments,exports.Detailed=He.Detailed,exports.Preload=Ve.Preload,exports.BakeShadows=Qe.BakeShadows,exports.meshBounds=Xe.meshBounds,exports.AdaptiveDpr=Ke.AdaptiveDpr,exports.AdaptiveEvents=We.AdaptiveEvents,exports.PerformanceMonitor=Ue.PerformanceMonitor,exports.usePerformanceMonitor=Ue.usePerformanceMonitor,exports.RenderTexture=Ne.RenderTexture,exports.Mask=_e.Mask,exports.useMask=_e.useMask,exports.Hud=Je.Hud;
|
package/core/index.js
CHANGED
|
@@ -125,6 +125,7 @@ import '../materials/ConvolutionMaterial.js';
|
|
|
125
125
|
import '../materials/MeshReflectorMaterial.js';
|
|
126
126
|
import '../materials/MeshRefractionMaterial.js';
|
|
127
127
|
import '../materials/DiscardMaterial.js';
|
|
128
|
+
import 'three-stdlib/utils/BufferGeometryUtils';
|
|
128
129
|
import '../helpers/environment-assets.js';
|
|
129
130
|
import '../materials/SpotLightMaterial.js';
|
|
130
131
|
import 'react-composer';
|