@react-three/drei 9.121.4 → 10.0.0-rc.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 (215) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +852 -852
  3. package/core/AccumulativeShadows.d.ts +8 -10
  4. package/core/ArcballControls.d.ts +3 -3
  5. package/core/AsciiRenderer.d.ts +1 -2
  6. package/core/BBAnchor.d.ts +3 -3
  7. package/core/Backdrop.d.ts +2 -1
  8. package/core/Billboard.cjs.js +1 -1
  9. package/core/Billboard.d.ts +3 -2
  10. package/core/Billboard.js +13 -13
  11. package/core/Bounds.d.ts +2 -1
  12. package/core/Bounds.js +2 -2
  13. package/core/Bvh.d.ts +3 -2
  14. package/core/Bvh.js +2 -2
  15. package/core/CameraControls.d.ts +4 -4
  16. package/core/CatmullRomLine.d.ts +2 -3
  17. package/core/Caustics.d.ts +14 -17
  18. package/core/Center.d.ts +3 -2
  19. package/core/Clone.d.ts +4 -4
  20. package/core/Cloud.cjs.js +1 -1
  21. package/core/Cloud.d.ts +50 -12
  22. package/core/Cloud.js +3 -3
  23. package/core/ComputedAttribute.cjs.js +1 -1
  24. package/core/ComputedAttribute.d.ts +3 -4
  25. package/core/ComputedAttribute.js +5 -5
  26. package/core/ContactShadows.d.ts +3 -2
  27. package/core/CubeCamera.d.ts +3 -3
  28. package/core/CubeTexture.d.ts +5 -6
  29. package/core/CubeTexture.js +2 -7
  30. package/core/CubicBezierLine.d.ts +2 -3
  31. package/core/CurveModifier.d.ts +2 -1
  32. package/core/Decal.d.ts +2 -2
  33. package/core/Detailed.d.ts +3 -3
  34. package/core/DetectGPU.d.ts +1 -2
  35. package/core/DeviceOrientationControls.d.ts +2 -2
  36. package/core/Edges.cjs.js +1 -1
  37. package/core/Edges.d.ts +2 -2
  38. package/core/Edges.js +2 -2
  39. package/core/Effects.cjs.js +1 -1
  40. package/core/Effects.d.ts +9 -13
  41. package/core/Effects.js +3 -3
  42. package/core/Environment.cjs.js +1 -1
  43. package/core/Environment.d.ts +5 -7
  44. package/core/Example.js +2 -2
  45. package/core/Fbo.d.ts +1 -4
  46. package/core/Fbo.js +0 -2
  47. package/core/Fbx.d.ts +1 -1
  48. package/core/FirstPersonControls.d.ts +2 -2
  49. package/core/Fisheye.d.ts +2 -1
  50. package/core/Float.d.ts +2 -1
  51. package/core/FlyControls.d.ts +2 -2
  52. package/core/GizmoHelper.cjs.js +1 -1
  53. package/core/GizmoHelper.d.ts +2 -1
  54. package/core/GizmoHelper.js +0 -1
  55. package/core/GizmoViewport.d.ts +2 -2
  56. package/core/Gltf.d.ts +9 -5
  57. package/core/GradientTexture.d.ts +4 -4
  58. package/core/GradientTexture.js +0 -2
  59. package/core/Grid.d.ts +6 -7
  60. package/core/Helper.cjs.js +1 -1
  61. package/core/Helper.d.ts +1 -1
  62. package/core/Helper.js +1 -1
  63. package/core/Hud.d.ts +1 -2
  64. package/core/Image.d.ts +6 -8
  65. package/core/Instances.cjs.js +1 -1
  66. package/core/Instances.d.ts +27 -35
  67. package/core/Instances.js +38 -33
  68. package/core/Ktx2.d.ts +1 -1
  69. package/core/Lightformer.d.ts +3 -3
  70. package/core/Line.d.ts +4 -4
  71. package/core/MapControls.d.ts +4 -4
  72. package/core/MarchingCubes.d.ts +6 -6
  73. package/core/Mask.d.ts +3 -3
  74. package/core/MeshDiscardMaterial.d.ts +6 -7
  75. package/core/MeshDistortMaterial.d.ts +15 -17
  76. package/core/MeshPortalMaterial.cjs.js +1 -1
  77. package/core/MeshPortalMaterial.d.ts +14 -17
  78. package/core/MeshPortalMaterial.js +2 -2
  79. package/core/MeshReflectorMaterial.cjs.js +1 -1
  80. package/core/MeshReflectorMaterial.d.ts +9 -22
  81. package/core/MeshReflectorMaterial.js +2 -4
  82. package/core/MeshRefractionMaterial.cjs.js +1 -1
  83. package/core/MeshRefractionMaterial.d.ts +5 -8
  84. package/core/MeshRefractionMaterial.js +2 -2
  85. package/core/MeshTransmissionMaterial.cjs.js +1 -1
  86. package/core/MeshTransmissionMaterial.d.ts +7 -8
  87. package/core/MeshTransmissionMaterial.js +2 -1
  88. package/core/MeshWobbleMaterial.d.ts +15 -17
  89. package/core/MotionPathControls.cjs.js +1 -1
  90. package/core/MotionPathControls.d.ts +18 -6
  91. package/core/MotionPathControls.js +2 -3
  92. package/core/MultiMaterial.cjs.js +1 -1
  93. package/core/MultiMaterial.d.ts +3 -1
  94. package/core/MultiMaterial.js +2 -3
  95. package/core/OrbitControls.d.ts +4 -4
  96. package/core/OrthographicCamera.d.ts +3 -3
  97. package/core/Outlines.cjs.js +1 -1
  98. package/core/Outlines.d.ts +2 -3
  99. package/core/Outlines.js +2 -2
  100. package/core/PerformanceMonitor.d.ts +2 -2
  101. package/core/PerspectiveCamera.d.ts +3 -3
  102. package/core/PointMaterial.d.ts +3 -11
  103. package/core/PointerLockControls.d.ts +2 -2
  104. package/core/Points.cjs.js +1 -1
  105. package/core/Points.d.ts +10 -13
  106. package/core/Points.js +10 -20
  107. package/core/PositionalAudio.d.ts +3 -3
  108. package/core/Preload.d.ts +2 -3
  109. package/core/QuadraticBezierLine.d.ts +5 -7
  110. package/core/RenderCubeTexture.d.ts +2 -2
  111. package/core/RenderTexture.cjs.js +1 -1
  112. package/core/RenderTexture.d.ts +3 -3
  113. package/core/RenderTexture.js +3 -2
  114. package/core/Resize.d.ts +9 -2
  115. package/core/RoundedBox.d.ts +4 -4
  116. package/core/Sampler.d.ts +4 -4
  117. package/core/ScreenQuad.d.ts +3 -3
  118. package/core/ScreenSizer.d.ts +3 -3
  119. package/core/ScreenSizer.js +12 -12
  120. package/core/ScreenSpace.d.ts +3 -2
  121. package/core/Segments.d.ts +6 -8
  122. package/core/Shadow.d.ts +3 -3
  123. package/core/ShadowAlpha.cjs.js +1 -1
  124. package/core/ShadowAlpha.d.ts +1 -2
  125. package/core/ShadowAlpha.js +9 -9
  126. package/core/Sky.d.ts +2 -3
  127. package/core/Sparkles.d.ts +14 -16
  128. package/core/Splat.d.ts +6 -8
  129. package/core/SpotLight.d.ts +2 -1
  130. package/core/SpriteAnimator.cjs.js +1 -1
  131. package/core/SpriteAnimator.d.ts +36 -3
  132. package/core/Stage.cjs.js +1 -1
  133. package/core/Stage.d.ts +3 -2
  134. package/core/Stars.cjs.js +1 -1
  135. package/core/Stars.d.ts +6 -8
  136. package/core/Stars.js +1 -1
  137. package/core/Stats.d.ts +2 -3
  138. package/core/StatsGl.d.ts +2 -2
  139. package/core/Svg.d.ts +6 -6
  140. package/core/Text.d.ts +3 -4
  141. package/core/Text3D.d.ts +7 -10
  142. package/core/Text3D.js +3 -3
  143. package/core/Texture.d.ts +1 -1
  144. package/core/TrackballControls.d.ts +4 -4
  145. package/core/Trail.cjs.js +1 -1
  146. package/core/Trail.d.ts +3 -3
  147. package/core/Trail.js +3 -3
  148. package/core/TrailTexture.d.ts +3 -2
  149. package/core/TransformControls.cjs.js +1 -1
  150. package/core/TransformControls.d.ts +3 -3
  151. package/core/TransformControls.js +4 -5
  152. package/core/VideoTexture.cjs.js +1 -1
  153. package/core/VideoTexture.js +1 -1
  154. package/core/Wireframe.d.ts +5 -7
  155. package/core/index.cjs.js +1 -1
  156. package/core/index.d.ts +0 -1
  157. package/core/index.js +3 -5
  158. package/core/shapes.d.ts +21 -20
  159. package/core/softShadows.d.ts +1 -2
  160. package/core/softShadows.js +13 -13
  161. package/core/useAnimations.cjs.js +1 -1
  162. package/core/useAnimations.d.ts +2 -2
  163. package/core/useAnimations.js +1 -1
  164. package/core/useBoxProjectedEnv.d.ts +1 -1
  165. package/core/useCamera.cjs.js +1 -1
  166. package/core/useCamera.d.ts +1 -1
  167. package/core/useCamera.js +1 -8
  168. package/core/useContextBridge.d.ts +1 -1
  169. package/core/useContextBridge.js +4 -4
  170. package/core/useEnvironment.cjs.js +1 -1
  171. package/core/useEnvironment.d.ts +3 -4
  172. package/core/useEnvironment.js +11 -19
  173. package/core/useIntersect.d.ts +1 -1
  174. package/core/useSpriteLoader.d.ts +1 -1
  175. package/helpers/deprecated.cjs.js +1 -1
  176. package/helpers/deprecated.d.ts +1 -4
  177. package/helpers/deprecated.js +4 -16
  178. package/helpers/ts-utils.d.ts +4 -0
  179. package/helpers/useEffectfulState.d.ts +1 -1
  180. package/index.cjs.js +1 -1
  181. package/index.js +0 -1
  182. package/materials/BlurPass.js +0 -1
  183. package/materials/MeshReflectorMaterial.d.ts +0 -16
  184. package/native/index.cjs.js +1 -1
  185. package/native/index.js +1 -3
  186. package/package.json +7 -8
  187. package/web/CycleRaycast.d.ts +1 -1
  188. package/web/FaceControls.js +8 -8
  189. package/web/FaceLandmarker.d.ts +1 -2
  190. package/web/Facemesh.d.ts +3 -2
  191. package/web/Html.cjs.js +1 -1
  192. package/web/Html.d.ts +4 -4
  193. package/web/Html.js +1 -1
  194. package/web/KeyboardControls.d.ts +1 -1
  195. package/web/PresentationControls.cjs.js +1 -1
  196. package/web/PresentationControls.d.ts +3 -4
  197. package/web/PresentationControls.js +20 -28
  198. package/web/ScreenVideoTexture.js +2 -2
  199. package/web/ScrollControls.d.ts +1 -1
  200. package/web/Select.d.ts +3 -3
  201. package/web/Select.js +6 -2
  202. package/web/View.cjs.js +1 -1
  203. package/web/View.d.ts +8 -10
  204. package/web/View.js +4 -34
  205. package/web/WebcamVideoTexture.js +2 -2
  206. package/web/index.cjs.js +1 -1
  207. package/web/index.js +1 -4
  208. package/web/pivotControls/AxisArrow.js +0 -2
  209. package/web/pivotControls/AxisRotator.js +0 -2
  210. package/web/pivotControls/PlaneSlider.js +1 -3
  211. package/web/pivotControls/ScalingSphere.js +0 -1
  212. package/web/pivotControls/index.d.ts +1 -2
  213. package/core/Reflector.cjs.js +0 -1
  214. package/core/Reflector.d.ts +0 -30
  215. package/core/Reflector.js +0 -180
