@react-three/drei 9.121.4 → 9.121.6-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 (207) hide show
  1. package/core/AccumulativeShadows.d.ts +8 -10
  2. package/core/ArcballControls.d.ts +4 -4
  3. package/core/AsciiRenderer.d.ts +1 -2
  4. package/core/BBAnchor.d.ts +3 -3
  5. package/core/Backdrop.d.ts +2 -1
  6. package/core/Billboard.cjs.js +1 -1
  7. package/core/Billboard.d.ts +3 -2
  8. package/core/Billboard.js +1 -1
  9. package/core/Bounds.d.ts +2 -1
  10. package/core/Bvh.d.ts +3 -2
  11. package/core/CameraControls.d.ts +4 -4
  12. package/core/CatmullRomLine.d.ts +2 -3
  13. package/core/Caustics.d.ts +14 -17
  14. package/core/Center.d.ts +3 -2
  15. package/core/Clone.d.ts +4 -4
  16. package/core/Cloud.cjs.js +1 -1
  17. package/core/Cloud.d.ts +50 -12
  18. package/core/Cloud.js +4 -4
  19. package/core/ComputedAttribute.cjs.js +1 -1
  20. package/core/ComputedAttribute.d.ts +3 -4
  21. package/core/ComputedAttribute.js +1 -1
  22. package/core/ContactShadows.d.ts +3 -2
  23. package/core/CubeCamera.d.ts +3 -3
  24. package/core/CubeTexture.d.ts +5 -6
  25. package/core/CubeTexture.js +2 -7
  26. package/core/CubicBezierLine.d.ts +2 -3
  27. package/core/CurveModifier.d.ts +2 -1
  28. package/core/Decal.d.ts +2 -2
  29. package/core/Detailed.d.ts +3 -3
  30. package/core/DetectGPU.d.ts +1 -2
  31. package/core/DeviceOrientationControls.d.ts +2 -2
  32. package/core/Edges.cjs.js +1 -1
  33. package/core/Edges.d.ts +2 -2
  34. package/core/Edges.js +2 -2
  35. package/core/Effects.cjs.js +1 -1
  36. package/core/Effects.d.ts +9 -13
  37. package/core/Effects.js +3 -3
  38. package/core/Environment.cjs.js +1 -1
  39. package/core/Environment.d.ts +5 -7
  40. package/core/Fbo.d.ts +1 -4
  41. package/core/Fbo.js +0 -2
  42. package/core/Fbx.d.ts +1 -1
  43. package/core/FirstPersonControls.d.ts +2 -2
  44. package/core/Fisheye.d.ts +2 -1
  45. package/core/Float.cjs.js +1 -1
  46. package/core/Float.d.ts +2 -1
  47. package/core/Float.js +1 -1
  48. package/core/FlyControls.d.ts +2 -2
  49. package/core/GizmoHelper.d.ts +2 -1
  50. package/core/GizmoViewport.d.ts +2 -2
  51. package/core/Gltf.d.ts +9 -5
  52. package/core/GradientTexture.d.ts +4 -4
  53. package/core/GradientTexture.js +0 -2
  54. package/core/Grid.d.ts +6 -7
  55. package/core/Helper.cjs.js +1 -1
  56. package/core/Helper.d.ts +1 -1
  57. package/core/Helper.js +1 -1
  58. package/core/Hud.d.ts +1 -2
  59. package/core/Image.d.ts +6 -8
  60. package/core/Instances.cjs.js +1 -1
  61. package/core/Instances.d.ts +27 -35
  62. package/core/Instances.js +35 -30
  63. package/core/Ktx2.d.ts +1 -1
  64. package/core/Lightformer.d.ts +3 -3
  65. package/core/Line.d.ts +4 -4
  66. package/core/MapControls.d.ts +4 -4
  67. package/core/MarchingCubes.d.ts +6 -6
  68. package/core/Mask.d.ts +3 -3
  69. package/core/MeshDiscardMaterial.d.ts +6 -7
  70. package/core/MeshDistortMaterial.cjs.js +1 -1
  71. package/core/MeshDistortMaterial.d.ts +15 -17
  72. package/core/MeshDistortMaterial.js +1 -1
  73. package/core/MeshPortalMaterial.cjs.js +1 -1
  74. package/core/MeshPortalMaterial.d.ts +14 -17
  75. package/core/MeshPortalMaterial.js +2 -2
  76. package/core/MeshReflectorMaterial.cjs.js +1 -1
  77. package/core/MeshReflectorMaterial.d.ts +9 -22
  78. package/core/MeshReflectorMaterial.js +2 -4
  79. package/core/MeshRefractionMaterial.cjs.js +1 -1
  80. package/core/MeshRefractionMaterial.d.ts +5 -8
  81. package/core/MeshRefractionMaterial.js +2 -2
  82. package/core/MeshTransmissionMaterial.cjs.js +1 -1
  83. package/core/MeshTransmissionMaterial.d.ts +7 -8
  84. package/core/MeshTransmissionMaterial.js +3 -2
  85. package/core/MeshWobbleMaterial.cjs.js +1 -1
  86. package/core/MeshWobbleMaterial.d.ts +15 -17
  87. package/core/MeshWobbleMaterial.js +1 -1
  88. package/core/MotionPathControls.cjs.js +1 -1
  89. package/core/MotionPathControls.d.ts +18 -6
  90. package/core/MotionPathControls.js +2 -3
  91. package/core/MultiMaterial.cjs.js +1 -1
  92. package/core/MultiMaterial.d.ts +3 -1
  93. package/core/MultiMaterial.js +2 -3
  94. package/core/OrbitControls.d.ts +4 -4
  95. package/core/OrthographicCamera.d.ts +3 -3
  96. package/core/Outlines.cjs.js +1 -1
  97. package/core/Outlines.d.ts +2 -3
  98. package/core/Outlines.js +2 -2
  99. package/core/PerformanceMonitor.d.ts +2 -2
  100. package/core/PerspectiveCamera.d.ts +3 -3
  101. package/core/PointMaterial.d.ts +3 -11
  102. package/core/PointerLockControls.d.ts +2 -2
  103. package/core/Points.cjs.js +1 -1
  104. package/core/Points.d.ts +10 -13
  105. package/core/Points.js +6 -16
  106. package/core/PositionalAudio.d.ts +3 -3
  107. package/core/Preload.d.ts +2 -3
  108. package/core/QuadraticBezierLine.d.ts +5 -7
  109. package/core/RenderCubeTexture.d.ts +2 -2
  110. package/core/RenderTexture.cjs.js +1 -1
  111. package/core/RenderTexture.d.ts +3 -3
  112. package/core/RenderTexture.js +3 -2
  113. package/core/Resize.d.ts +9 -2
  114. package/core/RoundedBox.d.ts +4 -4
  115. package/core/Sampler.d.ts +4 -4
  116. package/core/ScreenQuad.d.ts +3 -3
  117. package/core/ScreenSizer.d.ts +3 -3
  118. package/core/ScreenSpace.d.ts +3 -2
  119. package/core/Segments.d.ts +6 -8
  120. package/core/Shadow.d.ts +3 -3
  121. package/core/ShadowAlpha.cjs.js +1 -1
  122. package/core/ShadowAlpha.d.ts +1 -2
  123. package/core/ShadowAlpha.js +1 -1
  124. package/core/Sky.d.ts +2 -3
  125. package/core/Sparkles.d.ts +14 -16
  126. package/core/Splat.d.ts +6 -8
  127. package/core/SpotLight.d.ts +2 -1
  128. package/core/SpriteAnimator.cjs.js +1 -1
  129. package/core/SpriteAnimator.d.ts +36 -3
  130. package/core/Stage.cjs.js +1 -1
  131. package/core/Stage.d.ts +3 -2
  132. package/core/Stars.cjs.js +1 -1
  133. package/core/Stars.d.ts +6 -8
  134. package/core/Stars.js +2 -2
  135. package/core/Stats.d.ts +2 -3
  136. package/core/StatsGl.d.ts +2 -2
  137. package/core/Svg.d.ts +6 -6
  138. package/core/Text.d.ts +3 -4
  139. package/core/Text3D.d.ts +7 -10
  140. package/core/Texture.d.ts +1 -1
  141. package/core/TrackballControls.d.ts +4 -4
  142. package/core/Trail.cjs.js +1 -1
  143. package/core/Trail.d.ts +3 -3
  144. package/core/Trail.js +3 -3
  145. package/core/TrailTexture.d.ts +3 -2
  146. package/core/TransformControls.cjs.js +1 -1
  147. package/core/TransformControls.d.ts +3 -3
  148. package/core/TransformControls.js +4 -5
  149. package/core/VideoTexture.cjs.js +1 -1
  150. package/core/VideoTexture.js +1 -1
  151. package/core/Wireframe.d.ts +5 -7
  152. package/core/index.cjs.js +1 -1
  153. package/core/index.d.ts +0 -1
  154. package/core/index.js +1 -3
  155. package/core/shapes.d.ts +21 -20
  156. package/core/softShadows.d.ts +1 -2
  157. package/core/useAnimations.cjs.js +1 -1
  158. package/core/useAnimations.d.ts +2 -2
  159. package/core/useAnimations.js +1 -1
  160. package/core/useBoxProjectedEnv.d.ts +1 -1
  161. package/core/useCamera.cjs.js +1 -1
  162. package/core/useCamera.d.ts +1 -1
  163. package/core/useCamera.js +1 -8
  164. package/core/useContextBridge.d.ts +1 -1
  165. package/core/useEnvironment.cjs.js +1 -1
  166. package/core/useEnvironment.d.ts +3 -4
  167. package/core/useEnvironment.js +11 -19
  168. package/core/useIntersect.d.ts +1 -1
  169. package/core/useSpriteLoader.d.ts +1 -1
  170. package/helpers/deprecated.cjs.js +1 -1
  171. package/helpers/deprecated.d.ts +1 -4
  172. package/helpers/deprecated.js +2 -14
  173. package/helpers/ts-utils.d.ts +4 -0
  174. package/helpers/useEffectfulState.d.ts +1 -1
  175. package/index.cjs.js +1 -1
  176. package/index.js +0 -1
  177. package/materials/BlurPass.js +0 -1
  178. package/materials/MeshReflectorMaterial.d.ts +0 -16
  179. package/native/index.cjs.js +1 -1
  180. package/native/index.js +1 -3
  181. package/package.json +7 -8
  182. package/web/CycleRaycast.d.ts +1 -1
  183. package/web/FaceLandmarker.d.ts +1 -2
  184. package/web/Facemesh.d.ts +3 -2
  185. package/web/Html.cjs.js +1 -1
  186. package/web/Html.d.ts +4 -4
  187. package/web/Html.js +1 -1
  188. package/web/KeyboardControls.d.ts +1 -1
  189. package/web/PresentationControls.cjs.js +1 -1
  190. package/web/PresentationControls.d.ts +3 -4
  191. package/web/PresentationControls.js +20 -28
  192. package/web/ScrollControls.d.ts +1 -1
  193. package/web/Select.d.ts +3 -3
  194. package/web/Select.js +6 -2
  195. package/web/View.cjs.js +1 -1
  196. package/web/View.d.ts +8 -10
  197. package/web/View.js +4 -34
  198. package/web/index.cjs.js +1 -1
  199. package/web/index.js +0 -3
  200. package/web/pivotControls/AxisArrow.js +0 -2
  201. package/web/pivotControls/AxisRotator.js +0 -2
  202. package/web/pivotControls/PlaneSlider.js +0 -2
  203. package/web/pivotControls/ScalingSphere.js +0 -1
  204. package/web/pivotControls/index.d.ts +1 -2
  205. package/core/Reflector.cjs.js +0 -1
  206. package/core/Reflector.d.ts +0 -30
  207. package/core/Reflector.js +0 -180
