@react-three/drei 9.31.1 → 9.32.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/index.js CHANGED
@@ -4,6 +4,7 @@ export { useCursor } from './web/useCursor.js';
4
4
  export { Loader } from './web/Loader.js';
5
5
  export { Scroll, ScrollControls, useScroll } from './web/ScrollControls.js';
6
6
  export { PresentationControls } from './web/PresentationControls.js';
7
+ export { KeyboardControls, useKeyboardControls } from './web/KeyboardControls.js';
7
8
  export { Select, useSelect } from './web/Select.js';
8
9
  export { Billboard } from './core/Billboard.js';
9
10
  export { QuadraticBezierLine } from './core/QuadraticBezierLine.js';
@@ -89,7 +90,7 @@ export { Cloud } from './core/Cloud.js';
89
90
  export { Sparkles } from './core/Sparkles.js';
90
91
  export { useMatcapTexture } from './core/useMatcapTexture.js';
91
92
  export { useNormalTexture } from './core/useNormalTexture.js';
92
- export { Point, Points, PointsBuffer } from './core/Points.js';
93
+ export { Point, Points, PointsBuffer, PositionPoint } from './core/Points.js';
93
94
  export { Instance, Instances, Merged } from './core/Instances.js';
94
95
  export { Segment, SegmentObject, Segments } from './core/Segments.js';
