@react-three/drei 7.25.5 → 7.27.1

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.
Files changed (49) hide show
  1. package/README.md +75 -34
  2. package/core/Backdrop.js +3 -1
  3. package/core/BakeShadows.cjs.js +1 -1
  4. package/core/BakeShadows.js +3 -3
  5. package/core/Bounds.cjs.js +1 -1
  6. package/core/Bounds.js +1 -1
  7. package/core/DeviceOrientationControls.d.ts +1 -1
  8. package/core/Instances.cjs.js +1 -1
  9. package/core/Instances.js +1 -1
  10. package/core/Line.d.ts +1 -1
  11. package/core/MapControls.d.ts +1 -1
  12. package/core/MeshDistortMaterial.d.ts +1 -1
  13. package/core/MeshReflectorMaterial.cjs.js +1 -0
  14. package/core/MeshReflectorMaterial.d.ts +25 -0
  15. package/core/MeshReflectorMaterial.js +182 -0
  16. package/core/MeshWobbleMaterial.d.ts +1 -1
  17. package/core/OrbitControls.d.ts +1 -1
  18. package/core/PositionalAudio.d.ts +1 -1
  19. package/core/QuadraticBezierLine.js +5 -1
  20. package/core/Reflector.cjs.js +1 -1
  21. package/core/Reflector.d.ts +4 -5
  22. package/core/Reflector.js +3 -0
  23. package/core/SpotLight.d.ts +1 -1
  24. package/core/TrackballControls.d.ts +1 -1
  25. package/core/TransformControls.d.ts +1 -1
  26. package/core/index.cjs.js +1 -1
  27. package/core/index.d.ts +1 -0
  28. package/core/index.js +2 -1
  29. package/core/useDetectGPU.cjs.js +1 -1
  30. package/core/useDetectGPU.d.ts +1 -1
  31. package/core/useDetectGPU.js +1 -5
  32. package/index.cjs.js +1 -1
  33. package/index.js +2 -2
  34. package/materials/MeshReflectorMaterial.d.ts +1 -1
  35. package/native/index.cjs.js +1 -1
  36. package/native/index.d.ts +0 -1
  37. package/native/index.js +4 -3
  38. package/package.json +3 -1
  39. package/web/PresentationControls.cjs.js +1 -0
  40. package/web/PresentationControls.d.ts +14 -0
  41. package/web/PresentationControls.js +73 -0
  42. package/web/ScrollControls.cjs.js +1 -1
  43. package/web/ScrollControls.js +1 -1
  44. package/web/index.cjs.js +1 -1
  45. package/web/index.d.ts +1 -1
  46. package/web/index.js +7 -3
  47. package/materials/index.cjs.js +0 -1
  48. package/materials/index.d.ts +0 -2
  49. package/materials/index.js +0 -4
package/index.js CHANGED
@@ -3,6 +3,7 @@ export { CycleRaycast } from './web/CycleRaycast.js';
3
3
  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
+ export { PresentationControls } from './web/PresentationControls.js';
6
7
  export { Billboard } from './core/Billboard.js';
7
8
  export { QuadraticBezierLine } from './core/QuadraticBezierLine.js';
8
9
  export { CubicBezierLine } from './core/CubicBezierLine.js';
@@ -50,6 +51,7 @@ export { useEdgeSplit } from './core/useEdgeSplit.js';
50
51
  export { CurveModifier } from './core/CurveModifier.js';
51
52
  export { MeshDistortMaterial } from './core/MeshDistortMaterial.js';
52
53
  export { MeshWobbleMaterial } from './core/MeshWobbleMaterial.js';
54
+ export { MeshReflectorMaterial } from './core/MeshReflectorMaterial.js';
53
55
  export { PointMaterial, PointMaterialImpl } from './core/PointMaterial.js';
54
56
  export { shaderMaterial } from './core/shaderMaterial.js';
55
57
  export { softShadows } from './core/softShadows.js';
@@ -81,5 +83,3 @@ export { BakeShadows } from './core/BakeShadows.js';
81
83
  export { meshBounds } from './core/meshBounds.js';
82
84
  export { AdaptiveDpr } from './core/AdaptiveDpr.js';
83
85
  export { AdaptiveEvents } from './core/AdaptiveEvents.js';
84
- export { BlurPass } from './materials/BlurPass.js';
85
- export { MeshReflectorMaterial } from './materials/MeshReflectorMaterial.js';
@@ -48,7 +48,7 @@ export declare class MeshReflectorMaterial extends MeshStandardMaterial {
48
48
  get distortion(): number;
49
49
  set distortion(v: number);
50
50
  }