package/core/Stage.d.ts CHANGED
@@ -4,6 +4,7 @@ import { ContactShadowsProps } from './ContactShadows';
4
4
  import { CenterProps } from './Center';
5
5
  import { AccumulativeShadowsProps, RandomizedLightProps } from './AccumulativeShadows';
6
6
  import { PresetsType } from '../helpers/environment-assets';
7
+ import { ThreeElements } from '@react-three/fiber';
7
8
  type StageShadows = Partial<AccumulativeShadowsProps> & Partial<RandomizedLightProps> & Partial<ContactShadowsProps> & {
8
9
  type: 'contact' | 'accumulative';
9
10
  offset?: number;
@@ -11,7 +12,7 @@ type StageShadows = Partial<AccumulativeShadowsProps> & Partial<RandomizedLightP
11
12
  normalBias?: number;
12
13
  size?: number;
13
14
  };
14
- type StageProps = {
15
+ export type StageProps = Omit<ThreeElements['group'], 'ref'> & {
15
16
  preset?: 'rembrandt' | 'portrait' | 'upfront' | 'soft' | {
16
17
  main: [x: number, y: number, z: number];
17
18
  fill: [x: number, y: number, z: number];
@@ -22,5 +23,5 @@ type StageProps = {
22
23
  intensity?: number;
23
24
  center?: Partial<CenterProps>;
24
25
  };
25
- export declare function Stage({ children, center, adjustCamera, intensity, shadows, environment, preset, ...props }: JSX.IntrinsicElements['group'] & StageProps): React.JSX.Element;
26
+ export declare function Stage({ children, center, adjustCamera, intensity, shadows, environment, preset, ...props }: StageProps): React.JSX.Element;
26
27
  export {};
package/core/Stars.cjs.js CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=require("@react-three/fiber"),r=require("three"),n=require("../helpers/constants.cjs.js");function a(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var o=a(e);class i extends r.ShaderMaterial{constructor(){super({uniforms:{time:{value:0},fade:{value:1}},vertexShader:"\n uniform float time;\n attribute float size;\n varying vec3 vColor;\n void main() {\n vColor = color;\n vec4 mvPosition = modelViewMatrix * vec4(position, 0.5);\n gl_PointSize = size * (30.0 / -mvPosition.z) * (3.0 + sin(time + 100.0));\n gl_Position = projectionMatrix * mvPosition;\n }",fragmentShader:`\n uniform sampler2D pointTexture;\n uniform float fade;\n varying vec3 vColor;\n void main() {\n float opacity = 1.0;\n if (fade == 1.0) {\n float d = distance(gl_PointCoord, vec2(0.5, 0.5));\n opacity = 1.0 / (1.0 + exp(16.0 * (d - 0.25)));\n }\n gl_FragColor = vec4(vColor, opacity);\n\n #include <tonemapping_fragment>\n\t #include <${n.version>=154?"colorspace_fragment":"encodings_fragment"}>\n }`})}}const c=e=>(new r.Vector3).setFromSpherical(new r.Spherical(e,Math.acos(1-2*Math.random()),2*Math.random()*Math.PI)),s=o.forwardRef((({radius:e=100,depth:n=50,count:a=5e3,saturation:s=0,factor:l=4,fade:u=!1,speed:f=1},m)=>{const d=o.useRef(),[p,v,g]=o.useMemo((()=>{const t=[],o=[],i=Array.from({length:a},(()=>(.5+.5*Math.random())*l)),u=new r.Color;let f=e+n;const m=n/a;for(let e=0;e<a;e++)f-=m*Math.random(),t.push(...c(f).toArray()),u.setHSL(e/a,s,.9),o.push(u.r,u.g,u.b);return[new Float32Array(t),new Float32Array(o),new Float32Array(i)]}),[a,n,l,e,s]);t.useFrame((e=>d.current&&(d.current.uniforms.time.value=e.clock.getElapsedTime()*f)));const[h]=o.useState((()=>new i));return o.createElement("points",{ref:m},o.createElement("bufferGeometry",null,o.createElement("bufferAttribute",{attach:"attributes-position",args:[p,3]}),o.createElement("bufferAttribute",{attach:"attributes-color",args:[v,3]}),o.createElement("bufferAttribute",{attach:"attributes-size",args:[g,1]})),o.createElement("primitive",{ref:d,object:h,attach:"material",blending:r.AdditiveBlending,"uniforms-fade-value":u,depthWrite:!1,transparent:!0,vertexColors:!0}))}));exports.Stars=s;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=require("@react-three/fiber"),r=require("three"),n=require("../helpers/constants.cjs.js");function a(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var o=a(e);class i extends r.ShaderMaterial{constructor(){super({uniforms:{time:{value:0},fade:{value:1}},vertexShader:"\n uniform float time;\n attribute float size;\n varying vec3 vColor;\n void main() {\n vColor = color;\n vec4 mvPosition = modelViewMatrix * vec4(position, 0.5);\n gl_PointSize = size * (30.0 / -mvPosition.z) * (3.0 + sin(time + 100.0));\n gl_Position = projectionMatrix * mvPosition;\n }",fragmentShader:`\n uniform sampler2D pointTexture;\n uniform float fade;\n varying vec3 vColor;\n void main() {\n float opacity = 1.0;\n if (fade == 1.0) {\n float d = distance(gl_PointCoord, vec2(0.5, 0.5));\n opacity = 1.0 / (1.0 + exp(16.0 * (d - 0.25)));\n }\n gl_FragColor = vec4(vColor, opacity);\n\n #include <tonemapping_fragment>\n\t #include <${n.version>=154?"colorspace_fragment":"encodings_fragment"}>\n }`})}}const c=e=>(new r.Vector3).setFromSpherical(new r.Spherical(e,Math.acos(1-2*Math.random()),2*Math.random()*Math.PI)),s=o.forwardRef((({radius:e=100,depth:n=50,count:a=5e3,saturation:s=0,factor:l=4,fade:u=!1,speed:f=1},m)=>{const d=o.useRef(null),[p,v,h]=o.useMemo((()=>{const t=[],o=[],i=Array.from({length:a},(()=>(.5+.5*Math.random())*l)),u=new r.Color;let f=e+n;const m=n/a;for(let e=0;e<a;e++)f-=m*Math.random(),t.push(...c(f).toArray()),u.setHSL(e/a,s,.9),o.push(u.r,u.g,u.b);return[new Float32Array(t),new Float32Array(o),new Float32Array(i)]}),[a,n,l,e,s]);t.useFrame((e=>d.current&&(d.current.uniforms.time.value=e.clock.elapsedTime*f)));const[g]=o.useState((()=>new i));return o.createElement("points",{ref:m},o.createElement("bufferGeometry",null,o.createElement("bufferAttribute",{attach:"attributes-position",args:[p,3]}),o.createElement("bufferAttribute",{attach:"attributes-color",args:[v,3]}),o.createElement("bufferAttribute",{attach:"attributes-size",args:[h,1]})),o.createElement("primitive",{ref:d,object:g,attach:"material",blending:r.AdditiveBlending,"uniforms-fade-value":u,depthWrite:!1,transparent:!0,vertexColors:!0}))}));exports.Stars=s;
package/core/Stars.d.ts CHANGED
@@ -1,7 +1,7 @@
1
- import { ReactThreeFiber } from '@react-three/fiber';
1
+ import { ThreeElement } from '@react-three/fiber';
2
2
  import { Points, ShaderMaterial } from 'three';
3
3
  import { ForwardRefComponent } from '../helpers/ts-utils';
4
- type Props = {
4
+ export type StarsProps = {
5
5
  radius?: number;
6
6
  depth?: number;
7
7
  count?: number;
@@ -13,12 +13,10 @@ type Props = {
13
13
  declare class StarfieldMaterial extends ShaderMaterial {
14
14
  constructor();
15
15
  }
16
- declare global {
17
- namespace JSX {
18
- interface IntrinsicElements {
19
- starfieldMaterial: ReactThreeFiber.MaterialNode<StarfieldMaterial, []>;
20
- }
16
+ declare module '@react-three/fiber' {
17
+ interface ThreeElements {
18
+ starfieldMaterial: ThreeElement<typeof StarfieldMaterial>;
21
19
  }
22
20
  }
23
- export declare const Stars: ForwardRefComponent<Props, Points>;
21
+ export declare const Stars: ForwardRefComponent<StarsProps, Points>;
24
22
  export {};
package/core/Stars.js CHANGED
@@ -54,7 +54,7 @@ const Stars = /* @__PURE__ */React.forwardRef(({
54
54
  fade = false,
55
55
  speed = 1
56
56
  }, ref) => {
57
- const material = React.useRef();
57
+ const material = React.useRef(null);
58
58
  const [position, color, size] = React.useMemo(() => {
59
59
  const positions = [];
60
60
  const colors = [];
@@ -72,7 +72,7 @@ const Stars = /* @__PURE__ */React.forwardRef(({
72
72
  }
73
73
  return [new Float32Array(positions), new Float32Array(colors), new Float32Array(sizes)];
74
74
  }, [count, depth, factor, radius, saturation]);
75
- useFrame(state => material.current && (material.current.uniforms.time.value = state.clock.getElapsedTime() * speed));
75
+ useFrame(state => material.current && (material.current.uniforms.time.value = state.clock.elapsedTime * speed));
76
76
  const [starfieldMaterial] = React.useState(() => new StarfieldMaterial());
77
77
  return /*#__PURE__*/React.createElement("points", {
78
78
  ref: ref
package/core/Stats.d.ts CHANGED
@@ -1,8 +1,7 @@
1
1
  import * as React from 'react';
2
- type Props = {
2
+ export type StatsProps = {
3
3
  showPanel?: number;
4
4
  className?: string;
5
5
  parent?: React.RefObject<HTMLElement>;
6
6
  };
7
- export declare function Stats({ showPanel, className, parent }: Props): null;
8
- export {};
7
+ export declare function Stats({ showPanel, className, parent }: StatsProps): null;
package/core/StatsGl.d.ts CHANGED
@@ -2,7 +2,7 @@ import { ForwardRefComponent } from '../helpers/ts-utils';
2
2
  import * as React from 'react';
3
3
  import Stats from 'stats-gl';
4
4
  type StatsOptions = ConstructorParameters<typeof Stats>[0];
5
- type Props = Partial<StatsOptions> & {
5
+ export type StatsGlProps = Partial<StatsOptions> & {
6
6
  id?: string;
7
7
  clearStatsGlStyle?: boolean;
8
8
  showPanel?: number;
@@ -10,5 +10,5 @@ type Props = Partial<StatsOptions> & {
10
10
  parent?: React.RefObject<HTMLElement>;
11
11
  ref?: React.RefObject<HTMLElement>;
12
12
  };
13
- export declare const StatsGl: ForwardRefComponent<Props, HTMLDivElement>;
13
+ export declare const StatsGl: ForwardRefComponent<StatsGlProps, HTMLDivElement>;
14
14
  export {};
package/core/Svg.d.ts CHANGED
@@ -1,13 +1,13 @@
1
- import { MeshBasicMaterialProps, MeshProps, Object3DProps } from '@react-three/fiber';
1
+ import { ThreeElements } from '@react-three/fiber';
2
2
  import { Object3D } from 'three';
3
3
  import { ForwardRefComponent } from '../helpers/ts-utils';
4
- export interface SvgProps extends Omit<Object3DProps, 'ref'> {
4
+ export interface SvgProps extends Omit<ThreeElements['object3D'], 'ref'> {
5
5
  src: string;
6
6
  skipFill?: boolean;
7
7
  skipStrokes?: boolean;
8
- fillMaterial?: MeshBasicMaterialProps;
9
- strokeMaterial?: MeshBasicMaterialProps;
10
- fillMeshProps?: MeshProps;
11
- strokeMeshProps?: MeshProps;
8
+ fillMaterial?: ThreeElements['meshBasicMaterial'];
9
+ strokeMaterial?: ThreeElements['meshBasicMaterial'];
10
+ fillMeshProps?: ThreeElements['mesh'];
11
+ strokeMeshProps?: ThreeElements['mesh'];
12
12
  }
13
13
  export declare const Svg: ForwardRefComponent<SvgProps, Object3D>;
package/core/Text.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import * as React from 'react';
2
- import { ReactThreeFiber } from '@react-three/fiber';
2
+ import { ReactThreeFiber, ThreeElements } from '@react-three/fiber';
3
3
  import { ForwardRefComponent } from '../helpers/ts-utils';
4
- type Props = JSX.IntrinsicElements['mesh'] & {
4
+ export type TextProps = Omit<ThreeElements['mesh'], 'ref'> & {
5
5
  children: React.ReactNode;
6
6
  characters?: string;
7
7
  color?: ReactThreeFiber.Color;
@@ -35,5 +35,4 @@ type Props = JSX.IntrinsicElements['mesh'] & {
35
35
  glyphGeometryDetail?: number;
36
36
  onSync?: (troika: any) => void;
37
37
  };
38
- export declare const Text: ForwardRefComponent<Props, any>;
39
- export {};
38
+ export declare const Text: ForwardRefComponent<TextProps, any>;
package/core/Text3D.d.ts CHANGED
@@ -1,23 +1,20 @@
1
1
  import * as React from 'react';
2
2
  import * as THREE from 'three';
3
- import { MeshProps, Node } from '@react-three/fiber';
4
- import { TextGeometryParameters } from 'three-stdlib';
3
+ import { ThreeElement, ThreeElements } from '@react-three/fiber';
4
+ import { TextGeometry, TextGeometryParameters } from 'three-stdlib';
5
5
  import { FontData } from './useFont';
6
6
  import { ForwardRefComponent } from '../helpers/ts-utils';
7
- declare global {
8
- namespace JSX {
9
- interface IntrinsicElements {
10
- renamedTextGeometry: Node<any, any>;
11
- }
7
+ declare module '@react-three/fiber' {
8
+ interface ThreeElements {
9
+ renamedTextGeometry: ThreeElement<typeof TextGeometry>;
12
10
  }
13
11
  }
14
- type Text3DProps = {
12
+ export type Text3DProps = Omit<ThreeElements['mesh'], 'ref'> & {
15
13
  font: FontData | string;
16
14
  bevelSegments?: number;
17
15
  smooth?: number;
18
- } & Omit<TextGeometryParameters, 'font'> & MeshProps;
16
+ } & Omit<TextGeometryParameters, 'font'>;
19
17
  export declare const Text3D: ForwardRefComponent<React.PropsWithChildren<Text3DProps & {
20
18
  letterSpacing?: number;
21
19
  lineHeight?: number;
22
20
  }>, THREE.Mesh>;
23
- export {};
package/core/Texture.d.ts CHANGED
@@ -9,7 +9,7 @@ type SingleTexture<T> = T extends string ? _Texture : never;
9
9
  export type MappedTextureType<T extends string[] | string | Record<string, string>> = TextureArray<T> | TextureRecord<T> | SingleTexture<T>;
10
10
  export declare function useTexture<Url extends string[] | string | Record<string, string>>(input: Url, onLoad?: (texture: MappedTextureType<Url>) => void): MappedTextureType<Url>;
11
11
  export declare namespace useTexture {
12
- var preload: (url: string | string[]) => undefined;
12
+ var preload: (url: string | string[]) => void;
13
13
  var clear: (input: string | string[]) => void;
14
14
  }
15
15
  export declare const Texture: ({ children, input, onLoad, }: {
@@ -1,8 +1,8 @@
1
- import { ReactThreeFiber } from '@react-three/fiber';
1
+ import { ReactThreeFiber, ThreeElement } from '@react-three/fiber';
2
2
  import * as THREE from 'three';
3
3
  import { TrackballControls as TrackballControlsImpl } from 'three-stdlib';
4
- import { ForwardRefComponent } from '../helpers/ts-utils';
5
- export type TrackballControlsProps = ReactThreeFiber.Overwrite<ReactThreeFiber.Object3DNode<TrackballControlsImpl, typeof TrackballControlsImpl>, {
4
+ import { ForwardRefComponent, Overwrite } from '../helpers/ts-utils';
5
+ export type TrackballControlsProps = Omit<Overwrite<ThreeElement<typeof TrackballControlsImpl>, {
6
6
  target?: ReactThreeFiber.Vector3;
7
7
  camera?: THREE.Camera;
8
8
  domElement?: HTMLElement;
@@ -11,5 +11,5 @@ export type TrackballControlsProps = ReactThreeFiber.Overwrite<ReactThreeFiber.O
11
11
  onChange?: (e?: THREE.Event) => void;
12
12
  onStart?: (e?: THREE.Event) => void;
13
13
  onEnd?: (e?: THREE.Event) => void;
14
- }>;
14
+ }>, 'ref' | 'args'>;
15
15
  export declare const TrackballControls: ForwardRefComponent<TrackballControlsProps, TrackballControlsImpl>;
package/core/Trail.cjs.js CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@react-three/fiber"),t=require("react"),r=require("three"),n=require("meshline");function o(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var i=o(t);const s={width:.2,length:1,decay:1,local:!1,stride:0,interval:1},c=(e,t=1)=>(e.set(e.subarray(t)),e.fill(-1/0,-t),e);function u(t,n){const{length:o,local:u,decay:l,interval:a,stride:f}={...s,...n},h=i.useRef(),[d]=i.useState((()=>new r.Vector3));i.useLayoutEffect((()=>{t&&(h.current=Float32Array.from({length:10*o*3},((e,r)=>t.position.getComponent(r%3))))}),[o,t]);const p=i.useRef(new r.Vector3),y=i.useRef(0);return e.useFrame((()=>{if(t&&h.current){if(0===y.current){let e;u?e=t.position:(t.getWorldPosition(d),e=d);const r=1*l;for(let t=0;t<r;t++)e.distanceTo(p.current)<f||(c(h.current,3),h.current.set(e.toArray(),h.current.length-3));p.current.copy(e)}y.current++,y.current=y.current%a}})),h}const l=i.forwardRef(((t,o)=>{const{children:c}=t,{width:l,length:a,decay:f,local:h,stride:d,interval:p}={...s,...t},{color:y="hotpink",attenuation:g,target:m}=t,v=e.useThree((e=>e.size)),b=e.useThree((e=>e.scene)),w=i.useRef(null),[M,j]=i.useState(null),O=u(M,{length:a,decay:f,local:h,stride:d,interval:p});i.useEffect((()=>{const e=(null==m?void 0:m.current)||w.current.children.find((e=>e instanceof r.Object3D));e&&j(e)}),[O,m]);const E=i.useMemo((()=>new n.MeshLineGeometry),[]),P=i.useMemo((()=>{var e;const t=new n.MeshLineMaterial({lineWidth:.1*l,color:y,sizeAttenuation:1,resolution:new r.Vector2(v.width,v.height)});let o;if(c)if(Array.isArray(c))o=c.find((e=>{const t=e;return"string"==typeof t.type&&"meshLineMaterial"===t.type}));else{const e=c;"string"==typeof e.type&&"meshLineMaterial"===e.type&&(o=e)}return"object"==typeof(null==(e=o)?void 0:e.props)&&t.setValues(o.props),t}),[l,y,v,c]);return i.useEffect((()=>{P.uniforms.resolution.value.set(v.width,v.height)}),[v]),e.useFrame((()=>{O.current&&E.setPoints(O.current,g)})),i.createElement("group",null,e.createPortal(i.createElement("mesh",{ref:o,geometry:E,material:P}),b),i.createElement("group",{ref:w},c))}));exports.Trail=l,exports.useTrail=u;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@react-three/fiber"),t=require("react"),r=require("three"),n=require("meshline");function o(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var i=o(t);const u={width:.2,length:1,decay:1,local:!1,stride:0,interval:1},s=(e,t=1)=>(e.set(e.subarray(t)),e.fill(-1/0,-t),e);function c(t,n){const{length:o,local:c,decay:l,interval:a,stride:f}={...u,...n},d=i.useRef(null),[h]=i.useState((()=>new r.Vector3));i.useLayoutEffect((()=>{t&&(d.current=Float32Array.from({length:10*o*3},((e,r)=>t.position.getComponent(r%3))))}),[o,t]);const p=i.useRef(new r.Vector3),y=i.useRef(0);return e.useFrame((()=>{if(t&&d.current){if(0===y.current){let e;c?e=t.position:(t.getWorldPosition(h),e=h);const r=1*l;for(let t=0;t<r;t++)e.distanceTo(p.current)<f||(s(d.current,3),d.current.set(e.toArray(),d.current.length-3));p.current.copy(e)}y.current++,y.current=y.current%a}})),d}const l=i.forwardRef(((t,o)=>{const{children:s}=t,{width:l,length:a,decay:f,local:d,stride:h,interval:p}={...u,...t},{color:y="hotpink",attenuation:g,target:m}=t,v=e.useThree((e=>e.size)),b=e.useThree((e=>e.scene)),w=i.useRef(null),[M,j]=i.useState(null),O=c(M,{length:a,decay:f,local:d,stride:h,interval:p});i.useEffect((()=>{const e=(null==m?void 0:m.current)||w.current.children.find((e=>e instanceof r.Object3D));e&&j(e)}),[O,m]);const E=i.useMemo((()=>new n.MeshLineGeometry),[]),P=i.useMemo((()=>{var e,t;const o=new n.MeshLineMaterial({lineWidth:.1*l,color:y,sizeAttenuation:1,resolution:new r.Vector2(v.width,v.height)});let i;if(s)if(Array.isArray(s))i=s.find((e=>{const t=e;return"string"==typeof t.type&&"meshLineMaterial"===t.type}));else{const e=s;"string"==typeof e.type&&"meshLineMaterial"===e.type&&(i=e)}return"object"==typeof(null==(e=i)?void 0:e.props)&&null!==(null==(t=i)?void 0:t.props)&&o.setValues(i.props),o}),[l,y,v,s]);return i.useEffect((()=>{P.uniforms.resolution.value.set(v.width,v.height)}),[v]),e.useFrame((()=>{O.current&&E.setPoints(O.current,g)})),i.createElement("group",null,e.createPortal(i.createElement("mesh",{ref:o,geometry:E,material:P}),b),i.createElement("group",{ref:w},s))}));exports.Trail=l,exports.useTrail=c;
package/core/Trail.d.ts CHANGED
@@ -10,12 +10,12 @@ type Settings = {
10
10
  stride: number;
11
11
  interval: number;
12
12
  };
13
- type TrailProps = {
13
+ export type TrailProps = {
14
14
  color?: ColorRepresentation;
15
15
  attenuation?: (width: number) => number;
16
- target?: React.MutableRefObject<Object3D>;
16
+ target?: React.RefObject<Object3D>;
17
17
  } & Partial<Settings>;
18
- export declare function useTrail(target: Object3D, settings: Partial<Settings>): React.MutableRefObject<Float32Array | undefined>;
18
+ export declare function useTrail(target: Object3D, settings: Partial<Settings>): React.RefObject<Float32Array | null>;
19
19
  export type MeshLineGeometry = Mesh & MeshLineGeometryImpl;
20
20
  export declare const Trail: ForwardRefComponent<React.PropsWithChildren<TrailProps>, MeshLineGeometry>;
21
21
  export {};
package/core/Trail.js CHANGED
@@ -27,7 +27,7 @@ function useTrail(target, settings) {
27
27
  ...defaults,
28
28
  ...settings
29
29
  };
30
- const points = React.useRef();
30
+ const points = React.useRef(null);
31
31
  const [worldPosition] = React.useState(() => new Vector3());
32
32
  React.useLayoutEffect(() => {
33
33
  if (target) {
@@ -103,7 +103,7 @@ const Trail = /* @__PURE__ */React.forwardRef((props, forwardRef) => {
103
103
  }, [points, target]);
104
104
  const geo = React.useMemo(() => new MeshLineGeometry(), []);
105
105
  const mat = React.useMemo(() => {
106
- var _matOverride;
106
+ var _matOverride, _matOverride2;
107
107
  const m = new MeshLineMaterial({
108
108
  lineWidth: 0.1 * width,
109
109
  color: color,
@@ -126,7 +126,7 @@ const Trail = /* @__PURE__ */React.forwardRef((props, forwardRef) => {
126
126
  }
127
127
  }
128
128
  }
129
- if (typeof ((_matOverride = matOverride) == null ? void 0 : _matOverride.props) === 'object') {
129
+ if (typeof ((_matOverride = matOverride) == null ? void 0 : _matOverride.props) === 'object' && ((_matOverride2 = matOverride) == null ? void 0 : _matOverride2.props) !== null) {
130
130
  m.setValues(matOverride.props);
131
131
  }
132
132
  return m;
@@ -12,7 +12,8 @@ type TrailConfig = {
12
12
  ease?: (t: number) => number;
13
13
  };
14
14
  export declare function useTrailTexture(config?: Partial<TrailConfig>): [Texture, (ThreeEvent: any) => void];
15
- export declare const TrailTexture: ({ children, ...config }: {
15
+ export type TrailTextureProps = {
16
16
  children?: (texture: ReturnType<typeof useTrailTexture>) => React.ReactNode;
17
- } & TrailConfig) => React.JSX.Element;
17
+ } & TrailConfig;
18
+ export declare const TrailTexture: ({ children, ...config }: TrailTextureProps) => React.JSX.Element;
18
19
  export {};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/extends"),t=require("@react-three/fiber"),r=require("react"),n=require("three"),o=require("three-stdlib");function u(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function s(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var a=u(e),c=s(r),i=s(n);const f=c.forwardRef((({children:e,domElement:r,onChange:n,onMouseDown:u,onMouseUp:s,onObjectChange:f,object:l,makeDefault:d,camera:h,enabled:m,axis:v,mode:E,translationSnap:b,rotationSnap:g,scaleSnap:p,space:L,size:j,showX:w,showY:y,showZ:O,...T},D)=>{const C=t.useThree((e=>e.controls)),R=t.useThree((e=>e.gl)),S=t.useThree((e=>e.events)),q=t.useThree((e=>e.camera)),x=t.useThree((e=>e.invalidate)),M=t.useThree((e=>e.get)),_=t.useThree((e=>e.set)),z=h||q,P=r||S.connected||R.domElement,U=c.useMemo((()=>new o.TransformControls(z,P)),[z,P]),k=c.useRef(null);c.useLayoutEffect((()=>(l?U.attach(l instanceof i.Object3D?l:l.current):k.current instanceof i.Object3D&&U.attach(k.current),()=>{U.detach()})),[l,e,U]),c.useEffect((()=>{if(C){const e=e=>C.enabled=!e.value;return U.addEventListener("dragging-changed",e),()=>U.removeEventListener("dragging-changed",e)}}),[U,C]);const X=c.useRef(),Y=c.useRef(),Z=c.useRef(),F=c.useRef();return c.useLayoutEffect((()=>{X.current=n}),[n]),c.useLayoutEffect((()=>{Y.current=u}),[u]),c.useLayoutEffect((()=>{Z.current=s}),[s]),c.useLayoutEffect((()=>{F.current=f}),[f]),c.useEffect((()=>{const e=e=>{x(),null==X.current||X.current(e)},t=e=>null==Y.current?void 0:Y.current(e),r=e=>null==Z.current?void 0:Z.current(e),n=e=>null==F.current?void 0:F.current(e);return U.addEventListener("change",e),U.addEventListener("mouseDown",t),U.addEventListener("mouseUp",r),U.addEventListener("objectChange",n),()=>{U.removeEventListener("change",e),U.removeEventListener("mouseDown",t),U.removeEventListener("mouseUp",r),U.removeEventListener("objectChange",n)}}),[x,U]),c.useEffect((()=>{if(d){const e=M().controls;return _({controls:U}),()=>_({controls:e})}}),[d,U]),c.createElement(c.Fragment,null,c.createElement("primitive",{ref:D,object:U,enabled:m,axis:v,mode:E,translationSnap:b,rotationSnap:g,scaleSnap:p,space:L,size:j,showX:w,showY:y,showZ:O}),c.createElement("group",a.default({ref:k},T),e))}));exports.TransformControls=f;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/extends"),t=require("@react-three/fiber"),r=require("react"),n=require("three"),o=require("three-stdlib");function u(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function s(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var a=u(e),c=s(r),i=s(n);const f=c.forwardRef((({children:e,domElement:r,onChange:n,onMouseDown:u,onMouseUp:s,onObjectChange:f,object:l,makeDefault:d,camera:v,enabled:h,axis:m,mode:E,translationSnap:b,rotationSnap:g,scaleSnap:p,space:L,size:j,showX:w,showY:y,showZ:O,...T},D)=>{const C=t.useThree((e=>e.controls)),R=t.useThree((e=>e.gl)),S=t.useThree((e=>e.events)),q=t.useThree((e=>e.camera)),x=t.useThree((e=>e.invalidate)),M=t.useThree((e=>e.get)),_=t.useThree((e=>e.set)),z=v||q,P=r||S.connected||R.domElement,U=c.useMemo((()=>new o.TransformControls(z,P)),[z,P]),k=c.useRef(null);c.useLayoutEffect((()=>(l?U.attach(l instanceof i.Object3D?l:l.current):k.current instanceof i.Object3D&&U.attach(k.current),()=>{U.detach()})),[l,e,U]),c.useEffect((()=>{if(C){const e=e=>C.enabled=!e.value;return U.addEventListener("dragging-changed",e),()=>U.removeEventListener("dragging-changed",e)}}),[U,C]);const X=c.useRef(void 0),Y=c.useRef(void 0),Z=c.useRef(void 0),F=c.useRef(void 0);return c.useLayoutEffect((()=>{X.current=n}),[n]),c.useLayoutEffect((()=>{Y.current=u}),[u]),c.useLayoutEffect((()=>{Z.current=s}),[s]),c.useLayoutEffect((()=>{F.current=f}),[f]),c.useEffect((()=>{const e=e=>{x(),null==X.current||X.current(e)},t=e=>null==Y.current?void 0:Y.current(e),r=e=>null==Z.current?void 0:Z.current(e),n=e=>null==F.current?void 0:F.current(e);return U.addEventListener("change",e),U.addEventListener("mouseDown",t),U.addEventListener("mouseUp",r),U.addEventListener("objectChange",n),()=>{U.removeEventListener("change",e),U.removeEventListener("mouseDown",t),U.removeEventListener("mouseUp",r),U.removeEventListener("objectChange",n)}}),[x,U]),c.useEffect((()=>{if(d){const e=M().controls;return _({controls:U}),()=>_({controls:e})}}),[d,U]),c.createElement(c.Fragment,null,c.createElement("primitive",{ref:D,object:U,enabled:h,axis:m,mode:E,translationSnap:b,rotationSnap:g,scaleSnap:p,space:L,size:j,showX:w,showY:y,showZ:O}),c.createElement("group",a.default({ref:k},T),e))}));exports.TransformControls=f;
@@ -1,10 +1,10 @@
1
- import { ReactThreeFiber } from '@react-three/fiber';
1
+ import { ThreeElement, ThreeElements } from '@react-three/fiber';
2
2
  import * as React from 'react';
3
3
  import * as THREE from 'three';
4
4
  import { TransformControls as TransformControlsImpl } from 'three-stdlib';
5
5
  import { ForwardRefComponent } from '../helpers/ts-utils';
6
- export type TransformControlsProps = ReactThreeFiber.Object3DNode<TransformControlsImpl, typeof TransformControlsImpl> & JSX.IntrinsicElements['group'] & {
7
- object?: THREE.Object3D | React.MutableRefObject<THREE.Object3D>;
6
+ export type TransformControlsProps = Omit<ThreeElement<typeof TransformControlsImpl>, 'ref' | 'args'> & Omit<ThreeElements['group'], 'ref'> & {
7
+ object?: THREE.Object3D | React.RefObject<THREE.Object3D>;
8
8
  enabled?: boolean;
9
9
  axis?: string | null;
10
10
  domElement?: HTMLElement;
@@ -28,7 +28,6 @@ const TransformControls = /* @__PURE__ */React.forwardRef(({
28
28
  showZ,
29
29
  ...props
30
30
  }, ref) => {
31
- // @ts-expect-error new in @react-three/fiber@7.0.5
32
31
  const defaultControls = useThree(state => state.controls);
33
32
  const gl = useThree(state => state.gl);
34
33
  const events = useThree(state => state.events);
@@ -55,10 +54,10 @@ const TransformControls = /* @__PURE__ */React.forwardRef(({
55
54
  return () => controls.removeEventListener('dragging-changed', callback);
56
55
  }
57
56
  }, [controls, defaultControls]);
58
- const onChangeRef = React.useRef();
59
- const onMouseDownRef = React.useRef();
60
- const onMouseUpRef = React.useRef();
61
- const onObjectChangeRef = React.useRef();
57
+ const onChangeRef = React.useRef(undefined);
58
+ const onMouseDownRef = React.useRef(undefined);
59
+ const onMouseUpRef = React.useRef(undefined);
60
+ const onObjectChangeRef = React.useRef(undefined);
62
61
  React.useLayoutEffect(() => void (onChangeRef.current = onChange), [onChange]);
63
62
  React.useLayoutEffect(() => void (onMouseDownRef.current = onMouseDown), [onMouseDown]);
64
63
  React.useLayoutEffect(() => void (onMouseUpRef.current = onMouseUp), [onMouseUp]);
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=require("three"),r=require("@react-three/fiber"),n=require("suspend-react"),o=require("hls.js");function u(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var s=u(e),c=u(t);const a=((e,t)=>"undefined"!=typeof window&&"function"==typeof(null==(e=window.document)?void 0:e.createElement)&&"string"==typeof(null==(t=window.navigator)?void 0:t.userAgent))();let i=null;function l(t,{unsuspend:s="loadedmetadata",start:l=!0,hls:d={},crossOrigin:p="anonymous",muted:m=!0,loop:v=!0,playsInline:g=!0,onVideoFrame:y,...b}={}){const w=r.useThree((e=>e.gl)),E=e.useRef(null),h=n.suspend((()=>new Promise((async e=>{let r,n;"string"==typeof t?r=t:n=t;const l=Object.assign(document.createElement("video"),{src:r,srcObject:n,crossOrigin:p,loop:v,muted:m,playsInline:g,...b});if(r&&a&&r.endsWith(".m3u8")){const e=E.current=await async function(...e){var t;null!==(t=i)&&void 0!==t||(i=await Promise.resolve().then((function(){return u(require("hls.js"))})));const r=i.default;return r.isSupported()?new r(...e):null}(d);e&&(e.on(o.Events.MEDIA_ATTACHED,(()=>{e.loadSource(r)})),e.attachMedia(l))}const f=new c.VideoTexture(l);"colorSpace"in f?f.colorSpace=w.outputColorSpace:f.encoding=w.outputEncoding,l.addEventListener(s,(()=>e(f)))}))),[t]),O=h.source.data;return f(O,y),e.useEffect((()=>(l&&h.image.play(),()=>{E.current&&(E.current.destroy(),E.current=null)})),[h,l]),h}const d=e.forwardRef((({children:t,src:r,...n},o)=>{const u=l(r,n);return e.useEffect((()=>()=>{u.dispose()}),[u]),e.useImperativeHandle(o,(()=>u),[u]),s.createElement(s.Fragment,null,null==t?void 0:t(u))})),f=(t,r)=>{e.useEffect((()=>{if(!r)return;if(!t.requestVideoFrameCallback)return;let e;const n=(...o)=>{r(...o),e=t.requestVideoFrameCallback(n)};return t.requestVideoFrameCallback(n),()=>t.cancelVideoFrameCallback(e)}),[t,r])};exports.VideoTexture=d,exports.useVideoTexture=l;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),r=require("three"),t=require("@react-three/fiber"),n=require("suspend-react"),o=require("hls.js");function u(e){if(e&&e.__esModule)return e;var r=Object.create(null);return e&&Object.keys(e).forEach((function(t){if("default"!==t){var n=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,n.get?n:{enumerable:!0,get:function(){return e[t]}})}})),r.default=e,Object.freeze(r)}var s=u(e),a=u(r);const c=((e,r)=>"undefined"!=typeof window&&"function"==typeof(null==(e=window.document)?void 0:e.createElement)&&"string"==typeof(null==(r=window.navigator)?void 0:r.userAgent))();let i=null;function l(r,{unsuspend:s="loadedmetadata",start:l=!0,hls:d={},crossOrigin:p="anonymous",muted:m=!0,loop:v=!0,playsInline:y=!0,onVideoFrame:b,...g}={}){const w=t.useThree((e=>e.gl)),h=e.useRef(null),E=n.suspend((()=>new Promise((async e=>{let t,n;"string"==typeof r?t=r:n=r;const l=Object.assign(document.createElement("video"),{src:t,srcObject:n,crossOrigin:p,loop:v,muted:m,playsInline:y,...g});if(t&&c&&t.endsWith(".m3u8")){const e=h.current=await async function(...e){var r;null!==(r=i)&&void 0!==r||(i=await Promise.resolve().then((function(){return u(require("hls.js"))})));const t=i.default;return t.isSupported()?new t(...e):null}(d);e&&(e.on(o.Events.MEDIA_ATTACHED,(()=>{e.loadSource(t)})),e.attachMedia(l))}const f=new a.VideoTexture(l);f.colorSpace=w.outputColorSpace,l.addEventListener(s,(()=>e(f)))}))),[r]),O=E.source.data;return f(O,b),e.useEffect((()=>(l&&E.image.play(),()=>{h.current&&(h.current.destroy(),h.current=null)})),[E,l]),E}const d=e.forwardRef((({children:r,src:t,...n},o)=>{const u=l(t,n);return e.useEffect((()=>()=>{u.dispose()}),[u]),e.useImperativeHandle(o,(()=>u),[u]),s.createElement(s.Fragment,null,null==r?void 0:r(u))})),f=(r,t)=>{e.useEffect((()=>{if(!t)return;if(!r.requestVideoFrameCallback)return;let e;const n=(...o)=>{t(...o),e=r.requestVideoFrameCallback(n)};return r.requestVideoFrameCallback(n),()=>r.cancelVideoFrameCallback(e)}),[r,t])};exports.VideoTexture=d,exports.useVideoTexture=l;
@@ -57,7 +57,7 @@ function useVideoTexture(srcOrSrcObject, {
57
57
  }
58
58
  }
59
59
  const texture = new THREE.VideoTexture(video);
60
- if ('colorSpace' in texture) texture.colorSpace = gl.outputColorSpace;else texture.encoding = gl.outputEncoding;
60
+ texture.colorSpace = gl.outputColorSpace;
61
61
  video.addEventListener(unsuspend, () => res(texture));
62
62
  }), [srcOrSrcObject]);
63
63
  const video = texture.source.data;
@@ -1,12 +1,10 @@
1
1
  import * as React from 'react';
2
2
  import * as THREE from 'three';
3
- import { MaterialNode } from '@react-three/fiber';
4
- import { WireframeMaterialProps } from '../materials/WireframeMaterial';
5
- declare global {
6
- namespace JSX {
7
- interface IntrinsicElements {
8
- meshWireframeMaterial: MaterialNode<THREE.ShaderMaterial, WireframeMaterialProps>;
9
- }
3
+ import { ThreeElement } from '@react-three/fiber';
4
+ import { WireframeMaterial, WireframeMaterialProps } from '../materials/WireframeMaterial';
5
+ declare module '@react-three/fiber' {
6
+ interface ThreeElements {
7
+ meshWireframeMaterial: ThreeElement<typeof WireframeMaterial>;
10
8
  }
11
9
  }
12
10
  interface WireframeProps {
package/core/index.cjs.js CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./Billboard.cjs.js"),r=require("./ScreenSpace.cjs.js"),s=require("./ScreenSizer.cjs.js"),t=require("./QuadraticBezierLine.cjs.js"),o=require("./CubicBezierLine.cjs.js"),i=require("./CatmullRomLine.cjs.js"),a=require("./Line.cjs.js"),u=require("./PositionalAudio.cjs.js"),c=require("./Text.cjs.js"),n=require("./Text3D.cjs.js"),p=require("./Effects.cjs.js"),j=require("./GradientTexture.cjs.js"),x=require("./Image.cjs.js"),l=require("./Edges.cjs.js"),d=require("./Outlines.cjs.js"),q=require("./Trail.cjs.js"),m=require("./Sampler.cjs.js"),h=require("./ComputedAttribute.cjs.js"),C=require("./Clone.cjs.js"),M=require("./MarchingCubes.cjs.js"),S=require("./Decal.cjs.js"),T=require("./Svg.cjs.js"),b=require("./Gltf.cjs.js"),P=require("./AsciiRenderer.cjs.js"),f=require("./Splat.cjs.js"),g=require("./OrthographicCamera.cjs.js"),B=require("./PerspectiveCamera.cjs.js"),v=require("./CubeCamera.cjs.js"),A=require("./DeviceOrientationControls.cjs.js"),F=require("./FlyControls.cjs.js"),L=require("./MapControls.cjs.js"),G=require("./OrbitControls.cjs.js"),R=require("./TrackballControls.cjs.js"),D=require("./ArcballControls.cjs.js"),E=require("./TransformControls.cjs.js"),k=require("./PointerLockControls.cjs.js"),I=require("./FirstPersonControls.cjs.js"),w=require("./CameraControls.cjs.js"),z=require("./MotionPathControls.cjs.js"),O=require("./GizmoHelper.cjs.js"),y=require("./GizmoViewcube.cjs.js"),H=require("./GizmoViewport.cjs.js"),V=require("./Grid.cjs.js"),W=require("./CubeTexture.cjs.js"),K=require("./Fbx.cjs.js"),Q=require("./Ktx2.cjs.js"),N=require("./Progress.cjs.js"),U=require("./Texture.cjs.js"),X=require("./VideoTexture.cjs.js"),_=require("./useFont.cjs.js"),J=require("./useSpriteLoader.cjs.js"),Y=require("./Helper.cjs.js"),Z=require("./Stats.cjs.js"),$=require("./StatsGl.cjs.js"),ee=require("./useDepthBuffer.cjs.js"),re=require("./useAspect.cjs.js"),se=require("./useCamera.cjs.js"),te=require("./DetectGPU.cjs.js"),oe=require("./Bvh.cjs.js"),ie=require("./useContextBridge.cjs.js"),ae=require("./useAnimations.cjs.js"),ue=require("./Fbo.cjs.js"),ce=require("./useIntersect.cjs.js"),ne=require("./useBoxProjectedEnv.cjs.js"),pe=require("./BBAnchor.cjs.js"),je=require("./TrailTexture.cjs.js"),xe=require("./Example.cjs.js"),le=require("./SpriteAnimator.cjs.js"),de=require("./CurveModifier.cjs.js"),qe=require("./MeshDistortMaterial.cjs.js"),me=require("./MeshWobbleMaterial.cjs.js"),he=require("./MeshReflectorMaterial.cjs.js"),Ce=require("./MeshRefractionMaterial.cjs.js"),Me=require("./MeshTransmissionMaterial.cjs.js"),Se=require("./MeshDiscardMaterial.cjs.js"),Te=require("./MultiMaterial.cjs.js"),be=require("./PointMaterial.cjs.js"),Pe=require("./shaderMaterial.cjs.js"),fe=require("./softShadows.cjs.js"),ge=require("./shapes.cjs.js"),Be=require("./RoundedBox.cjs.js"),ve=require("./ScreenQuad.cjs.js"),Ae=require("./Center.cjs.js"),Fe=require("./Resize.cjs.js"),Le=require("./Bounds.cjs.js"),Ge=require("./CameraShake.cjs.js"),Re=require("./Float.cjs.js"),De=require("./Stage.cjs.js"),Ee=require("./Backdrop.cjs.js"),ke=require("./Shadow.cjs.js"),Ie=require("./Caustics.cjs.js"),we=require("./ContactShadows.cjs.js"),ze=require("./AccumulativeShadows.cjs.js"),Oe=require("./Reflector.cjs.js"),ye=require("./SpotLight.cjs.js"),He=require("./Environment.cjs.js"),Ve=require("./Lightformer.cjs.js"),We=require("./Sky.cjs.js"),Ke=require("./Stars.cjs.js"),Qe=require("./Cloud.cjs.js"),Ne=require("./Sparkles.cjs.js"),Ue=require("./useEnvironment.cjs.js"),Xe=require("./MatcapTexture.cjs.js"),_e=require("./NormalTexture.cjs.js"),Je=require("./Wireframe.cjs.js"),Ye=require("./ShadowAlpha.cjs.js"),Ze=require("./Points.cjs.js"),$e=require("./Instances.cjs.js"),er=require("./Segments.cjs.js"),rr=require("./Detailed.cjs.js"),sr=require("./Preload.cjs.js"),tr=require("./BakeShadows.cjs.js"),or=require("./meshBounds.cjs.js"),ir=require("./AdaptiveDpr.cjs.js"),ar=require("./AdaptiveEvents.cjs.js"),ur=require("./PerformanceMonitor.cjs.js"),cr=require("./RenderTexture.cjs.js"),nr=require("./RenderCubeTexture.cjs.js"),pr=require("./Mask.cjs.js"),jr=require("./Hud.cjs.js"),xr=require("./Fisheye.cjs.js"),lr=require("./MeshPortalMaterial.cjs.js"),dr=require("./calculateScaleFactor.cjs.js");require("@babel/runtime/helpers/extends"),require("@react-three/fiber"),require("react"),require("three"),require("three-stdlib"),require("troika-three-text"),require("suspend-react"),require("../helpers/constants.cjs.js"),require("meshline"),require("camera-controls"),require("maath"),require("zustand"),require("hls.js"),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.Billboard=e.Billboard,exports.ScreenSpace=r.ScreenSpace,exports.ScreenSizer=s.ScreenSizer,exports.QuadraticBezierLine=t.QuadraticBezierLine,exports.CubicBezierLine=o.CubicBezierLine,exports.CatmullRomLine=i.CatmullRomLine,exports.Line=a.Line,exports.PositionalAudio=u.PositionalAudio,exports.Text=c.Text,exports.Text3D=n.Text3D,exports.Effects=p.Effects,exports.isWebGL2Available=p.isWebGL2Available,exports.GradientTexture=j.GradientTexture,exports.GradientType=j.GradientType,exports.Image=x.Image,exports.Edges=l.Edges,exports.Outlines=d.Outlines,exports.Trail=q.Trail,exports.useTrail=q.useTrail,exports.Sampler=m.Sampler,exports.useSurfaceSampler=m.useSurfaceSampler,exports.ComputedAttribute=h.ComputedAttribute,exports.Clone=C.Clone,exports.MarchingCube=M.MarchingCube,exports.MarchingCubes=M.MarchingCubes,exports.MarchingPlane=M.MarchingPlane,exports.Decal=S.Decal,exports.Svg=T.Svg,exports.Gltf=b.Gltf,exports.useGLTF=b.useGLTF,exports.AsciiRenderer=P.AsciiRenderer,exports.Splat=f.Splat,exports.OrthographicCamera=g.OrthographicCamera,exports.PerspectiveCamera=B.PerspectiveCamera,exports.CubeCamera=v.CubeCamera,exports.useCubeCamera=v.useCubeCamera,exports.DeviceOrientationControls=A.DeviceOrientationControls,exports.FlyControls=F.FlyControls,exports.MapControls=L.MapControls,exports.OrbitControls=G.OrbitControls,exports.TrackballControls=R.TrackballControls,exports.ArcballControls=D.ArcballControls,exports.TransformControls=E.TransformControls,exports.PointerLockControls=k.PointerLockControls,exports.FirstPersonControls=I.FirstPersonControls,exports.CameraControls=w.CameraControls,exports.MotionPathControls=z.MotionPathControls,exports.useMotion=z.useMotion,exports.GizmoHelper=O.GizmoHelper,exports.useGizmoContext=O.useGizmoContext,exports.GizmoViewcube=y.GizmoViewcube,exports.GizmoViewport=H.GizmoViewport,exports.Grid=V.Grid,exports.CubeTexture=W.CubeTexture,exports.useCubeTexture=W.useCubeTexture,exports.Fbx=K.Fbx,exports.useFBX=K.useFBX,exports.Ktx2=Q.Ktx2,exports.useKTX2=Q.useKTX2,exports.Progress=N.Progress,exports.useProgress=N.useProgress,exports.IsObject=U.IsObject,exports.Texture=U.Texture,exports.useTexture=U.useTexture,exports.VideoTexture=X.VideoTexture,exports.useVideoTexture=X.useVideoTexture,exports.useFont=_.useFont,exports.checkIfFrameIsEmpty=J.checkIfFrameIsEmpty,exports.getFirstFrame=J.getFirstFrame,exports.useSpriteLoader=J.useSpriteLoader,exports.Helper=Y.Helper,exports.useHelper=Y.useHelper,exports.Stats=Z.Stats,exports.StatsGl=$.StatsGl,exports.useDepthBuffer=ee.useDepthBuffer,exports.useAspect=re.useAspect,exports.useCamera=se.useCamera,exports.DetectGPU=te.DetectGPU,exports.useDetectGPU=te.useDetectGPU,exports.Bvh=oe.Bvh,exports.useBVH=oe.useBVH,exports.useContextBridge=ie.useContextBridge,exports.useAnimations=ae.useAnimations,exports.Fbo=ue.Fbo,exports.useFBO=ue.useFBO,exports.useIntersect=ce.useIntersect,exports.useBoxProjectedEnv=ne.useBoxProjectedEnv,exports.BBAnchor=pe.BBAnchor,exports.TrailTexture=je.TrailTexture,exports.useTrailTexture=je.useTrailTexture,exports.Example=xe.Example,exports.SpriteAnimator=le.SpriteAnimator,exports.useSpriteAnimator=le.useSpriteAnimator,exports.CurveModifier=de.CurveModifier,exports.MeshDistortMaterial=qe.MeshDistortMaterial,exports.MeshWobbleMaterial=me.MeshWobbleMaterial,exports.MeshReflectorMaterial=he.MeshReflectorMaterial,exports.MeshRefractionMaterial=Ce.MeshRefractionMaterial,exports.MeshTransmissionMaterial=Me.MeshTransmissionMaterial,exports.MeshDiscardMaterial=Se.MeshDiscardMaterial,exports.MultiMaterial=Te.MultiMaterial,exports.PointMaterial=be.PointMaterial,exports.PointMaterialImpl=be.PointMaterialImpl,exports.shaderMaterial=Pe.shaderMaterial,exports.SoftShadows=fe.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.RoundedBox=Be.RoundedBox,exports.ScreenQuad=ve.ScreenQuad,exports.Center=Ae.Center,exports.Resize=Fe.Resize,exports.Bounds=Le.Bounds,exports.useBounds=Le.useBounds,exports.CameraShake=Ge.CameraShake,exports.Float=Re.Float,exports.Stage=De.Stage,exports.Backdrop=Ee.Backdrop,exports.Shadow=ke.Shadow,exports.Caustics=Ie.Caustics,exports.ContactShadows=we.ContactShadows,exports.AccumulativeShadows=ze.AccumulativeShadows,exports.RandomizedLight=ze.RandomizedLight,exports.accumulativeContext=ze.accumulativeContext,exports.Reflector=Oe.Reflector,exports.SpotLight=ye.SpotLight,exports.SpotLightShadow=ye.SpotLightShadow,exports.Environment=He.Environment,exports.EnvironmentCube=He.EnvironmentCube,exports.EnvironmentMap=He.EnvironmentMap,exports.EnvironmentPortal=He.EnvironmentPortal,exports.Lightformer=Ve.Lightformer,exports.Sky=We.Sky,exports.calcPosFromAngles=We.calcPosFromAngles,exports.Stars=Ke.Stars,exports.Cloud=Qe.Cloud,exports.CloudInstance=Qe.CloudInstance,exports.Clouds=Qe.Clouds,exports.Sparkles=Ne.Sparkles,exports.useEnvironment=Ue.useEnvironment,exports.MatcapTexture=Xe.MatcapTexture,exports.useMatcapTexture=Xe.useMatcapTexture,exports.NormalTexture=_e.NormalTexture,exports.useNormalTexture=_e.useNormalTexture,exports.Wireframe=Je.Wireframe,exports.ShadowAlpha=Ye.ShadowAlpha,exports.Point=Ze.Point,exports.Points=Ze.Points,exports.PointsBuffer=Ze.PointsBuffer,exports.PositionPoint=Ze.PositionPoint,exports.Instance=$e.Instance,exports.InstancedAttribute=$e.InstancedAttribute,exports.Instances=$e.Instances,exports.Merged=$e.Merged,exports.PositionMesh=$e.PositionMesh,exports.createInstances=$e.createInstances,exports.Segment=er.Segment,exports.SegmentObject=er.SegmentObject,exports.Segments=er.Segments,exports.Detailed=rr.Detailed,exports.Preload=sr.Preload,exports.BakeShadows=tr.BakeShadows,exports.meshBounds=or.meshBounds,exports.AdaptiveDpr=ir.AdaptiveDpr,exports.AdaptiveEvents=ar.AdaptiveEvents,exports.PerformanceMonitor=ur.PerformanceMonitor,exports.usePerformanceMonitor=ur.usePerformanceMonitor,exports.RenderTexture=cr.RenderTexture,exports.RenderCubeTexture=nr.RenderCubeTexture,exports.Mask=pr.Mask,exports.useMask=pr.useMask,exports.Hud=jr.Hud,exports.Fisheye=xr.Fisheye,exports.MeshPortalMaterial=lr.MeshPortalMaterial,exports.calculateScaleFactor=dr.calculateScaleFactor;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./Billboard.cjs.js"),r=require("./ScreenSpace.cjs.js"),s=require("./ScreenSizer.cjs.js"),t=require("./QuadraticBezierLine.cjs.js"),o=require("./CubicBezierLine.cjs.js"),i=require("./CatmullRomLine.cjs.js"),a=require("./Line.cjs.js"),u=require("./PositionalAudio.cjs.js"),c=require("./Text.cjs.js"),n=require("./Text3D.cjs.js"),p=require("./Effects.cjs.js"),j=require("./GradientTexture.cjs.js"),x=require("./Image.cjs.js"),l=require("./Edges.cjs.js"),d=require("./Outlines.cjs.js"),q=require("./Trail.cjs.js"),m=require("./Sampler.cjs.js"),h=require("./ComputedAttribute.cjs.js"),C=require("./Clone.cjs.js"),M=require("./MarchingCubes.cjs.js"),S=require("./Decal.cjs.js"),T=require("./Svg.cjs.js"),b=require("./Gltf.cjs.js"),P=require("./AsciiRenderer.cjs.js"),g=require("./Splat.cjs.js"),f=require("./OrthographicCamera.cjs.js"),B=require("./PerspectiveCamera.cjs.js"),v=require("./CubeCamera.cjs.js"),A=require("./DeviceOrientationControls.cjs.js"),F=require("./FlyControls.cjs.js"),L=require("./MapControls.cjs.js"),G=require("./OrbitControls.cjs.js"),D=require("./TrackballControls.cjs.js"),E=require("./ArcballControls.cjs.js"),R=require("./TransformControls.cjs.js"),k=require("./PointerLockControls.cjs.js"),I=require("./FirstPersonControls.cjs.js"),w=require("./CameraControls.cjs.js"),z=require("./MotionPathControls.cjs.js"),O=require("./GizmoHelper.cjs.js"),y=require("./GizmoViewcube.cjs.js"),H=require("./GizmoViewport.cjs.js"),V=require("./Grid.cjs.js"),W=require("./CubeTexture.cjs.js"),K=require("./Fbx.cjs.js"),Q=require("./Ktx2.cjs.js"),N=require("./Progress.cjs.js"),U=require("./Texture.cjs.js"),X=require("./VideoTexture.cjs.js"),_=require("./useFont.cjs.js"),J=require("./useSpriteLoader.cjs.js"),Y=require("./Helper.cjs.js"),Z=require("./Stats.cjs.js"),$=require("./StatsGl.cjs.js"),ee=require("./useDepthBuffer.cjs.js"),re=require("./useAspect.cjs.js"),se=require("./useCamera.cjs.js"),te=require("./DetectGPU.cjs.js"),oe=require("./Bvh.cjs.js"),ie=require("./useContextBridge.cjs.js"),ae=require("./useAnimations.cjs.js"),ue=require("./Fbo.cjs.js"),ce=require("./useIntersect.cjs.js"),ne=require("./useBoxProjectedEnv.cjs.js"),pe=require("./BBAnchor.cjs.js"),je=require("./TrailTexture.cjs.js"),xe=require("./Example.cjs.js"),le=require("./SpriteAnimator.cjs.js"),de=require("./CurveModifier.cjs.js"),qe=require("./MeshDistortMaterial.cjs.js"),me=require("./MeshWobbleMaterial.cjs.js"),he=require("./MeshReflectorMaterial.cjs.js"),Ce=require("./MeshRefractionMaterial.cjs.js"),Me=require("./MeshTransmissionMaterial.cjs.js"),Se=require("./MeshDiscardMaterial.cjs.js"),Te=require("./MultiMaterial.cjs.js"),be=require("./PointMaterial.cjs.js"),Pe=require("./shaderMaterial.cjs.js"),ge=require("./softShadows.cjs.js"),fe=require("./shapes.cjs.js"),Be=require("./RoundedBox.cjs.js"),ve=require("./ScreenQuad.cjs.js"),Ae=require("./Center.cjs.js"),Fe=require("./Resize.cjs.js"),Le=require("./Bounds.cjs.js"),Ge=require("./CameraShake.cjs.js"),De=require("./Float.cjs.js"),Ee=require("./Stage.cjs.js"),Re=require("./Backdrop.cjs.js"),ke=require("./Shadow.cjs.js"),Ie=require("./Caustics.cjs.js"),we=require("./ContactShadows.cjs.js"),ze=require("./AccumulativeShadows.cjs.js"),Oe=require("./SpotLight.cjs.js"),ye=require("./Environment.cjs.js"),He=require("./Lightformer.cjs.js"),Ve=require("./Sky.cjs.js"),We=require("./Stars.cjs.js"),Ke=require("./Cloud.cjs.js"),Qe=require("./Sparkles.cjs.js"),Ne=require("./useEnvironment.cjs.js"),Ue=require("./MatcapTexture.cjs.js"),Xe=require("./NormalTexture.cjs.js"),_e=require("./Wireframe.cjs.js"),Je=require("./ShadowAlpha.cjs.js"),Ye=require("./Points.cjs.js"),Ze=require("./Instances.cjs.js"),$e=require("./Segments.cjs.js"),er=require("./Detailed.cjs.js"),rr=require("./Preload.cjs.js"),sr=require("./BakeShadows.cjs.js"),tr=require("./meshBounds.cjs.js"),or=require("./AdaptiveDpr.cjs.js"),ir=require("./AdaptiveEvents.cjs.js"),ar=require("./PerformanceMonitor.cjs.js"),ur=require("./RenderTexture.cjs.js"),cr=require("./RenderCubeTexture.cjs.js"),nr=require("./Mask.cjs.js"),pr=require("./Hud.cjs.js"),jr=require("./Fisheye.cjs.js"),xr=require("./MeshPortalMaterial.cjs.js"),lr=require("./calculateScaleFactor.cjs.js");require("@babel/runtime/helpers/extends"),require("react"),require("three"),require("@react-three/fiber"),require("three-stdlib"),require("troika-three-text"),require("suspend-react"),require("../helpers/constants.cjs.js"),require("meshline"),require("camera-controls"),require("maath"),require("zustand"),require("hls.js"),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.Billboard=e.Billboard,exports.ScreenSpace=r.ScreenSpace,exports.ScreenSizer=s.ScreenSizer,exports.QuadraticBezierLine=t.QuadraticBezierLine,exports.CubicBezierLine=o.CubicBezierLine,exports.CatmullRomLine=i.CatmullRomLine,exports.Line=a.Line,exports.PositionalAudio=u.PositionalAudio,exports.Text=c.Text,exports.Text3D=n.Text3D,exports.Effects=p.Effects,exports.isWebGL2Available=p.isWebGL2Available,exports.GradientTexture=j.GradientTexture,exports.GradientType=j.GradientType,exports.Image=x.Image,exports.Edges=l.Edges,exports.Outlines=d.Outlines,exports.Trail=q.Trail,exports.useTrail=q.useTrail,exports.Sampler=m.Sampler,exports.useSurfaceSampler=m.useSurfaceSampler,exports.ComputedAttribute=h.ComputedAttribute,exports.Clone=C.Clone,exports.MarchingCube=M.MarchingCube,exports.MarchingCubes=M.MarchingCubes,exports.MarchingPlane=M.MarchingPlane,exports.Decal=S.Decal,exports.Svg=T.Svg,exports.Gltf=b.Gltf,exports.useGLTF=b.useGLTF,exports.AsciiRenderer=P.AsciiRenderer,exports.Splat=g.Splat,exports.OrthographicCamera=f.OrthographicCamera,exports.PerspectiveCamera=B.PerspectiveCamera,exports.CubeCamera=v.CubeCamera,exports.useCubeCamera=v.useCubeCamera,exports.DeviceOrientationControls=A.DeviceOrientationControls,exports.FlyControls=F.FlyControls,exports.MapControls=L.MapControls,exports.OrbitControls=G.OrbitControls,exports.TrackballControls=D.TrackballControls,exports.ArcballControls=E.ArcballControls,exports.TransformControls=R.TransformControls,exports.PointerLockControls=k.PointerLockControls,exports.FirstPersonControls=I.FirstPersonControls,exports.CameraControls=w.CameraControls,exports.MotionPathControls=z.MotionPathControls,exports.useMotion=z.useMotion,exports.GizmoHelper=O.GizmoHelper,exports.useGizmoContext=O.useGizmoContext,exports.GizmoViewcube=y.GizmoViewcube,exports.GizmoViewport=H.GizmoViewport,exports.Grid=V.Grid,exports.CubeTexture=W.CubeTexture,exports.useCubeTexture=W.useCubeTexture,exports.Fbx=K.Fbx,exports.useFBX=K.useFBX,exports.Ktx2=Q.Ktx2,exports.useKTX2=Q.useKTX2,exports.Progress=N.Progress,exports.useProgress=N.useProgress,exports.IsObject=U.IsObject,exports.Texture=U.Texture,exports.useTexture=U.useTexture,exports.VideoTexture=X.VideoTexture,exports.useVideoTexture=X.useVideoTexture,exports.useFont=_.useFont,exports.checkIfFrameIsEmpty=J.checkIfFrameIsEmpty,exports.getFirstFrame=J.getFirstFrame,exports.useSpriteLoader=J.useSpriteLoader,exports.Helper=Y.Helper,exports.useHelper=Y.useHelper,exports.Stats=Z.Stats,exports.StatsGl=$.StatsGl,exports.useDepthBuffer=ee.useDepthBuffer,exports.useAspect=re.useAspect,exports.useCamera=se.useCamera,exports.DetectGPU=te.DetectGPU,exports.useDetectGPU=te.useDetectGPU,exports.Bvh=oe.Bvh,exports.useBVH=oe.useBVH,exports.useContextBridge=ie.useContextBridge,exports.useAnimations=ae.useAnimations,exports.Fbo=ue.Fbo,exports.useFBO=ue.useFBO,exports.useIntersect=ce.useIntersect,exports.useBoxProjectedEnv=ne.useBoxProjectedEnv,exports.BBAnchor=pe.BBAnchor,exports.TrailTexture=je.TrailTexture,exports.useTrailTexture=je.useTrailTexture,exports.Example=xe.Example,exports.SpriteAnimator=le.SpriteAnimator,exports.useSpriteAnimator=le.useSpriteAnimator,exports.CurveModifier=de.CurveModifier,exports.MeshDistortMaterial=qe.MeshDistortMaterial,exports.MeshWobbleMaterial=me.MeshWobbleMaterial,exports.MeshReflectorMaterial=he.MeshReflectorMaterial,exports.MeshRefractionMaterial=Ce.MeshRefractionMaterial,exports.MeshTransmissionMaterial=Me.MeshTransmissionMaterial,exports.MeshDiscardMaterial=Se.MeshDiscardMaterial,exports.MultiMaterial=Te.MultiMaterial,exports.PointMaterial=be.PointMaterial,exports.PointMaterialImpl=be.PointMaterialImpl,exports.shaderMaterial=Pe.shaderMaterial,exports.SoftShadows=ge.SoftShadows,exports.Box=fe.Box,exports.Capsule=fe.Capsule,exports.Circle=fe.Circle,exports.Cone=fe.Cone,exports.Cylinder=fe.Cylinder,exports.Dodecahedron=fe.Dodecahedron,exports.Extrude=fe.Extrude,exports.Icosahedron=fe.Icosahedron,exports.Lathe=fe.Lathe,exports.Octahedron=fe.Octahedron,exports.Plane=fe.Plane,exports.Polyhedron=fe.Polyhedron,exports.Ring=fe.Ring,exports.Shape=fe.Shape,exports.Sphere=fe.Sphere,exports.Tetrahedron=fe.Tetrahedron,exports.Torus=fe.Torus,exports.TorusKnot=fe.TorusKnot,exports.Tube=fe.Tube,exports.RoundedBox=Be.RoundedBox,exports.ScreenQuad=ve.ScreenQuad,exports.Center=Ae.Center,exports.Resize=Fe.Resize,exports.Bounds=Le.Bounds,exports.useBounds=Le.useBounds,exports.CameraShake=Ge.CameraShake,exports.Float=De.Float,exports.Stage=Ee.Stage,exports.Backdrop=Re.Backdrop,exports.Shadow=ke.Shadow,exports.Caustics=Ie.Caustics,exports.ContactShadows=we.ContactShadows,exports.AccumulativeShadows=ze.AccumulativeShadows,exports.RandomizedLight=ze.RandomizedLight,exports.accumulativeContext=ze.accumulativeContext,exports.SpotLight=Oe.SpotLight,exports.SpotLightShadow=Oe.SpotLightShadow,exports.Environment=ye.Environment,exports.EnvironmentCube=ye.EnvironmentCube,exports.EnvironmentMap=ye.EnvironmentMap,exports.EnvironmentPortal=ye.EnvironmentPortal,exports.Lightformer=He.Lightformer,exports.Sky=Ve.Sky,exports.calcPosFromAngles=Ve.calcPosFromAngles,exports.Stars=We.Stars,exports.Cloud=Ke.Cloud,exports.CloudInstance=Ke.CloudInstance,exports.Clouds=Ke.Clouds,exports.Sparkles=Qe.Sparkles,exports.useEnvironment=Ne.useEnvironment,exports.MatcapTexture=Ue.MatcapTexture,exports.useMatcapTexture=Ue.useMatcapTexture,exports.NormalTexture=Xe.NormalTexture,exports.useNormalTexture=Xe.useNormalTexture,exports.Wireframe=_e.Wireframe,exports.ShadowAlpha=Je.ShadowAlpha,exports.Point=Ye.Point,exports.Points=Ye.Points,exports.PointsBuffer=Ye.PointsBuffer,exports.PositionPoint=Ye.PositionPoint,exports.Instance=Ze.Instance,exports.InstancedAttribute=Ze.InstancedAttribute,exports.Instances=Ze.Instances,exports.Merged=Ze.Merged,exports.PositionMesh=Ze.PositionMesh,exports.createInstances=Ze.createInstances,exports.Segment=$e.Segment,exports.SegmentObject=$e.SegmentObject,exports.Segments=$e.Segments,exports.Detailed=er.Detailed,exports.Preload=rr.Preload,exports.BakeShadows=sr.BakeShadows,exports.meshBounds=tr.meshBounds,exports.AdaptiveDpr=or.AdaptiveDpr,exports.AdaptiveEvents=ir.AdaptiveEvents,exports.PerformanceMonitor=ar.PerformanceMonitor,exports.usePerformanceMonitor=ar.usePerformanceMonitor,exports.RenderTexture=ur.RenderTexture,exports.RenderCubeTexture=cr.RenderCubeTexture,exports.Mask=nr.Mask,exports.useMask=nr.useMask,exports.Hud=pr.Hud,exports.Fisheye=jr.Fisheye,exports.MeshPortalMaterial=xr.MeshPortalMaterial,exports.calculateScaleFactor=lr.calculateScaleFactor;
package/core/index.d.ts CHANGED
@@ -91,7 +91,6 @@ export * from './Shadow';
91
91
  export * from './Caustics';
92
92
  export * from './ContactShadows';
93
93
  export * from './AccumulativeShadows';
94
- export * from './Reflector';
95
94
  export * from './SpotLight';
96
95
  export * from './Environment';
97
96
  export * from './Lightformer';
package/core/index.js CHANGED
@@ -91,7 +91,6 @@ export { Shadow } from './Shadow.js';
91
91
  export { Caustics } from './Caustics.js';
92
92
  export { ContactShadows } from './ContactShadows.js';
93
93
  export { AccumulativeShadows, RandomizedLight, accumulativeContext } from './AccumulativeShadows.js';
94
- export { Reflector } from './Reflector.js';
95
94
  export { SpotLight, SpotLightShadow } from './SpotLight.js';
96
95
  export { Environment, EnvironmentCube, EnvironmentMap, EnvironmentPortal } from './Environment.js';
97
96
  export { Lightformer } from './Lightformer.js';
@@ -122,9 +121,9 @@ export { Fisheye } from './Fisheye.js';
122
121
  export { MeshPortalMaterial } from './MeshPortalMaterial.js';
123
122
  export { calculateScaleFactor } from './calculateScaleFactor.js';
124
123
  import '@babel/runtime/helpers/esm/extends';
125
- import '@react-three/fiber';
126
124
  import 'react';
127
125
  import 'three';
126
+ import '@react-three/fiber';
128
127
  import 'three-stdlib';
129
128
  import 'troika-three-text';
130
129
  import 'suspend-react';
@@ -139,7 +138,6 @@ import '../helpers/useEffectfulState.js';
139
138
  import 'stats-gl';
140
139
  import 'detect-gpu';
141
140
  import 'three-mesh-bvh';
142
- import 'react-composer';
143
141
  import '../helpers/deprecated.js';
144
142
  import '../materials/BlurPass.js';
145
143
  import '../materials/ConvolutionMaterial.js';
package/core/shapes.d.ts CHANGED
@@ -1,25 +1,26 @@
1
1
  import * as THREE from 'three';
2
2
  import { ForwardRefComponent } from '../helpers/ts-utils';
3
+ import { ThreeElements } from '@react-three/fiber';
3
4
  export type Args<T> = T extends new (...args: any) => any ? ConstructorParameters<T> : T;
4
- export type ShapeProps<T> = Omit<JSX.IntrinsicElements['mesh'], 'args'> & {
5
+ export type ShapeProps<T> = Omit<ThreeElements['mesh'], 'ref' | 'args'> & {
5
6
  args?: Args<T>;
6
7
  };
7
- export declare const Box: ForwardRefComponent<ShapeProps<typeof THREE.BoxGeometry>, THREE.Mesh<THREE.BufferGeometry, THREE.Material | THREE.Material[]>>;
8
- export declare const Circle: ForwardRefComponent<ShapeProps<typeof THREE.CircleGeometry>, THREE.Mesh<THREE.BufferGeometry, THREE.Material | THREE.Material[]>>;
9
- export declare const Cone: ForwardRefComponent<ShapeProps<typeof THREE.ConeGeometry>, THREE.Mesh<THREE.BufferGeometry, THREE.Material | THREE.Material[]>>;
10
- export declare const Cylinder: ForwardRefComponent<ShapeProps<typeof THREE.CylinderGeometry>, THREE.Mesh<THREE.BufferGeometry, THREE.Material | THREE.Material[]>>;
11
- export declare const Sphere: ForwardRefComponent<ShapeProps<typeof THREE.SphereGeometry>, THREE.Mesh<THREE.BufferGeometry, THREE.Material | THREE.Material[]>>;
12
- export declare const Plane: ForwardRefComponent<ShapeProps<typeof THREE.PlaneGeometry>, THREE.Mesh<THREE.BufferGeometry, THREE.Material | THREE.Material[]>>;
13
- export declare const Tube: ForwardRefComponent<ShapeProps<typeof THREE.TubeGeometry>, THREE.Mesh<THREE.BufferGeometry, THREE.Material | THREE.Material[]>>;
14
- export declare const Torus: ForwardRefComponent<ShapeProps<typeof THREE.TorusGeometry>, THREE.Mesh<THREE.BufferGeometry, THREE.Material | THREE.Material[]>>;
15
- export declare const TorusKnot: ForwardRefComponent<ShapeProps<typeof THREE.TorusKnotGeometry>, THREE.Mesh<THREE.BufferGeometry, THREE.Material | THREE.Material[]>>;
16
- export declare const Tetrahedron: ForwardRefComponent<ShapeProps<typeof THREE.TetrahedronGeometry>, THREE.Mesh<THREE.BufferGeometry, THREE.Material | THREE.Material[]>>;
17
- export declare const Ring: ForwardRefComponent<ShapeProps<typeof THREE.RingGeometry>, THREE.Mesh<THREE.BufferGeometry, THREE.Material | THREE.Material[]>>;
18
- export declare const Polyhedron: ForwardRefComponent<ShapeProps<typeof THREE.PolyhedronGeometry>, THREE.Mesh<THREE.BufferGeometry, THREE.Material | THREE.Material[]>>;
19
- export declare const Icosahedron: ForwardRefComponent<ShapeProps<typeof THREE.IcosahedronGeometry>, THREE.Mesh<THREE.BufferGeometry, THREE.Material | THREE.Material[]>>;
20
- export declare const Octahedron: ForwardRefComponent<ShapeProps<typeof THREE.OctahedronGeometry>, THREE.Mesh<THREE.BufferGeometry, THREE.Material | THREE.Material[]>>;
21
- export declare const Dodecahedron: ForwardRefComponent<ShapeProps<typeof THREE.DodecahedronGeometry>, THREE.Mesh<THREE.BufferGeometry, THREE.Material | THREE.Material[]>>;
22
- export declare const Extrude: ForwardRefComponent<ShapeProps<typeof THREE.ExtrudeGeometry>, THREE.Mesh<THREE.BufferGeometry, THREE.Material | THREE.Material[]>>;
23
- export declare const Lathe: ForwardRefComponent<ShapeProps<typeof THREE.LatheGeometry>, THREE.Mesh<THREE.BufferGeometry, THREE.Material | THREE.Material[]>>;
24
- export declare const Capsule: ForwardRefComponent<ShapeProps<typeof THREE.CapsuleGeometry>, THREE.Mesh<THREE.BufferGeometry, THREE.Material | THREE.Material[]>>;
25
- export declare const Shape: ForwardRefComponent<ShapeProps<typeof THREE.ShapeGeometry>, THREE.Mesh<THREE.BufferGeometry, THREE.Material | THREE.Material[]>>;
8
+ export declare const Box: ForwardRefComponent<ShapeProps<typeof THREE.BoxGeometry>, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>;
9
+ export declare const Circle: ForwardRefComponent<ShapeProps<typeof THREE.CircleGeometry>, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>;
10
+ export declare const Cone: ForwardRefComponent<ShapeProps<typeof THREE.ConeGeometry>, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>;
11
+ export declare const Cylinder: ForwardRefComponent<ShapeProps<typeof THREE.CylinderGeometry>, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>;
12
+ export declare const Sphere: ForwardRefComponent<ShapeProps<typeof THREE.SphereGeometry>, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>;
13
+ export declare const Plane: ForwardRefComponent<ShapeProps<typeof THREE.PlaneGeometry>, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>;
14
+ export declare const Tube: ForwardRefComponent<ShapeProps<typeof THREE.TubeGeometry>, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>;
15
+ export declare const Torus: ForwardRefComponent<ShapeProps<typeof THREE.TorusGeometry>, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>;
16
+ export declare const TorusKnot: ForwardRefComponent<ShapeProps<typeof THREE.TorusKnotGeometry>, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>;
17
+ export declare const Tetrahedron: ForwardRefComponent<ShapeProps<typeof THREE.TetrahedronGeometry>, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>;
18
+ export declare const Ring: ForwardRefComponent<ShapeProps<typeof THREE.RingGeometry>, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>;
19
+ export declare const Polyhedron: ForwardRefComponent<ShapeProps<typeof THREE.PolyhedronGeometry>, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>;
20
+ export declare const Icosahedron: ForwardRefComponent<ShapeProps<typeof THREE.IcosahedronGeometry>, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>;
21
+ export declare const Octahedron: ForwardRefComponent<ShapeProps<typeof THREE.OctahedronGeometry>, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>;
22
+ export declare const Dodecahedron: ForwardRefComponent<ShapeProps<typeof THREE.DodecahedronGeometry>, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>;
23
+ export declare const Extrude: ForwardRefComponent<ShapeProps<typeof THREE.ExtrudeGeometry>, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>;
24
+ export declare const Lathe: ForwardRefComponent<ShapeProps<typeof THREE.LatheGeometry>, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>;
25
+ export declare const Capsule: ForwardRefComponent<ShapeProps<typeof THREE.CapsuleGeometry>, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>;
26
+ export declare const Shape: ForwardRefComponent<ShapeProps<typeof THREE.ShapeGeometry>, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>;
@@ -1,7 +1,6 @@
1
- type SoftShadowsProps = {
1
+ export type SoftShadowsProps = {
2
2
  size?: number;
3
3
  samples?: number;
4
4
  focus?: number;
5
5
  };
6
6
  export declare function SoftShadows({ focus, samples, size }: SoftShadowsProps): null;
7
- export {};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),r=require("three"),t=require("@react-three/fiber");function n(e){if(e&&e.__esModule)return e;var r=Object.create(null);return e&&Object.keys(e).forEach((function(t){if("default"!==t){var n=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,n.get?n:{enumerable:!0,get:function(){return e[t]}})}})),r.default=e,Object.freeze(r)}var c=n(e);exports.useAnimations=function(e,n){const u=c.useRef(),[o]=c.useState((()=>n?n instanceof r.Object3D?{current:n}:n:u)),[a]=c.useState((()=>new r.AnimationMixer(void 0)));c.useLayoutEffect((()=>{n&&(o.current=n instanceof r.Object3D?n:n.current),a._root=o.current}));const i=c.useRef({}),s=c.useMemo((()=>{const r={};return e.forEach((e=>Object.defineProperty(r,e.name,{enumerable:!0,get(){if(o.current)return i.current[e.name]||(i.current[e.name]=a.clipAction(e,o.current))},configurable:!0}))),{ref:o,clips:e,actions:r,names:e.map((e=>e.name)),mixer:a}}),[e]);return t.useFrame(((e,r)=>a.update(r))),c.useEffect((()=>{const e=o.current;return()=>{i.current={},a.stopAllAction(),Object.values(s.actions).forEach((r=>{e&&a.uncacheAction(r,e)}))}}),[e]),s};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),r=require("three"),t=require("@react-three/fiber");function n(e){if(e&&e.__esModule)return e;var r=Object.create(null);return e&&Object.keys(e).forEach((function(t){if("default"!==t){var n=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,n.get?n:{enumerable:!0,get:function(){return e[t]}})}})),r.default=e,Object.freeze(r)}var c=n(e);exports.useAnimations=function(e,n){const u=c.useRef(null),[o]=c.useState((()=>n?n instanceof r.Object3D?{current:n}:n:u)),[a]=c.useState((()=>new r.AnimationMixer(void 0)));c.useLayoutEffect((()=>{n&&(o.current=n instanceof r.Object3D?n:n.current),a._root=o.current}));const i=c.useRef({}),s=c.useMemo((()=>{const r={};return e.forEach((e=>Object.defineProperty(r,e.name,{enumerable:!0,get(){if(o.current)return i.current[e.name]||(i.current[e.name]=a.clipAction(e,o.current))},configurable:!0}))),{ref:o,clips:e,actions:r,names:e.map((e=>e.name)),mixer:a}}),[e]);return t.useFrame(((e,r)=>a.update(r))),c.useEffect((()=>{const e=o.current;return()=>{i.current={},a.stopAllAction(),Object.values(s.actions).forEach((r=>{e&&a.uncacheAction(r,e)}))}}),[e]),s};
@@ -1,7 +1,7 @@
1
1
  import * as React from 'react';
2
2
  import { Object3D, AnimationClip, AnimationAction, AnimationMixer } from 'three';
3
3
  type Api<T extends AnimationClip> = {
4
- ref: React.MutableRefObject<Object3D | undefined | null>;
4
+ ref: React.RefObject<Object3D | undefined | null>;
5
5
  clips: AnimationClip[];
6
6
  mixer: AnimationMixer;
7
7
  names: T['name'][];
@@ -9,5 +9,5 @@ type Api<T extends AnimationClip> = {
9
9
  [key in T['name']]: AnimationAction | null;
10
10
  };
11
11
  };
12
- export declare function useAnimations<T extends AnimationClip>(clips: T[], root?: React.MutableRefObject<Object3D | undefined | null> | Object3D): Api<T>;
12
+ export declare function useAnimations<T extends AnimationClip>(clips: T[], root?: React.RefObject<Object3D | undefined | null> | Object3D): Api<T>;
13
13
  export {};
@@ -3,7 +3,7 @@ import { Object3D, AnimationMixer } from 'three';
3
3
  import { useFrame } from '@react-three/fiber';
4
4
 
5
5
  function useAnimations(clips, root) {
6
- const ref = React.useRef();
6
+ const ref = React.useRef(null);
7
7
  const [actualRef] = React.useState(() => root ? root instanceof Object3D ? {
8
8
  current: root
9
9
  } : root : ref);
@@ -12,7 +12,7 @@ interface MaterialShader {
12
12
  };
13
13
  }
14
14
  export declare function useBoxProjectedEnv(position?: ReactThreeFiber.Vector3, size?: ReactThreeFiber.Vector3): {
15
- ref: React.MutableRefObject<THREE.Material>;
15
+ ref: React.RefObject<THREE.Material>;
16
16
  onBeforeCompile: (shader: MaterialShader) => void;
17
17
  customProgramCacheKey: () => string;
18
18
  };