@react-three/drei 9.83.9 → 9.84.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 (255) hide show
  1. package/README.md +116 -5
  2. package/core/AccumulativeShadows.d.ts +3 -3
  3. package/core/AccumulativeShadows.js +30 -36
  4. package/core/AdaptiveDpr.js +4 -4
  5. package/core/ArcballControls.d.ts +1 -1
  6. package/core/ArcballControls.js +0 -1
  7. package/core/AsciiRenderer.d.ts +3 -3
  8. package/core/AsciiRenderer.js +12 -6
  9. package/core/BBAnchor.cjs.js +1 -1
  10. package/core/BBAnchor.d.ts +2 -2
  11. package/core/BBAnchor.js +5 -5
  12. package/core/Backdrop.d.ts +2 -2
  13. package/core/Backdrop.js +0 -3
  14. package/core/Billboard.d.ts +1 -1
  15. package/core/Billboard.js +6 -3
  16. package/core/Bounds.d.ts +5 -5
  17. package/core/Bounds.js +5 -32
  18. package/core/CameraControls.d.ts +2 -2
  19. package/core/CameraControls.js +0 -3
  20. package/core/CameraShake.js +0 -4
  21. package/core/CatmullRomLine.d.ts +1 -1
  22. package/core/CatmullRomLine.js +0 -2
  23. package/core/Caustics.d.ts +1 -1
  24. package/core/Caustics.js +31 -32
  25. package/core/Center.d.ts +2 -2
  26. package/core/Center.js +2 -1
  27. package/core/Clone.d.ts +1 -1
  28. package/core/Clone.js +10 -13
  29. package/core/Cloud.cjs.js +1 -1
  30. package/core/Cloud.d.ts +2 -2
  31. package/core/Cloud.js +1 -2
  32. package/core/ComputedAttribute.d.ts +2 -2
  33. package/core/ComputedAttribute.js +0 -1
  34. package/core/ContactShadows.d.ts +1 -1
  35. package/core/ContactShadows.js +6 -7
  36. package/core/CubeCamera.cjs.js +1 -1
  37. package/core/CubeCamera.d.ts +2 -2
  38. package/core/CubeCamera.js +1 -1
  39. package/core/CubicBezierLine.d.ts +1 -1
  40. package/core/CurveModifier.d.ts +1 -1
  41. package/core/CurveModifier.js +2 -4
  42. package/core/Decal.d.ts +1 -1
  43. package/core/Decal.js +8 -15
  44. package/core/Detailed.d.ts +1 -1
  45. package/core/Detailed.js +0 -1
  46. package/core/DeviceOrientationControls.d.ts +1 -1
  47. package/core/DeviceOrientationControls.js +3 -4
  48. package/core/Edges.d.ts +1 -1
  49. package/core/Edges.js +0 -2
  50. package/core/Effects.d.ts +1 -1
  51. package/core/Effects.js +5 -7
  52. package/core/Environment.d.ts +3 -3
  53. package/core/Environment.js +6 -12
  54. package/core/Example.d.ts +3 -3
  55. package/core/Example.js +2 -1
  56. package/core/FaceControls.cjs.js +1 -1
  57. package/core/FaceControls.d.ts +5 -5
  58. package/core/FaceControls.js +42 -39
  59. package/core/FaceLandmarker.d.ts +3 -2
  60. package/core/FaceLandmarker.js +1 -1
  61. package/core/Facemesh.d.ts +6 -6
  62. package/core/Facemesh.js +47 -53
  63. package/core/FirstPersonControls.d.ts +1 -1
  64. package/core/Float.d.ts +1 -1
  65. package/core/Float.js +0 -1
  66. package/core/FlyControls.d.ts +1 -1
  67. package/core/FlyControls.js +1 -2
  68. package/core/GizmoHelper.cjs.js +1 -1
  69. package/core/GizmoHelper.d.ts +2 -2
  70. package/core/GizmoHelper.js +18 -19
  71. package/core/GizmoViewcube.d.ts +3 -3
  72. package/core/GizmoViewcube.js +0 -14
  73. package/core/GizmoViewport.d.ts +3 -3
  74. package/core/GizmoViewport.js +0 -7
  75. package/core/Gltf.d.ts +1 -1
  76. package/core/GradientTexture.d.ts +3 -3
  77. package/core/GradientTexture.js +2 -5
  78. package/core/Grid.d.ts +2 -2
  79. package/core/Grid.js +2 -6
  80. package/core/Hud.d.ts +2 -2
  81. package/core/Hud.js +6 -9
  82. package/core/Image.d.ts +2 -2
  83. package/core/Image.js +4 -6
  84. package/core/Instances.d.ts +6 -6
  85. package/core/Instances.js +20 -35
  86. package/core/Lightformer.d.ts +1 -1
  87. package/core/Lightformer.js +4 -2
  88. package/core/Line.d.ts +1 -1
  89. package/core/Line.js +0 -3
  90. package/core/MapControls.d.ts +1 -1
  91. package/core/MapControls.js +0 -2
  92. package/core/MarchingCubes.d.ts +3 -3
  93. package/core/Mask.d.ts +1 -1
  94. package/core/MeshDistortMaterial.d.ts +2 -2
  95. package/core/MeshDistortMaterial.js +0 -9
  96. package/core/MeshPortalMaterial.d.ts +4 -4
  97. package/core/MeshPortalMaterial.js +22 -61
  98. package/core/MeshReflectorMaterial.d.ts +1 -1
  99. package/core/MeshReflectorMaterial.js +12 -14
  100. package/core/MeshRefractionMaterial.cjs.js +1 -1
  101. package/core/MeshRefractionMaterial.d.ts +3 -3
  102. package/core/MeshRefractionMaterial.js +9 -14
  103. package/core/MeshTransmissionMaterial.d.ts +2 -2
  104. package/core/MeshTransmissionMaterial.js +32 -33
  105. package/core/MeshWobbleMaterial.d.ts +2 -2
  106. package/core/MeshWobbleMaterial.js +0 -7
  107. package/core/MotionPathControls.cjs.js +1 -0
  108. package/core/MotionPathControls.d.ts +15 -0
  109. package/core/MotionPathControls.js +113 -0
  110. package/core/OrbitControls.d.ts +2 -2
  111. package/core/OrbitControls.js +0 -4
  112. package/core/OrthographicCamera.d.ts +1 -1
  113. package/core/OrthographicCamera.js +2 -3
  114. package/core/Outlines.cjs.js +1 -1
  115. package/core/Outlines.d.ts +3 -3
  116. package/core/Outlines.js +2 -7
  117. package/core/PerformanceMonitor.d.ts +4 -4
  118. package/core/PerformanceMonitor.js +8 -12
  119. package/core/PerspectiveCamera.d.ts +1 -1
  120. package/core/PerspectiveCamera.js +2 -3
  121. package/core/PointMaterial.d.ts +1 -1
  122. package/core/PointMaterial.js +0 -2
  123. package/core/PointerLockControls.d.ts +1 -1
  124. package/core/PointerLockControls.js +4 -6
  125. package/core/Points.d.ts +2 -2
  126. package/core/Points.js +6 -23
  127. package/core/PositionalAudio.d.ts +1 -1
  128. package/core/PositionalAudio.js +0 -5
  129. package/core/Preload.d.ts +1 -1
  130. package/core/Preload.js +8 -9
  131. package/core/QuadraticBezierLine.d.ts +2 -2
  132. package/core/QuadraticBezierLine.js +0 -2
  133. package/core/Reflector.d.ts +1 -1
  134. package/core/Reflector.js +11 -12
  135. package/core/RenderTexture.d.ts +1 -1
  136. package/core/RenderTexture.js +9 -11
  137. package/core/Resize.d.ts +2 -2
  138. package/core/RoundedBox.cjs.js +1 -1
  139. package/core/RoundedBox.d.ts +1 -1
  140. package/core/RoundedBox.js +1 -3
  141. package/core/Sampler.d.ts +5 -5
  142. package/core/Sampler.js +0 -10
  143. package/core/ScreenQuad.d.ts +1 -1
  144. package/core/ScreenQuad.js +0 -1
  145. package/core/ScreenSpace.d.ts +1 -1
  146. package/core/Segments.d.ts +2 -2
  147. package/core/Segments.js +0 -6
  148. package/core/Shadow.d.ts +1 -1
  149. package/core/Sky.d.ts +1 -1
  150. package/core/Sparkles.js +0 -10
  151. package/core/SpotLight.d.ts +2 -2
  152. package/core/SpotLight.js +3 -10
  153. package/core/SpriteAnimator.d.ts +1 -1
  154. package/core/SpriteAnimator.js +16 -34
  155. package/core/Stage.d.ts +4 -4
  156. package/core/Stage.js +2 -4
  157. package/core/Stars.d.ts +1 -1
  158. package/core/Stars.js +2 -11
  159. package/core/Stats.d.ts +1 -1
  160. package/core/Stats.js +2 -2
  161. package/core/StatsGl.d.ts +1 -1
  162. package/core/StatsGl.js +4 -3
  163. package/core/Svg.js +0 -2
  164. package/core/Text.d.ts +1 -1
  165. package/core/Text3D.d.ts +1 -1
  166. package/core/Text3D.js +1 -3
  167. package/core/TrackballControls.d.ts +1 -1
  168. package/core/TrackballControls.js +0 -1
  169. package/core/Trail.d.ts +3 -3
  170. package/core/Trail.js +6 -17
  171. package/core/TransformControls.d.ts +1 -1
  172. package/core/TransformControls.js +3 -9
  173. package/core/Wireframe.d.ts +1 -1
  174. package/core/Wireframe.js +0 -28
  175. package/core/index.cjs.js +1 -1
  176. package/core/index.d.ts +1 -0
  177. package/core/index.js +1 -0
  178. package/core/meshBounds.js +4 -14
  179. package/core/shaderMaterial.js +10 -9
  180. package/core/shapes.d.ts +2 -2
  181. package/core/shapes.js +3 -6
  182. package/core/softShadows.d.ts +1 -1
  183. package/core/softShadows.js +1 -4
  184. package/core/useAnimations.d.ts +1 -1
  185. package/core/useAnimations.js +2 -4
  186. package/core/useBVH.d.ts +1 -1
  187. package/core/useBVH.js +3 -4
  188. package/core/useBoxProjectedEnv.js +15 -22
  189. package/core/useCamera.js +0 -1
  190. package/core/useContextBridge.js +1 -2
  191. package/core/useCubeCamera.d.ts +1 -1
  192. package/core/useCubeTexture.d.ts +1 -1
  193. package/core/useCubeTexture.js +4 -3
  194. package/core/useEnvironment.cjs.js +1 -1
  195. package/core/useEnvironment.d.ts +2 -2
  196. package/core/useEnvironment.js +9 -11
  197. package/core/useFBO.d.ts +1 -1
  198. package/core/useFBO.js +3 -12
  199. package/core/useFBX.js +0 -2
  200. package/core/useFont.d.ts +2 -2
  201. package/core/useFont.js +0 -4
  202. package/core/useGLTF.d.ts +2 -2
  203. package/core/useGLTF.js +0 -8
  204. package/core/useHelper.d.ts +3 -3
  205. package/core/useHelper.js +2 -5
  206. package/core/useIntersect.js +5 -8
  207. package/core/useKTX2.js +3 -5
  208. package/core/useMatcapTexture.js +0 -6
  209. package/core/useNormalTexture.d.ts +1 -1
  210. package/core/useProgress.d.ts +1 -1
  211. package/core/useProgress.js +0 -5
  212. package/core/useTexture.js +4 -6
  213. package/core/useTrailTexture.d.ts +1 -1
  214. package/core/useTrailTexture.js +10 -21
  215. package/helpers/environment-assets.d.ts +1 -1
  216. package/helpers/ts-utils.d.ts +2 -2
  217. package/helpers/useEffectfulState.d.ts +1 -1
  218. package/helpers/useEffectfulState.js +0 -1
  219. package/index.cjs.js +1 -1
  220. package/index.js +1 -0
  221. package/materials/BlurPass.js +2 -5
  222. package/materials/ConvolutionMaterial.js +0 -3
  223. package/materials/MeshReflectorMaterial.d.ts +1 -1
  224. package/materials/MeshReflectorMaterial.js +0 -34
  225. package/materials/MeshRefractionMaterial.js +2 -6
  226. package/materials/SpotLightMaterial.js +2 -7
  227. package/materials/WireframeMaterial.js +7 -25
  228. package/native/index.cjs.js +1 -1
  229. package/native/index.js +1 -0
  230. package/package.json +2 -2
  231. package/react-three-drei-0.0.0-semantic-release.tgz +0 -0
  232. package/web/CycleRaycast.d.ts +1 -1
  233. package/web/CycleRaycast.js +20 -24
  234. package/web/Html.d.ts +2 -2
  235. package/web/Html.js +6 -50
  236. package/web/KeyboardControls.d.ts +10 -10
  237. package/web/KeyboardControls.js +9 -6
  238. package/web/Loader.d.ts +2 -2
  239. package/web/Loader.js +8 -5
  240. package/web/PresentationControls.d.ts +2 -2
  241. package/web/PresentationControls.js +2 -1
  242. package/web/ScrollControls.d.ts +4 -4
  243. package/web/ScrollControls.js +5 -16
  244. package/web/Select.d.ts +3 -3
  245. package/web/Select.js +6 -17
  246. package/web/View.d.ts +5 -5
  247. package/web/View.js +7 -20
  248. package/web/index.cjs.js +1 -1
  249. package/web/index.js +1 -0
  250. package/web/pivotControls/AxisArrow.js +6 -15
  251. package/web/pivotControls/AxisRotator.js +8 -23
  252. package/web/pivotControls/PlaneSlider.js +6 -16
  253. package/web/pivotControls/context.d.ts +2 -2
  254. package/web/pivotControls/index.d.ts +1 -1
  255. package/web/pivotControls/index.js +2 -9