package/web/View.js CHANGED
@@ -7,17 +7,6 @@ import tunnel from 'tunnel-rat';
7
7
  const isOrthographicCamera = def => def && def.isOrthographicCamera;
8
8
  const col = /* @__PURE__ */new THREE.Color();
9
9
  const tracked = /* @__PURE__ */tunnel();
10
-
11
- /**
12
- * In `@react-three/fiber` after `v8.0.0` but prior to `v8.1.0`, `state.size` contained only dimension
13
- * information. After `v8.1.0`, position information (`top`, `left`) was added
14
- *
15
- * @todo remove this when drei supports v9 and up
16
- */
17
-
18
- function isNonLegacyCanvasSize(size) {
19
- return 'top' in size;
20
- }
21
10
  function computeContainerPosition(canvasSize, trackRect) {
22
11
  const {
23
12
  right,
@@ -28,30 +17,15 @@ function computeContainerPosition(canvasSize, trackRect) {
28
17
  height
29
18
  } = trackRect;
30
19
  const isOffscreen = trackRect.bottom < 0 || top > canvasSize.height || right < 0 || trackRect.left > canvasSize.width;
31
- if (isNonLegacyCanvasSize(canvasSize)) {
32
- const canvasBottom = canvasSize.top + canvasSize.height;
33
- const bottom = canvasBottom - trackBottom;
34
- const left = trackLeft - canvasSize.left;
35
- return {
36
- position: {
37
- width,
38
- height,
39
- left,
40
- top,
41
- bottom,
42
- right
43
- },
44
- isOffscreen
45
- };
46
- }
47
- // Fall back on old behavior if r3f < 8.1.0
48
- const bottom = canvasSize.height - trackBottom;
20
+ const canvasBottom = canvasSize.top + canvasSize.height;
21
+ const bottom = canvasBottom - trackBottom;
22
+ const left = trackLeft - canvasSize.left;
49
23
  return {
50
24
  position: {
51
25
  width,
52
26
  height,
27
+ left,
53
28
  top,
54
- left: trackLeft,
55
29
  bottom,
56
30
  right
57
31
  },
@@ -168,10 +142,6 @@ function Container({
168
142
  });
169
143
  };
170
144
  }, [track]);
171
- React.useEffect(() => {
172
- if (isNonLegacyCanvasSize(canvasSize)) return;
173
- console.warn('Detected @react-three/fiber canvas size does not include position information. <View /> may not work as expected. ' + 'Upgrade to @react-three/fiber ^8.1.0 for support.\n See https://github.com/pmndrs/drei/issues/944');
174
- }, []);
175
145
  return /*#__PURE__*/React.createElement(React.Fragment, null, children, /*#__PURE__*/React.createElement("group", {
176
146
  onPointerOver: () => null
177
147
  }));
@@ -4,8 +4,8 @@ import { forwardRef, useEffect } from 'react';
4
4
  import { suspend, clear } from 'suspend-react';
5
5
  import { VideoTexture } from '../core/VideoTexture.js';
6
6
 
7
- /**
8
- * Create a video texture from [`getUserMedia`](https://developer.mozilla.org/en-US/docs/Web/API/MediaDevices/getUserMedia)
7
+ /**
8
+ * Create a video texture from [`getUserMedia`](https://developer.mozilla.org/en-US/docs/Web/API/MediaDevices/getUserMedia)
9
9
  */