95
96
  export { Detailed } from './core/Detailed.js';
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../core/Billboard.cjs.js"),r=require("../core/QuadraticBezierLine.cjs.js"),s=require("../core/CubicBezierLine.cjs.js"),o=require("../core/CatmullRomLine.cjs.js"),t=require("../core/Line.cjs.js"),i=require("../core/PositionalAudio.cjs.js"),c=require("../core/Text.cjs.js"),u=require("../core/Text3D.cjs.js"),a=require("../core/Effects.cjs.js"),n=require("../core/GradientTexture.cjs.js"),j=require("../core/Image.cjs.js"),p=require("../core/Edges.cjs.js"),l=require("../core/Trail.cjs.js"),x=require("../core/Sampler.cjs.js"),q=require("../core/ComputedAttribute.cjs.js"),d=require("../core/Clone.cjs.js"),m=require("../core/MarchingCubes.cjs.js"),C=require("../core/Decal.cjs.js"),h=require("../core/OrthographicCamera.cjs.js"),M=require("../core/PerspectiveCamera.cjs.js"),S=require("../core/CubeCamera.cjs.js"),b=require("../core/DeviceOrientationControls.cjs.js"),P=require("../core/FlyControls.cjs.js"),B=require("../core/MapControls.cjs.js"),f=require("../core/OrbitControls.cjs.js"),T=require("../core/TrackballControls.cjs.js"),v=require("../core/ArcballControls.cjs.js"),g=require("../core/TransformControls.cjs.js"),A=require("../core/PointerLockControls.cjs.js"),L=require("../core/FirstPersonControls.cjs.js"),k=require("../core/pivotControls/index.cjs.js"),D=require("../core/GizmoHelper.cjs.js"),E=require("../core/GizmoViewcube.cjs.js"),R=require("../core/GizmoViewport.cjs.js"),w=require("../core/useCubeTexture.cjs.js"),F=require("../core/useFBX.cjs.js"),G=require("../core/useGLTF.cjs.js"),z=require("../core/useKTX2.cjs.js"),O=require("../core/useProgress.cjs.js"),I=require("../core/useTexture.cjs.js"),V=require("../core/useVideoTexture.cjs.js"),y=require("../core/Stats.cjs.js"),H=require("../core/useDepthBuffer.cjs.js"),Q=require("../core/useAspect.cjs.js"),X=require("../core/useCamera.cjs.js"),K=require("../core/useDetectGPU.cjs.js"),W=require("../core/useHelper.cjs.js"),N=require("../core/useBVH.cjs.js"),U=require("../core/useContextBridge.cjs.js"),_=require("../core/useAnimations.cjs.js"),J=require("../core/useFBO.cjs.js"),Y=require("../core/useIntersect.cjs.js"),Z=require("../core/useBoxProjectedEnv.cjs.js"),$=require("../core/BBAnchor.cjs.js"),ee=require("../core/CurveModifier.cjs.js"),re=require("../core/MeshDistortMaterial.cjs.js"),se=require("../core/MeshWobbleMaterial.cjs.js"),oe=require("../core/MeshReflectorMaterial.cjs.js"),te=require("../core/MeshRefractionMaterial.cjs.js"),ie=require("../core/PointMaterial.cjs.js"),ce=require("../core/shaderMaterial.cjs.js"),ue=require("../core/softShadows.cjs.js"),ae=require("../core/shapes.cjs.js"),ne=require("../core/RoundedBox.cjs.js"),je=require("../core/ScreenQuad.cjs.js"),pe=require("../core/Center.cjs.js"),le=require("../core/Bounds.cjs.js"),xe=require("../core/CameraShake.cjs.js"),qe=require("../core/Float.cjs.js"),de=require("../core/Stage.cjs.js"),me=require("../core/Backdrop.cjs.js"),Ce=require("../core/Shadow.cjs.js"),he=require("../core/ContactShadows.cjs.js"),Me=require("../core/AccumulativeShadows.cjs.js"),Se=require("../core/Reflector.cjs.js"),be=require("../core/SpotLight.cjs.js"),Pe=require("../core/Environment.cjs.js"),Be=require("../core/Lightformer.cjs.js"),fe=require("../core/Sky.cjs.js"),Te=require("../core/Stars.cjs.js"),ve=require("../core/Cloud.cjs.js"),ge=require("../core/Sparkles.cjs.js"),Ae=require("../core/useMatcapTexture.cjs.js"),Le=require("../core/useNormalTexture.cjs.js"),ke=require("../core/Points.cjs.js"),De=require("../core/Instances.cjs.js"),Ee=require("../core/Segments.cjs.js"),Re=require("../core/Detailed.cjs.js"),we=require("../core/Preload.cjs.js"),Fe=require("../core/BakeShadows.cjs.js"),Ge=require("../core/meshBounds.cjs.js"),ze=require("../core/AdaptiveDpr.cjs.js"),Oe=require("../core/AdaptiveEvents.cjs.js"),Ie=require("../core/PerformanceMonitor.cjs.js"),Ve=require("../core/RenderTexture.cjs.js"),ye=require("../core/Mask.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("../core/pivotControls/AxisArrow.cjs.js"),require("../web/Html.cjs.js"),require("react-dom/client"),require("../core/pivotControls/context.cjs.js"),require("../core/pivotControls/PlaneSlider.cjs.js"),require("../core/pivotControls/AxisRotator.cjs.js"),require("lodash.clamp"),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("../helpers/environment-assets.cjs.js"),require("../materials/SpotLightMaterial.cjs.js"),require("../helpers/Position.cjs.js"),require("react-composer"),exports.Billboard=e.Billboard,exports.QuadraticBezierLine=r.QuadraticBezierLine,exports.CubicBezierLine=s.CubicBezierLine,exports.CatmullRomLine=o.CatmullRomLine,exports.Line=t.Line,exports.PositionalAudio=i.PositionalAudio,exports.Text=c.Text,exports.Text3D=u.Text3D,exports.Effects=a.Effects,exports.isWebGL2Available=a.isWebGL2Available,exports.GradientTexture=n.GradientTexture,exports.Image=j.Image,exports.Edges=p.Edges,exports.Trail=l.Trail,exports.useTrail=l.useTrail,exports.Sampler=x.Sampler,exports.useSurfaceSampler=x.useSurfaceSampler,exports.ComputedAttribute=q.ComputedAttribute,exports.Clone=d.Clone,exports.MarchingCube=m.MarchingCube,exports.MarchingCubes=m.MarchingCubes,exports.MarchingPlane=m.MarchingPlane,exports.Decal=C.Decal,exports.OrthographicCamera=h.OrthographicCamera,exports.PerspectiveCamera=M.PerspectiveCamera,exports.CubeCamera=S.CubeCamera,exports.DeviceOrientationControls=b.DeviceOrientationControls,exports.FlyControls=P.FlyControls,exports.MapControls=B.MapControls,exports.OrbitControls=f.OrbitControls,exports.TrackballControls=T.TrackballControls,exports.ArcballControls=v.ArcballControls,exports.TransformControls=g.TransformControls,exports.PointerLockControls=A.PointerLockControls,exports.FirstPersonControls=L.FirstPersonControls,exports.PivotControls=k.PivotControls,exports.calculateScaleFactor=k.calculateScaleFactor,exports.GizmoHelper=D.GizmoHelper,exports.useGizmoContext=D.useGizmoContext,exports.GizmoViewcube=E.GizmoViewcube,exports.GizmoViewport=R.GizmoViewport,exports.useCubeTexture=w.useCubeTexture,exports.useFBX=F.useFBX,exports.useGLTF=G.useGLTF,exports.useKTX2=z.useKTX2,exports.useProgress=O.useProgress,exports.IsObject=I.IsObject,exports.useTexture=I.useTexture,exports.useVideoTexture=V.useVideoTexture,exports.Stats=y.Stats,exports.useDepthBuffer=H.useDepthBuffer,exports.useAspect=Q.useAspect,exports.useCamera=X.useCamera,exports.useDetectGPU=K.useDetectGPU,exports.useHelper=W.useHelper,exports.useBVH=N.useBVH,exports.useContextBridge=U.useContextBridge,exports.useAnimations=_.useAnimations,exports.useFBO=J.useFBO,exports.useIntersect=Y.useIntersect,exports.useBoxProjectedEnv=Z.useBoxProjectedEnv,exports.BBAnchor=$.BBAnchor,exports.CurveModifier=ee.CurveModifier,exports.MeshDistortMaterial=re.MeshDistortMaterial,exports.MeshWobbleMaterial=se.MeshWobbleMaterial,exports.MeshReflectorMaterial=oe.MeshReflectorMaterial,exports.MeshRefractionMaterial=te.MeshRefractionMaterial,exports.PointMaterial=ie.PointMaterial,exports.PointMaterialImpl=ie.PointMaterialImpl,exports.shaderMaterial=ce.shaderMaterial,exports.softShadows=ue.softShadows,exports.Box=ae.Box,exports.Capsule=ae.Capsule,exports.Circle=ae.Circle,exports.Cone=ae.Cone,exports.Cylinder=ae.Cylinder,exports.Dodecahedron=ae.Dodecahedron,exports.Extrude=ae.Extrude,exports.Icosahedron=ae.Icosahedron,exports.Lathe=ae.Lathe,exports.Octahedron=ae.Octahedron,exports.Plane=ae.Plane,exports.Polyhedron=ae.Polyhedron,exports.Ring=ae.Ring,exports.Sphere=ae.Sphere,exports.Tetrahedron=ae.Tetrahedron,exports.Torus=ae.Torus,exports.TorusKnot=ae.TorusKnot,exports.Tube=ae.Tube,exports.RoundedBox=ne.RoundedBox,exports.ScreenQuad=je.ScreenQuad,exports.Center=pe.Center,exports.Bounds=le.Bounds,exports.useBounds=le.useBounds,exports.CameraShake=xe.CameraShake,exports.Float=qe.Float,exports.Stage=de.Stage,exports.Backdrop=me.Backdrop,exports.Shadow=Ce.Shadow,exports.ContactShadows=he.ContactShadows,exports.AccumulativeShadows=Me.AccumulativeShadows,exports.RandomizedLight=Me.RandomizedLight,exports.accumulativeContext=Me.accumulativeContext,exports.Reflector=Se.Reflector,exports.SpotLight=be.SpotLight,exports.Environment=Pe.Environment,exports.EnvironmentCube=Pe.EnvironmentCube,exports.EnvironmentMap=Pe.EnvironmentMap,exports.EnvironmentPortal=Pe.EnvironmentPortal,exports.useEnvironment=Pe.useEnvironment,exports.Lightformer=Be.Lightformer,exports.Sky=fe.Sky,exports.calcPosFromAngles=fe.calcPosFromAngles,exports.Stars=Te.Stars,exports.Cloud=ve.Cloud,exports.Sparkles=ge.Sparkles,exports.useMatcapTexture=Ae.useMatcapTexture,exports.useNormalTexture=Le.useNormalTexture,exports.Point=ke.Point,exports.Points=ke.Points,exports.PointsBuffer=ke.PointsBuffer,exports.Instance=De.Instance,exports.Instances=De.Instances,exports.Merged=De.Merged,exports.Segment=Ee.Segment,exports.SegmentObject=Ee.SegmentObject,exports.Segments=Ee.Segments,exports.Detailed=Re.Detailed,exports.Preload=we.Preload,exports.BakeShadows=Fe.BakeShadows,exports.meshBounds=Ge.meshBounds,exports.AdaptiveDpr=ze.AdaptiveDpr,exports.AdaptiveEvents=Oe.AdaptiveEvents,exports.PerformanceMonitor=Ie.PerformanceMonitor,exports.usePerformanceMonitor=Ie.usePerformanceMonitor,exports.RenderTexture=Ve.RenderTexture,exports.Mask=ye.Mask,exports.useMask=ye.useMask;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../core/Billboard.cjs.js"),r=require("../core/QuadraticBezierLine.cjs.js"),s=require("../core/CubicBezierLine.cjs.js"),o=require("../core/CatmullRomLine.cjs.js"),t=require("../core/Line.cjs.js"),i=require("../core/PositionalAudio.cjs.js"),c=require("../core/Text.cjs.js"),u=require("../core/Text3D.cjs.js"),a=require("../core/Effects.cjs.js"),n=require("../core/GradientTexture.cjs.js"),j=require("../core/Image.cjs.js"),p=require("../core/Edges.cjs.js"),l=require("../core/Trail.cjs.js"),x=require("../core/Sampler.cjs.js"),q=require("../core/ComputedAttribute.cjs.js"),d=require("../core/Clone.cjs.js"),m=require("../core/MarchingCubes.cjs.js"),C=require("../core/Decal.cjs.js"),h=require("../core/OrthographicCamera.cjs.js"),M=require("../core/PerspectiveCamera.cjs.js"),P=require("../core/CubeCamera.cjs.js"),S=require("../core/DeviceOrientationControls.cjs.js"),b=require("../core/FlyControls.cjs.js"),B=require("../core/MapControls.cjs.js"),f=require("../core/OrbitControls.cjs.js"),T=require("../core/TrackballControls.cjs.js"),v=require("../core/ArcballControls.cjs.js"),g=require("../core/TransformControls.cjs.js"),A=require("../core/PointerLockControls.cjs.js"),L=require("../core/FirstPersonControls.cjs.js"),k=require("../core/pivotControls/index.cjs.js"),D=require("../core/GizmoHelper.cjs.js"),E=require("../core/GizmoViewcube.cjs.js"),R=require("../core/GizmoViewport.cjs.js"),w=require("../core/useCubeTexture.cjs.js"),F=require("../core/useFBX.cjs.js"),G=require("../core/useGLTF.cjs.js"),z=require("../core/useKTX2.cjs.js"),O=require("../core/useProgress.cjs.js"),I=require("../core/useTexture.cjs.js"),V=require("../core/useVideoTexture.cjs.js"),y=require("../core/Stats.cjs.js"),H=require("../core/useDepthBuffer.cjs.js"),Q=require("../core/useAspect.cjs.js"),X=require("../core/useCamera.cjs.js"),K=require("../core/useDetectGPU.cjs.js"),W=require("../core/useHelper.cjs.js"),N=require("../core/useBVH.cjs.js"),U=require("../core/useContextBridge.cjs.js"),_=require("../core/useAnimations.cjs.js"),J=require("../core/useFBO.cjs.js"),Y=require("../core/useIntersect.cjs.js"),Z=require("../core/useBoxProjectedEnv.cjs.js"),$=require("../core/BBAnchor.cjs.js"),ee=require("../core/CurveModifier.cjs.js"),re=require("../core/MeshDistortMaterial.cjs.js"),se=require("../core/MeshWobbleMaterial.cjs.js"),oe=require("../core/MeshReflectorMaterial.cjs.js"),te=require("../core/MeshRefractionMaterial.cjs.js"),ie=require("../core/PointMaterial.cjs.js"),ce=require("../core/shaderMaterial.cjs.js"),ue=require("../core/softShadows.cjs.js"),ae=require("../core/shapes.cjs.js"),ne=require("../core/RoundedBox.cjs.js"),je=require("../core/ScreenQuad.cjs.js"),pe=require("../core/Center.cjs.js"),le=require("../core/Bounds.cjs.js"),xe=require("../core/CameraShake.cjs.js"),qe=require("../core/Float.cjs.js"),de=require("../core/Stage.cjs.js"),me=require("../core/Backdrop.cjs.js"),Ce=require("../core/Shadow.cjs.js"),he=require("../core/ContactShadows.cjs.js"),Me=require("../core/AccumulativeShadows.cjs.js"),Pe=require("../core/Reflector.cjs.js"),Se=require("../core/SpotLight.cjs.js"),be=require("../core/Environment.cjs.js"),Be=require("../core/Lightformer.cjs.js"),fe=require("../core/Sky.cjs.js"),Te=require("../core/Stars.cjs.js"),ve=require("../core/Cloud.cjs.js"),ge=require("../core/Sparkles.cjs.js"),Ae=require("../core/useMatcapTexture.cjs.js"),Le=require("../core/useNormalTexture.cjs.js"),ke=require("../core/Points.cjs.js"),De=require("../core/Instances.cjs.js"),Ee=require("../core/Segments.cjs.js"),Re=require("../core/Detailed.cjs.js"),we=require("../core/Preload.cjs.js"),Fe=require("../core/BakeShadows.cjs.js"),Ge=require("../core/meshBounds.cjs.js"),ze=require("../core/AdaptiveDpr.cjs.js"),Oe=require("../core/AdaptiveEvents.cjs.js"),Ie=require("../core/PerformanceMonitor.cjs.js"),Ve=require("../core/RenderTexture.cjs.js"),ye=require("../core/Mask.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("../core/pivotControls/AxisArrow.cjs.js"),require("../web/Html.cjs.js"),require("react-dom/client"),require("../core/pivotControls/context.cjs.js"),require("../core/pivotControls/PlaneSlider.cjs.js"),require("../core/pivotControls/AxisRotator.cjs.js"),require("lodash.clamp"),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("../helpers/environment-assets.cjs.js"),require("../materials/SpotLightMaterial.cjs.js"),require("react-composer"),exports.Billboard=e.Billboard,exports.QuadraticBezierLine=r.QuadraticBezierLine,exports.CubicBezierLine=s.CubicBezierLine,exports.CatmullRomLine=o.CatmullRomLine,exports.Line=t.Line,exports.PositionalAudio=i.PositionalAudio,exports.Text=c.Text,exports.Text3D=u.Text3D,exports.Effects=a.Effects,exports.isWebGL2Available=a.isWebGL2Available,exports.GradientTexture=n.GradientTexture,exports.Image=j.Image,exports.Edges=p.Edges,exports.Trail=l.Trail,exports.useTrail=l.useTrail,exports.Sampler=x.Sampler,exports.useSurfaceSampler=x.useSurfaceSampler,exports.ComputedAttribute=q.ComputedAttribute,exports.Clone=d.Clone,exports.MarchingCube=m.MarchingCube,exports.MarchingCubes=m.MarchingCubes,exports.MarchingPlane=m.MarchingPlane,exports.Decal=C.Decal,exports.OrthographicCamera=h.OrthographicCamera,exports.PerspectiveCamera=M.PerspectiveCamera,exports.CubeCamera=P.CubeCamera,exports.DeviceOrientationControls=S.DeviceOrientationControls,exports.FlyControls=b.FlyControls,exports.MapControls=B.MapControls,exports.OrbitControls=f.OrbitControls,exports.TrackballControls=T.TrackballControls,exports.ArcballControls=v.ArcballControls,exports.TransformControls=g.TransformControls,exports.PointerLockControls=A.PointerLockControls,exports.FirstPersonControls=L.FirstPersonControls,exports.PivotControls=k.PivotControls,exports.calculateScaleFactor=k.calculateScaleFactor,exports.GizmoHelper=D.GizmoHelper,exports.useGizmoContext=D.useGizmoContext,exports.GizmoViewcube=E.GizmoViewcube,exports.GizmoViewport=R.GizmoViewport,exports.useCubeTexture=w.useCubeTexture,exports.useFBX=F.useFBX,exports.useGLTF=G.useGLTF,exports.useKTX2=z.useKTX2,exports.useProgress=O.useProgress,exports.IsObject=I.IsObject,exports.useTexture=I.useTexture,exports.useVideoTexture=V.useVideoTexture,exports.Stats=y.Stats,exports.useDepthBuffer=H.useDepthBuffer,exports.useAspect=Q.useAspect,exports.useCamera=X.useCamera,exports.useDetectGPU=K.useDetectGPU,exports.useHelper=W.useHelper,exports.useBVH=N.useBVH,exports.useContextBridge=U.useContextBridge,exports.useAnimations=_.useAnimations,exports.useFBO=J.useFBO,exports.useIntersect=Y.useIntersect,exports.useBoxProjectedEnv=Z.useBoxProjectedEnv,exports.BBAnchor=$.BBAnchor,exports.CurveModifier=ee.CurveModifier,exports.MeshDistortMaterial=re.MeshDistortMaterial,exports.MeshWobbleMaterial=se.MeshWobbleMaterial,exports.MeshReflectorMaterial=oe.MeshReflectorMaterial,exports.MeshRefractionMaterial=te.MeshRefractionMaterial,exports.PointMaterial=ie.PointMaterial,exports.PointMaterialImpl=ie.PointMaterialImpl,exports.shaderMaterial=ce.shaderMaterial,exports.softShadows=ue.softShadows,exports.Box=ae.Box,exports.Capsule=ae.Capsule,exports.Circle=ae.Circle,exports.Cone=ae.Cone,exports.Cylinder=ae.Cylinder,exports.Dodecahedron=ae.Dodecahedron,exports.Extrude=ae.Extrude,exports.Icosahedron=ae.Icosahedron,exports.Lathe=ae.Lathe,exports.Octahedron=ae.Octahedron,exports.Plane=ae.Plane,exports.Polyhedron=ae.Polyhedron,exports.Ring=ae.Ring,exports.Sphere=ae.Sphere,exports.Tetrahedron=ae.Tetrahedron,exports.Torus=ae.Torus,exports.TorusKnot=ae.TorusKnot,exports.Tube=ae.Tube,exports.RoundedBox=ne.RoundedBox,exports.ScreenQuad=je.ScreenQuad,exports.Center=pe.Center,exports.Bounds=le.Bounds,exports.useBounds=le.useBounds,exports.CameraShake=xe.CameraShake,exports.Float=qe.Float,exports.Stage=de.Stage,exports.Backdrop=me.Backdrop,exports.Shadow=Ce.Shadow,exports.ContactShadows=he.ContactShadows,exports.AccumulativeShadows=Me.AccumulativeShadows,exports.RandomizedLight=Me.RandomizedLight,exports.accumulativeContext=Me.accumulativeContext,exports.Reflector=Pe.Reflector,exports.SpotLight=Se.SpotLight,exports.Environment=be.Environment,exports.EnvironmentCube=be.EnvironmentCube,exports.EnvironmentMap=be.EnvironmentMap,exports.EnvironmentPortal=be.EnvironmentPortal,exports.useEnvironment=be.useEnvironment,exports.Lightformer=Be.Lightformer,exports.Sky=fe.Sky,exports.calcPosFromAngles=fe.calcPosFromAngles,exports.Stars=Te.Stars,exports.Cloud=ve.Cloud,exports.Sparkles=ge.Sparkles,exports.useMatcapTexture=Ae.useMatcapTexture,exports.useNormalTexture=Le.useNormalTexture,exports.Point=ke.Point,exports.Points=ke.Points,exports.PointsBuffer=ke.PointsBuffer,exports.PositionPoint=ke.PositionPoint,exports.Instance=De.Instance,exports.Instances=De.Instances,exports.Merged=De.Merged,exports.Segment=Ee.Segment,exports.SegmentObject=Ee.SegmentObject,exports.Segments=Ee.Segments,exports.Detailed=Re.Detailed,exports.Preload=we.Preload,exports.BakeShadows=Fe.BakeShadows,exports.meshBounds=Ge.meshBounds,exports.AdaptiveDpr=ze.AdaptiveDpr,exports.AdaptiveEvents=Oe.AdaptiveEvents,exports.PerformanceMonitor=Ie.PerformanceMonitor,exports.usePerformanceMonitor=Ie.usePerformanceMonitor,exports.RenderTexture=Ve.RenderTexture,exports.Mask=ye.Mask,exports.useMask=ye.useMask;
package/native/index.js CHANGED
@@ -82,7 +82,7 @@ export { Cloud } from '../core/Cloud.js';
82
82
  export { Sparkles } from '../core/Sparkles.js';