package/web/Select.js CHANGED
@@ -35,7 +35,7 @@ function Select({
35
35
  if (object === undefined) return [];else if (Array.isArray(object)) return object;else if (!shift) return state[0] === object ? [] : [object];else if (state.includes(object)) return state.filter(o => o !== object);else return [object, ...state];
36
36
  }, []);
37
37
  React.useEffect(() => {
38
- if (downed) onChange == null ? void 0 : onChange(active);else onChangePointerUp == null ? void 0 : onChangePointerUp(active);
38
+ if (downed) onChange == null || onChange(active);else onChangePointerUp == null || onChangePointerUp(active);
39
39
  }, [active, downed]);
40
40
  const onClick = React.useCallback(e => {
41
41
  e.stopPropagation();
@@ -60,7 +60,6 @@ function Select({
60
60
  const oldRaycasterEnabled = get().events.enabled;
61
61
  const oldControlsEnabled = controls == null ? void 0 : controls.enabled;
62
62
  let isDown = false;
63
-
64
63
  function prepareRay(event, vec) {
65
64
  const {
66
65
  offsetX,
@@ -72,16 +71,14 @@ function Select({
72
71
  } = size;
73
72
  vec.set(offsetX / width * 2 - 1, -(offsetY / height) * 2 + 1);
74
73
  }
75
-
76
74
  function onSelectStart(event) {
77
75
  var _gl$domElement$parent;
78
-
79
76
  if (controls) controls.enabled = false;
80
77
  setEvents({
81
78
  enabled: false
82
79
  });
83
80
  down(isDown = true);
84
- (_gl$domElement$parent = gl.domElement.parentElement) == null ? void 0 : _gl$domElement$parent.appendChild(element);
81
+ (_gl$domElement$parent = gl.domElement.parentElement) == null || _gl$domElement$parent.appendChild(element);
85
82
  element.style.left = `${event.clientX}px`;
86
83
  element.style.top = `${event.clientY}px`;
87
84
  element.style.width = '0px';
@@ -89,7 +86,6 @@ function Select({
89
86
  startPoint.x = event.clientX;
90
87
  startPoint.y = event.clientY;
91
88
  }
92
-
93
89
  function onSelectMove(event) {
94
90
  pointBottomRight.x = Math.max(startPoint.x, event.clientX);
95
91
  pointBottomRight.y = Math.max(startPoint.y, event.clientY);
@@ -100,35 +96,29 @@ function Select({
100
96
  element.style.width = `${pointBottomRight.x - pointTopLeft.x}px`;
101
97
  element.style.height = `${pointBottomRight.y - pointTopLeft.y}px`;
102
98
  }
103
-
104
99
  function onSelectOver() {
105
100
  if (isDown) {
106
101
  var _element$parentElemen;
107
-
108
102
  if (controls) controls.enabled = oldControlsEnabled;
109
103
  setEvents({
110
104
  enabled: oldRaycasterEnabled
111
105
  });
112
106
  down(isDown = false);
113
- (_element$parentElemen = element.parentElement) == null ? void 0 : _element$parentElemen.removeChild(element);
107
+ (_element$parentElemen = element.parentElement) == null || _element$parentElemen.removeChild(element);
114
108
  }
115
109
  }
116
-
117
110
  function pointerDown(event) {
118
111
  if (event.shiftKey) {
119
112
  onSelectStart(event);
120
113
  prepareRay(event, selBox.startPoint);
121
114
  }
122
115
  }
123
-
124
116
  let previous = [];
125
-
126
117
  function pointerMove(event) {
127
118
  if (isDown) {
128
119
  onSelectMove(event);
129
120
  prepareRay(event, selBox.endPoint);
130
121
  const allSelected = selBox.select().sort(o => o.uuid).filter(o => o.isMesh);
131
-
132
122
  if (!shallow(allSelected, previous)) {
133
123
  previous = allSelected;
134
124
  dispatch({
@@ -137,11 +127,9 @@ function Select({
137
127
  }
138
128
  }
139
129
  }
140
-
141
130
  function pointerUp(event) {
142
131
  if (isDown) onSelectOver();
143
132
  }
144
-
145
133
  document.addEventListener('pointerdown', pointerDown, {
146
134
  passive: true
147
135
  });
@@ -167,10 +155,11 @@ function Select({
167
155
  }, props), /*#__PURE__*/React.createElement(context.Provider, {
168
156
  value: active
169
157
  }, children));
170
- } // The return type is explicitly declared here because otherwise TypeScript will emit `THREE.Object3D<THREE.Event>[]`.
158
+ }
159
+
160
+ // The return type is explicitly declared here because otherwise TypeScript will emit `THREE.Object3D<THREE.Event>[]`.
171
161
  // The meaning of the generic parameter for `Object3D` was changed in r156, so it should not be included so that it
172
162
  // works with all versions of @types/three.
173
-
174
163
  function useSelect() {
175
164
  return React.useContext(context);
176
165
  }
package/web/View.d.ts CHANGED
@@ -1,14 +1,14 @@
1
1
  import * as React from 'react';
2
2
  import * as THREE from 'three';
3
- declare type LegacyCanvasSize = {
3
+ type LegacyCanvasSize = {
4
4
  height: number;
5
5
  width: number;
6
6
  };
7
- declare type CanvasSize = LegacyCanvasSize & {
7
+ type CanvasSize = LegacyCanvasSize & {
8
8
  top: number;
9
9
  left: number;
10
10
  };
11
- export declare type ContainerProps = {
11
+ export type ContainerProps = {
12
12
  scene: THREE.Scene;
13
13
  index: number;
14
14
  children?: React.ReactNode;
@@ -17,11 +17,11 @@ export declare type ContainerProps = {
17
17
  track: React.MutableRefObject<HTMLElement>;
18
18
  canvasSize: LegacyCanvasSize | CanvasSize;
19
19
  };
20
- export declare type ViewProps = {
20
+ export type ViewProps = {
21
21
  track: React.MutableRefObject<HTMLElement>;
22
22
  index?: number;
23
23
  frames?: number;
24
24
  children?: React.ReactNode;
25
25
  };
26
- export declare const View: ({ track, index, frames, children }: ViewProps) => JSX.Element;
26
+ export declare const View: ({ track, index, frames, children }: ViewProps) => React.JSX.Element;
27
27
  export {};
package/web/View.js CHANGED
@@ -3,8 +3,8 @@ import * as THREE from 'three';
3
3
  import { useThree, createPortal, useFrame } from '@react-three/fiber';
4
4
 
5
5
  const isOrthographicCamera = def => def && def.isOrthographicCamera;
6
-
7
6
  const col = new THREE.Color();
7
+
8
8
  /**
9
9
  * In `@react-three/fiber` after `v8.0.0` but prior to `v8.1.0`, `state.size` contained only dimension
10
10
  * information. After `v8.1.0`, position information (`top`, `left`) was added
@@ -15,7 +15,6 @@ const col = new THREE.Color();
15
15
  function isNonLegacyCanvasSize(size) {
16
16
  return 'top' in size;
17
17
  }
18
-
19
18
  function computeContainerPosition(canvasSize, trackRect) {
20
19
  const {
21
20
  right,
@@ -26,7 +25,6 @@ function computeContainerPosition(canvasSize, trackRect) {
26
25
  height
27
26
  } = trackRect;
28
27
  const isOffscreen = trackRect.bottom < 0 || top > canvasSize.height || right < 0 || trackRect.left > canvasSize.width;
29
-
30
28
  if (isNonLegacyCanvasSize(canvasSize)) {
31
29
  const canvasBottom = canvasSize.top + canvasSize.height;
32
30
  const bottom = canvasBottom - trackBottom;
@@ -42,9 +40,9 @@ function computeContainerPosition(canvasSize, trackRect) {
42
40
  },
43
41
  isOffscreen
44
42
  };
45
- } // Fall back on old behavior if r3f < 8.1.0
46
-
43
+ }
47
44
 
45
+ // Fall back on old behavior if r3f < 8.1.0
48
46
  const bottom = canvasSize.height - trackBottom;
49
47
  return {
50
48
  position: {
@@ -58,7 +56,6 @@ function computeContainerPosition(canvasSize, trackRect) {
58
56
  isOffscreen
59
57
  };
60
58
  }
61
-
62
59
  function Container({
63
60
  canvasSize,
64
61
  scene,
@@ -76,11 +73,9 @@ function Container({
76
73
  useFrame(state => {
77
74
  if (frames === Infinity || frameCount <= frames) {
78
75
  var _track$current;
79
-
80
76
  rect.current = (_track$current = track.current) == null ? void 0 : _track$current.getBoundingClientRect();
81
77
  frameCount++;
82
78
  }
83
-
84
79
  if (rect.current) {
85
80
  const {
86
81
  position: {
@@ -92,7 +87,6 @@ function Container({
92
87
  isOffscreen
93
88
  } = computeContainerPosition(canvasSize, rect.current);
94
89
  const aspect = width / height;
95
-
96
90
  if (isOrthographicCamera(camera)) {
97
91
  if (camera.left !== width / -2 || camera.right !== width / 2 || camera.top !== height / 2 || camera.bottom !== height / -2) {
98
92
  Object.assign(camera, {
@@ -107,11 +101,9 @@ function Container({
107
101
  camera.aspect = aspect;
108
102
  camera.updateProjectionMatrix();
109
103
  }
110
-
111
104
  state.gl.setViewport(left, bottom, width, height);
112
105
  state.gl.setScissor(left, bottom, width, height);
113
106
  state.gl.setScissorTest(true);
114
-
115
107
  if (isOffscreen) {
116
108
  state.gl.getClearColor(col);
117
109
  state.gl.setClearColor(col, state.gl.getClearAlpha());
@@ -119,9 +111,8 @@ function Container({
119
111
  } else {
120
112
  // When children are present render the portalled scene, otherwise the default scene
121
113
  state.gl.render(children ? virtualScene : scene, camera);
122
- } // Restore the default state
123
-
124
-
114
+ }
115
+ // Restore the default state
125
116
  state.gl.setScissorTest(true);
126
117
  }
127
118
  }, index);
@@ -139,12 +130,10 @@ function Container({
139
130
  if (isNonLegacyCanvasSize(canvasSize)) {
140
131
  return;
141
132
  }
142
-
143
133
  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');
144
134
  }, []);
145
135
  return /*#__PURE__*/React.createElement(React.Fragment, null, children);
146
136
  }
147
-
148
137
  const View = ({
149
138
  track,
150
139
  index = 1,
@@ -152,7 +141,6 @@ const View = ({
152
141
  children
153
142
  }) => {
154
143
  var _rect$current, _rect$current2;
155
-
156
144
  const rect = React.useRef(null);
157
145
  const {
158
146
  size,
@@ -176,10 +164,9 @@ const View = ({
176
164
  const [ready, toggle] = React.useReducer(() => true, false);
177
165
  React.useEffect(() => {
178
166
  var _track$current2;
179
-
180
167
  // We need the tracking elements bounds beforehand in order to inject it into the portal
181
- rect.current = (_track$current2 = track.current) == null ? void 0 : _track$current2.getBoundingClientRect(); // And now we can proceed
182
-
168
+ rect.current = (_track$current2 = track.current) == null ? void 0 : _track$current2.getBoundingClientRect();
169
+ // And now we can proceed
183
170
  toggle();
184
171
  }, [track]);
185
172
  return /*#__PURE__*/React.createElement(React.Fragment, null, ready && createPortal( /*#__PURE__*/React.createElement(Container, {
package/web/index.cjs.js CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./Html.cjs.js"),r=require("./CycleRaycast.cjs.js"),s=require("./useCursor.cjs.js"),o=require("./Loader.cjs.js"),t=require("./ScrollControls.cjs.js"),i=require("./PresentationControls.cjs.js"),c=require("./KeyboardControls.cjs.js"),a=require("./Select.cjs.js"),u=require("./View.cjs.js"),n=require("./pivotControls/index.cjs.js"),j=require("../core/Billboard.cjs.js"),p=require("../core/ScreenSpace.cjs.js"),l=require("../core/QuadraticBezierLine.cjs.js"),x=require("../core/CubicBezierLine.cjs.js"),q=require("../core/CatmullRomLine.cjs.js"),d=require("../core/Line.cjs.js"),m=require("../core/PositionalAudio.cjs.js"),C=require("../core/Text.cjs.js"),h=require("../core/Text3D.cjs.js"),S=require("../core/Effects.cjs.js"),M=require("../core/GradientTexture.cjs.js"),P=require("../core/Image.cjs.js"),b=require("../core/Edges.cjs.js"),f=require("../core/Outlines.cjs.js"),T=require("../core/Trail.cjs.js"),v=require("../core/Sampler.cjs.js"),g=require("../core/ComputedAttribute.cjs.js"),B=require("../core/Clone.cjs.js"),F=require("../core/MarchingCubes.cjs.js"),L=require("../core/Decal.cjs.js"),A=require("../core/Svg.cjs.js"),k=require("../core/Gltf.cjs.js"),D=require("../core/AsciiRenderer.cjs.js"),E=require("../core/OrthographicCamera.cjs.js"),R=require("../core/PerspectiveCamera.cjs.js"),G=require("../core/CubeCamera.cjs.js"),w=require("../core/DeviceOrientationControls.cjs.js"),y=require("../core/FlyControls.cjs.js"),z=require("../core/MapControls.cjs.js"),O=require("../core/OrbitControls.cjs.js"),I=require("../core/TrackballControls.cjs.js"),H=require("../core/ArcballControls.cjs.js"),V=require("../core/TransformControls.cjs.js"),K=require("../core/PointerLockControls.cjs.js"),W=require("../core/FirstPersonControls.cjs.js"),Q=require("../core/CameraControls.cjs.js"),X=require("../core/FaceControls.cjs.js"),N=require("../core/GizmoHelper.cjs.js"),U=require("../core/GizmoViewcube.cjs.js"),_=require("../core/GizmoViewport.cjs.js"),J=require("../core/Grid.cjs.js"),Y=require("../core/useCubeTexture.cjs.js"),Z=require("../core/useFBX.cjs.js"),$=require("../core/useGLTF.cjs.js"),ee=require("../core/useKTX2.cjs.js"),re=require("../core/useProgress.cjs.js"),se=require("../core/useTexture.cjs.js"),oe=require("../core/useVideoTexture.cjs.js"),te=require("../core/useFont.cjs.js"),ie=require("../core/Stats.cjs.js"),ce=require("../core/StatsGl.cjs.js"),ae=require("../core/useDepthBuffer.cjs.js"),ue=require("../core/useAspect.cjs.js"),ne=require("../core/useCamera.cjs.js"),je=require("../core/useDetectGPU.cjs.js"),pe=require("../core/useHelper.cjs.js"),le=require("../core/useBVH.cjs.js"),xe=require("../core/useContextBridge.cjs.js"),qe=require("../core/useAnimations.cjs.js"),de=require("../core/useFBO.cjs.js"),me=require("../core/useIntersect.cjs.js"),Ce=require("../core/useBoxProjectedEnv.cjs.js"),he=require("../core/BBAnchor.cjs.js"),Se=require("../core/useTrailTexture.cjs.js"),Me=require("../core/useCubeCamera.cjs.js"),Pe=require("../core/Example.cjs.js"),be=require("../core/SpriteAnimator.cjs.js"),fe=require("../core/FaceLandmarker.cjs.js"),Te=require("../core/CurveModifier.cjs.js"),ve=require("../core/MeshDistortMaterial.cjs.js"),ge=require("../core/MeshWobbleMaterial.cjs.js"),Be=require("../core/MeshReflectorMaterial.cjs.js"),Fe=require("../core/MeshRefractionMaterial.cjs.js"),Le=require("../core/MeshTransmissionMaterial.cjs.js"),Ae=require("../core/MeshDiscardMaterial.cjs.js"),ke=require("../core/PointMaterial.cjs.js"),De=require("../core/shaderMaterial.cjs.js"),Ee=require("../core/softShadows.cjs.js"),Re=require("../core/shapes.cjs.js"),Ge=require("../core/Facemesh.cjs.js"),we=require("../core/RoundedBox.cjs.js"),ye=require("../core/ScreenQuad.cjs.js"),ze=require("../core/Center.cjs.js"),Oe=require("../core/Resize.cjs.js"),Ie=require("../core/Bounds.cjs.js"),He=require("../core/CameraShake.cjs.js"),Ve=require("../core/Float.cjs.js"),Ke=require("../core/Stage.cjs.js"),We=require("../core/Backdrop.cjs.js"),Qe=require("../core/Shadow.cjs.js"),Xe=require("../core/Caustics.cjs.js"),Ne=require("../core/ContactShadows.cjs.js"),Ue=require("../core/AccumulativeShadows.cjs.js"),_e=require("../core/Reflector.cjs.js"),Je=require("../core/SpotLight.cjs.js"),Ye=require("../core/Environment.cjs.js"),Ze=require("../core/Lightformer.cjs.js"),$e=require("../core/Sky.cjs.js"),er=require("../core/Stars.cjs.js"),rr=require("../core/Cloud.cjs.js"),sr=require("../core/Sparkles.cjs.js"),or=require("../core/useEnvironment.cjs.js"),tr=require("../core/useMatcapTexture.cjs.js"),ir=require("../core/useNormalTexture.cjs.js"),cr=require("../core/Wireframe.cjs.js"),ar=require("../core/Points.cjs.js"),ur=require("../core/Instances.cjs.js"),nr=require("../core/Segments.cjs.js"),jr=require("../core/Detailed.cjs.js"),pr=require("../core/Preload.cjs.js"),lr=require("../core/BakeShadows.cjs.js"),xr=require("../core/meshBounds.cjs.js"),qr=require("../core/AdaptiveDpr.cjs.js"),dr=require("../core/AdaptiveEvents.cjs.js"),mr=require("../core/PerformanceMonitor.cjs.js"),Cr=require("../core/RenderTexture.cjs.js"),hr=require("../core/Mask.cjs.js"),Sr=require("../core/Hud.cjs.js"),Mr=require("../core/MeshPortalMaterial.cjs.js");require("@babel/runtime/helpers/extends"),require("react"),require("react-dom/client"),require("three"),require("@react-three/fiber"),require("zustand"),require("react-merge-refs"),require("maath"),require("@react-spring/three"),require("@use-gesture/react"),require("zustand/middleware"),require("three-stdlib"),require("zustand/shallow"),require("./pivotControls/AxisArrow.cjs.js"),require("./pivotControls/context.cjs.js"),require("./pivotControls/PlaneSlider.cjs.js"),require("./pivotControls/AxisRotator.cjs.js"),require("lodash.clamp"),require("troika-three-text"),require("suspend-react"),require("meshline"),require("lodash.pick"),require("lodash.omit"),require("camera-controls"),require("@mediapipe/tasks-vision"),require("stats.js"),require("../helpers/useEffectfulState.cjs.js"),require("stats-gl"),require("detect-gpu"),require("three-mesh-bvh"),require("../materials/BlurPass.cjs.js"),require("../materials/ConvolutionMaterial.cjs.js"),require("../materials/MeshReflectorMaterial.cjs.js"),require("../materials/MeshRefractionMaterial.cjs.js"),require("../materials/DiscardMaterial.cjs.js"),require("../helpers/environment-assets.cjs.js"),require("../materials/SpotLightMaterial.cjs.js"),require("../materials/WireframeMaterial.cjs.js"),require("react-composer"),exports.Html=e.Html,exports.CycleRaycast=r.CycleRaycast,exports.useCursor=s.useCursor,exports.Loader=o.Loader,exports.Scroll=t.Scroll,exports.ScrollControls=t.ScrollControls,exports.useScroll=t.useScroll,exports.PresentationControls=i.PresentationControls,exports.KeyboardControls=c.KeyboardControls,exports.useKeyboardControls=c.useKeyboardControls,exports.Select=a.Select,exports.useSelect=a.useSelect,exports.View=u.View,exports.PivotControls=n.PivotControls,exports.calculateScaleFactor=n.calculateScaleFactor,exports.Billboard=j.Billboard,exports.ScreenSpace=p.ScreenSpace,exports.QuadraticBezierLine=l.QuadraticBezierLine,exports.CubicBezierLine=x.CubicBezierLine,exports.CatmullRomLine=q.CatmullRomLine,exports.Line=d.Line,exports.PositionalAudio=m.PositionalAudio,exports.Text=C.Text,exports.Text3D=h.Text3D,exports.Effects=S.Effects,exports.isWebGL2Available=S.isWebGL2Available,exports.GradientTexture=M.GradientTexture,exports.GradientType=M.GradientType,exports.Image=P.Image,exports.Edges=b.Edges,exports.Outlines=f.Outlines,exports.Trail=T.Trail,exports.useTrail=T.useTrail,exports.Sampler=v.Sampler,exports.useSurfaceSampler=v.useSurfaceSampler,exports.ComputedAttribute=g.ComputedAttribute,exports.Clone=B.Clone,exports.MarchingCube=F.MarchingCube,exports.MarchingCubes=F.MarchingCubes,exports.MarchingPlane=F.MarchingPlane,exports.Decal=L.Decal,exports.Svg=A.Svg,exports.Gltf=k.Gltf,exports.AsciiRenderer=D.AsciiRenderer,exports.OrthographicCamera=E.OrthographicCamera,exports.PerspectiveCamera=R.PerspectiveCamera,exports.CubeCamera=G.CubeCamera,exports.DeviceOrientationControls=w.DeviceOrientationControls,exports.FlyControls=y.FlyControls,exports.MapControls=z.MapControls,exports.OrbitControls=O.OrbitControls,exports.TrackballControls=I.TrackballControls,exports.ArcballControls=H.ArcballControls,exports.TransformControls=V.TransformControls,exports.PointerLockControls=K.PointerLockControls,exports.FirstPersonControls=W.FirstPersonControls,exports.CameraControls=Q.CameraControls,exports.FaceControls=X.FaceControls,exports.useFaceControls=X.useFaceControls,exports.GizmoHelper=N.GizmoHelper,exports.useGizmoContext=N.useGizmoContext,exports.GizmoViewcube=U.GizmoViewcube,exports.GizmoViewport=_.GizmoViewport,exports.Grid=J.Grid,exports.useCubeTexture=Y.useCubeTexture,exports.useFBX=Z.useFBX,exports.useGLTF=$.useGLTF,exports.useKTX2=ee.useKTX2,exports.useProgress=re.useProgress,exports.IsObject=se.IsObject,exports.useTexture=se.useTexture,exports.useVideoTexture=oe.useVideoTexture,exports.useFont=te.useFont,exports.Stats=ie.Stats,exports.StatsGl=ce.StatsGl,exports.useDepthBuffer=ae.useDepthBuffer,exports.useAspect=ue.useAspect,exports.useCamera=ne.useCamera,exports.useDetectGPU=je.useDetectGPU,exports.useHelper=pe.useHelper,exports.Bvh=le.Bvh,exports.useBVH=le.useBVH,exports.useContextBridge=xe.useContextBridge,exports.useAnimations=qe.useAnimations,exports.useFBO=de.useFBO,exports.useIntersect=me.useIntersect,exports.useBoxProjectedEnv=Ce.useBoxProjectedEnv,exports.BBAnchor=he.BBAnchor,exports.useTrailTexture=Se.useTrailTexture,exports.useCubeCamera=Me.useCubeCamera,exports.Example=Pe.Example,exports.SpriteAnimator=be.SpriteAnimator,exports.FaceLandmarker=fe.FaceLandmarker,exports.FaceLandmarkerDefaults=fe.FaceLandmarkerDefaults,exports.useFaceLandmarker=fe.useFaceLandmarker,exports.CurveModifier=Te.CurveModifier,exports.MeshDistortMaterial=ve.MeshDistortMaterial,exports.MeshWobbleMaterial=ge.MeshWobbleMaterial,exports.MeshReflectorMaterial=Be.MeshReflectorMaterial,exports.MeshRefractionMaterial=Fe.MeshRefractionMaterial,exports.MeshTransmissionMaterial=Le.MeshTransmissionMaterial,exports.MeshDiscardMaterial=Ae.MeshDiscardMaterial,exports.PointMaterial=ke.PointMaterial,exports.PointMaterialImpl=ke.PointMaterialImpl,exports.shaderMaterial=De.shaderMaterial,exports.SoftShadows=Ee.SoftShadows,exports.Box=Re.Box,exports.Capsule=Re.Capsule,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.Plane=Re.Plane,exports.Polyhedron=Re.Polyhedron,exports.Ring=Re.Ring,exports.Shape=Re.Shape,exports.Sphere=Re.Sphere,exports.Tetrahedron=Re.Tetrahedron,exports.Torus=Re.Torus,exports.TorusKnot=Re.TorusKnot,exports.Tube=Re.Tube,exports.Facemesh=Ge.Facemesh,exports.FacemeshDatas=Ge.FacemeshDatas,exports.FacemeshEye=Ge.FacemeshEye,exports.FacemeshEyeDefaults=Ge.FacemeshEyeDefaults,exports.RoundedBox=we.RoundedBox,exports.ScreenQuad=ye.ScreenQuad,exports.Center=ze.Center,exports.Resize=Oe.Resize,exports.Bounds=Ie.Bounds,exports.useBounds=Ie.useBounds,exports.CameraShake=He.CameraShake,exports.Float=Ve.Float,exports.Stage=Ke.Stage,exports.Backdrop=We.Backdrop,exports.Shadow=Qe.Shadow,exports.Caustics=Xe.Caustics,exports.ContactShadows=Ne.ContactShadows,exports.AccumulativeShadows=Ue.AccumulativeShadows,exports.RandomizedLight=Ue.RandomizedLight,exports.accumulativeContext=Ue.accumulativeContext,exports.Reflector=_e.Reflector,exports.SpotLight=Je.SpotLight,exports.SpotLightShadow=Je.SpotLightShadow,exports.Environment=Ye.Environment,exports.EnvironmentCube=Ye.EnvironmentCube,exports.EnvironmentMap=Ye.EnvironmentMap,exports.EnvironmentPortal=Ye.EnvironmentPortal,exports.Lightformer=Ze.Lightformer,exports.Sky=$e.Sky,exports.calcPosFromAngles=$e.calcPosFromAngles,exports.Stars=er.Stars,exports.Cloud=rr.Cloud,exports.Sparkles=sr.Sparkles,exports.useEnvironment=or.useEnvironment,exports.useMatcapTexture=tr.useMatcapTexture,exports.useNormalTexture=ir.useNormalTexture,exports.Wireframe=cr.Wireframe,exports.Point=ar.Point,exports.Points=ar.Points,exports.PointsBuffer=ar.PointsBuffer,exports.PositionPoint=ar.PositionPoint,exports.Instance=ur.Instance,exports.Instances=ur.Instances,exports.Merged=ur.Merged,exports.Segment=nr.Segment,exports.SegmentObject=nr.SegmentObject,exports.Segments=nr.Segments,exports.Detailed=jr.Detailed,exports.Preload=pr.Preload,exports.BakeShadows=lr.BakeShadows,exports.meshBounds=xr.meshBounds,exports.AdaptiveDpr=qr.AdaptiveDpr,exports.AdaptiveEvents=dr.AdaptiveEvents,exports.PerformanceMonitor=mr.PerformanceMonitor,exports.usePerformanceMonitor=mr.usePerformanceMonitor,exports.RenderTexture=Cr.RenderTexture,exports.Mask=hr.Mask,exports.useMask=hr.useMask,exports.Hud=Sr.Hud,exports.MeshPortalMaterial=Mr.MeshPortalMaterial;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./Html.cjs.js"),r=require("./CycleRaycast.cjs.js"),s=require("./useCursor.cjs.js"),o=require("./Loader.cjs.js"),t=require("./ScrollControls.cjs.js"),i=require("./PresentationControls.cjs.js"),c=require("./KeyboardControls.cjs.js"),a=require("./Select.cjs.js"),u=require("./View.cjs.js"),n=require("./pivotControls/index.cjs.js"),j=require("../core/Billboard.cjs.js"),l=require("../core/ScreenSpace.cjs.js"),p=require("../core/QuadraticBezierLine.cjs.js"),x=require("../core/CubicBezierLine.cjs.js"),q=require("../core/CatmullRomLine.cjs.js"),d=require("../core/Line.cjs.js"),m=require("../core/PositionalAudio.cjs.js"),C=require("../core/Text.cjs.js"),h=require("../core/Text3D.cjs.js"),S=require("../core/Effects.cjs.js"),M=require("../core/GradientTexture.cjs.js"),P=require("../core/Image.cjs.js"),b=require("../core/Edges.cjs.js"),f=require("../core/Outlines.cjs.js"),T=require("../core/Trail.cjs.js"),v=require("../core/Sampler.cjs.js"),g=require("../core/ComputedAttribute.cjs.js"),B=require("../core/Clone.cjs.js"),F=require("../core/MarchingCubes.cjs.js"),L=require("../core/Decal.cjs.js"),A=require("../core/Svg.cjs.js"),k=require("../core/Gltf.cjs.js"),D=require("../core/AsciiRenderer.cjs.js"),E=require("../core/OrthographicCamera.cjs.js"),R=require("../core/PerspectiveCamera.cjs.js"),G=require("../core/CubeCamera.cjs.js"),w=require("../core/DeviceOrientationControls.cjs.js"),y=require("../core/FlyControls.cjs.js"),z=require("../core/MapControls.cjs.js"),O=require("../core/OrbitControls.cjs.js"),I=require("../core/TrackballControls.cjs.js"),H=require("../core/ArcballControls.cjs.js"),V=require("../core/TransformControls.cjs.js"),K=require("../core/PointerLockControls.cjs.js"),W=require("../core/FirstPersonControls.cjs.js"),Q=require("../core/CameraControls.cjs.js"),X=require("../core/FaceControls.cjs.js"),N=require("../core/MotionPathControls.cjs.js"),U=require("../core/GizmoHelper.cjs.js"),_=require("../core/GizmoViewcube.cjs.js"),J=require("../core/GizmoViewport.cjs.js"),Y=require("../core/Grid.cjs.js"),Z=require("../core/useCubeTexture.cjs.js"),$=require("../core/useFBX.cjs.js"),ee=require("../core/useGLTF.cjs.js"),re=require("../core/useKTX2.cjs.js"),se=require("../core/useProgress.cjs.js"),oe=require("../core/useTexture.cjs.js"),te=require("../core/useVideoTexture.cjs.js"),ie=require("../core/useFont.cjs.js"),ce=require("../core/Stats.cjs.js"),ae=require("../core/StatsGl.cjs.js"),ue=require("../core/useDepthBuffer.cjs.js"),ne=require("../core/useAspect.cjs.js"),je=require("../core/useCamera.cjs.js"),le=require("../core/useDetectGPU.cjs.js"),pe=require("../core/useHelper.cjs.js"),xe=require("../core/useBVH.cjs.js"),qe=require("../core/useContextBridge.cjs.js"),de=require("../core/useAnimations.cjs.js"),me=require("../core/useFBO.cjs.js"),Ce=require("../core/useIntersect.cjs.js"),he=require("../core/useBoxProjectedEnv.cjs.js"),Se=require("../core/BBAnchor.cjs.js"),Me=require("../core/useTrailTexture.cjs.js"),Pe=require("../core/useCubeCamera.cjs.js"),be=require("../core/Example.cjs.js"),fe=require("../core/SpriteAnimator.cjs.js"),Te=require("../core/FaceLandmarker.cjs.js"),ve=require("../core/CurveModifier.cjs.js"),ge=require("../core/MeshDistortMaterial.cjs.js"),Be=require("../core/MeshWobbleMaterial.cjs.js"),Fe=require("../core/MeshReflectorMaterial.cjs.js"),Le=require("../core/MeshRefractionMaterial.cjs.js"),Ae=require("../core/MeshTransmissionMaterial.cjs.js"),ke=require("../core/MeshDiscardMaterial.cjs.js"),De=require("../core/PointMaterial.cjs.js"),Ee=require("../core/shaderMaterial.cjs.js"),Re=require("../core/softShadows.cjs.js"),Ge=require("../core/shapes.cjs.js"),we=require("../core/Facemesh.cjs.js"),ye=require("../core/RoundedBox.cjs.js"),ze=require("../core/ScreenQuad.cjs.js"),Oe=require("../core/Center.cjs.js"),Ie=require("../core/Resize.cjs.js"),He=require("../core/Bounds.cjs.js"),Ve=require("../core/CameraShake.cjs.js"),Ke=require("../core/Float.cjs.js"),We=require("../core/Stage.cjs.js"),Qe=require("../core/Backdrop.cjs.js"),Xe=require("../core/Shadow.cjs.js"),Ne=require("../core/Caustics.cjs.js"),Ue=require("../core/ContactShadows.cjs.js"),_e=require("../core/AccumulativeShadows.cjs.js"),Je=require("../core/Reflector.cjs.js"),Ye=require("../core/SpotLight.cjs.js"),Ze=require("../core/Environment.cjs.js"),$e=require("../core/Lightformer.cjs.js"),er=require("../core/Sky.cjs.js"),rr=require("../core/Stars.cjs.js"),sr=require("../core/Cloud.cjs.js"),or=require("../core/Sparkles.cjs.js"),tr=require("../core/useEnvironment.cjs.js"),ir=require("../core/useMatcapTexture.cjs.js"),cr=require("../core/useNormalTexture.cjs.js"),ar=require("../core/Wireframe.cjs.js"),ur=require("../core/Points.cjs.js"),nr=require("../core/Instances.cjs.js"),jr=require("../core/Segments.cjs.js"),lr=require("../core/Detailed.cjs.js"),pr=require("../core/Preload.cjs.js"),xr=require("../core/BakeShadows.cjs.js"),qr=require("../core/meshBounds.cjs.js"),dr=require("../core/AdaptiveDpr.cjs.js"),mr=require("../core/AdaptiveEvents.cjs.js"),Cr=require("../core/PerformanceMonitor.cjs.js"),hr=require("../core/RenderTexture.cjs.js"),Sr=require("../core/Mask.cjs.js"),Mr=require("../core/Hud.cjs.js"),Pr=require("../core/MeshPortalMaterial.cjs.js");require("@babel/runtime/helpers/extends"),require("react"),require("react-dom/client"),require("three"),require("@react-three/fiber"),require("zustand"),require("react-merge-refs"),require("maath"),require("@react-spring/three"),require("@use-gesture/react"),require("zustand/middleware"),require("three-stdlib"),require("zustand/shallow"),require("./pivotControls/AxisArrow.cjs.js"),require("./pivotControls/context.cjs.js"),require("./pivotControls/PlaneSlider.cjs.js"),require("./pivotControls/AxisRotator.cjs.js"),require("lodash.clamp"),require("troika-three-text"),require("suspend-react"),require("meshline"),require("lodash.pick"),require("lodash.omit"),require("camera-controls"),require("@mediapipe/tasks-vision"),require("stats.js"),require("../helpers/useEffectfulState.cjs.js"),require("stats-gl"),require("detect-gpu"),require("three-mesh-bvh"),require("../materials/BlurPass.cjs.js"),require("../materials/ConvolutionMaterial.cjs.js"),require("../materials/MeshReflectorMaterial.cjs.js"),require("../materials/MeshRefractionMaterial.cjs.js"),require("../materials/DiscardMaterial.cjs.js"),require("../helpers/environment-assets.cjs.js"),require("../materials/SpotLightMaterial.cjs.js"),require("../materials/WireframeMaterial.cjs.js"),require("react-composer"),exports.Html=e.Html,exports.CycleRaycast=r.CycleRaycast,exports.useCursor=s.useCursor,exports.Loader=o.Loader,exports.Scroll=t.Scroll,exports.ScrollControls=t.ScrollControls,exports.useScroll=t.useScroll,exports.PresentationControls=i.PresentationControls,exports.KeyboardControls=c.KeyboardControls,exports.useKeyboardControls=c.useKeyboardControls,exports.Select=a.Select,exports.useSelect=a.useSelect,exports.View=u.View,exports.PivotControls=n.PivotControls,exports.calculateScaleFactor=n.calculateScaleFactor,exports.Billboard=j.Billboard,exports.ScreenSpace=l.ScreenSpace,exports.QuadraticBezierLine=p.QuadraticBezierLine,exports.CubicBezierLine=x.CubicBezierLine,exports.CatmullRomLine=q.CatmullRomLine,exports.Line=d.Line,exports.PositionalAudio=m.PositionalAudio,exports.Text=C.Text,exports.Text3D=h.Text3D,exports.Effects=S.Effects,exports.isWebGL2Available=S.isWebGL2Available,exports.GradientTexture=M.GradientTexture,exports.GradientType=M.GradientType,exports.Image=P.Image,exports.Edges=b.Edges,exports.Outlines=f.Outlines,exports.Trail=T.Trail,exports.useTrail=T.useTrail,exports.Sampler=v.Sampler,exports.useSurfaceSampler=v.useSurfaceSampler,exports.ComputedAttribute=g.ComputedAttribute,exports.Clone=B.Clone,exports.MarchingCube=F.MarchingCube,exports.MarchingCubes=F.MarchingCubes,exports.MarchingPlane=F.MarchingPlane,exports.Decal=L.Decal,exports.Svg=A.Svg,exports.Gltf=k.Gltf,exports.AsciiRenderer=D.AsciiRenderer,exports.OrthographicCamera=E.OrthographicCamera,exports.PerspectiveCamera=R.PerspectiveCamera,exports.CubeCamera=G.CubeCamera,exports.DeviceOrientationControls=w.DeviceOrientationControls,exports.FlyControls=y.FlyControls,exports.MapControls=z.MapControls,exports.OrbitControls=O.OrbitControls,exports.TrackballControls=I.TrackballControls,exports.ArcballControls=H.ArcballControls,exports.TransformControls=V.TransformControls,exports.PointerLockControls=K.PointerLockControls,exports.FirstPersonControls=W.FirstPersonControls,exports.CameraControls=Q.CameraControls,exports.FaceControls=X.FaceControls,exports.useFaceControls=X.useFaceControls,exports.MotionPathControls=N.MotionPathControls,exports.useMotion=N.useMotion,exports.GizmoHelper=U.GizmoHelper,exports.useGizmoContext=U.useGizmoContext,exports.GizmoViewcube=_.GizmoViewcube,exports.GizmoViewport=J.GizmoViewport,exports.Grid=Y.Grid,exports.useCubeTexture=Z.useCubeTexture,exports.useFBX=$.useFBX,exports.useGLTF=ee.useGLTF,exports.useKTX2=re.useKTX2,exports.useProgress=se.useProgress,exports.IsObject=oe.IsObject,exports.useTexture=oe.useTexture,exports.useVideoTexture=te.useVideoTexture,exports.useFont=ie.useFont,exports.Stats=ce.Stats,exports.StatsGl=ae.StatsGl,exports.useDepthBuffer=ue.useDepthBuffer,exports.useAspect=ne.useAspect,exports.useCamera=je.useCamera,exports.useDetectGPU=le.useDetectGPU,exports.useHelper=pe.useHelper,exports.Bvh=xe.Bvh,exports.useBVH=xe.useBVH,exports.useContextBridge=qe.useContextBridge,exports.useAnimations=de.useAnimations,exports.useFBO=me.useFBO,exports.useIntersect=Ce.useIntersect,exports.useBoxProjectedEnv=he.useBoxProjectedEnv,exports.BBAnchor=Se.BBAnchor,exports.useTrailTexture=Me.useTrailTexture,exports.useCubeCamera=Pe.useCubeCamera,exports.Example=be.Example,exports.SpriteAnimator=fe.SpriteAnimator,exports.FaceLandmarker=Te.FaceLandmarker,exports.FaceLandmarkerDefaults=Te.FaceLandmarkerDefaults,exports.useFaceLandmarker=Te.useFaceLandmarker,exports.CurveModifier=ve.CurveModifier,exports.MeshDistortMaterial=ge.MeshDistortMaterial,exports.MeshWobbleMaterial=Be.MeshWobbleMaterial,exports.MeshReflectorMaterial=Fe.MeshReflectorMaterial,exports.MeshRefractionMaterial=Le.MeshRefractionMaterial,exports.MeshTransmissionMaterial=Ae.MeshTransmissionMaterial,exports.MeshDiscardMaterial=ke.MeshDiscardMaterial,exports.PointMaterial=De.PointMaterial,exports.PointMaterialImpl=De.PointMaterialImpl,exports.shaderMaterial=Ee.shaderMaterial,exports.SoftShadows=Re.SoftShadows,exports.Box=Ge.Box,exports.Capsule=Ge.Capsule,exports.Circle=Ge.Circle,exports.Cone=Ge.Cone,exports.Cylinder=Ge.Cylinder,exports.Dodecahedron=Ge.Dodecahedron,exports.Extrude=Ge.Extrude,exports.Icosahedron=Ge.Icosahedron,exports.Lathe=Ge.Lathe,exports.Octahedron=Ge.Octahedron,exports.Plane=Ge.Plane,exports.Polyhedron=Ge.Polyhedron,exports.Ring=Ge.Ring,exports.Shape=Ge.Shape,exports.Sphere=Ge.Sphere,exports.Tetrahedron=Ge.Tetrahedron,exports.Torus=Ge.Torus,exports.TorusKnot=Ge.TorusKnot,exports.Tube=Ge.Tube,exports.Facemesh=we.Facemesh,exports.FacemeshDatas=we.FacemeshDatas,exports.FacemeshEye=we.FacemeshEye,exports.FacemeshEyeDefaults=we.FacemeshEyeDefaults,exports.RoundedBox=ye.RoundedBox,exports.ScreenQuad=ze.ScreenQuad,exports.Center=Oe.Center,exports.Resize=Ie.Resize,exports.Bounds=He.Bounds,exports.useBounds=He.useBounds,exports.CameraShake=Ve.CameraShake,exports.Float=Ke.Float,exports.Stage=We.Stage,exports.Backdrop=Qe.Backdrop,exports.Shadow=Xe.Shadow,exports.Caustics=Ne.Caustics,exports.ContactShadows=Ue.ContactShadows,exports.AccumulativeShadows=_e.AccumulativeShadows,exports.RandomizedLight=_e.RandomizedLight,exports.accumulativeContext=_e.accumulativeContext,exports.Reflector=Je.Reflector,exports.SpotLight=Ye.SpotLight,exports.SpotLightShadow=Ye.SpotLightShadow,exports.Environment=Ze.Environment,exports.EnvironmentCube=Ze.EnvironmentCube,exports.EnvironmentMap=Ze.EnvironmentMap,exports.EnvironmentPortal=Ze.EnvironmentPortal,exports.Lightformer=$e.Lightformer,exports.Sky=er.Sky,exports.calcPosFromAngles=er.calcPosFromAngles,exports.Stars=rr.Stars,exports.Cloud=sr.Cloud,exports.Sparkles=or.Sparkles,exports.useEnvironment=tr.useEnvironment,exports.useMatcapTexture=ir.useMatcapTexture,exports.useNormalTexture=cr.useNormalTexture,exports.Wireframe=ar.Wireframe,exports.Point=ur.Point,exports.Points=ur.Points,exports.PointsBuffer=ur.PointsBuffer,exports.PositionPoint=ur.PositionPoint,exports.Instance=nr.Instance,exports.Instances=nr.Instances,exports.Merged=nr.Merged,exports.Segment=jr.Segment,exports.SegmentObject=jr.SegmentObject,exports.Segments=jr.Segments,exports.Detailed=lr.Detailed,exports.Preload=pr.Preload,exports.BakeShadows=xr.BakeShadows,exports.meshBounds=qr.meshBounds,exports.AdaptiveDpr=dr.AdaptiveDpr,exports.AdaptiveEvents=mr.AdaptiveEvents,exports.PerformanceMonitor=Cr.PerformanceMonitor,exports.usePerformanceMonitor=Cr.usePerformanceMonitor,exports.RenderTexture=hr.RenderTexture,exports.Mask=Sr.Mask,exports.useMask=Sr.useMask,exports.Hud=Mr.Hud,exports.MeshPortalMaterial=Pr.MeshPortalMaterial;
package/web/index.js CHANGED
@@ -45,6 +45,7 @@ export { PointerLockControls } from '../core/PointerLockControls.js';
45
45
  export { FirstPersonControls } from '../core/FirstPersonControls.js';
46
46
  export { CameraControls } from '../core/CameraControls.js';
47
47
  export { FaceControls, useFaceControls } from '../core/FaceControls.js';
48
+ export { MotionPathControls, useMotion } from '../core/MotionPathControls.js';
48
49
  export { GizmoHelper, useGizmoContext } from '../core/GizmoHelper.js';
49
50
  export { GizmoViewcube } from '../core/GizmoViewcube.js';
50
51
  export { GizmoViewport } from '../core/GizmoViewport.js';
@@ -11,11 +11,9 @@ const calculateOffset = (clickPoint, normal, rayStart, rayDir) => {
11
11
  const e1 = normal.dot(normal);
12
12
  const e2 = normal.dot(clickPoint) - normal.dot(rayStart);
13
13
  const e3 = normal.dot(rayDir);
14
-
15
14
  if (e3 === 0) {
16
15
  return -e2 / e1;
17
16
  }
18
-
19
17
  vec1.copy(rayDir).multiplyScalar(e1 / e3).sub(normal);
20
18
  vec2.copy(rayDir).multiplyScalar(e2 / e3).add(rayStart).sub(clickPoint);
21
19
  const offset = -vec1.dot(vec2) / vec1.dot(vec1);
@@ -43,8 +41,9 @@ const AxisArrow = ({
43
41
  onDrag,
44
42
  onDragEnd,
45
43
  userData
46
- } = React.useContext(context); // @ts-expect-error new in @react-three/fiber@7.0.5
44
+ } = React.useContext(context);
47
45
 
46
+ // @ts-expect-error new in @react-three/fiber@7.0.5
48
47
  const camControls = useThree(state => state.controls);
49
48
  const divRef = React.useRef(null);
50
49
  const objRef = React.useRef(null);
@@ -56,7 +55,6 @@ const AxisArrow = ({
56
55
  divRef.current.innerText = `${translation.current[axis].toFixed(2)}`;
57
56
  divRef.current.style.display = 'block';
58
57
  }
59
-
60
58
  e.stopPropagation();
61
59
  const rotation = new THREE.Matrix4().extractRotation(objRef.current.matrixWorld);
62
60
  const clickPoint = e.point.clone();
@@ -73,14 +71,13 @@ const AxisArrow = ({
73
71
  origin,
74
72
  directions: [dir]
75
73
  });
76
- camControls && (camControls.enabled = false); // @ts-ignore - setPointerCapture is not in the type definition
77
-
74
+ camControls && (camControls.enabled = false);
75
+ // @ts-ignore - setPointerCapture is not in the type definition
78
76
  e.target.setPointerCapture(e.pointerId);
79
77
  }, [annotations, direction, camControls, onDragStart, translation, axis]);
80
78
  const onPointerMove = React.useCallback(e => {
81
79
  e.stopPropagation();
82
80
  if (!isHovered) setIsHovered(true);
83
-
84
81
  if (clickInfo.current) {
85
82
  const {
86
83
  clickPoint,
@@ -88,21 +85,16 @@ const AxisArrow = ({
88
85
  } = clickInfo.current;
89
86
  const [min, max] = (translationLimits == null ? void 0 : translationLimits[axis]) || [undefined, undefined];
90
87
  let offset = calculateOffset(clickPoint, dir, e.ray.origin, e.ray.direction);
91
-
92
88
  if (min !== undefined) {
93
89
  offset = Math.max(offset, min - offset0.current);
94
90
  }
95
-
96
91
  if (max !== undefined) {
97
92
  offset = Math.min(offset, max - offset0.current);
98
93
  }
99
-
100
94
  translation.current[axis] = offset0.current + offset;
101
-
102
95
  if (annotations) {
103
96
  divRef.current.innerText = `${translation.current[axis].toFixed(2)}`;
104
97
  }
105
-
106
98
  offsetMatrix.makeTranslation(dir.x * offset, dir.y * offset, dir.z * offset);
107
99
  onDrag(offsetMatrix);
108
100
  }
@@ -111,12 +103,11 @@ const AxisArrow = ({
111
103
  if (annotations) {
112
104
  divRef.current.style.display = 'none';
113
105
  }
114
-
115
106
  e.stopPropagation();
116
107
  clickInfo.current = null;
117
108
  onDragEnd();
118
- camControls && (camControls.enabled = true); // @ts-ignore - releasePointerCapture & PointerEvent#pointerId is not in the type definition
119
-
109
+ camControls && (camControls.enabled = true);
110
+ // @ts-ignore - releasePointerCapture & PointerEvent#pointerId is not in the type definition
120
111
  e.target.releasePointerCapture(e.pointerId);
121
112
  }, [annotations, camControls, onDragEnd]);
122
113
  const onPointerOut = React.useCallback(e => {
@@ -8,11 +8,8 @@ import { context } from './context.js';
8
8
 
9
9
  const clickDir = new THREE.Vector3();
10
10
  const intersectionDir = new THREE.Vector3();
11
-
12
11
  const toDegrees = radians => radians * 180 / Math.PI;
13
-
14
12
  const toRadians = degrees => degrees * Math.PI / 180;
15
-
16
13
  const calculateAngle = (clickPoint, intersectionPoint, origin, e1, e2) => {
17
14
  clickDir.copy(clickPoint).sub(origin);
18
15
  intersectionDir.copy(intersectionPoint).sub(origin);
@@ -26,27 +23,21 @@ const calculateAngle = (clickPoint, intersectionPoint, origin, e1, e2) => {
26
23
  const angleIntersection = Math.atan2(vIntersection, uIntersection);
27
24
  return angleIntersection - angleClick;
28
25
  };
29
-
30
26
  const fmod = (num, denom) => {
31
27
  let k = Math.floor(num / denom);
32
28
  k = k < 0 ? k + 1 : k;
33
29
  return num - k * denom;
34
30
  };
35
-
36
31
  const minimizeAngle = angle => {
37
32
  let result = fmod(angle, 2 * Math.PI);
38
-
39
33
  if (Math.abs(result) < 1e-6) {
40
34
  return 0.0;
41
35
  }
42
-
43
36
  if (result < 0.0) {
44
37
  result += 2 * Math.PI;
45
38
  }
46
-
47
39
  return result;
48
40
  };
49
-
50
41
  const rotMatrix = new THREE.Matrix4();
51
42
  const posNew = new THREE.Vector3();
52
43
  const ray = new THREE.Ray();
@@ -71,8 +62,9 @@ const AxisRotator = ({
71
62
  onDrag,
72
63
  onDragEnd,
73
64
  userData
74
- } = React.useContext(context); // @ts-expect-error new in @react-three/fiber@7.0.5
65
+ } = React.useContext(context);
75
66
 
67
+ // @ts-expect-error new in @react-three/fiber@7.0.5
76
68
  const camControls = useThree(state => state.controls);
77
69
  const divRef = React.useRef(null);
78
70
  const objRef = React.useRef(null);
@@ -85,7 +77,6 @@ const AxisRotator = ({
85
77
  divRef.current.innerText = `${toDegrees(angle.current).toFixed(0)}º`;
86
78
  divRef.current.style.display = 'block';
87
79
  }
88
-
89
80
  e.stopPropagation();
90
81
  const clickPoint = e.point.clone();
91
82
  const origin = new THREE.Vector3().setFromMatrixPosition(objRef.current.matrixWorld);
@@ -107,14 +98,13 @@ const AxisRotator = ({
107
98
  origin,
108
99
  directions: [e1, e2, normal]
109
100
  });
110
- camControls && (camControls.enabled = false); // @ts-ignore
111
-
101
+ camControls && (camControls.enabled = false);
102
+ // @ts-ignore
112
103
  e.target.setPointerCapture(e.pointerId);
113
104
  }, [annotations, camControls, onDragStart, axis]);
114
105
  const onPointerMove = React.useCallback(e => {
115
106
  e.stopPropagation();
116
107
  if (!isHovered) setIsHovered(true);
117
-
118
108
  if (clickInfo.current) {
119
109
  const {
120
110
  clickPoint,
@@ -130,13 +120,13 @@ const AxisRotator = ({
130
120
  ray.direction.negate();
131
121
  ray.intersectPlane(plane, intersection);
132
122
  let deltaAngle = calculateAngle(clickPoint, intersection, origin, e1, e2);
133
- let degrees = toDegrees(deltaAngle); // @ts-ignore
123
+ let degrees = toDegrees(deltaAngle);
134
124
 
125
+ // @ts-ignore
135
126
  if (e.shiftKey) {
136
127
  degrees = Math.round(degrees / 10) * 10;
137
128
  deltaAngle = toRadians(degrees);
138
129
  }
139
-
140
130
  if (min !== undefined && max !== undefined && max - min < 2 * Math.PI) {
141
131
  deltaAngle = minimizeAngle(deltaAngle);
142
132
  deltaAngle = deltaAngle > Math.PI ? deltaAngle - 2 * Math.PI : deltaAngle;
@@ -146,12 +136,10 @@ const AxisRotator = ({
146
136
  angle.current = minimizeAngle(angle0.current + deltaAngle);
147
137
  angle.current = angle.current > Math.PI ? angle.current - 2 * Math.PI : angle.current;
148
138
  }
149
-
150
139
  if (annotations) {
151
140
  degrees = toDegrees(angle.current);
152
141
  divRef.current.innerText = `${degrees.toFixed(0)}º`;
153
142
  }
154
-
155
143
  rotMatrix.makeRotationAxis(normal, deltaAngle);
156
144
  posNew.copy(origin).applyMatrix4(rotMatrix).sub(origin).negate();
157
145
  rotMatrix.setPosition(posNew);
@@ -162,13 +150,12 @@ const AxisRotator = ({
162
150
  if (annotations) {
163
151
  divRef.current.style.display = 'none';
164
152
  }
165
-
166
153
  e.stopPropagation();
167
154
  angle0.current = angle.current;
168
155
  clickInfo.current = null;
169
156
  onDragEnd();
170
- camControls && (camControls.enabled = true); // @ts-ignore
171
-
157
+ camControls && (camControls.enabled = true);
158
+ // @ts-ignore
172
159
  e.target.releasePointerCapture(e.pointerId);
173
160
  }, [annotations, camControls, onDragEnd]);
174
161
  const onPointerOut = React.useCallback(e => {
@@ -184,12 +171,10 @@ const AxisRotator = ({
184
171
  const arc = React.useMemo(() => {
185
172
  const segments = 32;
186
173
  const points = [];
187
-
188
174
  for (let j = 0; j <= segments; j++) {
189
175
  const angle = j * (Math.PI / 2) / segments;
190
176
  points.push(new THREE.Vector3(Math.cos(angle) * r, Math.sin(angle) * r, 0));
191
177
  }
192
-
193
178
  return points;
194
179
  }, [r]);
195
180
  return /*#__PURE__*/React.createElement("group", {
@@ -19,7 +19,6 @@ const decomposeIntoBasis = (e1, e2, offset) => {
19
19
  const x = (c1 - y * b1) / a1;
20
20
  return [x, y];
21
21
  };
22
-
23
22
  const ray = new THREE.Ray();
24
23
  const intersection = new THREE.Vector3();
25
24
  const offsetMatrix = new THREE.Matrix4();
@@ -44,8 +43,9 @@ const PlaneSlider = ({
44
43
  onDrag,
45
44
  onDragEnd,
46
45
  userData
47
- } = React.useContext(context); // @ts-expect-error new in @react-three/fiber@7.0.5
46
+ } = React.useContext(context);
48
47
 
48
+ // @ts-expect-error new in @react-three/fiber@7.0.5
49
49
  const camControls = useThree(state => state.controls);
50
50
  const divRef = React.useRef(null);
51
51
  const objRef = React.useRef(null);
@@ -58,7 +58,6 @@ const PlaneSlider = ({
58
58
  divRef.current.innerText = `${translation.current[(axis + 1) % 3].toFixed(2)}, ${translation.current[(axis + 2) % 3].toFixed(2)}`;
59
59
  divRef.current.style.display = 'block';
60
60
  }
61
-
62
61
  e.stopPropagation();
63
62
  const clickPoint = e.point.clone();
64
63
  const origin = new THREE.Vector3().setFromMatrixPosition(objRef.current.matrixWorld);
@@ -80,14 +79,13 @@ const PlaneSlider = ({
80
79
  origin,
81
80
  directions: [e1, e2, normal]
82
81
  });
83
- camControls && (camControls.enabled = false); // @ts-ignore
84
-
82
+ camControls && (camControls.enabled = false);
83
+ // @ts-ignore
85
84
  e.target.setPointerCapture(e.pointerId);
86
85
  }, [annotations, camControls, onDragStart, axis]);
87
86
  const onPointerMove = React.useCallback(e => {
88
87
  e.stopPropagation();
89
88
  if (!isHovered) setIsHovered(true);
90
-
91
89
  if (clickInfo.current) {
92
90
  const {
93
91
  clickPoint,
@@ -105,30 +103,23 @@ const PlaneSlider = ({
105
103
  let [offsetX, offsetY] = decomposeIntoBasis(e1, e2, intersection);
106
104
  /* let offsetY = (intersection.y - (intersection.x * e1.y) / e1.x) / (e2.y - (e2.x * e1.y) / e1.x)
107
105
  let offsetX = (intersection.x - offsetY * e2.x) / e1.x */
108
-
109
106
  if (minX !== undefined) {
110
107
  offsetX = Math.max(offsetX, minX - offsetX0.current);
111
108
  }
112
-
113
109
  if (maxX !== undefined) {
114
110
  offsetX = Math.min(offsetX, maxX - offsetX0.current);
115
111
  }
116
-
117
112
  if (minY !== undefined) {
118
113
  offsetY = Math.max(offsetY, minY - offsetY0.current);
119
114
  }
120
-
121
115
  if (maxY !== undefined) {
122
116
  offsetY = Math.min(offsetY, maxY - offsetY0.current);
123
117
  }
124
-
125
118
  translation.current[(axis + 1) % 3] = offsetX0.current + offsetX;
126
119
  translation.current[(axis + 2) % 3] = offsetY0.current + offsetY;
127
-
128
120
  if (annotations) {
129
121
  divRef.current.innerText = `${translation.current[(axis + 1) % 3].toFixed(2)}, ${translation.current[(axis + 2) % 3].toFixed(2)}`;
130
122
  }
131
-
132
123
  offsetMatrix.makeTranslation(offsetX * e1.x + offsetY * e2.x, offsetX * e1.y + offsetY * e2.y, offsetX * e1.z + offsetY * e2.z);
133
124
  onDrag(offsetMatrix);
134
125
  }
@@ -137,12 +128,11 @@ const PlaneSlider = ({
137
128
  if (annotations) {
138
129
  divRef.current.style.display = 'none';
139
130
  }
140
-
141
131
  e.stopPropagation();
142
132
  clickInfo.current = null;
143
133
  onDragEnd();
144
- camControls && (camControls.enabled = true); // @ts-ignore
145
-
134
+ camControls && (camControls.enabled = true);
135
+ // @ts-ignore
146
136
  e.target.releasePointerCapture(e.pointerId);
147
137
  }, [annotations, camControls, onDragEnd]);
148
138
  const onPointerOut = React.useCallback(e => {
@@ -1,12 +1,12 @@
1
1
  import * as THREE from 'three';
2
2
  import * as React from 'react';
3
- export declare type OnDragStartProps = {
3
+ export type OnDragStartProps = {
4
4
  component: 'Arrow' | 'Slider' | 'Rotator';
5
5
  axis: 0 | 1 | 2;
6
6
  origin: THREE.Vector3;
7
7
  directions: THREE.Vector3[];
8
8
  };
9
- export declare type PivotContext = {
9
+ export type PivotContext = {
10
10
  onDragStart: (props: OnDragStartProps) => void;
11
11
  onDrag: (mdW: THREE.Matrix4) => void;
12
12
  onDragEnd: () => void;
@@ -4,7 +4,7 @@ import { Size } from '@react-three/fiber';
4
4
  import { OnDragStartProps } from './context';
5
5
  import { ForwardRefComponent } from '../../helpers/ts-utils';
6
6
  export declare const calculateScaleFactor: (point3: THREE.Vector3, radiusPx: number, camera: THREE.Camera, size: Size) => number;
7
- declare type PivotControlsProps = {
7
+ type PivotControlsProps = {
8
8
  scale?: number;
9
9
  lineWidth?: number;
10
10
  fixed?: boolean;