10
10
  const WebcamVideoTexture = /* @__PURE__ */forwardRef(({
11
11
  constraints = {
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"),a=require("./KeyboardControls.cjs.js"),c=require("./Select.cjs.js"),u=require("./View.cjs.js"),n=require("./pivotControls/index.cjs.js"),p=require("./ScreenVideoTexture.cjs.js"),j=require("./WebcamVideoTexture.cjs.js"),l=require("./FaceControls.cjs.js"),x=require("./DragControls.cjs.js"),d=require("./FaceLandmarker.cjs.js"),q=require("./Facemesh.cjs.js"),m=require("../core/Billboard.cjs.js"),C=require("../core/ScreenSpace.cjs.js"),h=require("../core/ScreenSizer.cjs.js"),S=require("../core/QuadraticBezierLine.cjs.js"),M=require("../core/CubicBezierLine.cjs.js"),T=require("../core/CatmullRomLine.cjs.js"),b=require("../core/Line.cjs.js"),P=require("../core/PositionalAudio.cjs.js"),g=require("../core/Text.cjs.js"),f=require("../core/Text3D.cjs.js"),v=require("../core/Effects.cjs.js"),F=require("../core/GradientTexture.cjs.js"),B=require("../core/Image.cjs.js"),A=require("../core/Edges.cjs.js"),L=require("../core/Outlines.cjs.js"),D=require("../core/Trail.cjs.js"),R=require("../core/Sampler.cjs.js"),k=require("../core/ComputedAttribute.cjs.js"),E=require("../core/Clone.cjs.js"),G=require("../core/MarchingCubes.cjs.js"),y=require("../core/Decal.cjs.js"),w=require("../core/Svg.cjs.js"),z=require("../core/Gltf.cjs.js"),I=require("../core/AsciiRenderer.cjs.js"),V=require("../core/Splat.cjs.js"),O=require("../core/OrthographicCamera.cjs.js"),H=require("../core/PerspectiveCamera.cjs.js"),K=require("../core/CubeCamera.cjs.js"),W=require("../core/DeviceOrientationControls.cjs.js"),Q=require("../core/FlyControls.cjs.js"),N=require("../core/MapControls.cjs.js"),U=require("../core/OrbitControls.cjs.js"),X=require("../core/TrackballControls.cjs.js"),_=require("../core/ArcballControls.cjs.js"),J=require("../core/TransformControls.cjs.js"),Y=require("../core/PointerLockControls.cjs.js"),Z=require("../core/FirstPersonControls.cjs.js"),$=require("../core/CameraControls.cjs.js"),ee=require("../core/MotionPathControls.cjs.js"),re=require("../core/GizmoHelper.cjs.js"),se=require("../core/GizmoViewcube.cjs.js"),oe=require("../core/GizmoViewport.cjs.js"),te=require("../core/Grid.cjs.js"),ie=require("../core/CubeTexture.cjs.js"),ae=require("../core/Fbx.cjs.js"),ce=require("../core/Ktx2.cjs.js"),ue=require("../core/Progress.cjs.js"),ne=require("../core/Texture.cjs.js"),pe=require("../core/VideoTexture.cjs.js"),je=require("../core/useFont.cjs.js"),le=require("../core/useSpriteLoader.cjs.js"),xe=require("../core/Helper.cjs.js"),de=require("../core/Stats.cjs.js"),qe=require("../core/StatsGl.cjs.js"),me=require("../core/useDepthBuffer.cjs.js"),Ce=require("../core/useAspect.cjs.js"),he=require("../core/useCamera.cjs.js"),Se=require("../core/DetectGPU.cjs.js"),Me=require("../core/Bvh.cjs.js"),Te=require("../core/useContextBridge.cjs.js"),be=require("../core/useAnimations.cjs.js"),Pe=require("../core/Fbo.cjs.js"),ge=require("../core/useIntersect.cjs.js"),fe=require("../core/useBoxProjectedEnv.cjs.js"),ve=require("../core/BBAnchor.cjs.js"),Fe=require("../core/TrailTexture.cjs.js"),Be=require("../core/Example.cjs.js"),Ae=require("../core/SpriteAnimator.cjs.js"),Le=require("../core/CurveModifier.cjs.js"),De=require("../core/MeshDistortMaterial.cjs.js"),Re=require("../core/MeshWobbleMaterial.cjs.js"),ke=require("../core/MeshReflectorMaterial.cjs.js"),Ee=require("../core/MeshRefractionMaterial.cjs.js"),Ge=require("../core/MeshTransmissionMaterial.cjs.js"),ye=require("../core/MeshDiscardMaterial.cjs.js"),we=require("../core/MultiMaterial.cjs.js"),ze=require("../core/PointMaterial.cjs.js"),Ie=require("../core/shaderMaterial.cjs.js"),Ve=require("../core/softShadows.cjs.js"),Oe=require("../core/shapes.cjs.js"),He=require("../core/RoundedBox.cjs.js"),Ke=require("../core/ScreenQuad.cjs.js"),We=require("../core/Center.cjs.js"),Qe=require("../core/Resize.cjs.js"),Ne=require("../core/Bounds.cjs.js"),Ue=require("../core/CameraShake.cjs.js"),Xe=require("../core/Float.cjs.js"),_e=require("../core/Stage.cjs.js"),Je=require("../core/Backdrop.cjs.js"),Ye=require("../core/Shadow.cjs.js"),Ze=require("../core/Caustics.cjs.js"),$e=require("../core/ContactShadows.cjs.js"),er=require("../core/AccumulativeShadows.cjs.js"),rr=require("../core/Reflector.cjs.js"),sr=require("../core/SpotLight.cjs.js"),or=require("../core/Environment.cjs.js"),tr=require("../core/Lightformer.cjs.js"),ir=require("../core/Sky.cjs.js"),ar=require("../core/Stars.cjs.js"),cr=require("../core/Cloud.cjs.js"),ur=require("../core/Sparkles.cjs.js"),nr=require("../core/useEnvironment.cjs.js"),pr=require("../core/MatcapTexture.cjs.js"),jr=require("../core/NormalTexture.cjs.js"),lr=require("../core/Wireframe.cjs.js"),xr=require("../core/ShadowAlpha.cjs.js"),dr=require("../core/Points.cjs.js"),qr=require("../core/Instances.cjs.js"),mr=require("../core/Segments.cjs.js"),Cr=require("../core/Detailed.cjs.js"),hr=require("../core/Preload.cjs.js"),Sr=require("../core/BakeShadows.cjs.js"),Mr=require("../core/meshBounds.cjs.js"),Tr=require("../core/AdaptiveDpr.cjs.js"),br=require("../core/AdaptiveEvents.cjs.js"),Pr=require("../core/PerformanceMonitor.cjs.js"),gr=require("../core/RenderTexture.cjs.js"),fr=require("../core/RenderCubeTexture.cjs.js"),vr=require("../core/Mask.cjs.js"),Fr=require("../core/Hud.cjs.js"),Br=require("../core/Fisheye.cjs.js"),Ar=require("../core/MeshPortalMaterial.cjs.js"),Lr=require("../core/calculateScaleFactor.cjs.js");require("@babel/runtime/helpers/extends"),require("react"),require("react-dom/client"),require("three"),require("@react-three/fiber"),require("zustand"),require("maath"),require("@react-spring/three"),require("@use-gesture/react"),require("zustand/middleware"),require("three-stdlib"),require("zustand/shallow"),require("tunnel-rat"),require("./pivotControls/AxisArrow.cjs.js"),require("./pivotControls/context.cjs.js"),require("./pivotControls/AxisRotator.cjs.js"),require("./pivotControls/PlaneSlider.cjs.js"),require("./pivotControls/ScalingSphere.cjs.js"),require("suspend-react"),require("hls.js"),require("troika-three-text"),require("../helpers/constants.cjs.js"),require("meshline"),require("camera-controls"),require("stats.js"),require("../helpers/useEffectfulState.cjs.js"),require("stats-gl"),require("detect-gpu"),require("three-mesh-bvh"),require("react-composer"),require("../helpers/deprecated.cjs.js"),require("../materials/BlurPass.cjs.js"),require("../materials/ConvolutionMaterial.cjs.js"),require("../materials/MeshReflectorMaterial.cjs.js"),require("../materials/MeshRefractionMaterial.cjs.js"),require("../materials/DiscardMaterial.cjs.js"),require("@monogrid/gainmap-js"),require("../helpers/environment-assets.cjs.js"),require("../materials/SpotLightMaterial.cjs.js"),require("../materials/WireframeMaterial.cjs.js"),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=a.KeyboardControls,exports.useKeyboardControls=a.useKeyboardControls,exports.Select=c.Select,exports.useSelect=c.useSelect,exports.View=u.View,exports.PivotControls=n.PivotControls,exports.ScreenVideoTexture=p.ScreenVideoTexture,exports.WebcamVideoTexture=j.WebcamVideoTexture,exports.FaceControls=l.FaceControls,exports.useFaceControls=l.useFaceControls,exports.DragControls=x.DragControls,exports.FaceLandmarker=d.FaceLandmarker,exports.FaceLandmarkerDefaults=d.FaceLandmarkerDefaults,exports.useFaceLandmarker=d.useFaceLandmarker,exports.Facemesh=q.Facemesh,exports.FacemeshDatas=q.FacemeshDatas,exports.FacemeshEye=q.FacemeshEye,exports.FacemeshEyeDefaults=q.FacemeshEyeDefaults,exports.Billboard=m.Billboard,exports.ScreenSpace=C.ScreenSpace,exports.ScreenSizer=h.ScreenSizer,exports.QuadraticBezierLine=S.QuadraticBezierLine,exports.CubicBezierLine=M.CubicBezierLine,exports.CatmullRomLine=T.CatmullRomLine,exports.Line=b.Line,exports.PositionalAudio=P.PositionalAudio,exports.Text=g.Text,exports.Text3D=f.Text3D,exports.Effects=v.Effects,exports.isWebGL2Available=v.isWebGL2Available,exports.GradientTexture=F.GradientTexture,exports.GradientType=F.GradientType,exports.Image=B.Image,exports.Edges=A.Edges,exports.Outlines=L.Outlines,exports.Trail=D.Trail,exports.useTrail=D.useTrail,exports.Sampler=R.Sampler,exports.useSurfaceSampler=R.useSurfaceSampler,exports.ComputedAttribute=k.ComputedAttribute,exports.Clone=E.Clone,exports.MarchingCube=G.MarchingCube,exports.MarchingCubes=G.MarchingCubes,exports.MarchingPlane=G.MarchingPlane,exports.Decal=y.Decal,exports.Svg=w.Svg,exports.Gltf=z.Gltf,exports.useGLTF=z.useGLTF,exports.AsciiRenderer=I.AsciiRenderer,exports.Splat=V.Splat,exports.OrthographicCamera=O.OrthographicCamera,exports.PerspectiveCamera=H.PerspectiveCamera,exports.CubeCamera=K.CubeCamera,exports.useCubeCamera=K.useCubeCamera,exports.DeviceOrientationControls=W.DeviceOrientationControls,exports.FlyControls=Q.FlyControls,exports.MapControls=N.MapControls,exports.OrbitControls=U.OrbitControls,exports.TrackballControls=X.TrackballControls,exports.ArcballControls=_.ArcballControls,exports.TransformControls=J.TransformControls,exports.PointerLockControls=Y.PointerLockControls,exports.FirstPersonControls=Z.FirstPersonControls,exports.CameraControls=$.CameraControls,exports.MotionPathControls=ee.MotionPathControls,exports.useMotion=ee.useMotion,exports.GizmoHelper=re.GizmoHelper,exports.useGizmoContext=re.useGizmoContext,exports.GizmoViewcube=se.GizmoViewcube,exports.GizmoViewport=oe.GizmoViewport,exports.Grid=te.Grid,exports.CubeTexture=ie.CubeTexture,exports.useCubeTexture=ie.useCubeTexture,exports.Fbx=ae.Fbx,exports.useFBX=ae.useFBX,exports.Ktx2=ce.Ktx2,exports.useKTX2=ce.useKTX2,exports.Progress=ue.Progress,exports.useProgress=ue.useProgress,exports.IsObject=ne.IsObject,exports.Texture=ne.Texture,exports.useTexture=ne.useTexture,exports.VideoTexture=pe.VideoTexture,exports.useVideoTexture=pe.useVideoTexture,exports.useFont=je.useFont,exports.checkIfFrameIsEmpty=le.checkIfFrameIsEmpty,exports.getFirstFrame=le.getFirstFrame,exports.useSpriteLoader=le.useSpriteLoader,exports.Helper=xe.Helper,exports.useHelper=xe.useHelper,exports.Stats=de.Stats,exports.StatsGl=qe.StatsGl,exports.useDepthBuffer=me.useDepthBuffer,exports.useAspect=Ce.useAspect,exports.useCamera=he.useCamera,exports.DetectGPU=Se.DetectGPU,exports.useDetectGPU=Se.useDetectGPU,exports.Bvh=Me.Bvh,exports.useBVH=Me.useBVH,exports.useContextBridge=Te.useContextBridge,exports.useAnimations=be.useAnimations,exports.Fbo=Pe.Fbo,exports.useFBO=Pe.useFBO,exports.useIntersect=ge.useIntersect,exports.useBoxProjectedEnv=fe.useBoxProjectedEnv,exports.BBAnchor=ve.BBAnchor,exports.TrailTexture=Fe.TrailTexture,exports.useTrailTexture=Fe.useTrailTexture,exports.Example=Be.Example,exports.SpriteAnimator=Ae.SpriteAnimator,exports.useSpriteAnimator=Ae.useSpriteAnimator,exports.CurveModifier=Le.CurveModifier,exports.MeshDistortMaterial=De.MeshDistortMaterial,exports.MeshWobbleMaterial=Re.MeshWobbleMaterial,exports.MeshReflectorMaterial=ke.MeshReflectorMaterial,exports.MeshRefractionMaterial=Ee.MeshRefractionMaterial,exports.MeshTransmissionMaterial=Ge.MeshTransmissionMaterial,exports.MeshDiscardMaterial=ye.MeshDiscardMaterial,exports.MultiMaterial=we.MultiMaterial,exports.PointMaterial=ze.PointMaterial,exports.PointMaterialImpl=ze.PointMaterialImpl,exports.shaderMaterial=Ie.shaderMaterial,exports.SoftShadows=Ve.SoftShadows,exports.Box=Oe.Box,exports.Capsule=Oe.Capsule,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.Plane=Oe.Plane,exports.Polyhedron=Oe.Polyhedron,exports.Ring=Oe.Ring,exports.Shape=Oe.Shape,exports.Sphere=Oe.Sphere,exports.Tetrahedron=Oe.Tetrahedron,exports.Torus=Oe.Torus,exports.TorusKnot=Oe.TorusKnot,exports.Tube=Oe.Tube,exports.RoundedBox=He.RoundedBox,exports.ScreenQuad=Ke.ScreenQuad,exports.Center=We.Center,exports.Resize=Qe.Resize,exports.Bounds=Ne.Bounds,exports.useBounds=Ne.useBounds,exports.CameraShake=Ue.CameraShake,exports.Float=Xe.Float,exports.Stage=_e.Stage,exports.Backdrop=Je.Backdrop,exports.Shadow=Ye.Shadow,exports.Caustics=Ze.Caustics,exports.ContactShadows=$e.ContactShadows,exports.AccumulativeShadows=er.AccumulativeShadows,exports.RandomizedLight=er.RandomizedLight,exports.accumulativeContext=er.accumulativeContext,exports.Reflector=rr.Reflector,exports.SpotLight=sr.SpotLight,exports.SpotLightShadow=sr.SpotLightShadow,exports.Environment=or.Environment,exports.EnvironmentCube=or.EnvironmentCube,exports.EnvironmentMap=or.EnvironmentMap,exports.EnvironmentPortal=or.EnvironmentPortal,exports.Lightformer=tr.Lightformer,exports.Sky=ir.Sky,exports.calcPosFromAngles=ir.calcPosFromAngles,exports.Stars=ar.Stars,exports.Cloud=cr.Cloud,exports.CloudInstance=cr.CloudInstance,exports.Clouds=cr.Clouds,exports.Sparkles=ur.Sparkles,exports.useEnvironment=nr.useEnvironment,exports.MatcapTexture=pr.MatcapTexture,exports.useMatcapTexture=pr.useMatcapTexture,exports.NormalTexture=jr.NormalTexture,exports.useNormalTexture=jr.useNormalTexture,exports.Wireframe=lr.Wireframe,exports.ShadowAlpha=xr.ShadowAlpha,exports.Point=dr.Point,exports.Points=dr.Points,exports.PointsBuffer=dr.PointsBuffer,exports.PositionPoint=dr.PositionPoint,exports.Instance=qr.Instance,exports.InstancedAttribute=qr.InstancedAttribute,exports.Instances=qr.Instances,exports.Merged=qr.Merged,exports.PositionMesh=qr.PositionMesh,exports.createInstances=qr.createInstances,exports.Segment=mr.Segment,exports.SegmentObject=mr.SegmentObject,exports.Segments=mr.Segments,exports.Detailed=Cr.Detailed,exports.Preload=hr.Preload,exports.BakeShadows=Sr.BakeShadows,exports.meshBounds=Mr.meshBounds,exports.AdaptiveDpr=Tr.AdaptiveDpr,exports.AdaptiveEvents=br.AdaptiveEvents,exports.PerformanceMonitor=Pr.PerformanceMonitor,exports.usePerformanceMonitor=Pr.usePerformanceMonitor,exports.RenderTexture=gr.RenderTexture,exports.RenderCubeTexture=fr.RenderCubeTexture,exports.Mask=vr.Mask,exports.useMask=vr.useMask,exports.Hud=Fr.Hud,exports.Fisheye=Br.Fisheye,exports.MeshPortalMaterial=Ar.MeshPortalMaterial,exports.calculateScaleFactor=Lr.calculateScaleFactor;
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"),a=require("./KeyboardControls.cjs.js"),c=require("./Select.cjs.js"),u=require("./View.cjs.js"),n=require("./pivotControls/index.cjs.js"),p=require("./ScreenVideoTexture.cjs.js"),j=require("./WebcamVideoTexture.cjs.js"),l=require("./FaceControls.cjs.js"),x=require("./DragControls.cjs.js"),d=require("./FaceLandmarker.cjs.js"),q=require("./Facemesh.cjs.js"),m=require("../core/Billboard.cjs.js"),C=require("../core/ScreenSpace.cjs.js"),h=require("../core/ScreenSizer.cjs.js"),S=require("../core/QuadraticBezierLine.cjs.js"),M=require("../core/CubicBezierLine.cjs.js"),T=require("../core/CatmullRomLine.cjs.js"),b=require("../core/Line.cjs.js"),P=require("../core/PositionalAudio.cjs.js"),g=require("../core/Text.cjs.js"),f=require("../core/Text3D.cjs.js"),v=require("../core/Effects.cjs.js"),F=require("../core/GradientTexture.cjs.js"),B=require("../core/Image.cjs.js"),A=require("../core/Edges.cjs.js"),L=require("../core/Outlines.cjs.js"),D=require("../core/Trail.cjs.js"),k=require("../core/Sampler.cjs.js"),E=require("../core/ComputedAttribute.cjs.js"),G=require("../core/Clone.cjs.js"),R=require("../core/MarchingCubes.cjs.js"),y=require("../core/Decal.cjs.js"),w=require("../core/Svg.cjs.js"),z=require("../core/Gltf.cjs.js"),I=require("../core/AsciiRenderer.cjs.js"),V=require("../core/Splat.cjs.js"),O=require("../core/OrthographicCamera.cjs.js"),H=require("../core/PerspectiveCamera.cjs.js"),K=require("../core/CubeCamera.cjs.js"),W=require("../core/DeviceOrientationControls.cjs.js"),Q=require("../core/FlyControls.cjs.js"),N=require("../core/MapControls.cjs.js"),U=require("../core/OrbitControls.cjs.js"),X=require("../core/TrackballControls.cjs.js"),_=require("../core/ArcballControls.cjs.js"),J=require("../core/TransformControls.cjs.js"),Y=require("../core/PointerLockControls.cjs.js"),Z=require("../core/FirstPersonControls.cjs.js"),$=require("../core/CameraControls.cjs.js"),ee=require("../core/MotionPathControls.cjs.js"),re=require("../core/GizmoHelper.cjs.js"),se=require("../core/GizmoViewcube.cjs.js"),oe=require("../core/GizmoViewport.cjs.js"),te=require("../core/Grid.cjs.js"),ie=require("../core/CubeTexture.cjs.js"),ae=require("../core/Fbx.cjs.js"),ce=require("../core/Ktx2.cjs.js"),ue=require("../core/Progress.cjs.js"),ne=require("../core/Texture.cjs.js"),pe=require("../core/VideoTexture.cjs.js"),je=require("../core/useFont.cjs.js"),le=require("../core/useSpriteLoader.cjs.js"),xe=require("../core/Helper.cjs.js"),de=require("../core/Stats.cjs.js"),qe=require("../core/StatsGl.cjs.js"),me=require("../core/useDepthBuffer.cjs.js"),Ce=require("../core/useAspect.cjs.js"),he=require("../core/useCamera.cjs.js"),Se=require("../core/DetectGPU.cjs.js"),Me=require("../core/Bvh.cjs.js"),Te=require("../core/useContextBridge.cjs.js"),be=require("../core/useAnimations.cjs.js"),Pe=require("../core/Fbo.cjs.js"),ge=require("../core/useIntersect.cjs.js"),fe=require("../core/useBoxProjectedEnv.cjs.js"),ve=require("../core/BBAnchor.cjs.js"),Fe=require("../core/TrailTexture.cjs.js"),Be=require("../core/Example.cjs.js"),Ae=require("../core/SpriteAnimator.cjs.js"),Le=require("../core/CurveModifier.cjs.js"),De=require("../core/MeshDistortMaterial.cjs.js"),ke=require("../core/MeshWobbleMaterial.cjs.js"),Ee=require("../core/MeshReflectorMaterial.cjs.js"),Ge=require("../core/MeshRefractionMaterial.cjs.js"),Re=require("../core/MeshTransmissionMaterial.cjs.js"),ye=require("../core/MeshDiscardMaterial.cjs.js"),we=require("../core/MultiMaterial.cjs.js"),ze=require("../core/PointMaterial.cjs.js"),Ie=require("../core/shaderMaterial.cjs.js"),Ve=require("../core/softShadows.cjs.js"),Oe=require("../core/shapes.cjs.js"),He=require("../core/RoundedBox.cjs.js"),Ke=require("../core/ScreenQuad.cjs.js"),We=require("../core/Center.cjs.js"),Qe=require("../core/Resize.cjs.js"),Ne=require("../core/Bounds.cjs.js"),Ue=require("../core/CameraShake.cjs.js"),Xe=require("../core/Float.cjs.js"),_e=require("../core/Stage.cjs.js"),Je=require("../core/Backdrop.cjs.js"),Ye=require("../core/Shadow.cjs.js"),Ze=require("../core/Caustics.cjs.js"),$e=require("../core/ContactShadows.cjs.js"),er=require("../core/AccumulativeShadows.cjs.js"),rr=require("../core/SpotLight.cjs.js"),sr=require("../core/Environment.cjs.js"),or=require("../core/Lightformer.cjs.js"),tr=require("../core/Sky.cjs.js"),ir=require("../core/Stars.cjs.js"),ar=require("../core/Cloud.cjs.js"),cr=require("../core/Sparkles.cjs.js"),ur=require("../core/useEnvironment.cjs.js"),nr=require("../core/MatcapTexture.cjs.js"),pr=require("../core/NormalTexture.cjs.js"),jr=require("../core/Wireframe.cjs.js"),lr=require("../core/ShadowAlpha.cjs.js"),xr=require("../core/Points.cjs.js"),dr=require("../core/Instances.cjs.js"),qr=require("../core/Segments.cjs.js"),mr=require("../core/Detailed.cjs.js"),Cr=require("../core/Preload.cjs.js"),hr=require("../core/BakeShadows.cjs.js"),Sr=require("../core/meshBounds.cjs.js"),Mr=require("../core/AdaptiveDpr.cjs.js"),Tr=require("../core/AdaptiveEvents.cjs.js"),br=require("../core/PerformanceMonitor.cjs.js"),Pr=require("../core/RenderTexture.cjs.js"),gr=require("../core/RenderCubeTexture.cjs.js"),fr=require("../core/Mask.cjs.js"),vr=require("../core/Hud.cjs.js"),Fr=require("../core/Fisheye.cjs.js"),Br=require("../core/MeshPortalMaterial.cjs.js"),Ar=require("../core/calculateScaleFactor.cjs.js");require("@babel/runtime/helpers/extends"),require("react"),require("react-dom/client"),require("three"),require("@react-three/fiber"),require("maath"),require("@use-gesture/react"),require("zustand"),require("zustand/middleware"),require("three-stdlib"),require("zustand/shallow"),require("tunnel-rat"),require("./pivotControls/AxisArrow.cjs.js"),require("./pivotControls/context.cjs.js"),require("./pivotControls/AxisRotator.cjs.js"),require("./pivotControls/PlaneSlider.cjs.js"),require("./pivotControls/ScalingSphere.cjs.js"),require("suspend-react"),require("hls.js"),require("troika-three-text"),require("../helpers/constants.cjs.js"),require("meshline"),require("camera-controls"),require("stats.js"),require("../helpers/useEffectfulState.cjs.js"),require("stats-gl"),require("detect-gpu"),require("three-mesh-bvh"),require("../helpers/deprecated.cjs.js"),require("../materials/BlurPass.cjs.js"),require("../materials/ConvolutionMaterial.cjs.js"),require("../materials/MeshReflectorMaterial.cjs.js"),require("../materials/MeshRefractionMaterial.cjs.js"),require("../materials/DiscardMaterial.cjs.js"),require("@monogrid/gainmap-js"),require("../helpers/environment-assets.cjs.js"),require("../materials/SpotLightMaterial.cjs.js"),require("../materials/WireframeMaterial.cjs.js"),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=a.KeyboardControls,exports.useKeyboardControls=a.useKeyboardControls,exports.Select=c.Select,exports.useSelect=c.useSelect,exports.View=u.View,exports.PivotControls=n.PivotControls,exports.ScreenVideoTexture=p.ScreenVideoTexture,exports.WebcamVideoTexture=j.WebcamVideoTexture,exports.FaceControls=l.FaceControls,exports.useFaceControls=l.useFaceControls,exports.DragControls=x.DragControls,exports.FaceLandmarker=d.FaceLandmarker,exports.FaceLandmarkerDefaults=d.FaceLandmarkerDefaults,exports.useFaceLandmarker=d.useFaceLandmarker,exports.Facemesh=q.Facemesh,exports.FacemeshDatas=q.FacemeshDatas,exports.FacemeshEye=q.FacemeshEye,exports.FacemeshEyeDefaults=q.FacemeshEyeDefaults,exports.Billboard=m.Billboard,exports.ScreenSpace=C.ScreenSpace,exports.ScreenSizer=h.ScreenSizer,exports.QuadraticBezierLine=S.QuadraticBezierLine,exports.CubicBezierLine=M.CubicBezierLine,exports.CatmullRomLine=T.CatmullRomLine,exports.Line=b.Line,exports.PositionalAudio=P.PositionalAudio,exports.Text=g.Text,exports.Text3D=f.Text3D,exports.Effects=v.Effects,exports.isWebGL2Available=v.isWebGL2Available,exports.GradientTexture=F.GradientTexture,exports.GradientType=F.GradientType,exports.Image=B.Image,exports.Edges=A.Edges,exports.Outlines=L.Outlines,exports.Trail=D.Trail,exports.useTrail=D.useTrail,exports.Sampler=k.Sampler,exports.useSurfaceSampler=k.useSurfaceSampler,exports.ComputedAttribute=E.ComputedAttribute,exports.Clone=G.Clone,exports.MarchingCube=R.MarchingCube,exports.MarchingCubes=R.MarchingCubes,exports.MarchingPlane=R.MarchingPlane,exports.Decal=y.Decal,exports.Svg=w.Svg,exports.Gltf=z.Gltf,exports.useGLTF=z.useGLTF,exports.AsciiRenderer=I.AsciiRenderer,exports.Splat=V.Splat,exports.OrthographicCamera=O.OrthographicCamera,exports.PerspectiveCamera=H.PerspectiveCamera,exports.CubeCamera=K.CubeCamera,exports.useCubeCamera=K.useCubeCamera,exports.DeviceOrientationControls=W.DeviceOrientationControls,exports.FlyControls=Q.FlyControls,exports.MapControls=N.MapControls,exports.OrbitControls=U.OrbitControls,exports.TrackballControls=X.TrackballControls,exports.ArcballControls=_.ArcballControls,exports.TransformControls=J.TransformControls,exports.PointerLockControls=Y.PointerLockControls,exports.FirstPersonControls=Z.FirstPersonControls,exports.CameraControls=$.CameraControls,exports.MotionPathControls=ee.MotionPathControls,exports.useMotion=ee.useMotion,exports.GizmoHelper=re.GizmoHelper,exports.useGizmoContext=re.useGizmoContext,exports.GizmoViewcube=se.GizmoViewcube,exports.GizmoViewport=oe.GizmoViewport,exports.Grid=te.Grid,exports.CubeTexture=ie.CubeTexture,exports.useCubeTexture=ie.useCubeTexture,exports.Fbx=ae.Fbx,exports.useFBX=ae.useFBX,exports.Ktx2=ce.Ktx2,exports.useKTX2=ce.useKTX2,exports.Progress=ue.Progress,exports.useProgress=ue.useProgress,exports.IsObject=ne.IsObject,exports.Texture=ne.Texture,exports.useTexture=ne.useTexture,exports.VideoTexture=pe.VideoTexture,exports.useVideoTexture=pe.useVideoTexture,exports.useFont=je.useFont,exports.checkIfFrameIsEmpty=le.checkIfFrameIsEmpty,exports.getFirstFrame=le.getFirstFrame,exports.useSpriteLoader=le.useSpriteLoader,exports.Helper=xe.Helper,exports.useHelper=xe.useHelper,exports.Stats=de.Stats,exports.StatsGl=qe.StatsGl,exports.useDepthBuffer=me.useDepthBuffer,exports.useAspect=Ce.useAspect,exports.useCamera=he.useCamera,exports.DetectGPU=Se.DetectGPU,exports.useDetectGPU=Se.useDetectGPU,exports.Bvh=Me.Bvh,exports.useBVH=Me.useBVH,exports.useContextBridge=Te.useContextBridge,exports.useAnimations=be.useAnimations,exports.Fbo=Pe.Fbo,exports.useFBO=Pe.useFBO,exports.useIntersect=ge.useIntersect,exports.useBoxProjectedEnv=fe.useBoxProjectedEnv,exports.BBAnchor=ve.BBAnchor,exports.TrailTexture=Fe.TrailTexture,exports.useTrailTexture=Fe.useTrailTexture,exports.Example=Be.Example,exports.SpriteAnimator=Ae.SpriteAnimator,exports.useSpriteAnimator=Ae.useSpriteAnimator,exports.CurveModifier=Le.CurveModifier,exports.MeshDistortMaterial=De.MeshDistortMaterial,exports.MeshWobbleMaterial=ke.MeshWobbleMaterial,exports.MeshReflectorMaterial=Ee.MeshReflectorMaterial,exports.MeshRefractionMaterial=Ge.MeshRefractionMaterial,exports.MeshTransmissionMaterial=Re.MeshTransmissionMaterial,exports.MeshDiscardMaterial=ye.MeshDiscardMaterial,exports.MultiMaterial=we.MultiMaterial,exports.PointMaterial=ze.PointMaterial,exports.PointMaterialImpl=ze.PointMaterialImpl,exports.shaderMaterial=Ie.shaderMaterial,exports.SoftShadows=Ve.SoftShadows,exports.Box=Oe.Box,exports.Capsule=Oe.Capsule,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.Plane=Oe.Plane,exports.Polyhedron=Oe.Polyhedron,exports.Ring=Oe.Ring,exports.Shape=Oe.Shape,exports.Sphere=Oe.Sphere,exports.Tetrahedron=Oe.Tetrahedron,exports.Torus=Oe.Torus,exports.TorusKnot=Oe.TorusKnot,exports.Tube=Oe.Tube,exports.RoundedBox=He.RoundedBox,exports.ScreenQuad=Ke.ScreenQuad,exports.Center=We.Center,exports.Resize=Qe.Resize,exports.Bounds=Ne.Bounds,exports.useBounds=Ne.useBounds,exports.CameraShake=Ue.CameraShake,exports.Float=Xe.Float,exports.Stage=_e.Stage,exports.Backdrop=Je.Backdrop,exports.Shadow=Ye.Shadow,exports.Caustics=Ze.Caustics,exports.ContactShadows=$e.ContactShadows,exports.AccumulativeShadows=er.AccumulativeShadows,exports.RandomizedLight=er.RandomizedLight,exports.accumulativeContext=er.accumulativeContext,exports.SpotLight=rr.SpotLight,exports.SpotLightShadow=rr.SpotLightShadow,exports.Environment=sr.Environment,exports.EnvironmentCube=sr.EnvironmentCube,exports.EnvironmentMap=sr.EnvironmentMap,exports.EnvironmentPortal=sr.EnvironmentPortal,exports.Lightformer=or.Lightformer,exports.Sky=tr.Sky,exports.calcPosFromAngles=tr.calcPosFromAngles,exports.Stars=ir.Stars,exports.Cloud=ar.Cloud,exports.CloudInstance=ar.CloudInstance,exports.Clouds=ar.Clouds,exports.Sparkles=cr.Sparkles,exports.useEnvironment=ur.useEnvironment,exports.MatcapTexture=nr.MatcapTexture,exports.useMatcapTexture=nr.useMatcapTexture,exports.NormalTexture=pr.NormalTexture,exports.useNormalTexture=pr.useNormalTexture,exports.Wireframe=jr.Wireframe,exports.ShadowAlpha=lr.ShadowAlpha,exports.Point=xr.Point,exports.Points=xr.Points,exports.PointsBuffer=xr.PointsBuffer,exports.PositionPoint=xr.PositionPoint,exports.Instance=dr.Instance,exports.InstancedAttribute=dr.InstancedAttribute,exports.Instances=dr.Instances,exports.Merged=dr.Merged,exports.PositionMesh=dr.PositionMesh,exports.createInstances=dr.createInstances,exports.Segment=qr.Segment,exports.SegmentObject=qr.SegmentObject,exports.Segments=qr.Segments,exports.Detailed=mr.Detailed,exports.Preload=Cr.Preload,exports.BakeShadows=hr.BakeShadows,exports.meshBounds=Sr.meshBounds,exports.AdaptiveDpr=Mr.AdaptiveDpr,exports.AdaptiveEvents=Tr.AdaptiveEvents,exports.PerformanceMonitor=br.PerformanceMonitor,exports.usePerformanceMonitor=br.usePerformanceMonitor,exports.RenderTexture=Pr.RenderTexture,exports.RenderCubeTexture=gr.RenderCubeTexture,exports.Mask=fr.Mask,exports.useMask=fr.useMask,exports.Hud=vr.Hud,exports.Fisheye=Fr.Fisheye,exports.MeshPortalMaterial=Br.MeshPortalMaterial,exports.calculateScaleFactor=Ar.calculateScaleFactor;
package/web/index.js CHANGED
@@ -107,7 +107,6 @@ export { Shadow } from '../core/Shadow.js';
107
107
  export { Caustics } from '../core/Caustics.js';
108
108
  export { ContactShadows } from '../core/ContactShadows.js';
109
109
  export { AccumulativeShadows, RandomizedLight, accumulativeContext } from '../core/AccumulativeShadows.js';
110
- export { Reflector } from '../core/Reflector.js';
111
110
  export { SpotLight, SpotLightShadow } from '../core/SpotLight.js';
112
111
  export { Environment, EnvironmentCube, EnvironmentMap, EnvironmentPortal } from '../core/Environment.js';
113
112
  export { Lightformer } from '../core/Lightformer.js';
@@ -142,10 +141,9 @@ import 'react';
142
141
  import 'react-dom/client';
143
142
  import 'three';
144
143
  import '@react-three/fiber';
145
- import 'zustand';
146
144
  import 'maath';
147
- import '@react-spring/three';
148
145
  import '@use-gesture/react';
146
+ import 'zustand';
149
147
  import 'zustand/middleware';
150
148
  import 'three-stdlib';
151
149
  import 'zustand/shallow';
@@ -166,7 +164,6 @@ import '../helpers/useEffectfulState.js';
166
164
  import 'stats-gl';
167
165
  import 'detect-gpu';
168
166
  import 'three-mesh-bvh';
169
- import 'react-composer';
170
167
  import '../helpers/deprecated.js';
171
168
  import '../materials/BlurPass.js';
172
169
  import '../materials/ConvolutionMaterial.js';
@@ -42,8 +42,6 @@ const AxisArrow = ({
42
42
  onDragEnd,
43
43
  userData
44
44
  } = React.useContext(context);
45
-
46
- // @ts-expect-error new in @react-three/fiber@7.0.5
47
45
  const camControls = useThree(state => state.controls);
48
46
  const divRef = React.useRef(null);
49
47
  const objRef = React.useRef(null);
@@ -62,8 +62,6 @@ const AxisRotator = ({
62
62
  onDragEnd,
63
63
  userData
64
64
  } = React.useContext(context);
65
-
66
- // @ts-expect-error new in @react-three/fiber@7.0.5
67
65
  const camControls = useThree(state => state.controls);
68
66
  const divRef = React.useRef(null);
69
67
  const objRef = React.useRef(null);
@@ -44,8 +44,6 @@ const PlaneSlider = ({
44
44
  onDragEnd,
45
45
  userData
46
46
  } = React.useContext(context);
47
-
48
- // @ts-expect-error new in @react-three/fiber@7.0.5
49
47
  const camControls = useThree(state => state.controls);
50
48
  const divRef = React.useRef(null);
51
49
  const objRef = React.useRef(null);
@@ -101,7 +99,7 @@ const PlaneSlider = ({
101
99
  ray.intersectPlane(plane, intersection);
102
100
  intersection.sub(clickPoint);
103
101
  let [offsetX, offsetY] = decomposeIntoBasis(e1, e2, intersection);
104
- /* let offsetY = (intersection.y - (intersection.x * e1.y) / e1.x) / (e2.y - (e2.x * e1.y) / e1.x)
102
+ /* let offsetY = (intersection.y - (intersection.x * e1.y) / e1.x) / (e2.y - (e2.x * e1.y) / e1.x)
105
103
  let offsetX = (intersection.x - offsetY * e2.x) / e1.x */
106
104
  if (minX !== undefined) {
107
105
  offsetX = Math.max(offsetX, minX - offsetX0.current);
@@ -43,7 +43,6 @@ const ScalingSphere = ({
43
43
  userData
44
44
  } = React.useContext(context);
45
45
  const size = useThree(state => state.size);
46
- // @ts-expect-error new in @react-three/fiber@7.0.5
47
46
  const camControls = useThree(state => state.controls);
48
47
  const divRef = React.useRef(null);
49
48
  const objRef = React.useRef(null);
@@ -2,7 +2,7 @@ import * as React from 'react';
2
2
  import * as THREE from 'three';
3
3
  import { ForwardRefComponent } from '../../helpers/ts-utils';
4
4
  import { OnDragStartProps } from './context';
5
- type PivotControlsProps = {
5
+ export type PivotControlsProps = {
6
6
  enabled?: boolean;
7
7
  scale?: number;
8
8
  lineWidth?: number;
@@ -36,4 +36,3 @@ type PivotControlsProps = {
36
36
  children?: React.ReactNode;
37
37
  };
38
38
  export declare const PivotControls: ForwardRefComponent<PivotControlsProps, THREE.Group>;
39
- export {};
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/extends"),t=require("react"),r=require("three"),a=require("@react-three/fiber"),n=require("../materials/BlurPass.cjs.js"),s=require("../materials/MeshReflectorMaterial.cjs.js");function o(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function i(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var a=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,a.get?a:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}require("../materials/ConvolutionMaterial.cjs.js"),require("../helpers/constants.cjs.js");var l=o(e),u=i(t);const c=u.forwardRef((({mixBlur:e=0,mixStrength:t=.5,resolution:o=256,blur:i=[0,0],args:c=[1,1],minDepthThreshold:d=.9,maxDepthThreshold:p=1,depthScale:m=0,depthToBlurRatioBias:h=.25,mirror:x=0,children:f,debug:M=0,distortion:b=1,mixContrast:w=1,distortionMap:y,...T},S)=>{a.extend({MeshReflectorMaterial:s.MeshReflectorMaterial}),u.useEffect((()=>{console.warn("Reflector has been deprecated and will be removed next major. Replace it with <MeshReflectorMaterial />!")}),[]);const g=a.useThree((({gl:e})=>e)),R=a.useThree((({camera:e})=>e)),j=a.useThree((({scene:e})=>e)),v=(i=Array.isArray(i)?i:[i,i])[0]+i[1]>0,B=u.useRef(null);u.useImperativeHandle(S,(()=>B.current),[]);const[D]=u.useState((()=>new r.Plane)),[P]=u.useState((()=>new r.Vector3)),[F]=u.useState((()=>new r.Vector3)),[V]=u.useState((()=>new r.Vector3)),[W]=u.useState((()=>new r.Matrix4)),[E]=u.useState((()=>new r.Vector3(0,0,-1))),[O]=u.useState((()=>new r.Vector4)),[q]=u.useState((()=>new r.Vector3)),[U]=u.useState((()=>new r.Vector3)),[C]=u.useState((()=>new r.Vector4)),[_]=u.useState((()=>new r.Matrix4)),[I]=u.useState((()=>new r.PerspectiveCamera)),L=u.useCallback((()=>{if(F.setFromMatrixPosition(B.current.matrixWorld),V.setFromMatrixPosition(R.matrixWorld),W.extractRotation(B.current.matrixWorld),P.set(0,0,1),P.applyMatrix4(W),q.subVectors(F,V),q.dot(P)>0)return;q.reflect(P).negate(),q.add(F),W.extractRotation(R.matrixWorld),E.set(0,0,-1),E.applyMatrix4(W),E.add(V),U.subVectors(F,E),U.reflect(P).negate(),U.add(F),I.position.copy(q),I.up.set(0,1,0),I.up.applyMatrix4(W),I.up.reflect(P),I.lookAt(U),I.far=R.far,I.updateMatrixWorld(),I.projectionMatrix.copy(R.projectionMatrix),_.set(.5,0,0,.5,0,.5,0,.5,0,0,.5,.5,0,0,0,1),_.multiply(I.projectionMatrix),_.multiply(I.matrixWorldInverse),_.multiply(B.current.matrixWorld),D.setFromNormalAndCoplanarPoint(P,F),D.applyMatrix4(I.matrixWorldInverse),O.set(D.normal.x,D.normal.y,D.normal.z,D.constant);const e=I.projectionMatrix;C.x=(Math.sign(O.x)+e.elements[8])/e.elements[0],C.y=(Math.sign(O.y)+e.elements[9])/e.elements[5],C.z=-1,C.w=(1+e.elements[10])/e.elements[14],O.multiplyScalar(2/O.dot(C)),e.elements[2]=O.x,e.elements[6]=O.y,e.elements[10]=O.z+1,e.elements[14]=O.w}),[]),[k,z,A,G]=u.useMemo((()=>{const a={type:r.HalfFloatType,minFilter:r.LinearFilter,magFilter:r.LinearFilter},s=new r.WebGLRenderTarget(o,o,a);s.depthBuffer=!0,s.depthTexture=new r.DepthTexture(o,o),s.depthTexture.format=r.DepthFormat,s.depthTexture.type=r.UnsignedShortType;const l=new r.WebGLRenderTarget(o,o,a);return[s,l,new n.BlurPass({gl:g,resolution:o,width:i[0],height:i[1],minDepthThreshold:d,maxDepthThreshold:p,depthScale:m,depthToBlurRatioBias:h}),{mirror:x,textureMatrix:_,mixBlur:e,tDiffuse:s.texture,tDepth:s.depthTexture,tDiffuseBlur:l.texture,hasBlur:v,mixStrength:t,minDepthThreshold:d,maxDepthThreshold:p,depthScale:m,depthToBlurRatioBias:h,transparent:!0,debug:M,distortion:b,distortionMap:y,mixContrast:w,"defines-USE_BLUR":v?"":void 0,"defines-USE_DEPTH":m>0?"":void 0,"defines-USE_DISTORTION":y?"":void 0}]}),[g,i,_,o,x,v,e,t,d,p,m,h,M,b,y,w]);return a.useFrame((()=>{if(null==B||!B.current)return;B.current.visible=!1;const e=g.xr.enabled,t=g.shadowMap.autoUpdate;L(),g.xr.enabled=!1,g.shadowMap.autoUpdate=!1,g.setRenderTarget(k),g.state.buffers.depth.setMask(!0),g.autoClear||g.clear(),g.render(j,I),v&&A.render(g,k,z),g.xr.enabled=e,g.shadowMap.autoUpdate=t,B.current.visible=!0,g.setRenderTarget(null)})),u.createElement("mesh",l.default({ref:B},T),u.createElement("planeGeometry",{args:c}),f?f("meshReflectorMaterial",G):u.createElement("meshReflectorMaterial",G))}));exports.Reflector=c;
@@ -1,30 +0,0 @@
1
- import * as React from 'react';
2
- import { Mesh, Texture } from 'three';
3
- import { MeshReflectorMaterialProps } from '../materials/MeshReflectorMaterial';
4
- import { ForwardRefComponent } from '../helpers/ts-utils';
5
- export type ReflectorProps = Omit<JSX.IntrinsicElements['mesh'], 'args' | 'children'> & Pick<JSX.IntrinsicElements['planeGeometry'], 'args'> & {
6
- resolution?: number;
7
- mixBlur?: number;
8
- mixStrength?: number;
9
- blur?: [number, number] | number;
10
- mirror: number;
11
- minDepthThreshold?: number;
12
- maxDepthThreshold?: number;
13
- depthScale?: number;
14
- depthToBlurRatioBias?: number;
15
- debug?: number;
16
- distortionMap?: Texture;
17
- distortion?: number;
18
- mixContrast?: number;
19
- children?: {
20
- (Component: React.ElementType<JSX.IntrinsicElements['meshReflectorMaterial']>, ComponentProps: MeshReflectorMaterialProps): JSX.Element | null;
21
- };
22
- };
23
- declare global {
24
- namespace JSX {
25
- interface IntrinsicElements {
26
- meshReflectorMaterial: MeshReflectorMaterialProps;
27
- }
28
- }
29
- }
30
- export declare const Reflector: ForwardRefComponent<ReflectorProps, Mesh>;
package/core/Reflector.js DELETED
@@ -1,180 +0,0 @@
1
- import _extends from '@babel/runtime/helpers/esm/extends';
2
- import * as React from 'react';
3
- import { Plane, Vector3, Matrix4, Vector4, PerspectiveCamera, WebGLRenderTarget, DepthTexture, DepthFormat, UnsignedShortType, HalfFloatType, LinearFilter } from 'three';
4
- import { extend, useThree, useFrame } from '@react-three/fiber';
5
- import { BlurPass } from '../materials/BlurPass.js';
6
- import { MeshReflectorMaterial } from '../materials/MeshReflectorMaterial.js';
7
-
8
- /**
9
- * @deprecated Use MeshReflectorMaterial instead
10
- */
11
- const Reflector = /* @__PURE__ */React.forwardRef(({
12
- mixBlur = 0,
13
- mixStrength = 0.5,
14
- resolution = 256,
15
- blur = [0, 0],
16
- args = [1, 1],
17
- minDepthThreshold = 0.9,
18
- maxDepthThreshold = 1,
19
- depthScale = 0,
20
- depthToBlurRatioBias = 0.25,
21
- mirror = 0,
22
- children,
23
- debug = 0,
24
- distortion = 1,
25
- mixContrast = 1,
26
- distortionMap,
27
- ...props
28
- }, ref) => {
29
- extend({
30
- MeshReflectorMaterial
31
- });
32
- React.useEffect(() => {
33
- console.warn('Reflector has been deprecated and will be removed next major. Replace it with <MeshReflectorMaterial />!');
34
- }, []);
35
- const gl = useThree(({
36
- gl
37
- }) => gl);
38
- const camera = useThree(({
39
- camera
40
- }) => camera);
41
- const scene = useThree(({
42
- scene
43
- }) => scene);
44
- blur = Array.isArray(blur) ? blur : [blur, blur];
45
- const hasBlur = blur[0] + blur[1] > 0;
46
- const meshRef = React.useRef(null);
47
- React.useImperativeHandle(ref, () => meshRef.current, []);
48
- const [reflectorPlane] = React.useState(() => new Plane());
49
- const [normal] = React.useState(() => new Vector3());
50
- const [reflectorWorldPosition] = React.useState(() => new Vector3());
51
- const [cameraWorldPosition] = React.useState(() => new Vector3());
52
- const [rotationMatrix] = React.useState(() => new Matrix4());
53
- const [lookAtPosition] = React.useState(() => new Vector3(0, 0, -1));
54
- const [clipPlane] = React.useState(() => new Vector4());
55
- const [view] = React.useState(() => new Vector3());
56
- const [target] = React.useState(() => new Vector3());
57
- const [q] = React.useState(() => new Vector4());
58
- const [textureMatrix] = React.useState(() => new Matrix4());
59
- const [virtualCamera] = React.useState(() => new PerspectiveCamera());
60
- const beforeRender = React.useCallback(() => {
61
- reflectorWorldPosition.setFromMatrixPosition(meshRef.current.matrixWorld);
62
- cameraWorldPosition.setFromMatrixPosition(camera.matrixWorld);
63
- rotationMatrix.extractRotation(meshRef.current.matrixWorld);
64
- normal.set(0, 0, 1);
65
- normal.applyMatrix4(rotationMatrix);
66
- view.subVectors(reflectorWorldPosition, cameraWorldPosition);
67
- // Avoid rendering when reflector is facing away
68
- if (view.dot(normal) > 0) return;
69
- view.reflect(normal).negate();
70
- view.add(reflectorWorldPosition);
71
- rotationMatrix.extractRotation(camera.matrixWorld);
72
- lookAtPosition.set(0, 0, -1);
73
- lookAtPosition.applyMatrix4(rotationMatrix);
74
- lookAtPosition.add(cameraWorldPosition);
75
- target.subVectors(reflectorWorldPosition, lookAtPosition);
76
- target.reflect(normal).negate();
77
- target.add(reflectorWorldPosition);
78
- virtualCamera.position.copy(view);
79
- virtualCamera.up.set(0, 1, 0);
80
- virtualCamera.up.applyMatrix4(rotationMatrix);
81
- virtualCamera.up.reflect(normal);
82
- virtualCamera.lookAt(target);
83
- virtualCamera.far = camera.far; // Used in WebGLBackground
84
- virtualCamera.updateMatrixWorld();
85
- virtualCamera.projectionMatrix.copy(camera.projectionMatrix);
86
- // Update the texture matrix
87
- textureMatrix.set(0.5, 0.0, 0.0, 0.5, 0.0, 0.5, 0.0, 0.5, 0.0, 0.0, 0.5, 0.5, 0.0, 0.0, 0.0, 1.0);
88
- textureMatrix.multiply(virtualCamera.projectionMatrix);
89
- textureMatrix.multiply(virtualCamera.matrixWorldInverse);
90
- textureMatrix.multiply(meshRef.current.matrixWorld);
91
- // Now update projection matrix with new clip plane, implementing code from: http://www.terathon.com/code/oblique.html
92
- // Paper explaining this technique: http://www.terathon.com/lengyel/Lengyel-Oblique.pdf
93
- reflectorPlane.setFromNormalAndCoplanarPoint(normal, reflectorWorldPosition);
94
- reflectorPlane.applyMatrix4(virtualCamera.matrixWorldInverse);
95
- clipPlane.set(reflectorPlane.normal.x, reflectorPlane.normal.y, reflectorPlane.normal.z, reflectorPlane.constant);
96
- const projectionMatrix = virtualCamera.projectionMatrix;
97
- q.x = (Math.sign(clipPlane.x) + projectionMatrix.elements[8]) / projectionMatrix.elements[0];
98
- q.y = (Math.sign(clipPlane.y) + projectionMatrix.elements[9]) / projectionMatrix.elements[5];
99
- q.z = -1.0;
100
- q.w = (1.0 + projectionMatrix.elements[10]) / projectionMatrix.elements[14];
101
- // Calculate the scaled plane vector
102
- clipPlane.multiplyScalar(2.0 / clipPlane.dot(q));
103
- // Replacing the third row of the projection matrix
104
- projectionMatrix.elements[2] = clipPlane.x;
105
- projectionMatrix.elements[6] = clipPlane.y;
106
- projectionMatrix.elements[10] = clipPlane.z + 1.0;
107
- projectionMatrix.elements[14] = clipPlane.w;
108
- }, []);
109
- const [fbo1, fbo2, blurpass, reflectorProps] = React.useMemo(() => {
110
- const parameters = {
111
- type: HalfFloatType,
112
- minFilter: LinearFilter,
113
- magFilter: LinearFilter
114
- };
115
- const fbo1 = new WebGLRenderTarget(resolution, resolution, parameters);
116
- fbo1.depthBuffer = true;
117
- fbo1.depthTexture = new DepthTexture(resolution, resolution);
118
- fbo1.depthTexture.format = DepthFormat;
119
- fbo1.depthTexture.type = UnsignedShortType;
120
- const fbo2 = new WebGLRenderTarget(resolution, resolution, parameters);
121
- const blurpass = new BlurPass({
122
- gl,
123
- resolution,
124
- width: blur[0],
125
- height: blur[1],
126
- minDepthThreshold,
127
- maxDepthThreshold,
128
- depthScale,
129
- depthToBlurRatioBias
130
- });
131
- const reflectorProps = {
132
- mirror,
133
- textureMatrix,
134
- mixBlur,
135
- tDiffuse: fbo1.texture,
136
- tDepth: fbo1.depthTexture,
137
- tDiffuseBlur: fbo2.texture,
138
- hasBlur,
139
- mixStrength,
140
- minDepthThreshold,
141
- maxDepthThreshold,
142
- depthScale,
143
- depthToBlurRatioBias,
144
- transparent: true,
145
- debug,
146
- distortion,
147
- distortionMap,
148
- mixContrast,
149
- 'defines-USE_BLUR': hasBlur ? '' : undefined,
150
- 'defines-USE_DEPTH': depthScale > 0 ? '' : undefined,
151
- 'defines-USE_DISTORTION': distortionMap ? '' : undefined
152
- };
153
- return [fbo1, fbo2, blurpass, reflectorProps];
154
- }, [gl, blur, textureMatrix, resolution, mirror, hasBlur, mixBlur, mixStrength, minDepthThreshold, maxDepthThreshold, depthScale, depthToBlurRatioBias, debug, distortion, distortionMap, mixContrast]);
155
- useFrame(() => {
156
- if (!(meshRef != null && meshRef.current)) return;
157
- meshRef.current.visible = false;
158
- const currentXrEnabled = gl.xr.enabled;
159
- const currentShadowAutoUpdate = gl.shadowMap.autoUpdate;
160
- beforeRender();
161
- gl.xr.enabled = false;
162
- gl.shadowMap.autoUpdate = false;
163
- gl.setRenderTarget(fbo1);
164
- gl.state.buffers.depth.setMask(true);
165
- if (!gl.autoClear) gl.clear();
166
- gl.render(scene, virtualCamera);
167
- if (hasBlur) blurpass.render(gl, fbo1, fbo2);
168
- gl.xr.enabled = currentXrEnabled;
169
- gl.shadowMap.autoUpdate = currentShadowAutoUpdate;
170
- meshRef.current.visible = true;
171
- gl.setRenderTarget(null);
172
- });
173
- return /*#__PURE__*/React.createElement("mesh", _extends({
174
- ref: meshRef
175
- }, props), /*#__PURE__*/React.createElement("planeGeometry", {
176
- args: args
177
- }), children ? children('meshReflectorMaterial', reflectorProps) : /*#__PURE__*/React.createElement("meshReflectorMaterial", reflectorProps));
178
- });
179
-
180
- export { Reflector };