83
83
  export { useMatcapTexture } from '../core/useMatcapTexture.js';
84
84
  export { useNormalTexture } from '../core/useNormalTexture.js';
85
- export { Point, Points, PointsBuffer } from '../core/Points.js';
85
+ export { Point, Points, PointsBuffer, PositionPoint } from '../core/Points.js';
86
86
  export { Instance, Instances, Merged } from '../core/Instances.js';
87
87
  export { Segment, SegmentObject, Segments } from '../core/Segments.js';
88
88
  export { Detailed } from '../core/Detailed.js';
@@ -123,5 +123,4 @@ import '../materials/MeshReflectorMaterial.js';
123
123
  import '../materials/MeshRefractionMaterial.js';
124
124
  import '../helpers/environment-assets.js';
125
125
  import '../materials/SpotLightMaterial.js';
126
- import '../helpers/Position.js';
127
126
  import 'react-composer';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@react-three/drei",
3
- "version": "9.31.1",
3
+ "version": "9.32.0",
4
4
  "private": false,
5
5
  "description": "useful add-ons for react-three-fiber",
6
6
  "keywords": [
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=require("zustand"),r=require("zustand/middleware");function n(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 u=s(e),o=n(t);const c=u.createContext(null);exports.KeyboardControls=function({map:e,children:t,onChange:n,domElement:s}){const a=e.map((e=>e.name+e.keys)).join("-"),d=u.useMemo((()=>o.default(r.subscribeWithSelector((()=>e.reduce(((e,t)=>({...e,[t.name]:!1})),{}))))),[a]),i=u.useMemo((()=>[d.subscribe,d.getState,d]),[a]),f=d.setState;return u.useEffect((()=>{const t=e.map((({name:e,keys:t,up:r})=>({keys:t,up:r,fn:t=>{f({[e]:t}),n&&n(e,t,i[2]())}}))).reduce(((e,{keys:t,fn:r,up:n=!0})=>(t.forEach((t=>e[t]={fn:r,pressed:!1,up:n})),e)),{}),r=({key:e,code:r})=>{const n=t[e]||t[r];if(!n)return;const{fn:s,pressed:u,up:o}=n;n.pressed=!0,!o&&u||s(!0)},u=({key:e,code:r})=>{const n=t[e]||t[r];if(!n)return;const{fn:s,up:u}=n;n.pressed=!1,u&&s(!1)},o=s||window;return o.addEventListener("keydown",r,{passive:!0}),o.addEventListener("keyup",u,{passive:!0}),()=>{o.removeEventListener("keydown",r),o.removeEventListener("keyup",u)}}),[s,a]),u.createElement(c.Provider,{value:i,children:t})},exports.useKeyboardControls=function(e){const[t,r,n]=u.useContext(c);return e?n(e):[t,r]};
@@ -0,0 +1,19 @@
1
+ import * as React from 'react';
2
+ import { StateSelector } from 'zustand';
3
+ declare type KeyboardControlsState = {
4
+ [key: string]: boolean;
5
+ };
6
+ declare type KeyboardControlsEntry = {
7
+ name: string;
8
+ keys: string[];
9
+ up?: boolean;
10
+ };
11
+ declare type KeyboardControlsProps = {
12
+ map: KeyboardControlsEntry[];
13
+ children: React.ReactNode;
14
+ onChange: (name: string, pressed: boolean, state: KeyboardControlsState) => void;
15
+ domElement?: HTMLElement;
16
+ };
17
+ export declare function KeyboardControls({ map, children, onChange, domElement }: KeyboardControlsProps): JSX.Element;
18
+ export declare function useKeyboardControls(sel?: StateSelector<KeyboardControlsState, any>): any;
19
+ export {};
@@ -0,0 +1,101 @@
1
+ import * as React from 'react';
2
+ import create from 'zustand';
3
+ import { subscribeWithSelector } from 'zustand/middleware';
4
+
5
+ const context = /*@__PURE__*/React.createContext(null);
6
+ function KeyboardControls({
7
+ map,
8
+ children,
9
+ onChange,
10
+ domElement
11
+ }) {
12
+ const key = map.map(item => item.name + item.keys).join('-');
13
+ const useControls = React.useMemo(() => {
14
+ return create(subscribeWithSelector(() => map.reduce((prev, cur) => ({ ...prev,
15
+ [cur.name]: false
16
+ }), {})));
17
+ }, [key]);
18
+ const api = React.useMemo(() => [useControls.subscribe, useControls.getState, useControls], [key]);
19
+ const set = useControls.setState;
20
+ React.useEffect(() => {
21
+ const config = map.map(({
22
+ name,
23
+ keys,
24
+ up
25
+ }) => ({
26
+ keys,
27
+ up,
28
+ fn: value => {
29
+ // Set zustand state
30
+ set({
31
+ [name]: value
32
+ }); // Inform callback
33
+
34
+ if (onChange) onChange(name, value, api[2]());
35
+ }
36
+ }));
37
+ const keyMap = config.reduce((out, {
38
+ keys,
39
+ fn,
40
+ up = true
41
+ }) => {
42
+ keys.forEach(key => out[key] = {
43
+ fn,
44
+ pressed: false,
45
+ up
46
+ });
47
+ return out;
48
+ }, {});
49
+
50
+ const downHandler = ({
51
+ key,
52
+ code
53
+ }) => {
54
+ const obj = keyMap[key] || keyMap[code];
55
+ if (!obj) return;
56
+ const {
57
+ fn,
58
+ pressed,
59
+ up
60
+ } = obj;
61
+ obj.pressed = true;
62
+ if (up || !pressed) fn(true);
63
+ };
64
+
65
+ const upHandler = ({
66
+ key,
67
+ code
68
+ }) => {
69
+ const obj = keyMap[key] || keyMap[code];
70
+ if (!obj) return;
71
+ const {
72
+ fn,
73
+ up
74
+ } = obj;
75
+ obj.pressed = false;
76
+ if (up) fn(false);
77
+ };
78
+
79
+ const source = domElement || window;
80
+ source.addEventListener('keydown', downHandler, {
81
+ passive: true
82
+ });
83
+ source.addEventListener('keyup', upHandler, {
84
+ passive: true
85
+ });
86
+ return () => {
87
+ source.removeEventListener('keydown', downHandler);
88
+ source.removeEventListener('keyup', upHandler);
89
+ };
90
+ }, [domElement, key]);
91
+ return /*#__PURE__*/React.createElement(context.Provider, {
92
+ value: api,
93
+ children: children
94
+ });
95
+ }
96
+ function useKeyboardControls(sel) {
97
+ const [sub, get, store] = React.useContext(context);
98
+ if (sel) return store(sel);else return [sub, get];
99
+ }
100
+
101
+ export { KeyboardControls, useKeyboardControls };
package/web/index.cjs.js CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./Html.cjs.js"),r=require("./CycleRaycast.cjs.js"),s=require("./useCursor.cjs.js"),o=require("./Loader.cjs.js"),t=require("./ScrollControls.cjs.js"),i=require("./PresentationControls.cjs.js"),c=require("./Select.cjs.js"),u=require("./View.cjs.js"),a=require("../core/Billboard.cjs.js"),n=require("../core/QuadraticBezierLine.cjs.js"),j=require("../core/CubicBezierLine.cjs.js"),l=require("../core/CatmullRomLine.cjs.js"),p=require("../core/Line.cjs.js"),x=require("../core/PositionalAudio.cjs.js"),q=require("../core/Text.cjs.js"),d=require("../core/Text3D.cjs.js"),C=require("../core/Effects.cjs.js"),m=require("../core/GradientTexture.cjs.js"),h=require("../core/Image.cjs.js"),S=require("../core/Edges.cjs.js"),M=require("../core/Trail.cjs.js"),P=require("../core/Sampler.cjs.js"),b=require("../core/ComputedAttribute.cjs.js"),B=require("../core/Clone.cjs.js"),f=require("../core/MarchingCubes.cjs.js"),T=require("../core/Decal.cjs.js"),g=require("../core/OrthographicCamera.cjs.js"),v=require("../core/PerspectiveCamera.cjs.js"),A=require("../core/CubeCamera.cjs.js"),L=require("../core/DeviceOrientationControls.cjs.js"),k=require("../core/FlyControls.cjs.js"),R=require("../core/MapControls.cjs.js"),w=require("../core/OrbitControls.cjs.js"),D=require("../core/TrackballControls.cjs.js"),E=require("../core/ArcballControls.cjs.js"),F=require("../core/TransformControls.cjs.js"),G=require("../core/PointerLockControls.cjs.js"),z=require("../core/FirstPersonControls.cjs.js"),O=require("../core/pivotControls/index.cjs.js"),y=require("../core/GizmoHelper.cjs.js"),I=require("../core/GizmoViewcube.cjs.js"),V=require("../core/GizmoViewport.cjs.js"),H=require("../core/useCubeTexture.cjs.js"),Q=require("../core/useFBX.cjs.js"),X=require("../core/useGLTF.cjs.js"),K=require("../core/useKTX2.cjs.js"),W=require("../core/useProgress.cjs.js"),N=require("../core/useTexture.cjs.js"),U=require("../core/useVideoTexture.cjs.js"),_=require("../core/Stats.cjs.js"),J=require("../core/useDepthBuffer.cjs.js"),Y=require("../core/useAspect.cjs.js"),Z=require("../core/useCamera.cjs.js"),$=require("../core/useDetectGPU.cjs.js"),ee=require("../core/useHelper.cjs.js"),re=require("../core/useBVH.cjs.js"),se=require("../core/useContextBridge.cjs.js"),oe=require("../core/useAnimations.cjs.js"),te=require("../core/useFBO.cjs.js"),ie=require("../core/useIntersect.cjs.js"),ce=require("../core/useBoxProjectedEnv.cjs.js"),ue=require("../core/BBAnchor.cjs.js"),ae=require("../core/CurveModifier.cjs.js"),ne=require("../core/MeshDistortMaterial.cjs.js"),je=require("../core/MeshWobbleMaterial.cjs.js"),le=require("../core/MeshReflectorMaterial.cjs.js"),pe=require("../core/MeshRefractionMaterial.cjs.js"),xe=require("../core/PointMaterial.cjs.js"),qe=require("../core/shaderMaterial.cjs.js"),de=require("../core/softShadows.cjs.js"),Ce=require("../core/shapes.cjs.js"),me=require("../core/RoundedBox.cjs.js"),he=require("../core/ScreenQuad.cjs.js"),Se=require("../core/Center.cjs.js"),Me=require("../core/Bounds.cjs.js"),Pe=require("../core/CameraShake.cjs.js"),be=require("../core/Float.cjs.js"),Be=require("../core/Stage.cjs.js"),fe=require("../core/Backdrop.cjs.js"),Te=require("../core/Shadow.cjs.js"),ge=require("../core/ContactShadows.cjs.js"),ve=require("../core/AccumulativeShadows.cjs.js"),Ae=require("../core/Reflector.cjs.js"),Le=require("../core/SpotLight.cjs.js"),ke=require("../core/Environment.cjs.js"),Re=require("../core/Lightformer.cjs.js"),we=require("../core/Sky.cjs.js"),De=require("../core/Stars.cjs.js"),Ee=require("../core/Cloud.cjs.js"),Fe=require("../core/Sparkles.cjs.js"),Ge=require("../core/useMatcapTexture.cjs.js"),ze=require("../core/useNormalTexture.cjs.js"),Oe=require("../core/Points.cjs.js"),ye=require("../core/Instances.cjs.js"),Ie=require("../core/Segments.cjs.js"),Ve=require("../core/Detailed.cjs.js"),He=require("../core/Preload.cjs.js"),Qe=require("../core/BakeShadows.cjs.js"),Xe=require("../core/meshBounds.cjs.js"),Ke=require("../core/AdaptiveDpr.cjs.js"),We=require("../core/AdaptiveEvents.cjs.js"),Ne=require("../core/PerformanceMonitor.cjs.js"),Ue=require("../core/RenderTexture.cjs.js"),_e=require("../core/Mask.cjs.js");require("@babel/runtime/helpers/extends"),require("react"),require("react-dom/client"),require("three"),require("@react-three/fiber"),require("zustand"),require("react-merge-refs"),require("@react-spring/three"),require("@use-gesture/react"),require("three-stdlib"),require("zustand/shallow"),require("troika-three-text"),require("suspend-react"),require("meshline"),require("lodash.pick"),require("lodash.omit"),require("../core/pivotControls/AxisArrow.cjs.js"),require("../core/pivotControls/context.cjs.js"),require("../core/pivotControls/PlaneSlider.cjs.js"),require("../core/pivotControls/AxisRotator.cjs.js"),require("lodash.clamp"),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("../helpers/environment-assets.cjs.js"),require("../materials/SpotLightMaterial.cjs.js"),require("../helpers/Position.cjs.js"),require("react-composer"),exports.Html=e.Html,exports.CycleRaycast=r.CycleRaycast,exports.useCursor=s.useCursor,exports.Loader=o.Loader,exports.Scroll=t.Scroll,exports.ScrollControls=t.ScrollControls,exports.useScroll=t.useScroll,exports.PresentationControls=i.PresentationControls,exports.Select=c.Select,exports.useSelect=c.useSelect,exports.View=u.View,exports.Billboard=a.Billboard,exports.QuadraticBezierLine=n.QuadraticBezierLine,exports.CubicBezierLine=j.CubicBezierLine,exports.CatmullRomLine=l.CatmullRomLine,exports.Line=p.Line,exports.PositionalAudio=x.PositionalAudio,exports.Text=q.Text,exports.Text3D=d.Text3D,exports.Effects=C.Effects,exports.isWebGL2Available=C.isWebGL2Available,exports.GradientTexture=m.GradientTexture,exports.Image=h.Image,exports.Edges=S.Edges,exports.Trail=M.Trail,exports.useTrail=M.useTrail,exports.Sampler=P.Sampler,exports.useSurfaceSampler=P.useSurfaceSampler,exports.ComputedAttribute=b.ComputedAttribute,exports.Clone=B.Clone,exports.MarchingCube=f.MarchingCube,exports.MarchingCubes=f.MarchingCubes,exports.MarchingPlane=f.MarchingPlane,exports.Decal=T.Decal,exports.OrthographicCamera=g.OrthographicCamera,exports.PerspectiveCamera=v.PerspectiveCamera,exports.CubeCamera=A.CubeCamera,exports.DeviceOrientationControls=L.DeviceOrientationControls,exports.FlyControls=k.FlyControls,exports.MapControls=R.MapControls,exports.OrbitControls=w.OrbitControls,exports.TrackballControls=D.TrackballControls,exports.ArcballControls=E.ArcballControls,exports.TransformControls=F.TransformControls,exports.PointerLockControls=G.PointerLockControls,exports.FirstPersonControls=z.FirstPersonControls,exports.PivotControls=O.PivotControls,exports.calculateScaleFactor=O.calculateScaleFactor,exports.GizmoHelper=y.GizmoHelper,exports.useGizmoContext=y.useGizmoContext,exports.GizmoViewcube=I.GizmoViewcube,exports.GizmoViewport=V.GizmoViewport,exports.useCubeTexture=H.useCubeTexture,exports.useFBX=Q.useFBX,exports.useGLTF=X.useGLTF,exports.useKTX2=K.useKTX2,exports.useProgress=W.useProgress,exports.IsObject=N.IsObject,exports.useTexture=N.useTexture,exports.useVideoTexture=U.useVideoTexture,exports.Stats=_.Stats,exports.useDepthBuffer=J.useDepthBuffer,exports.useAspect=Y.useAspect,exports.useCamera=Z.useCamera,exports.useDetectGPU=$.useDetectGPU,exports.useHelper=ee.useHelper,exports.useBVH=re.useBVH,exports.useContextBridge=se.useContextBridge,exports.useAnimations=oe.useAnimations,exports.useFBO=te.useFBO,exports.useIntersect=ie.useIntersect,exports.useBoxProjectedEnv=ce.useBoxProjectedEnv,exports.BBAnchor=ue.BBAnchor,exports.CurveModifier=ae.CurveModifier,exports.MeshDistortMaterial=ne.MeshDistortMaterial,exports.MeshWobbleMaterial=je.MeshWobbleMaterial,exports.MeshReflectorMaterial=le.MeshReflectorMaterial,exports.MeshRefractionMaterial=pe.MeshRefractionMaterial,exports.PointMaterial=xe.PointMaterial,exports.PointMaterialImpl=xe.PointMaterialImpl,exports.shaderMaterial=qe.shaderMaterial,exports.softShadows=de.softShadows,exports.Box=Ce.Box,exports.Capsule=Ce.Capsule,exports.Circle=Ce.Circle,exports.Cone=Ce.Cone,exports.Cylinder=Ce.Cylinder,exports.Dodecahedron=Ce.Dodecahedron,exports.Extrude=Ce.Extrude,exports.Icosahedron=Ce.Icosahedron,exports.Lathe=Ce.Lathe,exports.Octahedron=Ce.Octahedron,exports.Plane=Ce.Plane,exports.Polyhedron=Ce.Polyhedron,exports.Ring=Ce.Ring,exports.Sphere=Ce.Sphere,exports.Tetrahedron=Ce.Tetrahedron,exports.Torus=Ce.Torus,exports.TorusKnot=Ce.TorusKnot,exports.Tube=Ce.Tube,exports.RoundedBox=me.RoundedBox,exports.ScreenQuad=he.ScreenQuad,exports.Center=Se.Center,exports.Bounds=Me.Bounds,exports.useBounds=Me.useBounds,exports.CameraShake=Pe.CameraShake,exports.Float=be.Float,exports.Stage=Be.Stage,exports.Backdrop=fe.Backdrop,exports.Shadow=Te.Shadow,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.Environment=ke.Environment,exports.EnvironmentCube=ke.EnvironmentCube,exports.EnvironmentMap=ke.EnvironmentMap,exports.EnvironmentPortal=ke.EnvironmentPortal,exports.useEnvironment=ke.useEnvironment,exports.Lightformer=Re.Lightformer,exports.Sky=we.Sky,exports.calcPosFromAngles=we.calcPosFromAngles,exports.Stars=De.Stars,exports.Cloud=Ee.Cloud,exports.Sparkles=Fe.Sparkles,exports.useMatcapTexture=Ge.useMatcapTexture,exports.useNormalTexture=ze.useNormalTexture,exports.Point=Oe.Point,exports.Points=Oe.Points,exports.PointsBuffer=Oe.PointsBuffer,exports.Instance=ye.Instance,exports.Instances=ye.Instances,exports.Merged=ye.Merged,exports.Segment=Ie.Segment,exports.SegmentObject=Ie.SegmentObject,exports.Segments=Ie.Segments,exports.Detailed=Ve.Detailed,exports.Preload=He.Preload,exports.BakeShadows=Qe.BakeShadows,exports.meshBounds=Xe.meshBounds,exports.AdaptiveDpr=Ke.AdaptiveDpr,exports.AdaptiveEvents=We.AdaptiveEvents,exports.PerformanceMonitor=Ne.PerformanceMonitor,exports.usePerformanceMonitor=Ne.usePerformanceMonitor,exports.RenderTexture=Ue.RenderTexture,exports.Mask=_e.Mask,exports.useMask=_e.useMask;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./Html.cjs.js"),r=require("./CycleRaycast.cjs.js"),s=require("./useCursor.cjs.js"),o=require("./Loader.cjs.js"),t=require("./ScrollControls.cjs.js"),i=require("./PresentationControls.cjs.js"),c=require("./KeyboardControls.cjs.js"),u=require("./Select.cjs.js"),a=require("./View.cjs.js"),n=require("../core/Billboard.cjs.js"),j=require("../core/QuadraticBezierLine.cjs.js"),l=require("../core/CubicBezierLine.cjs.js"),p=require("../core/CatmullRomLine.cjs.js"),x=require("../core/Line.cjs.js"),q=require("../core/PositionalAudio.cjs.js"),d=require("../core/Text.cjs.js"),C=require("../core/Text3D.cjs.js"),m=require("../core/Effects.cjs.js"),h=require("../core/GradientTexture.cjs.js"),S=require("../core/Image.cjs.js"),M=require("../core/Edges.cjs.js"),P=require("../core/Trail.cjs.js"),b=require("../core/Sampler.cjs.js"),B=require("../core/ComputedAttribute.cjs.js"),f=require("../core/Clone.cjs.js"),T=require("../core/MarchingCubes.cjs.js"),g=require("../core/Decal.cjs.js"),v=require("../core/OrthographicCamera.cjs.js"),A=require("../core/PerspectiveCamera.cjs.js"),L=require("../core/CubeCamera.cjs.js"),k=require("../core/DeviceOrientationControls.cjs.js"),R=require("../core/FlyControls.cjs.js"),w=require("../core/MapControls.cjs.js"),D=require("../core/OrbitControls.cjs.js"),E=require("../core/TrackballControls.cjs.js"),y=require("../core/ArcballControls.cjs.js"),z=require("../core/TransformControls.cjs.js"),F=require("../core/PointerLockControls.cjs.js"),G=require("../core/FirstPersonControls.cjs.js"),O=require("../core/pivotControls/index.cjs.js"),I=require("../core/GizmoHelper.cjs.js"),V=require("../core/GizmoViewcube.cjs.js"),H=require("../core/GizmoViewport.cjs.js"),K=require("../core/useCubeTexture.cjs.js"),Q=require("../core/useFBX.cjs.js"),X=require("../core/useGLTF.cjs.js"),W=require("../core/useKTX2.cjs.js"),N=require("../core/useProgress.cjs.js"),U=require("../core/useTexture.cjs.js"),_=require("../core/useVideoTexture.cjs.js"),J=require("../core/Stats.cjs.js"),Y=require("../core/useDepthBuffer.cjs.js"),Z=require("../core/useAspect.cjs.js"),$=require("../core/useCamera.cjs.js"),ee=require("../core/useDetectGPU.cjs.js"),re=require("../core/useHelper.cjs.js"),se=require("../core/useBVH.cjs.js"),oe=require("../core/useContextBridge.cjs.js"),te=require("../core/useAnimations.cjs.js"),ie=require("../core/useFBO.cjs.js"),ce=require("../core/useIntersect.cjs.js"),ue=require("../core/useBoxProjectedEnv.cjs.js"),ae=require("../core/BBAnchor.cjs.js"),ne=require("../core/CurveModifier.cjs.js"),je=require("../core/MeshDistortMaterial.cjs.js"),le=require("../core/MeshWobbleMaterial.cjs.js"),pe=require("../core/MeshReflectorMaterial.cjs.js"),xe=require("../core/MeshRefractionMaterial.cjs.js"),qe=require("../core/PointMaterial.cjs.js"),de=require("../core/shaderMaterial.cjs.js"),Ce=require("../core/softShadows.cjs.js"),me=require("../core/shapes.cjs.js"),he=require("../core/RoundedBox.cjs.js"),Se=require("../core/ScreenQuad.cjs.js"),Me=require("../core/Center.cjs.js"),Pe=require("../core/Bounds.cjs.js"),be=require("../core/CameraShake.cjs.js"),Be=require("../core/Float.cjs.js"),fe=require("../core/Stage.cjs.js"),Te=require("../core/Backdrop.cjs.js"),ge=require("../core/Shadow.cjs.js"),ve=require("../core/ContactShadows.cjs.js"),Ae=require("../core/AccumulativeShadows.cjs.js"),Le=require("../core/Reflector.cjs.js"),ke=require("../core/SpotLight.cjs.js"),Re=require("../core/Environment.cjs.js"),we=require("../core/Lightformer.cjs.js"),De=require("../core/Sky.cjs.js"),Ee=require("../core/Stars.cjs.js"),ye=require("../core/Cloud.cjs.js"),ze=require("../core/Sparkles.cjs.js"),Fe=require("../core/useMatcapTexture.cjs.js"),Ge=require("../core/useNormalTexture.cjs.js"),Oe=require("../core/Points.cjs.js"),Ie=require("../core/Instances.cjs.js"),Ve=require("../core/Segments.cjs.js"),He=require("../core/Detailed.cjs.js"),Ke=require("../core/Preload.cjs.js"),Qe=require("../core/BakeShadows.cjs.js"),Xe=require("../core/meshBounds.cjs.js"),We=require("../core/AdaptiveDpr.cjs.js"),Ne=require("../core/AdaptiveEvents.cjs.js"),Ue=require("../core/PerformanceMonitor.cjs.js"),_e=require("../core/RenderTexture.cjs.js"),Je=require("../core/Mask.cjs.js");require("@babel/runtime/helpers/extends"),require("react"),require("react-dom/client"),require("three"),require("@react-three/fiber"),require("zustand"),require("react-merge-refs"),require("@react-spring/three"),require("@use-gesture/react"),require("zustand/middleware"),require("three-stdlib"),require("zustand/shallow"),require("troika-three-text"),require("suspend-react"),require("meshline"),require("lodash.pick"),require("lodash.omit"),require("../core/pivotControls/AxisArrow.cjs.js"),require("../core/pivotControls/context.cjs.js"),require("../core/pivotControls/PlaneSlider.cjs.js"),require("../core/pivotControls/AxisRotator.cjs.js"),require("lodash.clamp"),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("../helpers/environment-assets.cjs.js"),require("../materials/SpotLightMaterial.cjs.js"),require("react-composer"),exports.Html=e.Html,exports.CycleRaycast=r.CycleRaycast,exports.useCursor=s.useCursor,exports.Loader=o.Loader,exports.Scroll=t.Scroll,exports.ScrollControls=t.ScrollControls,exports.useScroll=t.useScroll,exports.PresentationControls=i.PresentationControls,exports.KeyboardControls=c.KeyboardControls,exports.useKeyboardControls=c.useKeyboardControls,exports.Select=u.Select,exports.useSelect=u.useSelect,exports.View=a.View,exports.Billboard=n.Billboard,exports.QuadraticBezierLine=j.QuadraticBezierLine,exports.CubicBezierLine=l.CubicBezierLine,exports.CatmullRomLine=p.CatmullRomLine,exports.Line=x.Line,exports.PositionalAudio=q.PositionalAudio,exports.Text=d.Text,exports.Text3D=C.Text3D,exports.Effects=m.Effects,exports.isWebGL2Available=m.isWebGL2Available,exports.GradientTexture=h.GradientTexture,exports.Image=S.Image,exports.Edges=M.Edges,exports.Trail=P.Trail,exports.useTrail=P.useTrail,exports.Sampler=b.Sampler,exports.useSurfaceSampler=b.useSurfaceSampler,exports.ComputedAttribute=B.ComputedAttribute,exports.Clone=f.Clone,exports.MarchingCube=T.MarchingCube,exports.MarchingCubes=T.MarchingCubes,exports.MarchingPlane=T.MarchingPlane,exports.Decal=g.Decal,exports.OrthographicCamera=v.OrthographicCamera,exports.PerspectiveCamera=A.PerspectiveCamera,exports.CubeCamera=L.CubeCamera,exports.DeviceOrientationControls=k.DeviceOrientationControls,exports.FlyControls=R.FlyControls,exports.MapControls=w.MapControls,exports.OrbitControls=D.OrbitControls,exports.TrackballControls=E.TrackballControls,exports.ArcballControls=y.ArcballControls,exports.TransformControls=z.TransformControls,exports.PointerLockControls=F.PointerLockControls,exports.FirstPersonControls=G.FirstPersonControls,exports.PivotControls=O.PivotControls,exports.calculateScaleFactor=O.calculateScaleFactor,exports.GizmoHelper=I.GizmoHelper,exports.useGizmoContext=I.useGizmoContext,exports.GizmoViewcube=V.GizmoViewcube,exports.GizmoViewport=H.GizmoViewport,exports.useCubeTexture=K.useCubeTexture,exports.useFBX=Q.useFBX,exports.useGLTF=X.useGLTF,exports.useKTX2=W.useKTX2,exports.useProgress=N.useProgress,exports.IsObject=U.IsObject,exports.useTexture=U.useTexture,exports.useVideoTexture=_.useVideoTexture,exports.Stats=J.Stats,exports.useDepthBuffer=Y.useDepthBuffer,exports.useAspect=Z.useAspect,exports.useCamera=$.useCamera,exports.useDetectGPU=ee.useDetectGPU,exports.useHelper=re.useHelper,exports.useBVH=se.useBVH,exports.useContextBridge=oe.useContextBridge,exports.useAnimations=te.useAnimations,exports.useFBO=ie.useFBO,exports.useIntersect=ce.useIntersect,exports.useBoxProjectedEnv=ue.useBoxProjectedEnv,exports.BBAnchor=ae.BBAnchor,exports.CurveModifier=ne.CurveModifier,exports.MeshDistortMaterial=je.MeshDistortMaterial,exports.MeshWobbleMaterial=le.MeshWobbleMaterial,exports.MeshReflectorMaterial=pe.MeshReflectorMaterial,exports.MeshRefractionMaterial=xe.MeshRefractionMaterial,exports.PointMaterial=qe.PointMaterial,exports.PointMaterialImpl=qe.PointMaterialImpl,exports.shaderMaterial=de.shaderMaterial,exports.softShadows=Ce.softShadows,exports.Box=me.Box,exports.Capsule=me.Capsule,exports.Circle=me.Circle,exports.Cone=me.Cone,exports.Cylinder=me.Cylinder,exports.Dodecahedron=me.Dodecahedron,exports.Extrude=me.Extrude,exports.Icosahedron=me.Icosahedron,exports.Lathe=me.Lathe,exports.Octahedron=me.Octahedron,exports.Plane=me.Plane,exports.Polyhedron=me.Polyhedron,exports.Ring=me.Ring,exports.Sphere=me.Sphere,exports.Tetrahedron=me.Tetrahedron,exports.Torus=me.Torus,exports.TorusKnot=me.TorusKnot,exports.Tube=me.Tube,exports.RoundedBox=he.RoundedBox,exports.ScreenQuad=Se.ScreenQuad,exports.Center=Me.Center,exports.Bounds=Pe.Bounds,exports.useBounds=Pe.useBounds,exports.CameraShake=be.CameraShake,exports.Float=Be.Float,exports.Stage=fe.Stage,exports.Backdrop=Te.Backdrop,exports.Shadow=ge.Shadow,exports.ContactShadows=ve.ContactShadows,exports.AccumulativeShadows=Ae.AccumulativeShadows,exports.RandomizedLight=Ae.RandomizedLight,exports.accumulativeContext=Ae.accumulativeContext,exports.Reflector=Le.Reflector,exports.SpotLight=ke.SpotLight,exports.Environment=Re.Environment,exports.EnvironmentCube=Re.EnvironmentCube,exports.EnvironmentMap=Re.EnvironmentMap,exports.EnvironmentPortal=Re.EnvironmentPortal,exports.useEnvironment=Re.useEnvironment,exports.Lightformer=we.Lightformer,exports.Sky=De.Sky,exports.calcPosFromAngles=De.calcPosFromAngles,exports.Stars=Ee.Stars,exports.Cloud=ye.Cloud,exports.Sparkles=ze.Sparkles,exports.useMatcapTexture=Fe.useMatcapTexture,exports.useNormalTexture=Ge.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=Ve.Segment,exports.SegmentObject=Ve.SegmentObject,exports.Segments=Ve.Segments,exports.Detailed=He.Detailed,exports.Preload=Ke.Preload,exports.BakeShadows=Qe.BakeShadows,exports.meshBounds=Xe.meshBounds,exports.AdaptiveDpr=We.AdaptiveDpr,exports.AdaptiveEvents=Ne.AdaptiveEvents,exports.PerformanceMonitor=Ue.PerformanceMonitor,exports.usePerformanceMonitor=Ue.usePerformanceMonitor,exports.RenderTexture=_e.RenderTexture,exports.Mask=Je.Mask,exports.useMask=Je.useMask;
package/web/index.d.ts CHANGED
@@ -4,6 +4,7 @@ export { useCursor } from './useCursor';
4
4
  export { Loader } from './Loader';
5
5
  export * from './ScrollControls';
6
6
  export * from './PresentationControls';
7
+ export * from './KeyboardControls';
7
8
  export * from './Select';
8
9
  export * from '../core';
9
10
  export * from './View';
package/web/index.js CHANGED
@@ -4,6 +4,7 @@ export { useCursor } from './useCursor.js';
4
4
  export { Loader } from './Loader.js';
5
5
  export { Scroll, ScrollControls, useScroll } from './ScrollControls.js';
6
6
  export { PresentationControls } from './PresentationControls.js';
7
+ export { KeyboardControls, useKeyboardControls } from './KeyboardControls.js';
7
8
  export { Select, useSelect } from './Select.js';
8
9
  export { View } from './View.js';
9
10
  export { Billboard } from '../core/Billboard.js';
@@ -90,7 +91,7 @@ export { Cloud } from '../core/Cloud.js';
90
91
  export { Sparkles } from '../core/Sparkles.js';
91
92
  export { useMatcapTexture } from '../core/useMatcapTexture.js';
92
93
  export { useNormalTexture } from '../core/useNormalTexture.js';
93
- export { Point, Points, PointsBuffer } from '../core/Points.js';
94
+ export { Point, Points, PointsBuffer, PositionPoint } from '../core/Points.js';
94
95
  export { Instance, Instances, Merged } from '../core/Instances.js';
95
96
  export { Segment, SegmentObject, Segments } from '../core/Segments.js';
96
97
  export { Detailed } from '../core/Detailed.js';
@@ -111,6 +112,7 @@ import 'zustand';
111
112
  import 'react-merge-refs';
112
113
  import '@react-spring/three';
113
114
  import '@use-gesture/react';
115
+ import 'zustand/middleware';
114
116
  import 'three-stdlib';
115
117
  import 'zustand/shallow';
116
118
  import 'troika-three-text';
@@ -133,5 +135,4 @@ import '../materials/MeshReflectorMaterial.js';
133
135
  import '../materials/MeshRefractionMaterial.js';
134
136
  import '../helpers/environment-assets.js';
135
137
  import '../materials/SpotLightMaterial.js';
136
- import '../helpers/Position.js';
137
138
  import 'react-composer';
@@ -1 +0,0 @@
1
- "use strict";function e(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)}Object.defineProperty(exports,"__esModule",{value:!0});var t=e(require("three"));const r=new t.Matrix4,n=new t.Matrix4,i=[],s=new t.Mesh;class o extends t.Group{constructor(){super(),this.color=new t.Color("white"),this.instance={current:void 0},this.instanceKey={current:void 0}}get geometry(){var e;return null==(e=this.instance.current)?void 0:e.geometry}raycast(e,t){const o=this.instance.current;if(!o)return;if(!o.geometry||!o.material)return;s.geometry=o.geometry;const c=o.matrixWorld;let a=o.userData.instances.indexOf(this.instanceKey);if(!(-1===a||a>o.count)){o.getMatrixAt(a,r),n.multiplyMatrices(c,r),s.matrixWorld=n,s.raycast(e,i);for(let e=0,r=i.length;e<r;e++){const r=i[e];r.instanceId=a,r.object=this,t.push(r)}i.length=0}}}exports.Position=o;
@@ -1,18 +0,0 @@
1
- /// <reference types="react" />
2
- import * as THREE from 'three';
3
- import { ReactThreeFiber } from '@react-three/fiber';
4
- declare global {
5
- namespace JSX {
6
- interface IntrinsicElements {
7
- position: ReactThreeFiber.Object3DNode<Position, typeof Position>;
8
- }
9
- }
10
- }
11
- export declare class Position extends THREE.Group {
12
- color: THREE.Color;
13
- instance: React.MutableRefObject<THREE.InstancedMesh | undefined>;
14
- instanceKey: React.MutableRefObject<JSX.IntrinsicElements['position'] | undefined>;
15
- constructor();
16
- get geometry(): THREE.BufferGeometry | undefined;
17
- raycast(raycaster: any, intersects: any): void;
18
- }
@@ -1,63 +0,0 @@
1
- import * as THREE from 'three';
2
-
3
- const _instanceLocalMatrix = /*@__PURE__*/new THREE.Matrix4();
4
-
5
- const _instanceWorldMatrix = /*@__PURE__*/new THREE.Matrix4();
6
-
7
- const _instanceIntersects = [];
8
-
9
- const _mesh = /*@__PURE__*/new THREE.Mesh();
10
-
11
- class Position extends THREE.Group {
12
- constructor() {
13
- super();
14
- this.color = new THREE.Color('white');
15
- this.instance = {
16
- current: undefined
17
- };
18
- this.instanceKey = {
19
- current: undefined
20
- };
21
- } // This will allow the virtual instance have bounds
22
-
23
-
24
- get geometry() {
25
- var _this$instance$curren;
26
-
27
- return (_this$instance$curren = this.instance.current) == null ? void 0 : _this$instance$curren.geometry;
28
- } // And this will allow the virtual instance to receive events
29
-
30
-
31
- raycast(raycaster, intersects) {
32
- const parent = this.instance.current;
33
- if (!parent) return;
34
- if (!parent.geometry || !parent.material) return;
35
- _mesh.geometry = parent.geometry;
36
- const matrixWorld = parent.matrixWorld;
37
- let instanceId = parent.userData.instances.indexOf(this.instanceKey); // If the instance wasn't found or exceeds the parents draw range, bail out
38
-
39
- if (instanceId === -1 || instanceId > parent.count) return; // calculate the world matrix for each instance
40
-
41
- parent.getMatrixAt(instanceId, _instanceLocalMatrix);
42
-
43
- _instanceWorldMatrix.multiplyMatrices(matrixWorld, _instanceLocalMatrix); // the mesh represents this single instance
44
-
45
-
46
- _mesh.matrixWorld = _instanceWorldMatrix;
47
-
48
- _mesh.raycast(raycaster, _instanceIntersects); // process the result of raycast
49
-
50
-
51
- for (let i = 0, l = _instanceIntersects.length; i < l; i++) {
52
- const intersect = _instanceIntersects[i];
53
- intersect.instanceId = instanceId;
54
- intersect.object = this;
55
- intersects.push(intersect);
56
- }
57
-
58
- _instanceIntersects.length = 0;
59
- }
60
-
61
- }
62
-
63
- export { Position };