51
- export declare type MeshReflectorMaterialImpl = {
51
+ export declare type MeshReflectorMaterialProps = {
52
52
  mixBlur: number;
53
53
  mixStrength: number;
54
54
  mirror: number;
@@ -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/Line.cjs.js"),t=require("../core/PositionalAudio.cjs.js"),i=require("../core/Text.cjs.js"),c=require("../core/Effects.cjs.js"),u=require("../core/GradientTexture.cjs.js"),a=require("../core/Image.cjs.js"),j=require("../core/OrthographicCamera.cjs.js"),p=require("../core/PerspectiveCamera.cjs.js"),n=require("../core/CubeCamera.cjs.js"),l=require("../core/DeviceOrientationControls.cjs.js"),x=require("../core/FlyControls.cjs.js"),q=require("../core/MapControls.cjs.js"),d=require("../core/OrbitControls.cjs.js"),h=require("../core/TrackballControls.cjs.js"),C=require("../core/ArcballControls.cjs.js"),m=require("../core/TransformControls.cjs.js"),B=require("../core/PointerLockControls.cjs.js"),S=require("../core/FirstPersonControls.cjs.js"),b=require("../core/GizmoHelper.cjs.js"),f=require("../core/GizmoViewcube.cjs.js"),P=require("../core/GizmoViewport.cjs.js"),M=require("../core/useCubeTexture.cjs.js"),T=require("../core/useFBX.cjs.js"),g=require("../core/useGLTF.cjs.js"),v=require("../core/useProgress.cjs.js"),D=require("../core/useTexture.cjs.js"),L=require("../core/Stats.cjs.js"),A=require("../core/DepthBuffer.cjs.js"),G=require("../core/useDepthBuffer.cjs.js"),k=require("../core/useAspect.cjs.js"),F=require("../core/useCamera.cjs.js"),w=require("../core/useDetectGPU.cjs.js"),z=require("../core/useHelper.cjs.js"),I=require("../core/useBVH.cjs.js"),O=require("../core/useContextBridge.cjs.js"),E=require("../core/useAnimations.cjs.js"),y=require("../core/useFBO.cjs.js"),R=require("../core/useIntersect.cjs.js"),H=require("../core/useSimplification.cjs.js"),V=require("../core/useTessellation.cjs.js"),Q=require("../core/useEdgeSplit.cjs.js"),W=require("../core/CurveModifier.cjs.js"),N=require("../core/MeshDistortMaterial.cjs.js"),U=require("../core/MeshWobbleMaterial.cjs.js"),X=require("../core/PointMaterial.cjs.js"),K=require("../core/shaderMaterial.cjs.js"),_=require("../core/softShadows.cjs.js"),J=require("../core/shapes.cjs.js"),Y=require("../core/RoundedBox.cjs.js"),Z=require("../core/ScreenQuad.cjs.js"),$=require("../core/Center.cjs.js"),ee=require("../core/Bounds.cjs.js"),re=require("../core/CameraShake.cjs.js"),se=require("../core/Float.cjs.js"),oe=require("../core/Stage.cjs.js"),te=require("../core/Backdrop.cjs.js"),ie=require("../core/Shadow.cjs.js"),ce=require("../core/ContactShadows.cjs.js"),ue=require("../core/Reflector.cjs.js"),ae=require("../core/SpotLight.cjs.js"),je=require("../core/Environment.cjs.js"),pe=require("../core/Sky.cjs.js"),ne=require("../core/Stars.cjs.js"),le=require("../core/Cloud.cjs.js"),xe=require("../core/useMatcapTexture.cjs.js"),qe=require("../core/useNormalTexture.cjs.js"),de=require("../core/Points.cjs.js"),he=require("../core/Instances.cjs.js"),Ce=require("../core/Segments.cjs.js"),me=require("../core/Detailed.cjs.js"),Be=require("../core/Preload.cjs.js"),Se=require("../core/BakeShadows.cjs.js"),be=require("../core/meshBounds.cjs.js"),fe=require("../core/AdaptiveDpr.cjs.js"),Pe=require("../core/AdaptiveEvents.cjs.js"),Me=require("../materials/BlurPass.cjs.js"),Te=require("../materials/MeshReflectorMaterial.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("lodash.omit"),require("lodash.pick"),require("zustand"),require("three/examples/js/libs/stats.min"),require("../helpers/useEffectfulState.cjs.js"),require("detect-gpu"),require("use-asset"),require("three-mesh-bvh"),require("../helpers/environment-assets.cjs.js"),require("../materials/ConvolutionMaterial.cjs.js"),require("../materials/SpotLightMaterial.cjs.js"),require("../assets/cloud.base64.cjs.js"),require("../helpers/matcap-assets.cjs.js"),require("../helpers/normal-assets.cjs.js"),require("../helpers/Position.cjs.js"),require("react-composer"),exports.Billboard=e.Billboard,exports.QuadraticBezierLine=r.QuadraticBezierLine,exports.CubicBezierLine=s.CubicBezierLine,exports.Line=o.Line,exports.PositionalAudio=t.PositionalAudio,exports.Text=i.Text,exports.Effects=c.Effects,exports.isWebGL2Available=c.isWebGL2Available,exports.GradientTexture=u.GradientTexture,exports.Image=a.Image,exports.OrthographicCamera=j.OrthographicCamera,exports.PerspectiveCamera=p.PerspectiveCamera,exports.CubeCamera=n.CubeCamera,exports.DeviceOrientationControls=l.DeviceOrientationControls,exports.FlyControls=x.FlyControls,exports.MapControls=q.MapControls,exports.OrbitControls=d.OrbitControls,exports.TrackballControls=h.TrackballControls,exports.ArcballControls=C.ArcballControls,exports.TransformControls=m.TransformControls,exports.PointerLockControls=B.PointerLockControls,exports.FirstPersonControls=S.FirstPersonControls,exports.GizmoHelper=b.GizmoHelper,exports.useGizmoContext=b.useGizmoContext,exports.GizmoViewcube=f.GizmoViewcube,exports.GizmoViewport=P.GizmoViewport,exports.useCubeTexture=M.useCubeTexture,exports.useFBX=T.useFBX,exports.useGLTF=g.useGLTF,exports.useProgress=v.useProgress,exports.IsObject=D.IsObject,exports.useTexture=D.useTexture,exports.Stats=L.Stats,exports.DepthBuffer=A.DepthBuffer,exports.useDepthBuffer=G.useDepthBuffer,exports.useAspect=k.useAspect,exports.useCamera=F.useCamera,exports.useDetectGPU=w.useDetectGPU,exports.useHelper=z.useHelper,exports.useBVH=I.useBVH,exports.useContextBridge=O.useContextBridge,exports.useAnimations=E.useAnimations,exports.useFBO=y.useFBO,exports.useIntersect=R.useIntersect,exports.useSimplification=H.useSimplification,exports.useTessellation=V.useTessellation,exports.useEdgeSplit=Q.useEdgeSplit,exports.CurveModifier=W.CurveModifier,exports.MeshDistortMaterial=N.MeshDistortMaterial,exports.MeshWobbleMaterial=U.MeshWobbleMaterial,exports.PointMaterial=X.PointMaterial,exports.PointMaterialImpl=X.PointMaterialImpl,exports.shaderMaterial=K.shaderMaterial,exports.softShadows=_.softShadows,exports.Box=J.Box,exports.Circle=J.Circle,exports.Cone=J.Cone,exports.Cylinder=J.Cylinder,exports.Dodecahedron=J.Dodecahedron,exports.Extrude=J.Extrude,exports.Icosahedron=J.Icosahedron,exports.Lathe=J.Lathe,exports.Octahedron=J.Octahedron,exports.Parametric=J.Parametric,exports.Plane=J.Plane,exports.Polyhedron=J.Polyhedron,exports.Ring=J.Ring,exports.Sphere=J.Sphere,exports.Tetrahedron=J.Tetrahedron,exports.Torus=J.Torus,exports.TorusKnot=J.TorusKnot,exports.Tube=J.Tube,exports.RoundedBox=Y.RoundedBox,exports.ScreenQuad=Z.ScreenQuad,exports.Center=$.Center,exports.Bounds=ee.Bounds,exports.useBounds=ee.useBounds,exports.CameraShake=re.CameraShake,exports.Float=se.Float,exports.Stage=oe.Stage,exports.Backdrop=te.Backdrop,exports.Shadow=ie.Shadow,exports.ContactShadows=ce.ContactShadows,exports.Reflector=ue.Reflector,exports.SpotLight=ae.SpotLight,exports.Environment=je.Environment,exports.Sky=pe.Sky,exports.calcPosFromAngles=pe.calcPosFromAngles,exports.Stars=ne.Stars,exports.Cloud=le.Cloud,exports.useMatcapTexture=xe.useMatcapTexture,exports.useNormalTexture=qe.useNormalTexture,exports.Point=de.Point,exports.Points=de.Points,exports.PointsBuffer=de.PointsBuffer,exports.Instance=he.Instance,exports.Instances=he.Instances,exports.Merged=he.Merged,exports.Segment=Ce.Segment,exports.Segments=Ce.Segments,exports.Detailed=me.Detailed,exports.Preload=Be.Preload,exports.BakeShadows=Se.BakeShadows,exports.meshBounds=be.meshBounds,exports.AdaptiveDpr=fe.AdaptiveDpr,exports.AdaptiveEvents=Pe.AdaptiveEvents,exports.BlurPass=Me.BlurPass,exports.MeshReflectorMaterial=Te.MeshReflectorMaterial;
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/Line.cjs.js"),t=require("../core/PositionalAudio.cjs.js"),i=require("../core/Text.cjs.js"),c=require("../core/Effects.cjs.js"),u=require("../core/GradientTexture.cjs.js"),a=require("../core/Image.cjs.js"),j=require("../core/OrthographicCamera.cjs.js"),p=require("../core/PerspectiveCamera.cjs.js"),n=require("../core/CubeCamera.cjs.js"),l=require("../core/DeviceOrientationControls.cjs.js"),x=require("../core/FlyControls.cjs.js"),q=require("../core/MapControls.cjs.js"),d=require("../core/OrbitControls.cjs.js"),h=require("../core/TrackballControls.cjs.js"),C=require("../core/ArcballControls.cjs.js"),m=require("../core/TransformControls.cjs.js"),B=require("../core/PointerLockControls.cjs.js"),S=require("../core/FirstPersonControls.cjs.js"),f=require("../core/GizmoHelper.cjs.js"),b=require("../core/GizmoViewcube.cjs.js"),P=require("../core/GizmoViewport.cjs.js"),M=require("../core/useCubeTexture.cjs.js"),T=require("../core/useFBX.cjs.js"),g=require("../core/useGLTF.cjs.js"),v=require("../core/useProgress.cjs.js"),D=require("../core/useTexture.cjs.js"),L=require("../core/Stats.cjs.js"),A=require("../core/DepthBuffer.cjs.js"),G=require("../core/useDepthBuffer.cjs.js"),k=require("../core/useAspect.cjs.js"),F=require("../core/useCamera.cjs.js"),w=require("../core/useDetectGPU.cjs.js"),z=require("../core/useHelper.cjs.js"),I=require("../core/useBVH.cjs.js"),O=require("../core/useContextBridge.cjs.js"),E=require("../core/useAnimations.cjs.js"),R=require("../core/useFBO.cjs.js"),y=require("../core/useIntersect.cjs.js"),H=require("../core/useSimplification.cjs.js"),V=require("../core/useTessellation.cjs.js"),Q=require("../core/useEdgeSplit.cjs.js"),W=require("../core/CurveModifier.cjs.js"),N=require("../core/MeshDistortMaterial.cjs.js"),U=require("../core/MeshWobbleMaterial.cjs.js"),X=require("../core/MeshReflectorMaterial.cjs.js"),K=require("../core/PointMaterial.cjs.js"),_=require("../core/shaderMaterial.cjs.js"),J=require("../core/softShadows.cjs.js"),Y=require("../core/shapes.cjs.js"),Z=require("../core/RoundedBox.cjs.js"),$=require("../core/ScreenQuad.cjs.js"),ee=require("../core/Center.cjs.js"),re=require("../core/Bounds.cjs.js"),se=require("../core/CameraShake.cjs.js"),oe=require("../core/Float.cjs.js"),te=require("../core/Stage.cjs.js"),ie=require("../core/Backdrop.cjs.js"),ce=require("../core/Shadow.cjs.js"),ue=require("../core/ContactShadows.cjs.js"),ae=require("../core/Reflector.cjs.js"),je=require("../core/SpotLight.cjs.js"),pe=require("../core/Environment.cjs.js"),ne=require("../core/Sky.cjs.js"),le=require("../core/Stars.cjs.js"),xe=require("../core/Cloud.cjs.js"),qe=require("../core/useMatcapTexture.cjs.js"),de=require("../core/useNormalTexture.cjs.js"),he=require("../core/Points.cjs.js"),Ce=require("../core/Instances.cjs.js"),me=require("../core/Segments.cjs.js"),Be=require("../core/Detailed.cjs.js"),Se=require("../core/Preload.cjs.js"),fe=require("../core/BakeShadows.cjs.js"),be=require("../core/meshBounds.cjs.js"),Pe=require("../core/AdaptiveDpr.cjs.js"),Me=require("../core/AdaptiveEvents.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("lodash.omit"),require("lodash.pick"),require("zustand"),require("three/examples/js/libs/stats.min"),require("../helpers/useEffectfulState.cjs.js"),require("detect-gpu"),require("use-asset"),require("three-mesh-bvh"),require("../materials/BlurPass.cjs.js"),require("../materials/ConvolutionMaterial.cjs.js"),require("../materials/MeshReflectorMaterial.cjs.js"),require("../helpers/environment-assets.cjs.js"),require("../materials/SpotLightMaterial.cjs.js"),require("../assets/cloud.base64.cjs.js"),require("../helpers/matcap-assets.cjs.js"),require("../helpers/normal-assets.cjs.js"),require("../helpers/Position.cjs.js"),require("react-composer"),exports.Billboard=e.Billboard,exports.QuadraticBezierLine=r.QuadraticBezierLine,exports.CubicBezierLine=s.CubicBezierLine,exports.Line=o.Line,exports.PositionalAudio=t.PositionalAudio,exports.Text=i.Text,exports.Effects=c.Effects,exports.isWebGL2Available=c.isWebGL2Available,exports.GradientTexture=u.GradientTexture,exports.Image=a.Image,exports.OrthographicCamera=j.OrthographicCamera,exports.PerspectiveCamera=p.PerspectiveCamera,exports.CubeCamera=n.CubeCamera,exports.DeviceOrientationControls=l.DeviceOrientationControls,exports.FlyControls=x.FlyControls,exports.MapControls=q.MapControls,exports.OrbitControls=d.OrbitControls,exports.TrackballControls=h.TrackballControls,exports.ArcballControls=C.ArcballControls,exports.TransformControls=m.TransformControls,exports.PointerLockControls=B.PointerLockControls,exports.FirstPersonControls=S.FirstPersonControls,exports.GizmoHelper=f.GizmoHelper,exports.useGizmoContext=f.useGizmoContext,exports.GizmoViewcube=b.GizmoViewcube,exports.GizmoViewport=P.GizmoViewport,exports.useCubeTexture=M.useCubeTexture,exports.useFBX=T.useFBX,exports.useGLTF=g.useGLTF,exports.useProgress=v.useProgress,exports.IsObject=D.IsObject,exports.useTexture=D.useTexture,exports.Stats=L.Stats,exports.DepthBuffer=A.DepthBuffer,exports.useDepthBuffer=G.useDepthBuffer,exports.useAspect=k.useAspect,exports.useCamera=F.useCamera,exports.useDetectGPU=w.useDetectGPU,exports.useHelper=z.useHelper,exports.useBVH=I.useBVH,exports.useContextBridge=O.useContextBridge,exports.useAnimations=E.useAnimations,exports.useFBO=R.useFBO,exports.useIntersect=y.useIntersect,exports.useSimplification=H.useSimplification,exports.useTessellation=V.useTessellation,exports.useEdgeSplit=Q.useEdgeSplit,exports.CurveModifier=W.CurveModifier,exports.MeshDistortMaterial=N.MeshDistortMaterial,exports.MeshWobbleMaterial=U.MeshWobbleMaterial,exports.MeshReflectorMaterial=X.MeshReflectorMaterial,exports.PointMaterial=K.PointMaterial,exports.PointMaterialImpl=K.PointMaterialImpl,exports.shaderMaterial=_.shaderMaterial,exports.softShadows=J.softShadows,exports.Box=Y.Box,exports.Circle=Y.Circle,exports.Cone=Y.Cone,exports.Cylinder=Y.Cylinder,exports.Dodecahedron=Y.Dodecahedron,exports.Extrude=Y.Extrude,exports.Icosahedron=Y.Icosahedron,exports.Lathe=Y.Lathe,exports.Octahedron=Y.Octahedron,exports.Parametric=Y.Parametric,exports.Plane=Y.Plane,exports.Polyhedron=Y.Polyhedron,exports.Ring=Y.Ring,exports.Sphere=Y.Sphere,exports.Tetrahedron=Y.Tetrahedron,exports.Torus=Y.Torus,exports.TorusKnot=Y.TorusKnot,exports.Tube=Y.Tube,exports.RoundedBox=Z.RoundedBox,exports.ScreenQuad=$.ScreenQuad,exports.Center=ee.Center,exports.Bounds=re.Bounds,exports.useBounds=re.useBounds,exports.CameraShake=se.CameraShake,exports.Float=oe.Float,exports.Stage=te.Stage,exports.Backdrop=ie.Backdrop,exports.Shadow=ce.Shadow,exports.ContactShadows=ue.ContactShadows,exports.Reflector=ae.Reflector,exports.SpotLight=je.SpotLight,exports.Environment=pe.Environment,exports.Sky=ne.Sky,exports.calcPosFromAngles=ne.calcPosFromAngles,exports.Stars=le.Stars,exports.Cloud=xe.Cloud,exports.useMatcapTexture=qe.useMatcapTexture,exports.useNormalTexture=de.useNormalTexture,exports.Point=he.Point,exports.Points=he.Points,exports.PointsBuffer=he.PointsBuffer,exports.Instance=Ce.Instance,exports.Instances=Ce.Instances,exports.Merged=Ce.Merged,exports.Segment=me.Segment,exports.Segments=me.Segments,exports.Detailed=Be.Detailed,exports.Preload=Se.Preload,exports.BakeShadows=fe.BakeShadows,exports.meshBounds=be.meshBounds,exports.AdaptiveDpr=Pe.AdaptiveDpr,exports.AdaptiveEvents=Me.AdaptiveEvents;
package/native/index.d.ts CHANGED
@@ -1,2 +1 @@
1
1
  export * from '../core';
2
- export * from '../materials';
package/native/index.js CHANGED
@@ -45,6 +45,7 @@ export { useEdgeSplit } from '../core/useEdgeSplit.js';
45
45
  export { CurveModifier } from '../core/CurveModifier.js';
46
46
  export { MeshDistortMaterial } from '../core/MeshDistortMaterial.js';
47
47
  export { MeshWobbleMaterial } from '../core/MeshWobbleMaterial.js';
48
+ export { MeshReflectorMaterial } from '../core/MeshReflectorMaterial.js';
48
49
  export { PointMaterial, PointMaterialImpl } from '../core/PointMaterial.js';
49
50
  export { shaderMaterial } from '../core/shaderMaterial.js';
50
51
  export { softShadows } from '../core/softShadows.js';
@@ -76,8 +77,6 @@ export { BakeShadows } from '../core/BakeShadows.js';
76
77
  export { meshBounds } from '../core/meshBounds.js';
77
78
  export { AdaptiveDpr } from '../core/AdaptiveDpr.js';
78
79
  export { AdaptiveEvents } from '../core/AdaptiveEvents.js';
79
- export { BlurPass } from '../materials/BlurPass.js';
80
- export { MeshReflectorMaterial } from '../materials/MeshReflectorMaterial.js';
81
80
  import '@babel/runtime/helpers/esm/extends';
82
81
  import 'react';
83
82
  import '@react-three/fiber';
@@ -93,8 +92,10 @@ import '../helpers/useEffectfulState.js';
93
92
  import 'detect-gpu';
94
93
  import 'use-asset';
95
94
  import 'three-mesh-bvh';
96
- import '../helpers/environment-assets.js';
95
+ import '../materials/BlurPass.js';
97
96
  import '../materials/ConvolutionMaterial.js';
97
+ import '../materials/MeshReflectorMaterial.js';
98
+ import '../helpers/environment-assets.js';
98
99
  import '../materials/SpotLightMaterial.js';
99
100
  import '../assets/cloud.base64.js';
100
101
  import '../helpers/matcap-assets.js';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@react-three/drei",
3
- "version": "7.25.5",
3
+ "version": "7.27.1",
4
4
  "private": false,
5
5
  "description": "useful add-ons for react-three-fiber",
6
6
  "keywords": [
@@ -40,6 +40,8 @@
40
40
  },
41
41
  "dependencies": {
42
42
  "@babel/runtime": "^7.11.2",
43
+ "@react-spring/three": "^9.3.1",
44
+ "@use-gesture/react": "^10.2.0",
43
45
  "detect-gpu": "^3.1.28",
44
46
  "glsl-noise": "^0.0.0",
45
47
  "lodash.omit": "^4.5.0",
@@ -0,0 +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"),n=require("@react-spring/three"),a=require("@use-gesture/react");function i(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 u=i(e),c=s(t);exports.PresentationControls=function({snap:e,global:t,children:i,speed:s=1,rotation:l=[0,0,0],zoom:f=1,polar:d=[0,Math.PI/2],azimuth:b=[-1/0,1/0],config:g={mass:1,tension:170,friction:26}}){const{size:m,gl:p}=o.useThree(),h=c.useMemo((()=>[l[0]+d[0],l[0]+d[1]]),[l[0],d[0],d[1]]),y=c.useMemo((()=>[l[1]+b[0],l[1]+b[1]]),[l[1],b[0],b[1]]),M=c.useMemo((()=>[r.MathUtils.clamp(l[0],...h),r.MathUtils.clamp(l[1],...y),l[2]]),[l[0],l[1],l[2],h,y]),[j,v]=n.useSpring((()=>({scale:1,rotation:M,config:g})));c.useEffect((()=>{v.start({scale:1,rotation:M,config:g})}),[M]),c.useEffect((()=>{t&&(document.body.style.cursor="grab")}),[t]);const O=a.useGesture({onHover:({last:e})=>{t||(document.body.style.cursor=e?"auto":"grab")},onDrag:({down:t,delta:[o,n],memo:[a,i]=j.rotation.animation.to||M})=>{document.body.style.cursor=t?"grabbing":"grab",o=r.MathUtils.clamp(i+o/m.width*Math.PI*s,...y),n=r.MathUtils.clamp(a+n/m.height*Math.PI*s,...h);const u=e&&!t&&"boolean"!=typeof e?e:g;return v.start({scale:t&&n>h[1]/2?f:1,rotation:e&&!t?M:[n,o,0],config:e=>"scale"===e?{...u,friction:3*u.friction}:u}),[n,o]}},{target:t&&p.domElement});return c.createElement(n.a.group,u.default({},null==O?void 0:O(),j),i)};
@@ -0,0 +1,14 @@
1
+ import * as React from 'react';
2
+ declare type Props = {
3
+ snap?: boolean;
4
+ global?: boolean;
5
+ speed?: number;
6
+ zoom?: number;
7
+ rotation?: [number, number, number];
8
+ polar?: [number, number];
9
+ azimuth?: [number, number];
10
+ config?: any;
11
+ children?: React.ReactNode;
12
+ };
13
+ export declare function PresentationControls({ snap, global, children, speed, rotation, zoom, polar, azimuth, config, }: Props): JSX.Element;
14
+ export {};
@@ -0,0 +1,73 @@
1
+ import _extends from '@babel/runtime/helpers/esm/extends';
2
+ import * as React from 'react';
3
+ import { MathUtils } from 'three';
4
+ import { useThree } from '@react-three/fiber';
5
+ import { useSpring, a } from '@react-spring/three';
6
+ import { useGesture } from '@use-gesture/react';
7
+
8
+ function PresentationControls({
9
+ snap,
10
+ global,
11
+ children,
12
+ speed = 1,
13
+ rotation = [0, 0, 0],
14
+ zoom = 1,
15
+ polar = [0, Math.PI / 2],
16
+ azimuth = [-Infinity, Infinity],
17
+ config = {
18
+ mass: 1,
19
+ tension: 170,
20
+ friction: 26
21
+ }
22
+ }) {
23
+ const {
24
+ size,
25
+ gl
26
+ } = useThree();
27
+ const rPolar = React.useMemo(() => [rotation[0] + polar[0], rotation[0] + polar[1]], [rotation[0], polar[0], polar[1]]);
28
+ const rAzimuth = React.useMemo(() => [rotation[1] + azimuth[0], rotation[1] + azimuth[1]], [rotation[1], azimuth[0], azimuth[1]]);
29
+ const rInitial = React.useMemo(() => [MathUtils.clamp(rotation[0], ...rPolar), MathUtils.clamp(rotation[1], ...rAzimuth), rotation[2]], [rotation[0], rotation[1], rotation[2], rPolar, rAzimuth]);
30
+ const [spring, api] = useSpring(() => ({
31
+ scale: 1,
32
+ rotation: rInitial,
33
+ config
34
+ }));
35
+ React.useEffect(() => void api.start({
36
+ scale: 1,
37
+ rotation: rInitial,
38
+ config
39
+ }), [rInitial]);
40
+ React.useEffect(() => {
41
+ if (global) document.body.style.cursor = 'grab';
42
+ }, [global]);
43
+ const bind = useGesture({
44
+ onHover: ({
45
+ last
46
+ }) => {
47
+ if (!global) document.body.style.cursor = last ? 'auto' : 'grab';
48
+ },
49
+ onDrag: ({
50
+ down,
51
+ delta: [x, y],
52
+ memo: [oldY, oldX] = spring.rotation.animation.to || rInitial
53
+ }) => {
54
+ document.body.style.cursor = down ? 'grabbing' : 'grab';
55
+ x = MathUtils.clamp(oldX + x / size.width * Math.PI * speed, ...rAzimuth);
56
+ y = MathUtils.clamp(oldY + y / size.height * Math.PI * speed, ...rPolar);
57
+ const sConfig = snap && !down && typeof snap !== 'boolean' ? snap : config;
58
+ api.start({
59
+ scale: down && y > rPolar[1] / 2 ? zoom : 1,
60
+ rotation: snap && !down ? rInitial : [y, x, 0],
61
+ config: n => n === 'scale' ? { ...sConfig,
62
+ friction: sConfig.friction * 3
63
+ } : sConfig
64
+ });
65
+ return [y, x];
66
+ }
67
+ }, {
68
+ target: global && gl.domElement
69
+ });
70
+ return /*#__PURE__*/React.createElement(a.group, _extends({}, bind == null ? void 0 : bind(), spring), children);
71
+ }
72
+
73
+ export { PresentationControls };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/extends"),t=require("three"),r=require("react"),o=require("react-dom"),s=require("@react-three/fiber"),n=require("react-merge-refs");function l(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function i(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var 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 f=l(e),c=i(t),a=i(r),u=i(o),d=l(n);const p=a.createContext(null);function h(){return a.useContext(p)}const m=a.forwardRef((({children:e},t)=>{const r=a.useRef(null),o=h(),{width:n,height:l}=s.useThree((e=>e.viewport));return s.useFrame((()=>{r.current.position.x=o.horizontal?-n*(o.pages-1)*o.offset:0,r.current.position.y=o.horizontal?0:l*(o.pages-1)*o.offset})),a.createElement("group",{ref:d.default([t,r])},e)})),v=a.forwardRef((({children:e,style:t,...r},o)=>{const n=h(),l=a.useRef(null),{width:i,height:c}=s.useThree((e=>e.size)),m=a.useContext(s.context);return s.useFrame((()=>{n.delta>n.eps&&(l.current.style.transform=`translate3d(${n.horizontal?-i*(n.pages-1)*n.offset:0}px,${n.horizontal?0:c*(n.pages-1)*-n.offset}px,0)`)})),u.render(a.createElement("div",f.default({ref:d.default([o,l]),style:{...t,position:"absolute",top:0,left:0,willChange:"transform"}},r),a.createElement(p.Provider,{value:n},a.createElement(s.context.Provider,{value:m},e))),n.fixed),null})),y=a.forwardRef((({html:e,...t},r)=>{const o=e?v:m;return a.createElement(o,f.default({ref:r},t))}));exports.Scroll=y,exports.ScrollControls=function({eps:e=1e-5,enabled:t=!0,infinite:r,horizontal:o,pages:n=1,distance:l=1,damping:i=4,style:f={},children:u}){const{gl:d,size:h,invalidate:m,events:v,raycaster:y}=s.useThree(),[g]=a.useState((()=>document.createElement("div"))),[w]=a.useState((()=>document.createElement("div"))),[x]=a.useState((()=>document.createElement("div"))),E=d.domElement.parentNode,b=a.useRef(0),L=a.useMemo((()=>({el:g,eps:e,fill:w,fixed:x,horizontal:o,damping:i,offset:0,delta:0,scroll:b,pages:n,range(e,t,r=0){const o=e-r,s=o+t+2*r;return this.offset<o?0:this.offset>s?1:(this.offset-o)/(s-o)},curve(e,t,r=0){return Math.sin(this.range(e,t,r)*Math.PI)},visible(e,t,r=0){const o=e-r,s=o+t+2*r;return this.offset>=o&&this.offset<=s}})),[e,i,o,n]);a.useEffect((()=>{g.style.position="absolute",g.style.width="100%",g.style.height="100%",g.style[o?"overflowX":"overflowY"]="auto",g.style[o?"overflowY":"overflowX"]="hidden",g.style.top="0px",g.style.left="0px";for(const e in f)g.style[e]=f[e];x.style.position="sticky",x.style.top="0px",x.style.left="0px",x.style.width="100%",x.style.height="100%",x.style.overflow="hidden",g.appendChild(x),w.style.height=o?"100%":n*l*100+"%",w.style.width=o?n*l*100+"%":"100%",w.style.pointerEvents="none",g.appendChild(w),E.appendChild(g),g[o?"scrollLeft":"scrollTop"]=1;const e="boolean"!=typeof v.connected?v.connected:d.domElement;requestAnimationFrame((()=>null==v.connect?void 0:v.connect(g)));const t=y.computeOffsets;return y.computeOffsets=({clientX:e,clientY:t})=>({offsetX:e-E.offsetLeft,offsetY:t-E.offsetTop}),()=>{E.removeChild(g),y.computeOffsets=t,null==v.connect||v.connect(e)}}),[n,l,o,g,w,x,E]),a.useEffect((()=>{const e=h[o?"width":"height"],s=g[o?"scrollWidth":"scrollHeight"],n=s-e;let l=0,i=!0,f=!0;const c=e=>{if(t&&!f&&(m(),l=g[o?"scrollLeft":"scrollTop"],b.current=l/n,r)){if(!i)if(l>=n){const e=1-L.offset;g[o?"scrollLeft":"scrollTop"]=1,b.current=L.offset=-e,i=!0}else if(l<=0){const e=1+L.offset;g[o?"scrollLeft":"scrollTop"]=s,b.current=L.offset=e,i=!0}i&&setTimeout((()=>i=!1),40)}};g.addEventListener("scroll",c,{passive:!0}),requestAnimationFrame((()=>f=!1));const a=e=>g.scrollLeft+=e.deltaY/2;return o&&g.addEventListener("wheel",a,{passive:!0}),()=>{g.removeEventListener("scroll",c),o&&g.removeEventListener("wheel",a)}}),[g,h,r,L,m,o]);let O=0;return s.useFrame(((t,r)=>{L.offset=c.MathUtils.damp(O=L.offset,b.current,i,r),L.delta=c.MathUtils.damp(L.delta,Math.abs(O-L.offset),i,r),L.delta>e&&m()})),a.createElement(p.Provider,{value:L},u)},exports.useScroll=h;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/extends"),t=require("three"),r=require("react"),o=require("react-dom"),s=require("@react-three/fiber"),n=require("react-merge-refs");function l(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function i(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var 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 f=l(e),c=i(t),a=i(r),u=i(o),d=l(n);const p=a.createContext(null);function h(){return a.useContext(p)}const m=a.forwardRef((({children:e},t)=>{const r=a.useRef(null),o=h(),{width:n,height:l}=s.useThree((e=>e.viewport));return s.useFrame((()=>{r.current.position.x=o.horizontal?-n*(o.pages-1)*o.offset:0,r.current.position.y=o.horizontal?0:l*(o.pages-1)*o.offset})),a.createElement("group",{ref:d.default([t,r])},e)})),v=a.forwardRef((({children:e,style:t,...r},o)=>{const n=h(),l=a.useRef(null),{width:i,height:c}=s.useThree((e=>e.size)),m=a.useContext(s.context);return s.useFrame((()=>{n.delta>n.eps&&(l.current.style.transform=`translate3d(${n.horizontal?-i*(n.pages-1)*n.offset:0}px,${n.horizontal?0:c*(n.pages-1)*-n.offset}px,0)`)})),u.render(a.createElement("div",f.default({ref:d.default([o,l]),style:{...t,position:"absolute",top:0,left:0,willChange:"transform"}},r),a.createElement(p.Provider,{value:n},a.createElement(s.context.Provider,{value:m},e))),n.fixed),null})),y=a.forwardRef((({html:e,...t},r)=>{const o=e?v:m;return a.createElement(o,f.default({ref:r},t))}));exports.Scroll=y,exports.ScrollControls=function({eps:e=1e-5,enabled:t=!0,infinite:r,horizontal:o,pages:n=1,distance:l=1,damping:i=4,style:f={},children:u}){const{gl:d,size:h,invalidate:m,events:v,raycaster:y}=s.useThree(),[g]=a.useState((()=>document.createElement("div"))),[w]=a.useState((()=>document.createElement("div"))),[x]=a.useState((()=>document.createElement("div"))),E=d.domElement.parentNode,b=a.useRef(0),L=a.useMemo((()=>({el:g,eps:e,fill:w,fixed:x,horizontal:o,damping:i,offset:0,delta:0,scroll:b,pages:n,range(e,t,r=0){const o=e-r,s=o+t+2*r;return this.offset<o?0:this.offset>s?1:(this.offset-o)/(s-o)},curve(e,t,r=0){return Math.sin(this.range(e,t,r)*Math.PI)},visible(e,t,r=0){const o=e-r,s=o+t+2*r;return this.offset>=o&&this.offset<=s}})),[e,i,o,n]);a.useEffect((()=>{g.style.position="absolute",g.style.width="100%",g.style.height="100%",g.style[o?"overflowX":"overflowY"]="auto",g.style[o?"overflowY":"overflowX"]="hidden",g.style.top="0px",g.style.left="0px";for(const e in f)g.style[e]=f[e];x.style.position="sticky",x.style.top="0px",x.style.left="0px",x.style.width="100%",x.style.height="100%",x.style.overflow="hidden",g.appendChild(x),w.style.height=o?"100%":n*l*100+"%",w.style.width=o?n*l*100+"%":"100%",w.style.pointerEvents="none",g.appendChild(w),E.appendChild(g),g[o?"scrollLeft":"scrollTop"]=1;const e="boolean"!=typeof v.connected?v.connected:d.domElement;requestAnimationFrame((()=>null==v.connect?void 0:v.connect(g)));const t=y.computeOffsets;return y.computeOffsets=({clientX:e,clientY:t})=>({offsetX:e-E.offsetLeft,offsetY:t-E.offsetTop}),()=>{E.removeChild(g),y.computeOffsets=t,null==v.connect||v.connect(e)}}),[n,l,o,g,w,x,E]),a.useEffect((()=>{const e=h[o?"width":"height"],s=g[o?"scrollWidth":"scrollHeight"],n=s-e;let l=0,i=!0,f=!0;const c=()=>{if(t&&!f&&(m(),l=g[o?"scrollLeft":"scrollTop"],b.current=l/n,r)){if(!i)if(l>=n){const e=1-L.offset;g[o?"scrollLeft":"scrollTop"]=1,b.current=L.offset=-e,i=!0}else if(l<=0){const e=1+L.offset;g[o?"scrollLeft":"scrollTop"]=s,b.current=L.offset=e,i=!0}i&&setTimeout((()=>i=!1),40)}};g.addEventListener("scroll",c,{passive:!0}),requestAnimationFrame((()=>f=!1));const a=e=>g.scrollLeft+=e.deltaY/2;return o&&g.addEventListener("wheel",a,{passive:!0}),()=>{g.removeEventListener("scroll",c),o&&g.removeEventListener("wheel",a)}}),[g,h,r,L,m,o]);let O=0;return s.useFrame(((t,r)=>{L.offset=c.MathUtils.damp(O=L.offset,b.current,i,r),L.delta=c.MathUtils.damp(L.delta,Math.abs(O-L.offset),i,r),L.delta>e&&m()})),a.createElement(p.Provider,{value:L},u)},exports.useScroll=h;
@@ -120,7 +120,7 @@ function ScrollControls({
120
120
  let disableScroll = true;
121
121
  let firstRun = true;
122
122
 
123
- const onScroll = e => {
123
+ const onScroll = () => {
124
124
  // Prevent first scroll because it is indirectly caused by the one pixel offset
125
125
  if (!enabled || firstRun) return;
126
126
  invalidate();
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("../core/Billboard.cjs.js"),c=require("../core/QuadraticBezierLine.cjs.js"),u=require("../core/CubicBezierLine.cjs.js"),a=require("../core/Line.cjs.js"),j=require("../core/PositionalAudio.cjs.js"),p=require("../core/Text.cjs.js"),l=require("../core/Effects.cjs.js"),n=require("../core/GradientTexture.cjs.js"),x=require("../core/Image.cjs.js"),q=require("../core/OrthographicCamera.cjs.js"),d=require("../core/PerspectiveCamera.cjs.js"),C=require("../core/CubeCamera.cjs.js"),h=require("../core/DeviceOrientationControls.cjs.js"),m=require("../core/FlyControls.cjs.js"),S=require("../core/MapControls.cjs.js"),B=require("../core/OrbitControls.cjs.js"),b=require("../core/TrackballControls.cjs.js"),f=require("../core/ArcballControls.cjs.js"),P=require("../core/TransformControls.cjs.js"),M=require("../core/PointerLockControls.cjs.js"),T=require("../core/FirstPersonControls.cjs.js"),g=require("../core/GizmoHelper.cjs.js"),v=require("../core/GizmoViewcube.cjs.js"),L=require("../core/GizmoViewport.cjs.js"),D=require("../core/useCubeTexture.cjs.js"),A=require("../core/useFBX.cjs.js"),G=require("../core/useGLTF.cjs.js"),k=require("../core/useProgress.cjs.js"),F=require("../core/useTexture.cjs.js"),w=require("../core/Stats.cjs.js"),z=require("../core/DepthBuffer.cjs.js"),y=require("../core/useDepthBuffer.cjs.js"),I=require("../core/useAspect.cjs.js"),O=require("../core/useCamera.cjs.js"),E=require("../core/useDetectGPU.cjs.js"),R=require("../core/useHelper.cjs.js"),H=require("../core/useBVH.cjs.js"),V=require("../core/useContextBridge.cjs.js"),Q=require("../core/useAnimations.cjs.js"),W=require("../core/useFBO.cjs.js"),N=require("../core/useIntersect.cjs.js"),U=require("../core/useSimplification.cjs.js"),X=require("../core/useTessellation.cjs.js"),K=require("../core/useEdgeSplit.cjs.js"),_=require("../core/CurveModifier.cjs.js"),J=require("../core/MeshDistortMaterial.cjs.js"),Y=require("../core/MeshWobbleMaterial.cjs.js"),Z=require("../core/PointMaterial.cjs.js"),$=require("../core/shaderMaterial.cjs.js"),ee=require("../core/softShadows.cjs.js"),re=require("../core/shapes.cjs.js"),se=require("../core/RoundedBox.cjs.js"),oe=require("../core/ScreenQuad.cjs.js"),te=require("../core/Center.cjs.js"),ie=require("../core/Bounds.cjs.js"),ce=require("../core/CameraShake.cjs.js"),ue=require("../core/Float.cjs.js"),ae=require("../core/Stage.cjs.js"),je=require("../core/Backdrop.cjs.js"),pe=require("../core/Shadow.cjs.js"),le=require("../core/ContactShadows.cjs.js"),ne=require("../core/Reflector.cjs.js"),xe=require("../core/SpotLight.cjs.js"),qe=require("../core/Environment.cjs.js"),de=require("../core/Sky.cjs.js"),Ce=require("../core/Stars.cjs.js"),he=require("../core/Cloud.cjs.js"),me=require("../core/useMatcapTexture.cjs.js"),Se=require("../core/useNormalTexture.cjs.js"),Be=require("../core/Points.cjs.js"),be=require("../core/Instances.cjs.js"),fe=require("../core/Segments.cjs.js"),Pe=require("../core/Detailed.cjs.js"),Me=require("../core/Preload.cjs.js"),Te=require("../core/BakeShadows.cjs.js"),ge=require("../core/meshBounds.cjs.js"),ve=require("../core/AdaptiveDpr.cjs.js"),Le=require("../core/AdaptiveEvents.cjs.js"),De=require("../materials/BlurPass.cjs.js"),Ae=require("../materials/MeshReflectorMaterial.cjs.js");require("@babel/runtime/helpers/extends"),require("react"),require("react-dom"),require("three"),require("@react-three/fiber"),require("zustand"),require("react-merge-refs"),require("three-stdlib"),require("troika-three-text"),require("lodash.omit"),require("lodash.pick"),require("three/examples/js/libs/stats.min"),require("../helpers/useEffectfulState.cjs.js"),require("detect-gpu"),require("use-asset"),require("three-mesh-bvh"),require("../helpers/environment-assets.cjs.js"),require("../materials/ConvolutionMaterial.cjs.js"),require("../materials/SpotLightMaterial.cjs.js"),require("../assets/cloud.base64.cjs.js"),require("../helpers/matcap-assets.cjs.js"),require("../helpers/normal-assets.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.Billboard=i.Billboard,exports.QuadraticBezierLine=c.QuadraticBezierLine,exports.CubicBezierLine=u.CubicBezierLine,exports.Line=a.Line,exports.PositionalAudio=j.PositionalAudio,exports.Text=p.Text,exports.Effects=l.Effects,exports.isWebGL2Available=l.isWebGL2Available,exports.GradientTexture=n.GradientTexture,exports.Image=x.Image,exports.OrthographicCamera=q.OrthographicCamera,exports.PerspectiveCamera=d.PerspectiveCamera,exports.CubeCamera=C.CubeCamera,exports.DeviceOrientationControls=h.DeviceOrientationControls,exports.FlyControls=m.FlyControls,exports.MapControls=S.MapControls,exports.OrbitControls=B.OrbitControls,exports.TrackballControls=b.TrackballControls,exports.ArcballControls=f.ArcballControls,exports.TransformControls=P.TransformControls,exports.PointerLockControls=M.PointerLockControls,exports.FirstPersonControls=T.FirstPersonControls,exports.GizmoHelper=g.GizmoHelper,exports.useGizmoContext=g.useGizmoContext,exports.GizmoViewcube=v.GizmoViewcube,exports.GizmoViewport=L.GizmoViewport,exports.useCubeTexture=D.useCubeTexture,exports.useFBX=A.useFBX,exports.useGLTF=G.useGLTF,exports.useProgress=k.useProgress,exports.IsObject=F.IsObject,exports.useTexture=F.useTexture,exports.Stats=w.Stats,exports.DepthBuffer=z.DepthBuffer,exports.useDepthBuffer=y.useDepthBuffer,exports.useAspect=I.useAspect,exports.useCamera=O.useCamera,exports.useDetectGPU=E.useDetectGPU,exports.useHelper=R.useHelper,exports.useBVH=H.useBVH,exports.useContextBridge=V.useContextBridge,exports.useAnimations=Q.useAnimations,exports.useFBO=W.useFBO,exports.useIntersect=N.useIntersect,exports.useSimplification=U.useSimplification,exports.useTessellation=X.useTessellation,exports.useEdgeSplit=K.useEdgeSplit,exports.CurveModifier=_.CurveModifier,exports.MeshDistortMaterial=J.MeshDistortMaterial,exports.MeshWobbleMaterial=Y.MeshWobbleMaterial,exports.PointMaterial=Z.PointMaterial,exports.PointMaterialImpl=Z.PointMaterialImpl,exports.shaderMaterial=$.shaderMaterial,exports.softShadows=ee.softShadows,exports.Box=re.Box,exports.Circle=re.Circle,exports.Cone=re.Cone,exports.Cylinder=re.Cylinder,exports.Dodecahedron=re.Dodecahedron,exports.Extrude=re.Extrude,exports.Icosahedron=re.Icosahedron,exports.Lathe=re.Lathe,exports.Octahedron=re.Octahedron,exports.Parametric=re.Parametric,exports.Plane=re.Plane,exports.Polyhedron=re.Polyhedron,exports.Ring=re.Ring,exports.Sphere=re.Sphere,exports.Tetrahedron=re.Tetrahedron,exports.Torus=re.Torus,exports.TorusKnot=re.TorusKnot,exports.Tube=re.Tube,exports.RoundedBox=se.RoundedBox,exports.ScreenQuad=oe.ScreenQuad,exports.Center=te.Center,exports.Bounds=ie.Bounds,exports.useBounds=ie.useBounds,exports.CameraShake=ce.CameraShake,exports.Float=ue.Float,exports.Stage=ae.Stage,exports.Backdrop=je.Backdrop,exports.Shadow=pe.Shadow,exports.ContactShadows=le.ContactShadows,exports.Reflector=ne.Reflector,exports.SpotLight=xe.SpotLight,exports.Environment=qe.Environment,exports.Sky=de.Sky,exports.calcPosFromAngles=de.calcPosFromAngles,exports.Stars=Ce.Stars,exports.Cloud=he.Cloud,exports.useMatcapTexture=me.useMatcapTexture,exports.useNormalTexture=Se.useNormalTexture,exports.Point=Be.Point,exports.Points=Be.Points,exports.PointsBuffer=Be.PointsBuffer,exports.Instance=be.Instance,exports.Instances=be.Instances,exports.Merged=be.Merged,exports.Segment=fe.Segment,exports.Segments=fe.Segments,exports.Detailed=Pe.Detailed,exports.Preload=Me.Preload,exports.BakeShadows=Te.BakeShadows,exports.meshBounds=ge.meshBounds,exports.AdaptiveDpr=ve.AdaptiveDpr,exports.AdaptiveEvents=Le.AdaptiveEvents,exports.BlurPass=De.BlurPass,exports.MeshReflectorMaterial=Ae.MeshReflectorMaterial;
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("../core/Billboard.cjs.js"),u=require("../core/QuadraticBezierLine.cjs.js"),a=require("../core/CubicBezierLine.cjs.js"),j=require("../core/Line.cjs.js"),p=require("../core/PositionalAudio.cjs.js"),n=require("../core/Text.cjs.js"),l=require("../core/Effects.cjs.js"),x=require("../core/GradientTexture.cjs.js"),q=require("../core/Image.cjs.js"),d=require("../core/OrthographicCamera.cjs.js"),C=require("../core/PerspectiveCamera.cjs.js"),h=require("../core/CubeCamera.cjs.js"),m=require("../core/DeviceOrientationControls.cjs.js"),S=require("../core/FlyControls.cjs.js"),B=require("../core/MapControls.cjs.js"),f=require("../core/OrbitControls.cjs.js"),P=require("../core/TrackballControls.cjs.js"),b=require("../core/ArcballControls.cjs.js"),M=require("../core/TransformControls.cjs.js"),T=require("../core/PointerLockControls.cjs.js"),g=require("../core/FirstPersonControls.cjs.js"),v=require("../core/GizmoHelper.cjs.js"),L=require("../core/GizmoViewcube.cjs.js"),D=require("../core/GizmoViewport.cjs.js"),A=require("../core/useCubeTexture.cjs.js"),G=require("../core/useFBX.cjs.js"),k=require("../core/useGLTF.cjs.js"),F=require("../core/useProgress.cjs.js"),w=require("../core/useTexture.cjs.js"),z=require("../core/Stats.cjs.js"),y=require("../core/DepthBuffer.cjs.js"),I=require("../core/useDepthBuffer.cjs.js"),O=require("../core/useAspect.cjs.js"),E=require("../core/useCamera.cjs.js"),R=require("../core/useDetectGPU.cjs.js"),H=require("../core/useHelper.cjs.js"),V=require("../core/useBVH.cjs.js"),Q=require("../core/useContextBridge.cjs.js"),W=require("../core/useAnimations.cjs.js"),N=require("../core/useFBO.cjs.js"),U=require("../core/useIntersect.cjs.js"),X=require("../core/useSimplification.cjs.js"),K=require("../core/useTessellation.cjs.js"),_=require("../core/useEdgeSplit.cjs.js"),J=require("../core/CurveModifier.cjs.js"),Y=require("../core/MeshDistortMaterial.cjs.js"),Z=require("../core/MeshWobbleMaterial.cjs.js"),$=require("../core/MeshReflectorMaterial.cjs.js"),ee=require("../core/PointMaterial.cjs.js"),re=require("../core/shaderMaterial.cjs.js"),se=require("../core/softShadows.cjs.js"),oe=require("../core/shapes.cjs.js"),te=require("../core/RoundedBox.cjs.js"),ie=require("../core/ScreenQuad.cjs.js"),ce=require("../core/Center.cjs.js"),ue=require("../core/Bounds.cjs.js"),ae=require("../core/CameraShake.cjs.js"),je=require("../core/Float.cjs.js"),pe=require("../core/Stage.cjs.js"),ne=require("../core/Backdrop.cjs.js"),le=require("../core/Shadow.cjs.js"),xe=require("../core/ContactShadows.cjs.js"),qe=require("../core/Reflector.cjs.js"),de=require("../core/SpotLight.cjs.js"),Ce=require("../core/Environment.cjs.js"),he=require("../core/Sky.cjs.js"),me=require("../core/Stars.cjs.js"),Se=require("../core/Cloud.cjs.js"),Be=require("../core/useMatcapTexture.cjs.js"),fe=require("../core/useNormalTexture.cjs.js"),Pe=require("../core/Points.cjs.js"),be=require("../core/Instances.cjs.js"),Me=require("../core/Segments.cjs.js"),Te=require("../core/Detailed.cjs.js"),ge=require("../core/Preload.cjs.js"),ve=require("../core/BakeShadows.cjs.js"),Le=require("../core/meshBounds.cjs.js"),De=require("../core/AdaptiveDpr.cjs.js"),Ae=require("../core/AdaptiveEvents.cjs.js");require("@babel/runtime/helpers/extends"),require("react"),require("react-dom"),require("three"),require("@react-three/fiber"),require("zustand"),require("react-merge-refs"),require("@react-spring/three"),require("@use-gesture/react"),require("three-stdlib"),require("troika-three-text"),require("lodash.omit"),require("lodash.pick"),require("three/examples/js/libs/stats.min"),require("../helpers/useEffectfulState.cjs.js"),require("detect-gpu"),require("use-asset"),require("three-mesh-bvh"),require("../materials/BlurPass.cjs.js"),require("../materials/ConvolutionMaterial.cjs.js"),require("../materials/MeshReflectorMaterial.cjs.js"),require("../helpers/environment-assets.cjs.js"),require("../materials/SpotLightMaterial.cjs.js"),require("../assets/cloud.base64.cjs.js"),require("../helpers/matcap-assets.cjs.js"),require("../helpers/normal-assets.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.Billboard=c.Billboard,exports.QuadraticBezierLine=u.QuadraticBezierLine,exports.CubicBezierLine=a.CubicBezierLine,exports.Line=j.Line,exports.PositionalAudio=p.PositionalAudio,exports.Text=n.Text,exports.Effects=l.Effects,exports.isWebGL2Available=l.isWebGL2Available,exports.GradientTexture=x.GradientTexture,exports.Image=q.Image,exports.OrthographicCamera=d.OrthographicCamera,exports.PerspectiveCamera=C.PerspectiveCamera,exports.CubeCamera=h.CubeCamera,exports.DeviceOrientationControls=m.DeviceOrientationControls,exports.FlyControls=S.FlyControls,exports.MapControls=B.MapControls,exports.OrbitControls=f.OrbitControls,exports.TrackballControls=P.TrackballControls,exports.ArcballControls=b.ArcballControls,exports.TransformControls=M.TransformControls,exports.PointerLockControls=T.PointerLockControls,exports.FirstPersonControls=g.FirstPersonControls,exports.GizmoHelper=v.GizmoHelper,exports.useGizmoContext=v.useGizmoContext,exports.GizmoViewcube=L.GizmoViewcube,exports.GizmoViewport=D.GizmoViewport,exports.useCubeTexture=A.useCubeTexture,exports.useFBX=G.useFBX,exports.useGLTF=k.useGLTF,exports.useProgress=F.useProgress,exports.IsObject=w.IsObject,exports.useTexture=w.useTexture,exports.Stats=z.Stats,exports.DepthBuffer=y.DepthBuffer,exports.useDepthBuffer=I.useDepthBuffer,exports.useAspect=O.useAspect,exports.useCamera=E.useCamera,exports.useDetectGPU=R.useDetectGPU,exports.useHelper=H.useHelper,exports.useBVH=V.useBVH,exports.useContextBridge=Q.useContextBridge,exports.useAnimations=W.useAnimations,exports.useFBO=N.useFBO,exports.useIntersect=U.useIntersect,exports.useSimplification=X.useSimplification,exports.useTessellation=K.useTessellation,exports.useEdgeSplit=_.useEdgeSplit,exports.CurveModifier=J.CurveModifier,exports.MeshDistortMaterial=Y.MeshDistortMaterial,exports.MeshWobbleMaterial=Z.MeshWobbleMaterial,exports.MeshReflectorMaterial=$.MeshReflectorMaterial,exports.PointMaterial=ee.PointMaterial,exports.PointMaterialImpl=ee.PointMaterialImpl,exports.shaderMaterial=re.shaderMaterial,exports.softShadows=se.softShadows,exports.Box=oe.Box,exports.Circle=oe.Circle,exports.Cone=oe.Cone,exports.Cylinder=oe.Cylinder,exports.Dodecahedron=oe.Dodecahedron,exports.Extrude=oe.Extrude,exports.Icosahedron=oe.Icosahedron,exports.Lathe=oe.Lathe,exports.Octahedron=oe.Octahedron,exports.Parametric=oe.Parametric,exports.Plane=oe.Plane,exports.Polyhedron=oe.Polyhedron,exports.Ring=oe.Ring,exports.Sphere=oe.Sphere,exports.Tetrahedron=oe.Tetrahedron,exports.Torus=oe.Torus,exports.TorusKnot=oe.TorusKnot,exports.Tube=oe.Tube,exports.RoundedBox=te.RoundedBox,exports.ScreenQuad=ie.ScreenQuad,exports.Center=ce.Center,exports.Bounds=ue.Bounds,exports.useBounds=ue.useBounds,exports.CameraShake=ae.CameraShake,exports.Float=je.Float,exports.Stage=pe.Stage,exports.Backdrop=ne.Backdrop,exports.Shadow=le.Shadow,exports.ContactShadows=xe.ContactShadows,exports.Reflector=qe.Reflector,exports.SpotLight=de.SpotLight,exports.Environment=Ce.Environment,exports.Sky=he.Sky,exports.calcPosFromAngles=he.calcPosFromAngles,exports.Stars=me.Stars,exports.Cloud=Se.Cloud,exports.useMatcapTexture=Be.useMatcapTexture,exports.useNormalTexture=fe.useNormalTexture,exports.Point=Pe.Point,exports.Points=Pe.Points,exports.PointsBuffer=Pe.PointsBuffer,exports.Instance=be.Instance,exports.Instances=be.Instances,exports.Merged=be.Merged,exports.Segment=Me.Segment,exports.Segments=Me.Segments,exports.Detailed=Te.Detailed,exports.Preload=ge.Preload,exports.BakeShadows=ve.BakeShadows,exports.meshBounds=Le.meshBounds,exports.AdaptiveDpr=De.AdaptiveDpr,exports.AdaptiveEvents=Ae.AdaptiveEvents;
package/web/index.d.ts CHANGED
@@ -3,5 +3,5 @@ export { CycleRaycast } from './CycleRaycast';
3
3
  export { useCursor } from './useCursor';
4
4
  export { Loader } from './Loader';
5
5
  export * from './ScrollControls';
6
+ export * from './PresentationControls';
6
7
  export * from '../core';
7
- export * from '../materials';
package/web/index.js CHANGED
@@ -3,6 +3,7 @@ export { CycleRaycast } from './CycleRaycast.js';
3
3
  export { useCursor } from './useCursor.js';
4
4
  export { Loader } from './Loader.js';
5
5
  export { Scroll, ScrollControls, useScroll } from './ScrollControls.js';
6
+ export { PresentationControls } from './PresentationControls.js';
6
7
  export { Billboard } from '../core/Billboard.js';
7
8
  export { QuadraticBezierLine } from '../core/QuadraticBezierLine.js';
8
9
  export { CubicBezierLine } from '../core/CubicBezierLine.js';
@@ -50,6 +51,7 @@ export { useEdgeSplit } from '../core/useEdgeSplit.js';
50
51
  export { CurveModifier } from '../core/CurveModifier.js';
51
52
  export { MeshDistortMaterial } from '../core/MeshDistortMaterial.js';
52
53
  export { MeshWobbleMaterial } from '../core/MeshWobbleMaterial.js';
54
+ export { MeshReflectorMaterial } from '../core/MeshReflectorMaterial.js';
53
55
  export { PointMaterial, PointMaterialImpl } from '../core/PointMaterial.js';
54
56
  export { shaderMaterial } from '../core/shaderMaterial.js';
55
57
  export { softShadows } from '../core/softShadows.js';
@@ -81,8 +83,6 @@ export { BakeShadows } from '../core/BakeShadows.js';
81
83
  export { meshBounds } from '../core/meshBounds.js';
82
84
  export { AdaptiveDpr } from '../core/AdaptiveDpr.js';
83
85
  export { AdaptiveEvents } from '../core/AdaptiveEvents.js';
84
- export { BlurPass } from '../materials/BlurPass.js';
85
- export { MeshReflectorMaterial } from '../materials/MeshReflectorMaterial.js';
86
86
  import '@babel/runtime/helpers/esm/extends';
87
87
  import 'react';
88
88
  import 'react-dom';
@@ -90,6 +90,8 @@ import 'three';
90
90
  import '@react-three/fiber';
91
91
  import 'zustand';
92
92
  import 'react-merge-refs';
93
+ import '@react-spring/three';
94
+ import '@use-gesture/react';
93
95
  import 'three-stdlib';
94
96
  import 'troika-three-text';
95
97
  import 'lodash.omit';
@@ -99,8 +101,10 @@ import '../helpers/useEffectfulState.js';
99
101
  import 'detect-gpu';
100
102
  import 'use-asset';
101
103
  import 'three-mesh-bvh';
102
- import '../helpers/environment-assets.js';
104
+ import '../materials/BlurPass.js';
103
105
  import '../materials/ConvolutionMaterial.js';
106
+ import '../materials/MeshReflectorMaterial.js';
107
+ import '../helpers/environment-assets.js';
104
108
  import '../materials/SpotLightMaterial.js';
105
109
  import '../assets/cloud.base64.js';
106
110
  import '../helpers/matcap-assets.js';
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./BlurPass.cjs.js"),r=require("./MeshReflectorMaterial.cjs.js");require("three"),require("./ConvolutionMaterial.cjs.js"),exports.BlurPass=e.BlurPass,exports.MeshReflectorMaterial=r.MeshReflectorMaterial;
@@ -1,2 +0,0 @@
1
- export * from './BlurPass';
2
- export * from './MeshReflectorMaterial';
@@ -1,4 +0,0 @@
1
- export { BlurPass } from './BlurPass.js';
2
- export { MeshReflectorMaterial } from './MeshReflectorMaterial.js';
3
- import 'three';
4
- import './ConvolutionMaterial.js';