@react-three/drei 9.88.1 → 9.88.3

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 (129) hide show
  1. package/core/AccumulativeShadows.cjs.js +1 -1
  2. package/core/AccumulativeShadows.js +8 -7
  3. package/core/ArcballControls.js +1 -1
  4. package/core/BBAnchor.js +2 -2
  5. package/core/Billboard.js +1 -1
  6. package/core/Bounds.js +1 -1
  7. package/core/CameraControls.js +1 -1
  8. package/core/CameraShake.js +1 -1
  9. package/core/CatmullRomLine.js +1 -1
  10. package/core/Caustics.cjs.js +1 -1
  11. package/core/Caustics.js +13 -12
  12. package/core/Center.js +1 -1
  13. package/core/Clone.js +1 -1
  14. package/core/Cloud.js +10 -10
  15. package/core/ContactShadows.js +1 -1
  16. package/core/CubicBezierLine.js +1 -1
  17. package/core/CurveModifier.js +1 -1
  18. package/core/Decal.js +1 -1
  19. package/core/Detailed.js +1 -1
  20. package/core/DeviceOrientationControls.js +1 -1
  21. package/core/Edges.js +1 -1
  22. package/core/Effects.js +1 -1
  23. package/core/Example.js +1 -1
  24. package/core/FaceControls.cjs.js +1 -1
  25. package/core/FaceControls.js +4 -4
  26. package/core/FaceLandmarker.cjs.js +1 -1
  27. package/core/FaceLandmarker.d.ts +1 -1
  28. package/core/FaceLandmarker.js +7 -3
  29. package/core/Facemesh.d.ts +3 -3
  30. package/core/Facemesh.js +4 -4
  31. package/core/FirstPersonControls.js +1 -1
  32. package/core/Float.js +1 -1
  33. package/core/FlyControls.js +1 -1
  34. package/core/GizmoHelper.js +7 -7
  35. package/core/GizmoViewcube.js +3 -3
  36. package/core/Gltf.js +1 -1
  37. package/core/Grid.cjs.js +1 -1
  38. package/core/Grid.js +8 -7
  39. package/core/Image.cjs.js +1 -1
  40. package/core/Image.js +8 -7
  41. package/core/Instances.js +13 -13
  42. package/core/Lightformer.js +1 -1
  43. package/core/Line.js +1 -1
  44. package/core/MapControls.js +1 -1
  45. package/core/MarchingCubes.js +4 -4
  46. package/core/Mask.js +1 -1
  47. package/core/MeshDiscardMaterial.js +1 -1
  48. package/core/MeshDistortMaterial.js +1 -1
  49. package/core/MeshPortalMaterial.cjs.js +1 -1
  50. package/core/MeshPortalMaterial.js +6 -5
  51. package/core/MeshReflectorMaterial.cjs.js +1 -1
  52. package/core/MeshReflectorMaterial.js +4 -4
  53. package/core/MeshRefractionMaterial.cjs.js +1 -1
  54. package/core/MeshTransmissionMaterial.js +1 -1
  55. package/core/MeshWobbleMaterial.js +1 -1
  56. package/core/MotionPathControls.js +2 -2
  57. package/core/OrbitControls.js +1 -1
  58. package/core/OrthographicCamera.js +1 -1
  59. package/core/Outlines.cjs.js +1 -1
  60. package/core/Outlines.js +5 -4
  61. package/core/PerformanceMonitor.js +1 -1
  62. package/core/PerspectiveCamera.js +1 -1
  63. package/core/PointMaterial.cjs.js +1 -1
  64. package/core/PointMaterial.js +4 -3
  65. package/core/PointerLockControls.js +1 -1
  66. package/core/Points.js +11 -11
  67. package/core/PositionalAudio.js +1 -1
  68. package/core/QuadraticBezierLine.js +3 -3
  69. package/core/Reflector.cjs.js +1 -1
  70. package/core/Reflector.js +4 -5
  71. package/core/RenderCubeTexture.js +1 -1
  72. package/core/RenderTexture.js +1 -1
  73. package/core/Resize.js +1 -1
  74. package/core/RoundedBox.js +1 -1
  75. package/core/ScreenQuad.js +1 -1
  76. package/core/ScreenSpace.js +1 -1
  77. package/core/Segments.js +3 -3
  78. package/core/Shadow.js +1 -1
  79. package/core/Sky.js +1 -1
  80. package/core/Sparkles.cjs.js +1 -1
  81. package/core/Sparkles.js +4 -3
  82. package/core/SpotLight.cjs.js +1 -1
  83. package/core/Stage.cjs.js +1 -1
  84. package/core/Stars.cjs.js +1 -1
  85. package/core/Stars.js +4 -4
  86. package/core/Svg.js +1 -1
  87. package/core/Text.js +1 -1
  88. package/core/Text3D.js +1 -1
  89. package/core/TrackballControls.js +1 -1
  90. package/core/Trail.js +1 -1
  91. package/core/TransformControls.js +1 -1
  92. package/core/Wireframe.cjs.js +1 -1
  93. package/core/Wireframe.d.ts +2 -2
  94. package/core/Wireframe.js +4 -4
  95. package/core/index.cjs.js +1 -1
  96. package/core/index.js +1 -1
  97. package/core/meshBounds.js +4 -4
  98. package/core/shapes.js +19 -19
  99. package/core/useBVH.js +1 -1
  100. package/core/useProgress.js +1 -1
  101. package/helpers/constants.cjs.js +1 -0
  102. package/helpers/constants.d.ts +1 -0
  103. package/helpers/constants.js +6 -0
  104. package/index.cjs.js +1 -1
  105. package/materials/BlurPass.cjs.js +1 -1
  106. package/materials/ConvolutionMaterial.cjs.js +1 -1
  107. package/materials/ConvolutionMaterial.js +2 -1
  108. package/materials/DiscardMaterial.js +1 -1
  109. package/materials/MeshRefractionMaterial.cjs.js +1 -1
  110. package/materials/MeshRefractionMaterial.js +8 -7
  111. package/materials/SpotLightMaterial.cjs.js +1 -1
  112. package/materials/SpotLightMaterial.js +2 -1
  113. package/materials/WireframeMaterial.js +4 -4
  114. package/native/index.cjs.js +1 -1
  115. package/native/index.js +1 -1
  116. package/package.json +2 -2
  117. package/react-three-drei-0.0.0-semantic-release.tgz +0 -0
  118. package/web/Html.js +4 -4
  119. package/web/KeyboardControls.js +1 -1
  120. package/web/ScrollControls.js +3 -3
  121. package/web/Select.js +1 -1
  122. package/web/View.js +1 -1
  123. package/web/index.cjs.js +1 -1
  124. package/web/index.js +1 -1
  125. package/web/pivotControls/AxisArrow.js +4 -4
  126. package/web/pivotControls/AxisRotator.js +6 -6
  127. package/web/pivotControls/PlaneSlider.js +3 -3
  128. package/web/pivotControls/context.js +1 -1
  129. package/web/pivotControls/index.js +21 -21
@@ -2,7 +2,7 @@ import * as React from 'react';
2
2
  import { useState, useContext, useRef, useLayoutEffect, createContext } from 'react';
3
3
  import { useFrame } from '@react-three/fiber';
4
4
 
5
- const context = /*#__PURE__*/createContext(null);
5
+ const context = /* @__PURE__ */createContext(null);
6
6
  function PerformanceMonitor({
7
7
  iterations = 10,
8
8
  ms = 250,
@@ -5,7 +5,7 @@ import mergeRefs from 'react-merge-refs';
5
5
  import { useFBO } from './useFBO.js';
6
6
 
7
7
  const isFunction = node => typeof node === 'function';
8
- const PerspectiveCamera = /*#__PURE__*/React.forwardRef(({
8
+ const PerspectiveCamera = /* @__PURE__ */React.forwardRef(({
9
9
  envMap,
10
10
  resolution = 256,
11
11
  frames = Infinity,
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/extends"),t=require("three"),r=require("react");function n(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}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=n(e),l=a(t),c=a(r);const i=parseInt(l.REVISION.replace(/\D+/g,""))>=154?"opaque_fragment":"output_fragment";class s extends l.PointsMaterial{constructor(e){super(e),this.onBeforeCompile=(e,t)=>{const{isWebGL2:r}=t.capabilities;e.fragmentShader=e.fragmentShader.replace(`#include <${i}>`,`\n ${r?`#include <${i}>`:`#extension GL_OES_standard_derivatives : enable\n#include <${i}>`}\n vec2 cxy = 2.0 * gl_PointCoord - 1.0;\n float r = dot(cxy, cxy);\n float delta = fwidth(r); \n float mask = 1.0 - smoothstep(1.0 - delta, 1.0 + delta, r);\n gl_FragColor = vec4(gl_FragColor.rgb, mask * gl_FragColor.a );\n #include <tonemapping_fragment>\n #include <${parseInt(l.REVISION.replace(/\D+/g,""))>=154?"colorspace_fragment":"encodings_fragment"}>\n `)}}}const u=c.forwardRef(((e,t)=>{const[r]=c.useState((()=>new s(null)));return c.createElement("primitive",o.default({},e,{object:r,ref:t,attach:"material"}))}));exports.PointMaterial=u,exports.PointMaterialImpl=s;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/extends"),t=require("three"),r=require("react"),n=require("../helpers/constants.cjs.js");function a(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}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=a(e),l=o(t),c=o(r);const s=n.version>=154?"opaque_fragment":"output_fragment";class u extends l.PointsMaterial{constructor(e){super(e),this.onBeforeCompile=(e,t)=>{const{isWebGL2:r}=t.capabilities;e.fragmentShader=e.fragmentShader.replace(`#include <${s}>`,`\n ${r?`#include <${s}>`:`#extension GL_OES_standard_derivatives : enable\n#include <${s}>`}\n vec2 cxy = 2.0 * gl_PointCoord - 1.0;\n float r = dot(cxy, cxy);\n float delta = fwidth(r); \n float mask = 1.0 - smoothstep(1.0 - delta, 1.0 + delta, r);\n gl_FragColor = vec4(gl_FragColor.rgb, mask * gl_FragColor.a );\n #include <tonemapping_fragment>\n #include <${n.version>=154?"colorspace_fragment":"encodings_fragment"}>\n `)}}}const f=c.forwardRef(((e,t)=>{const[r]=c.useState((()=>new u(null)));return c.createElement("primitive",i.default({},e,{object:r,ref:t,attach:"material"}))}));exports.PointMaterial=f,exports.PointMaterialImpl=u;
@@ -1,8 +1,9 @@
1
1
  import _extends from '@babel/runtime/helpers/esm/extends';
2
2
  import * as THREE from 'three';
3
3
  import * as React from 'react';
4
+ import { version } from '../helpers/constants.js';
4
5
 
5
- const opaque_fragment = parseInt(THREE.REVISION.replace(/\D+/g, '')) >= 154 ? 'opaque_fragment' : 'output_fragment';
6
+ const opaque_fragment = version >= 154 ? 'opaque_fragment' : 'output_fragment';
6
7
  class PointMaterialImpl extends THREE.PointsMaterial {
7
8
  constructor(props) {
8
9
  super(props);
@@ -18,12 +19,12 @@ class PointMaterialImpl extends THREE.PointsMaterial {
18
19
  float mask = 1.0 - smoothstep(1.0 - delta, 1.0 + delta, r);
19
20
  gl_FragColor = vec4(gl_FragColor.rgb, mask * gl_FragColor.a );
20
21
  #include <tonemapping_fragment>
21
- #include <${parseInt(THREE.REVISION.replace(/\D+/g, '')) >= 154 ? 'colorspace_fragment' : 'encodings_fragment'}>
22
+ #include <${version >= 154 ? 'colorspace_fragment' : 'encodings_fragment'}>
22
23
  `);
23
24
  };
24
25
  }
25
26
  }
26
- const PointMaterial = /*#__PURE__*/React.forwardRef((props, ref) => {
27
+ const PointMaterial = /* @__PURE__ */React.forwardRef((props, ref) => {
27
28
  const [material] = React.useState(() => new PointMaterialImpl(null));
28
29
  return /*#__PURE__*/React.createElement("primitive", _extends({}, props, {
29
30
  object: material,
@@ -3,7 +3,7 @@ import { useThree } from '@react-three/fiber';
3
3
  import * as React from 'react';
4
4
  import { PointerLockControls as PointerLockControls$1 } from 'three-stdlib';
5
5
 
6
- const PointerLockControls = /*#__PURE__*/React.forwardRef(({
6
+ const PointerLockControls = /* @__PURE__ */React.forwardRef(({
7
7
  domElement,
8
8
  selector,
9
9
  onChange,
package/core/Points.js CHANGED
@@ -4,10 +4,10 @@ import * as React from 'react';
4
4
  import { extend, useFrame } from '@react-three/fiber';
5
5
  import mergeRefs from 'react-merge-refs';
6
6
 
7
- const _inverseMatrix = /*@__PURE__*/new THREE.Matrix4();
8
- const _ray = /*@__PURE__*/new THREE.Ray();
9
- const _sphere = /*@__PURE__*/new THREE.Sphere();
10
- const _position = /*@__PURE__*/new THREE.Vector3();
7
+ const _inverseMatrix = /* @__PURE__ */new THREE.Matrix4();
8
+ const _ray = /* @__PURE__ */new THREE.Ray();
9
+ const _sphere = /* @__PURE__ */new THREE.Sphere();
10
+ const _position = /* @__PURE__ */new THREE.Vector3();
11
11
  class PositionPoint extends THREE.Group {
12
12
  constructor() {
13
13
  super();
@@ -59,14 +59,14 @@ class PositionPoint extends THREE.Group {
59
59
  }
60
60
  }
61
61
  let i, positionRef;
62
- const context = /*@__PURE__*/React.createContext(null);
63
- const parentMatrix = /*@__PURE__*/new THREE.Matrix4();
64
- const position = /*@__PURE__*/new THREE.Vector3();
62
+ const context = /* @__PURE__ */React.createContext(null);
63
+ const parentMatrix = /* @__PURE__ */new THREE.Matrix4();
64
+ const position = /* @__PURE__ */new THREE.Vector3();
65
65
 
66
66
  /**
67
67
  * Instance implementation, relies on react + context to update the attributes based on the children of this component
68
68
  */
69
- const PointsInstances = /*#__PURE__*/React.forwardRef(({
69
+ const PointsInstances = /* @__PURE__ */React.forwardRef(({
70
70
  children,
71
71
  range,
72
72
  limit = 1000,
@@ -136,7 +136,7 @@ const PointsInstances = /*#__PURE__*/React.forwardRef(({
136
136
  value: api
137
137
  }, children));
138
138
  });
139
- const Point = /*#__PURE__*/React.forwardRef(({
139
+ const Point = /* @__PURE__ */React.forwardRef(({
140
140
  children,
141
141
  ...props
142
142
  }, ref) => {
@@ -160,7 +160,7 @@ const Point = /*#__PURE__*/React.forwardRef(({
160
160
  * Buffer implementation, relies on complete buffers of the correct number, leaves it to the user to update them
161
161
  */
162
162
 
163
- const PointsBuffer = /*#__PURE__*/React.forwardRef(({
163
+ const PointsBuffer = /* @__PURE__ */React.forwardRef(({
164
164
  children,
165
165
  positions,
166
166
  colors,
@@ -197,7 +197,7 @@ const PointsBuffer = /*#__PURE__*/React.forwardRef(({
197
197
  usage: THREE.DynamicDrawUsage
198
198
  })), children);
199
199
  });
200
- const Points = /*#__PURE__*/React.forwardRef((props, forwardedRef) => {
200
+ const Points = /* @__PURE__ */React.forwardRef((props, forwardedRef) => {
201
201
  if (props.positions instanceof Float32Array) {
202
202
  return /*#__PURE__*/React.createElement(PointsBuffer, _extends({}, props, {
203
203
  ref: forwardedRef
@@ -4,7 +4,7 @@ import { AudioListener, AudioLoader } from 'three';
4
4
  import { useThree, useLoader } from '@react-three/fiber';
5
5
  import mergeRefs from 'react-merge-refs';
6
6
 
7
- const PositionalAudio = /*#__PURE__*/React.forwardRef(({
7
+ const PositionalAudio = /* @__PURE__ */React.forwardRef(({
8
8
  url,
9
9
  distance = 1,
10
10
  loop = true,
@@ -1,11 +1,11 @@
1
1
  import _extends from '@babel/runtime/helpers/esm/extends';
2
2
  import * as React from 'react';
3
- import { Vector3, QuadraticBezierCurve3 } from 'three';
3
+ import { QuadraticBezierCurve3, Vector3 } from 'three';
4
4
  import mergeRefs from 'react-merge-refs';
5
5
  import { Line } from './Line.js';
6
6
 
7
- const v = new Vector3();
8
- const QuadraticBezierLine = /*#__PURE__*/React.forwardRef(function QuadraticBezierLine({
7
+ const v = /* @__PURE__ */new Vector3();
8
+ const QuadraticBezierLine = /* @__PURE__ */React.forwardRef(function QuadraticBezierLine({
9
9
  start = [0, 0, 0],
10
10
  end = [0, 0, 0],
11
11
  mid,
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/extends"),t=require("react"),r=require("three"),a=require("@react-three/fiber"),n=require("react-merge-refs"),o=require("../materials/BlurPass.cjs.js"),s=require("../materials/MeshReflectorMaterial.cjs.js");function i(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function l(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var a=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,a.get?a:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}require("../materials/ConvolutionMaterial.cjs.js");var u=i(e),d=l(t),c=i(n);a.extend({MeshReflectorMaterial:s.MeshReflectorMaterial});const p=d.forwardRef((({mixBlur:e=0,mixStrength:t=.5,resolution:n=256,blur:s=[0,0],args:i=[1,1],minDepthThreshold:l=.9,maxDepthThreshold:p=1,depthScale:m=0,depthToBlurRatioBias:h=.25,mirror:f=0,children:x,debug:M=0,distortion:b=1,mixContrast:w=1,distortionMap:y,...T},g)=>{d.useEffect((()=>{console.warn("Reflector has been deprecated and will be removed next major. Replace it with <MeshReflectorMaterial />!")}),[]);const S=a.useThree((({gl:e})=>e)),R=a.useThree((({camera:e})=>e)),j=a.useThree((({scene:e})=>e)),v=(s=Array.isArray(s)?s:[s,s])[0]+s[1]>0,B=d.useRef(null),[D]=d.useState((()=>new r.Plane)),[P]=d.useState((()=>new r.Vector3)),[F]=d.useState((()=>new r.Vector3)),[V]=d.useState((()=>new r.Vector3)),[W]=d.useState((()=>new r.Matrix4)),[E]=d.useState((()=>new r.Vector3(0,0,-1))),[O]=d.useState((()=>new r.Vector4)),[q]=d.useState((()=>new r.Vector3)),[U]=d.useState((()=>new r.Vector3)),[C]=d.useState((()=>new r.Vector4)),[_]=d.useState((()=>new r.Matrix4)),[L]=d.useState((()=>new r.PerspectiveCamera)),k=d.useCallback((()=>{if(F.setFromMatrixPosition(B.current.matrixWorld),V.setFromMatrixPosition(R.matrixWorld),W.extractRotation(B.current.matrixWorld),P.set(0,0,1),P.applyMatrix4(W),q.subVectors(F,V),q.dot(P)>0)return;q.reflect(P).negate(),q.add(F),W.extractRotation(R.matrixWorld),E.set(0,0,-1),E.applyMatrix4(W),E.add(V),U.subVectors(F,E),U.reflect(P).negate(),U.add(F),L.position.copy(q),L.up.set(0,1,0),L.up.applyMatrix4(W),L.up.reflect(P),L.lookAt(U),L.far=R.far,L.updateMatrixWorld(),L.projectionMatrix.copy(R.projectionMatrix),_.set(.5,0,0,.5,0,.5,0,.5,0,0,.5,.5,0,0,0,1),_.multiply(L.projectionMatrix),_.multiply(L.matrixWorldInverse),_.multiply(B.current.matrixWorld),D.setFromNormalAndCoplanarPoint(P,F),D.applyMatrix4(L.matrixWorldInverse),O.set(D.normal.x,D.normal.y,D.normal.z,D.constant);const e=L.projectionMatrix;C.x=(Math.sign(O.x)+e.elements[8])/e.elements[0],C.y=(Math.sign(O.y)+e.elements[9])/e.elements[5],C.z=-1,C.w=(1+e.elements[10])/e.elements[14],O.multiplyScalar(2/O.dot(C)),e.elements[2]=O.x,e.elements[6]=O.y,e.elements[10]=O.z+1,e.elements[14]=O.w}),[]),[z,A,I,G]=d.useMemo((()=>{const a={type:r.HalfFloatType,minFilter:r.LinearFilter,magFilter:r.LinearFilter},i=new r.WebGLRenderTarget(n,n,a);i.depthBuffer=!0,i.depthTexture=new r.DepthTexture(n,n),i.depthTexture.format=r.DepthFormat,i.depthTexture.type=r.UnsignedShortType;const u=new r.WebGLRenderTarget(n,n,a);return[i,u,new o.BlurPass({gl:S,resolution:n,width:s[0],height:s[1],minDepthThreshold:l,maxDepthThreshold:p,depthScale:m,depthToBlurRatioBias:h}),{mirror:f,textureMatrix:_,mixBlur:e,tDiffuse:i.texture,tDepth:i.depthTexture,tDiffuseBlur:u.texture,hasBlur:v,mixStrength:t,minDepthThreshold:l,maxDepthThreshold:p,depthScale:m,depthToBlurRatioBias:h,transparent:!0,debug:M,distortion:b,distortionMap:y,mixContrast:w,"defines-USE_BLUR":v?"":void 0,"defines-USE_DEPTH":m>0?"":void 0,"defines-USE_DISTORTION":y?"":void 0}]}),[S,s,_,n,f,v,e,t,l,p,m,h,M,b,y,w]);return a.useFrame((()=>{if(null==B||!B.current)return;B.current.visible=!1;const e=S.xr.enabled,t=S.shadowMap.autoUpdate;k(),S.xr.enabled=!1,S.shadowMap.autoUpdate=!1,S.setRenderTarget(z),S.state.buffers.depth.setMask(!0),S.autoClear||S.clear(),S.render(j,L),v&&I.render(S,z,A),S.xr.enabled=e,S.shadowMap.autoUpdate=t,B.current.visible=!0,S.setRenderTarget(null)})),d.createElement("mesh",u.default({ref:c.default([B,g])},T),d.createElement("planeGeometry",{args:i}),x?x("meshReflectorMaterial",G):d.createElement("meshReflectorMaterial",G))}));exports.Reflector=p;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/extends"),t=require("react"),r=require("three"),a=require("@react-three/fiber"),n=require("react-merge-refs"),s=require("../materials/BlurPass.cjs.js"),o=require("../materials/MeshReflectorMaterial.cjs.js");function i(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function l(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var a=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,a.get?a:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}require("../materials/ConvolutionMaterial.cjs.js"),require("../helpers/constants.cjs.js");var u=i(e),d=l(t),c=i(n);const p=d.forwardRef((({mixBlur:e=0,mixStrength:t=.5,resolution:n=256,blur:i=[0,0],args:l=[1,1],minDepthThreshold:p=.9,maxDepthThreshold:m=1,depthScale:h=0,depthToBlurRatioBias:f=.25,mirror:x=0,children:M,debug:b=0,distortion:w=1,mixContrast:y=1,distortionMap:T,...g},S)=>{a.extend({MeshReflectorMaterial:o.MeshReflectorMaterial}),d.useEffect((()=>{console.warn("Reflector has been deprecated and will be removed next major. Replace it with <MeshReflectorMaterial />!")}),[]);const R=a.useThree((({gl:e})=>e)),j=a.useThree((({camera:e})=>e)),v=a.useThree((({scene:e})=>e)),B=(i=Array.isArray(i)?i:[i,i])[0]+i[1]>0,D=d.useRef(null),[P]=d.useState((()=>new r.Plane)),[F]=d.useState((()=>new r.Vector3)),[V]=d.useState((()=>new r.Vector3)),[W]=d.useState((()=>new r.Vector3)),[q]=d.useState((()=>new r.Matrix4)),[E]=d.useState((()=>new r.Vector3(0,0,-1))),[O]=d.useState((()=>new r.Vector4)),[U]=d.useState((()=>new r.Vector3)),[C]=d.useState((()=>new r.Vector3)),[_]=d.useState((()=>new r.Vector4)),[L]=d.useState((()=>new r.Matrix4)),[k]=d.useState((()=>new r.PerspectiveCamera)),z=d.useCallback((()=>{if(V.setFromMatrixPosition(D.current.matrixWorld),W.setFromMatrixPosition(j.matrixWorld),q.extractRotation(D.current.matrixWorld),F.set(0,0,1),F.applyMatrix4(q),U.subVectors(V,W),U.dot(F)>0)return;U.reflect(F).negate(),U.add(V),q.extractRotation(j.matrixWorld),E.set(0,0,-1),E.applyMatrix4(q),E.add(W),C.subVectors(V,E),C.reflect(F).negate(),C.add(V),k.position.copy(U),k.up.set(0,1,0),k.up.applyMatrix4(q),k.up.reflect(F),k.lookAt(C),k.far=j.far,k.updateMatrixWorld(),k.projectionMatrix.copy(j.projectionMatrix),L.set(.5,0,0,.5,0,.5,0,.5,0,0,.5,.5,0,0,0,1),L.multiply(k.projectionMatrix),L.multiply(k.matrixWorldInverse),L.multiply(D.current.matrixWorld),P.setFromNormalAndCoplanarPoint(F,V),P.applyMatrix4(k.matrixWorldInverse),O.set(P.normal.x,P.normal.y,P.normal.z,P.constant);const e=k.projectionMatrix;_.x=(Math.sign(O.x)+e.elements[8])/e.elements[0],_.y=(Math.sign(O.y)+e.elements[9])/e.elements[5],_.z=-1,_.w=(1+e.elements[10])/e.elements[14],O.multiplyScalar(2/O.dot(_)),e.elements[2]=O.x,e.elements[6]=O.y,e.elements[10]=O.z+1,e.elements[14]=O.w}),[]),[A,I,G,H]=d.useMemo((()=>{const a={type:r.HalfFloatType,minFilter:r.LinearFilter,magFilter:r.LinearFilter},o=new r.WebGLRenderTarget(n,n,a);o.depthBuffer=!0,o.depthTexture=new r.DepthTexture(n,n),o.depthTexture.format=r.DepthFormat,o.depthTexture.type=r.UnsignedShortType;const l=new r.WebGLRenderTarget(n,n,a);return[o,l,new s.BlurPass({gl:R,resolution:n,width:i[0],height:i[1],minDepthThreshold:p,maxDepthThreshold:m,depthScale:h,depthToBlurRatioBias:f}),{mirror:x,textureMatrix:L,mixBlur:e,tDiffuse:o.texture,tDepth:o.depthTexture,tDiffuseBlur:l.texture,hasBlur:B,mixStrength:t,minDepthThreshold:p,maxDepthThreshold:m,depthScale:h,depthToBlurRatioBias:f,transparent:!0,debug:b,distortion:w,distortionMap:T,mixContrast:y,"defines-USE_BLUR":B?"":void 0,"defines-USE_DEPTH":h>0?"":void 0,"defines-USE_DISTORTION":T?"":void 0}]}),[R,i,L,n,x,B,e,t,p,m,h,f,b,w,T,y]);return a.useFrame((()=>{if(null==D||!D.current)return;D.current.visible=!1;const e=R.xr.enabled,t=R.shadowMap.autoUpdate;z(),R.xr.enabled=!1,R.shadowMap.autoUpdate=!1,R.setRenderTarget(A),R.state.buffers.depth.setMask(!0),R.autoClear||R.clear(),R.render(v,k),B&&G.render(R,A,I),R.xr.enabled=e,R.shadowMap.autoUpdate=t,D.current.visible=!0,R.setRenderTarget(null)})),d.createElement("mesh",u.default({ref:c.default([D,S])},g),d.createElement("planeGeometry",{args:l}),M?M("meshReflectorMaterial",H):d.createElement("meshReflectorMaterial",H))}));exports.Reflector=p;
package/core/Reflector.js CHANGED
@@ -6,14 +6,10 @@ import mergeRefs from 'react-merge-refs';
6
6
  import { BlurPass } from '../materials/BlurPass.js';
7
7
  import { MeshReflectorMaterial } from '../materials/MeshReflectorMaterial.js';
8
8
 
9
- extend({
10
- MeshReflectorMaterial
11
- });
12
-
13
9
  /**
14
10
  * @deprecated Use MeshReflectorMaterial instead
15
11
  */
16
- const Reflector = /*#__PURE__*/React.forwardRef(({
12
+ const Reflector = /* @__PURE__ */React.forwardRef(({
17
13
  mixBlur = 0,
18
14
  mixStrength = 0.5,
19
15
  resolution = 256,
@@ -31,6 +27,9 @@ const Reflector = /*#__PURE__*/React.forwardRef(({
31
27
  distortionMap,
32
28
  ...props
33
29
  }, ref) => {
30
+ extend({
31
+ MeshReflectorMaterial
32
+ });
34
33
  React.useEffect(() => {
35
34
  console.warn('Reflector has been deprecated and will be removed next major. Replace it with <MeshReflectorMaterial />!');
36
35
  }, []);
@@ -3,7 +3,7 @@ import * as THREE from 'three';
3
3
  import * as React from 'react';
4
4
  import { useThree, createPortal, useFrame } from '@react-three/fiber';
5
5
 
6
- const RenderCubeTexture = /*#__PURE__*/React.forwardRef(({
6
+ const RenderCubeTexture = /* @__PURE__ */React.forwardRef(({
7
7
  children,
8
8
  compute,
9
9
  renderPriority = -1,
@@ -4,7 +4,7 @@ import * as React from 'react';
4
4
  import { useThree, createPortal, useFrame } from '@react-three/fiber';
5
5
  import { useFBO } from './useFBO.js';
6
6
 
7
- const RenderTexture = /*#__PURE__*/React.forwardRef(({
7
+ const RenderTexture = /* @__PURE__ */React.forwardRef(({
8
8
  children,
9
9
  compute,
10
10
  width,
package/core/Resize.js CHANGED
@@ -2,7 +2,7 @@ import _extends from '@babel/runtime/helpers/esm/extends';
2
2
  import * as THREE from 'three';
3
3
  import * as React from 'react';
4
4
 
5
- const Resize = /*#__PURE__*/React.forwardRef(({
5
+ const Resize = /* @__PURE__ */React.forwardRef(({
6
6
  children,
7
7
  width,
8
8
  height,
@@ -13,7 +13,7 @@ function createShape(width, height, radius0) {
13
13
  shape.absarc(width - radius * 2, eps, eps, 0, -Math.PI / 2, true);
14
14
  return shape;
15
15
  }
16
- const RoundedBox = /*#__PURE__*/React.forwardRef(function RoundedBox({
16
+ const RoundedBox = /* @__PURE__ */React.forwardRef(function RoundedBox({
17
17
  args: [width = 1, height = 1, depth = 1] = [],
18
18
  radius = 0.05,
19
19
  steps = 1,
@@ -10,7 +10,7 @@ function createScreenQuadGeometry() {
10
10
  geometry.setAttribute('position', new THREE.BufferAttribute(vertices, 2));
11
11
  return geometry;
12
12
  }
13
- const ScreenQuad = /*#__PURE__*/React.forwardRef(function ScreenQuad({
13
+ const ScreenQuad = /* @__PURE__ */React.forwardRef(function ScreenQuad({
14
14
  children,
15
15
  ...restProps
16
16
  }, ref) {
@@ -3,7 +3,7 @@ import * as React from 'react';
3
3
  import mergeRefs from 'react-merge-refs';
4
4
  import { useFrame } from '@react-three/fiber';
5
5
 
6
- const ScreenSpace = /*#__PURE__*/React.forwardRef(({
6
+ const ScreenSpace = /* @__PURE__ */React.forwardRef(({
7
7
  children,
8
8
  depth = -1,
9
9
  ...rest
package/core/Segments.js CHANGED
@@ -5,8 +5,8 @@ import mergeRefs from 'react-merge-refs';
5
5
  import { extend, useFrame } from '@react-three/fiber';
6
6
  import { Line2, LineMaterial, LineSegmentsGeometry } from 'three-stdlib';
7
7
 
8
- const context = /*#__PURE__*/React.createContext(null);
9
- const Segments = /*#__PURE__*/React.forwardRef((props, forwardedRef) => {
8
+ const context = /* @__PURE__ */React.createContext(null);
9
+ const Segments = /* @__PURE__ */React.forwardRef((props, forwardedRef) => {
10
10
  React.useMemo(() => extend({
11
11
  SegmentObject
12
12
  }), []);
@@ -76,7 +76,7 @@ class SegmentObject {
76
76
  }
77
77
  }
78
78
  const normPos = pos => pos instanceof THREE.Vector3 ? pos : new THREE.Vector3(...(typeof pos === 'number' ? [pos, pos, pos] : pos));
79
- const Segment = /*#__PURE__*/React.forwardRef(({
79
+ const Segment = /* @__PURE__ */React.forwardRef(({
80
80
  color,
81
81
  start,
82
82
  end
package/core/Shadow.js CHANGED
@@ -2,7 +2,7 @@ import _extends from '@babel/runtime/helpers/esm/extends';
2
2
  import * as React from 'react';
3
3
  import { Color, DoubleSide } from 'three';
4
4
 
5
- const Shadow = /*#__PURE__*/React.forwardRef(({
5
+ const Shadow = /* @__PURE__ */React.forwardRef(({
6
6
  fog = false,
7
7
  renderOrder,
8
8
  depthWrite = false,
package/core/Sky.js CHANGED
@@ -11,7 +11,7 @@ function calcPosFromAngles(inclination, azimuth, vector = new Vector3()) {
11
11
  vector.z = Math.sin(phi);
12
12
  return vector;
13
13
  }
14
- const Sky = /*#__PURE__*/React.forwardRef(({
14
+ const Sky = /* @__PURE__ */React.forwardRef(({
15
15
  inclination = 0.6,
16
16
  azimuth = 0.1,
17
17
  distance = 1000,
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/extends"),t=require("react"),r=require("three"),o=require("@react-three/fiber"),i=require("./shaderMaterial.cjs.js");function n(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}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 o=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,o.get?o:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var l=n(e),s=a(t),c=a(r);const u=i.shaderMaterial({time:0,pixelRatio:1}," uniform float pixelRatio;\n uniform float time;\n attribute float size; \n attribute float speed; \n attribute float opacity;\n attribute vec3 noise;\n attribute vec3 color;\n varying vec3 vColor;\n varying float vOpacity;\n void main() {\n vec4 modelPosition = modelMatrix * vec4(position, 1.0);\n modelPosition.y += sin(time * speed + modelPosition.x * noise.x * 100.0) * 0.2;\n modelPosition.z += cos(time * speed + modelPosition.x * noise.y * 100.0) * 0.2;\n modelPosition.x += cos(time * speed + modelPosition.x * noise.z * 100.0) * 0.2;\n vec4 viewPosition = viewMatrix * modelPosition;\n vec4 projectionPostion = projectionMatrix * viewPosition;\n gl_Position = projectionPostion;\n gl_PointSize = size * 25. * pixelRatio;\n gl_PointSize *= (1.0 / - viewPosition.z);\n vColor = color;\n vOpacity = opacity;\n }",` varying vec3 vColor;\n varying float vOpacity;\n void main() {\n float distanceToCenter = distance(gl_PointCoord, vec2(0.5));\n float strength = 0.05 / distanceToCenter - 0.1;\n gl_FragColor = vec4(vColor, strength * vOpacity);\n #include <tonemapping_fragment>\n #include <${parseInt(c.REVISION.replace(/\D+/g,""))>=154?"colorspace_fragment":"encodings_fragment"}>\n }`),f=e=>e&&e.constructor===Float32Array,m=e=>e instanceof c.Vector2||e instanceof c.Vector3||e instanceof c.Vector4,p=e=>Array.isArray(e)?e:m(e)?e.toArray():[e,e,e];function d(e,t,r){return s.useMemo((()=>{if(void 0!==t){if(f(t))return t;if(t instanceof c.Color){const r=Array.from({length:3*e},(()=>{return[(e=t).r,e.g,e.b];var e})).flat();return Float32Array.from(r)}if(m(t)||Array.isArray(t)){const r=Array.from({length:3*e},(()=>p(t))).flat();return Float32Array.from(r)}return Float32Array.from({length:e},(()=>t))}return Float32Array.from({length:e},r)}),[t])}const v=s.forwardRef((({noise:e=1,count:t=100,speed:r=1,opacity:i=1,scale:n=1,size:a,color:m,children:v,...b},y)=>{s.useMemo((()=>o.extend({SparklesImplMaterial:u})),[]);const g=s.useRef(null),h=o.useThree((e=>e.viewport.dpr)),A=p(n),P=s.useMemo((()=>Float32Array.from(Array.from({length:t},(()=>A.map(c.MathUtils.randFloatSpread))).flat())),[t,...A]),x=d(t,a,Math.random),M=d(t,i),O=d(t,r),j=d(3*t,e),_=d(void 0===m?3*t:t,f(m)?m:new c.Color(m),(()=>1));return o.useFrame((e=>{g.current&&g.current.material&&(g.current.material.time=e.clock.elapsedTime)})),s.useImperativeHandle(y,(()=>g.current),[]),s.createElement("points",l.default({key:`particle-${t}-${JSON.stringify(n)}`},b,{ref:g}),s.createElement("bufferGeometry",null,s.createElement("bufferAttribute",{attach:"attributes-position",args:[P,3]}),s.createElement("bufferAttribute",{attach:"attributes-size",args:[x,1]}),s.createElement("bufferAttribute",{attach:"attributes-opacity",args:[M,1]}),s.createElement("bufferAttribute",{attach:"attributes-speed",args:[O,1]}),s.createElement("bufferAttribute",{attach:"attributes-color",args:[_,3]}),s.createElement("bufferAttribute",{attach:"attributes-noise",args:[j,3]})),v||s.createElement("sparklesImplMaterial",{transparent:!0,pixelRatio:h,depthWrite:!1}))}));exports.Sparkles=v;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/extends"),t=require("react"),r=require("three"),o=require("@react-three/fiber"),i=require("./shaderMaterial.cjs.js"),n=require("../helpers/constants.cjs.js");function a(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function s(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var o=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,o.get?o:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var l=a(e),c=s(t),u=s(r);const f=i.shaderMaterial({time:0,pixelRatio:1}," uniform float pixelRatio;\n uniform float time;\n attribute float size; \n attribute float speed; \n attribute float opacity;\n attribute vec3 noise;\n attribute vec3 color;\n varying vec3 vColor;\n varying float vOpacity;\n void main() {\n vec4 modelPosition = modelMatrix * vec4(position, 1.0);\n modelPosition.y += sin(time * speed + modelPosition.x * noise.x * 100.0) * 0.2;\n modelPosition.z += cos(time * speed + modelPosition.x * noise.y * 100.0) * 0.2;\n modelPosition.x += cos(time * speed + modelPosition.x * noise.z * 100.0) * 0.2;\n vec4 viewPosition = viewMatrix * modelPosition;\n vec4 projectionPostion = projectionMatrix * viewPosition;\n gl_Position = projectionPostion;\n gl_PointSize = size * 25. * pixelRatio;\n gl_PointSize *= (1.0 / - viewPosition.z);\n vColor = color;\n vOpacity = opacity;\n }",` varying vec3 vColor;\n varying float vOpacity;\n void main() {\n float distanceToCenter = distance(gl_PointCoord, vec2(0.5));\n float strength = 0.05 / distanceToCenter - 0.1;\n gl_FragColor = vec4(vColor, strength * vOpacity);\n #include <tonemapping_fragment>\n #include <${n.version>=154?"colorspace_fragment":"encodings_fragment"}>\n }`),m=e=>e&&e.constructor===Float32Array,p=e=>e instanceof u.Vector2||e instanceof u.Vector3||e instanceof u.Vector4,d=e=>Array.isArray(e)?e:p(e)?e.toArray():[e,e,e];function v(e,t,r){return c.useMemo((()=>{if(void 0!==t){if(m(t))return t;if(t instanceof u.Color){const r=Array.from({length:3*e},(()=>{return[(e=t).r,e.g,e.b];var e})).flat();return Float32Array.from(r)}if(p(t)||Array.isArray(t)){const r=Array.from({length:3*e},(()=>d(t))).flat();return Float32Array.from(r)}return Float32Array.from({length:e},(()=>t))}return Float32Array.from({length:e},r)}),[t])}const b=c.forwardRef((({noise:e=1,count:t=100,speed:r=1,opacity:i=1,scale:n=1,size:a,color:s,children:p,...b},y)=>{c.useMemo((()=>o.extend({SparklesImplMaterial:f})),[]);const g=c.useRef(null),h=o.useThree((e=>e.viewport.dpr)),A=d(n),P=c.useMemo((()=>Float32Array.from(Array.from({length:t},(()=>A.map(u.MathUtils.randFloatSpread))).flat())),[t,...A]),x=v(t,a,Math.random),j=v(t,i),M=v(t,r),O=v(3*t,e),_=v(void 0===s?3*t:t,m(s)?s:new u.Color(s),(()=>1));return o.useFrame((e=>{g.current&&g.current.material&&(g.current.material.time=e.clock.elapsedTime)})),c.useImperativeHandle(y,(()=>g.current),[]),c.createElement("points",l.default({key:`particle-${t}-${JSON.stringify(n)}`},b,{ref:g}),c.createElement("bufferGeometry",null,c.createElement("bufferAttribute",{attach:"attributes-position",args:[P,3]}),c.createElement("bufferAttribute",{attach:"attributes-size",args:[x,1]}),c.createElement("bufferAttribute",{attach:"attributes-opacity",args:[j,1]}),c.createElement("bufferAttribute",{attach:"attributes-speed",args:[M,1]}),c.createElement("bufferAttribute",{attach:"attributes-color",args:[_,3]}),c.createElement("bufferAttribute",{attach:"attributes-noise",args:[O,3]})),p||c.createElement("sparklesImplMaterial",{transparent:!0,pixelRatio:h,depthWrite:!1}))}));exports.Sparkles=b;
package/core/Sparkles.js CHANGED
@@ -3,8 +3,9 @@ import * as React from 'react';
3
3
  import * as THREE from 'three';
4
4
  import { extend, useThree, useFrame } from '@react-three/fiber';
5
5
  import { shaderMaterial } from './shaderMaterial.js';
6
+ import { version } from '../helpers/constants.js';
6
7
 
7
- const SparklesImplMaterial = shaderMaterial({
8
+ const SparklesImplMaterial = /* @__PURE__ */shaderMaterial({
8
9
  time: 0,
9
10
  pixelRatio: 1
10
11
  }, ` uniform float pixelRatio;
@@ -35,7 +36,7 @@ const SparklesImplMaterial = shaderMaterial({
35
36
  float strength = 0.05 / distanceToCenter - 0.1;
36
37
  gl_FragColor = vec4(vColor, strength * vOpacity);
37
38
  #include <tonemapping_fragment>
38
- #include <${parseInt(THREE.REVISION.replace(/\D+/g, '')) >= 154 ? 'colorspace_fragment' : 'encodings_fragment'}>
39
+ #include <${version >= 154 ? 'colorspace_fragment' : 'encodings_fragment'}>
39
40
  }`);
40
41
  const isFloat32Array = def => def && def.constructor === Float32Array;
41
42
  const expandColor = v => [v.r, v.g, v.b];
@@ -71,7 +72,7 @@ function usePropAsIsOrAsAttribute(count, prop, setDefault) {
71
72
  }, setDefault);
72
73
  }, [prop]);
73
74
  }
74
- const Sparkles = /*#__PURE__*/React.forwardRef(({
75
+ const Sparkles = /* @__PURE__ */React.forwardRef(({
75
76
  noise = 1,
76
77
  count = 100,
77
78
  speed = 1,
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/extends"),t=require("react"),r=require("three"),a=require("@react-three/fiber"),n=require("three-stdlib"),o=require("react-merge-refs"),i=require("../materials/SpotLightMaterial.cjs.js");function u(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function l(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var a=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,a.get?a:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var s=u(e),c=l(t),p=u(o),d="#define GLSLIFY 1\nvarying vec2 vUv;uniform sampler2D uShadowMap;uniform float uTime;void main(){vec3 color=texture2D(uShadowMap,vUv).xyz;gl_FragColor=vec4(color,1.);}";const m=e=>null==e?void 0:e.isSpotLight;function h({opacity:e=1,radiusTop:t,radiusBottom:n,depthBuffer:o,color:u="white",distance:l=5,angle:s=.15,attenuation:p=5,anglePower:d=5}){const m=c.useRef(null),h=a.useThree((e=>e.size)),f=a.useThree((e=>e.camera)),g=a.useThree((e=>e.viewport.dpr)),[v]=c.useState((()=>new i.SpotLightMaterial)),[w]=c.useState((()=>new r.Vector3));t=void 0===t?.1:t,n=void 0===n?7*s:n,a.useFrame((()=>{v.uniforms.spotPosition.value.copy(m.current.getWorldPosition(w)),m.current.lookAt(m.current.parent.target.getWorldPosition(w))}));const S=c.useMemo((()=>{const e=new r.CylinderGeometry(t,n,l,128,64,!0);return e.applyMatrix4((new r.Matrix4).makeTranslation(0,-l/2,0)),e.applyMatrix4((new r.Matrix4).makeRotationX(-Math.PI/2)),e}),[l,t,n]);return c.createElement(c.Fragment,null,c.createElement("mesh",{ref:m,geometry:S,raycast:()=>null},c.createElement("primitive",{object:v,attach:"material","uniforms-opacity-value":e,"uniforms-lightColor-value":u,"uniforms-attenuation-value":p,"uniforms-anglePower-value":d,"uniforms-depth-value":o,"uniforms-cameraNear-value":f.near,"uniforms-cameraFar-value":f.far,"uniforms-resolution-value":o?[h.width*g,h.height*g]:[0,0]})))}function f(e,t,n,o,i){const[[u,l]]=c.useState((()=>[new r.Vector3,new r.Vector3]));c.useLayoutEffect((()=>{if(!m(e.current))throw new Error("SpotlightShadow must be a child of a SpotLight");e.current.shadow.mapSize.set(n,o),e.current.shadow.needsUpdate=!0}),[e,n,o]),a.useFrame((()=>{if(!e.current)return;const r=e.current.position,a=e.current.target.position;l.copy(a).sub(r);var n=l.length();l.normalize().multiplyScalar(n*i),u.copy(r).add(l),t.current.position.copy(u),t.current.lookAt(e.current.target.position)}))}function g({distance:e=.4,alphaTest:t=.5,map:o,shader:i=d,width:u=512,height:l=512,scale:s=1,children:p,...m}){const h=c.useRef(null),g=m.spotlightRef,v=m.debug;f(g,h,u,l,e);const w=c.useMemo((()=>new r.WebGLRenderTarget(u,l,{format:r.RGBAFormat,encoding:r.LinearEncoding,stencilBuffer:!1})),[u,l]),S=c.useRef({uShadowMap:{value:o},uTime:{value:0}});c.useEffect((()=>{S.current.uShadowMap.value=o}),[o]);const y=c.useMemo((()=>new n.FullScreenQuad(new r.ShaderMaterial({uniforms:S.current,vertexShader:"\n varying vec2 vUv;\n\n void main() {\n vUv = uv;\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n }\n ",fragmentShader:i}))),[i]);return c.useEffect((()=>()=>{y.material.dispose(),y.dispose()}),[y]),c.useEffect((()=>()=>w.dispose()),[w]),a.useFrame((({gl:e},t)=>{S.current.uTime.value+=t,e.setRenderTarget(w),y.render(e),e.setRenderTarget(null)})),c.createElement(c.Fragment,null,c.createElement("mesh",{ref:h,scale:s,castShadow:!0},c.createElement("planeGeometry",null),c.createElement("meshBasicMaterial",{transparent:!0,side:r.DoubleSide,alphaTest:t,alphaMap:w.texture,"alphaMap-wrapS":r.RepeatWrapping,"alphaMap-wrapT":r.RepeatWrapping,opacity:v?1:0},p)))}function v({distance:e=.4,alphaTest:t=.5,map:a,width:n=512,height:o=512,scale:i,children:u,...l}){const s=c.useRef(null),p=l.spotlightRef,d=l.debug;return f(p,s,n,o,e),c.createElement(c.Fragment,null,c.createElement("mesh",{ref:s,scale:i,castShadow:!0},c.createElement("planeGeometry",null),c.createElement("meshBasicMaterial",{transparent:!0,side:r.DoubleSide,alphaTest:t,alphaMap:a,"alphaMap-wrapS":r.RepeatWrapping,"alphaMap-wrapT":r.RepeatWrapping,opacity:d?1:0},u)))}const w=c.forwardRef((({opacity:e=1,radiusTop:t,radiusBottom:r,depthBuffer:a,color:n="white",distance:o=5,angle:i=.15,attenuation:u=5,anglePower:l=5,volumetric:d=!0,debug:m=!1,children:f,...g},v)=>{const w=c.useRef(null);return c.createElement("group",null,m&&w.current&&c.createElement("spotLightHelper",{args:[w.current]}),c.createElement("spotLight",s.default({ref:p.default([v,w]),angle:i,color:n,distance:o,castShadow:!0},g),d&&c.createElement(h,{debug:m,opacity:e,radiusTop:t,radiusBottom:r,depthBuffer:a,color:n,distance:o,angle:i,attenuation:u,anglePower:l})),f&&c.cloneElement(f,{spotlightRef:w,debug:m}))}));exports.SpotLight=w,exports.SpotLightShadow=function(e){return e.shader?c.createElement(g,e):c.createElement(v,e)};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/extends"),t=require("react"),r=require("three"),a=require("@react-three/fiber"),n=require("three-stdlib"),o=require("react-merge-refs"),i=require("../materials/SpotLightMaterial.cjs.js");function u(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function l(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var a=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,a.get?a:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}require("../helpers/constants.cjs.js");var s=u(e),c=l(t),p=u(o),d="#define GLSLIFY 1\nvarying vec2 vUv;uniform sampler2D uShadowMap;uniform float uTime;void main(){vec3 color=texture2D(uShadowMap,vUv).xyz;gl_FragColor=vec4(color,1.);}";const m=e=>null==e?void 0:e.isSpotLight;function h({opacity:e=1,radiusTop:t,radiusBottom:n,depthBuffer:o,color:u="white",distance:l=5,angle:s=.15,attenuation:p=5,anglePower:d=5}){const m=c.useRef(null),h=a.useThree((e=>e.size)),f=a.useThree((e=>e.camera)),g=a.useThree((e=>e.viewport.dpr)),[v]=c.useState((()=>new i.SpotLightMaterial)),[w]=c.useState((()=>new r.Vector3));t=void 0===t?.1:t,n=void 0===n?7*s:n,a.useFrame((()=>{v.uniforms.spotPosition.value.copy(m.current.getWorldPosition(w)),m.current.lookAt(m.current.parent.target.getWorldPosition(w))}));const S=c.useMemo((()=>{const e=new r.CylinderGeometry(t,n,l,128,64,!0);return e.applyMatrix4((new r.Matrix4).makeTranslation(0,-l/2,0)),e.applyMatrix4((new r.Matrix4).makeRotationX(-Math.PI/2)),e}),[l,t,n]);return c.createElement(c.Fragment,null,c.createElement("mesh",{ref:m,geometry:S,raycast:()=>null},c.createElement("primitive",{object:v,attach:"material","uniforms-opacity-value":e,"uniforms-lightColor-value":u,"uniforms-attenuation-value":p,"uniforms-anglePower-value":d,"uniforms-depth-value":o,"uniforms-cameraNear-value":f.near,"uniforms-cameraFar-value":f.far,"uniforms-resolution-value":o?[h.width*g,h.height*g]:[0,0]})))}function f(e,t,n,o,i){const[[u,l]]=c.useState((()=>[new r.Vector3,new r.Vector3]));c.useLayoutEffect((()=>{if(!m(e.current))throw new Error("SpotlightShadow must be a child of a SpotLight");e.current.shadow.mapSize.set(n,o),e.current.shadow.needsUpdate=!0}),[e,n,o]),a.useFrame((()=>{if(!e.current)return;const r=e.current.position,a=e.current.target.position;l.copy(a).sub(r);var n=l.length();l.normalize().multiplyScalar(n*i),u.copy(r).add(l),t.current.position.copy(u),t.current.lookAt(e.current.target.position)}))}function g({distance:e=.4,alphaTest:t=.5,map:o,shader:i=d,width:u=512,height:l=512,scale:s=1,children:p,...m}){const h=c.useRef(null),g=m.spotlightRef,v=m.debug;f(g,h,u,l,e);const w=c.useMemo((()=>new r.WebGLRenderTarget(u,l,{format:r.RGBAFormat,encoding:r.LinearEncoding,stencilBuffer:!1})),[u,l]),S=c.useRef({uShadowMap:{value:o},uTime:{value:0}});c.useEffect((()=>{S.current.uShadowMap.value=o}),[o]);const y=c.useMemo((()=>new n.FullScreenQuad(new r.ShaderMaterial({uniforms:S.current,vertexShader:"\n varying vec2 vUv;\n\n void main() {\n vUv = uv;\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n }\n ",fragmentShader:i}))),[i]);return c.useEffect((()=>()=>{y.material.dispose(),y.dispose()}),[y]),c.useEffect((()=>()=>w.dispose()),[w]),a.useFrame((({gl:e},t)=>{S.current.uTime.value+=t,e.setRenderTarget(w),y.render(e),e.setRenderTarget(null)})),c.createElement(c.Fragment,null,c.createElement("mesh",{ref:h,scale:s,castShadow:!0},c.createElement("planeGeometry",null),c.createElement("meshBasicMaterial",{transparent:!0,side:r.DoubleSide,alphaTest:t,alphaMap:w.texture,"alphaMap-wrapS":r.RepeatWrapping,"alphaMap-wrapT":r.RepeatWrapping,opacity:v?1:0},p)))}function v({distance:e=.4,alphaTest:t=.5,map:a,width:n=512,height:o=512,scale:i,children:u,...l}){const s=c.useRef(null),p=l.spotlightRef,d=l.debug;return f(p,s,n,o,e),c.createElement(c.Fragment,null,c.createElement("mesh",{ref:s,scale:i,castShadow:!0},c.createElement("planeGeometry",null),c.createElement("meshBasicMaterial",{transparent:!0,side:r.DoubleSide,alphaTest:t,alphaMap:a,"alphaMap-wrapS":r.RepeatWrapping,"alphaMap-wrapT":r.RepeatWrapping,opacity:d?1:0},u)))}const w=c.forwardRef((({opacity:e=1,radiusTop:t,radiusBottom:r,depthBuffer:a,color:n="white",distance:o=5,angle:i=.15,attenuation:u=5,anglePower:l=5,volumetric:d=!0,debug:m=!1,children:f,...g},v)=>{const w=c.useRef(null);return c.createElement("group",null,m&&w.current&&c.createElement("spotLightHelper",{args:[w.current]}),c.createElement("spotLight",s.default({ref:p.default([v,w]),angle:i,color:n,distance:o,castShadow:!0},g),d&&c.createElement(h,{debug:m,opacity:e,radiusTop:t,radiusBottom:r,depthBuffer:a,color:n,distance:o,angle:i,attenuation:u,anglePower:l})),f&&c.cloneElement(f,{spotlightRef:w,debug:m}))}));exports.SpotLight=w,exports.SpotLightShadow=function(e){return e.shader?c.createElement(g,e):c.createElement(v,e)};
package/core/Stage.cjs.js CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/extends"),t=require("react"),i=require("./Environment.cjs.js"),n=require("./ContactShadows.cjs.js"),r=require("./Center.cjs.js"),a=require("./AccumulativeShadows.cjs.js"),s=require("./Bounds.cjs.js");function l(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function u(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(i){if("default"!==i){var n=Object.getOwnPropertyDescriptor(e,i);Object.defineProperty(t,i,n.get?n:{enumerable:!0,get:function(){return e[i]}})}})),t.default=e,Object.freeze(t)}require("@react-three/fiber"),require("three"),require("three-stdlib"),require("./useEnvironment.cjs.js"),require("../helpers/environment-assets.cjs.js"),require("./shaderMaterial.cjs.js"),require("../materials/DiscardMaterial.cjs.js");var o=l(e),c=u(t);const d={rembrandt:{main:[1,2,1],fill:[-2,-.5,-2]},portrait:{main:[-1,2,.5],fill:[-1,.5,-1.5]},upfront:{main:[0,2,1],fill:[-1,.5,-1.5]},soft:{main:[-2,4,4],fill:[-1,.5,-1.5]}};function m({radius:e,adjustCamera:t}){const i=s.useBounds();return c.useEffect((()=>{t&&i.refresh().clip().fit()}),[e,t]),null}exports.Stage=function({children:e,center:t,adjustCamera:l=!0,intensity:u=.5,shadows:f="contact",environment:p="city",preset:h="rembrandt",...v}){var j,b,g,y,E,q,w,C;const S="string"==typeof h?d[h]:h,[{radius:O,height:z},B]=c.useState({radius:0,width:0,height:0,depth:0}),M=null!==(j=null==f?void 0:f.bias)&&void 0!==j?j:-1e-4,L=null!==(b=null==f?void 0:f.normalBias)&&void 0!==b?b:0,_=null!==(g=null==f?void 0:f.size)&&void 0!==g?g:1024,x=null!==(y=null==f?void 0:f.offset)&&void 0!==y?y:0,P="contact"===f||"contact"===(null==f?void 0:f.type),k="accumulative"===f||"accumulative"===(null==f?void 0:f.type),A={..."object"==typeof f?f:{}},D=p?"string"==typeof p?{preset:p}:p:null,F=c.useCallback((e=>{const{width:i,height:n,depth:r,boundingSphere:a}=e;B({radius:a.radius,width:i,height:n,depth:r}),null!=t&&t.onCentered&&t.onCentered(e)}),[]);return c.createElement(c.Fragment,null,c.createElement("ambientLight",{intensity:u/3}),c.createElement("spotLight",{penumbra:1,position:[S.main[0]*O,S.main[1]*O,S.main[2]*O],intensity:2*u,castShadow:!!f,"shadow-bias":M,"shadow-normalBias":L,"shadow-mapSize":_}),c.createElement("pointLight",{position:[S.fill[0]*O,S.fill[1]*O,S.fill[2]*O],intensity:u}),c.createElement(s.Bounds,o.default({fit:!!l,clip:!!l,margin:Number(l),observe:!0},v),c.createElement(m,{radius:O,adjustCamera:l}),c.createElement(r.Center,o.default({},t,{position:[0,x/2,0],onCentered:F}),e)),c.createElement("group",{position:[0,-z/2-x/2,0]},P&&c.createElement(n.ContactShadows,o.default({scale:4*O,far:O,blur:2},A)),k&&c.createElement(a.AccumulativeShadows,o.default({temporal:!0,frames:100,alphaTest:.9,toneMapped:!0,scale:4*O},A),c.createElement(a.RandomizedLight,{amount:null!==(E=A.amount)&&void 0!==E?E:8,radius:null!==(q=A.radius)&&void 0!==q?q:O,ambient:null!==(w=A.ambient)&&void 0!==w?w:.5,intensity:null!==(C=A.intensity)&&void 0!==C?C:1,position:[S.main[0]*O,S.main[1]*O,S.main[2]*O],size:4*O,bias:-M,mapSize:_}))),p&&c.createElement(i.Environment,D))};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/extends"),t=require("react"),n=require("./Environment.cjs.js"),i=require("./ContactShadows.cjs.js"),r=require("./Center.cjs.js"),a=require("./AccumulativeShadows.cjs.js"),s=require("./Bounds.cjs.js");function l(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function u(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(n){if("default"!==n){var i=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,i.get?i:{enumerable:!0,get:function(){return e[n]}})}})),t.default=e,Object.freeze(t)}require("@react-three/fiber"),require("three"),require("three-stdlib"),require("./useEnvironment.cjs.js"),require("../helpers/environment-assets.cjs.js"),require("./shaderMaterial.cjs.js"),require("../materials/DiscardMaterial.cjs.js"),require("../helpers/constants.cjs.js");var o=l(e),c=u(t);const d={rembrandt:{main:[1,2,1],fill:[-2,-.5,-2]},portrait:{main:[-1,2,.5],fill:[-1,.5,-1.5]},upfront:{main:[0,2,1],fill:[-1,.5,-1.5]},soft:{main:[-2,4,4],fill:[-1,.5,-1.5]}};function m({radius:e,adjustCamera:t}){const n=s.useBounds();return c.useEffect((()=>{t&&n.refresh().clip().fit()}),[e,t]),null}exports.Stage=function({children:e,center:t,adjustCamera:l=!0,intensity:u=.5,shadows:f="contact",environment:p="city",preset:h="rembrandt",...j}){var v,b,g,y,E,q,w,C;const S="string"==typeof h?d[h]:h,[{radius:O,height:z},B]=c.useState({radius:0,width:0,height:0,depth:0}),M=null!==(v=null==f?void 0:f.bias)&&void 0!==v?v:-1e-4,L=null!==(b=null==f?void 0:f.normalBias)&&void 0!==b?b:0,_=null!==(g=null==f?void 0:f.size)&&void 0!==g?g:1024,x=null!==(y=null==f?void 0:f.offset)&&void 0!==y?y:0,P="contact"===f||"contact"===(null==f?void 0:f.type),k="accumulative"===f||"accumulative"===(null==f?void 0:f.type),A={..."object"==typeof f?f:{}},D=p?"string"==typeof p?{preset:p}:p:null,F=c.useCallback((e=>{const{width:n,height:i,depth:r,boundingSphere:a}=e;B({radius:a.radius,width:n,height:i,depth:r}),null!=t&&t.onCentered&&t.onCentered(e)}),[]);return c.createElement(c.Fragment,null,c.createElement("ambientLight",{intensity:u/3}),c.createElement("spotLight",{penumbra:1,position:[S.main[0]*O,S.main[1]*O,S.main[2]*O],intensity:2*u,castShadow:!!f,"shadow-bias":M,"shadow-normalBias":L,"shadow-mapSize":_}),c.createElement("pointLight",{position:[S.fill[0]*O,S.fill[1]*O,S.fill[2]*O],intensity:u}),c.createElement(s.Bounds,o.default({fit:!!l,clip:!!l,margin:Number(l),observe:!0},j),c.createElement(m,{radius:O,adjustCamera:l}),c.createElement(r.Center,o.default({},t,{position:[0,x/2,0],onCentered:F}),e)),c.createElement("group",{position:[0,-z/2-x/2,0]},P&&c.createElement(i.ContactShadows,o.default({scale:4*O,far:O,blur:2},A)),k&&c.createElement(a.AccumulativeShadows,o.default({temporal:!0,frames:100,alphaTest:.9,toneMapped:!0,scale:4*O},A),c.createElement(a.RandomizedLight,{amount:null!==(E=A.amount)&&void 0!==E?E:8,radius:null!==(q=A.radius)&&void 0!==q?q:O,ambient:null!==(w=A.ambient)&&void 0!==w?w:.5,intensity:null!==(C=A.intensity)&&void 0!==C?C:1,position:[S.main[0]*O,S.main[1]*O,S.main[2]*O],size:4*O,bias:-M,mapSize:_}))),p&&c.createElement(n.Environment,D))};
package/core/Stars.cjs.js CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("three"),t=require("react"),r=require("@react-three/fiber");function n(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=n(e),o=n(t);class i extends e.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 <${parseInt(a.REVISION.replace(/\D+/g,""))>=154?"colorspace_fragment":"encodings_fragment"}>\n }`})}}const c=t=>(new e.Vector3).setFromSpherical(new e.Spherical(t,Math.acos(1-2*Math.random()),2*Math.random()*Math.PI)),l=o.forwardRef((({radius:t=100,depth:n=50,count:a=5e3,saturation:l=0,factor:s=4,fade:u=!1,speed:f=1},m)=>{const d=o.useRef(),[p,v,g]=o.useMemo((()=>{const r=[],o=[],i=Array.from({length:a},(()=>(.5+.5*Math.random())*s)),u=new e.Color;let f=t+n;const m=n/a;for(let e=0;e<a;e++)f-=m*Math.random(),r.push(...c(f).toArray()),u.setHSL(e/a,l,.9),o.push(u.r,u.g,u.b);return[new Float32Array(r),new Float32Array(o),new Float32Array(i)]}),[a,n,s,t,l]);r.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:e.AdditiveBlending,"uniforms-fade-value":u,depthWrite:!1,transparent:!0,vertexColors:!0}))}));exports.Stars=l;
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;
package/core/Stars.js CHANGED
@@ -1,7 +1,7 @@
1
- import * as THREE from 'three';
2
- import { Color, AdditiveBlending, ShaderMaterial, Vector3, Spherical } from 'three';
3
1
  import * as React from 'react';
4
2
  import { useFrame } from '@react-three/fiber';
3
+ import { Color, AdditiveBlending, ShaderMaterial, Vector3, Spherical } from 'three';
4
+ import { version } from '../helpers/constants.js';
5
5
 
6
6
  class StarfieldMaterial extends ShaderMaterial {
7
7
  constructor() {
@@ -37,7 +37,7 @@ class StarfieldMaterial extends ShaderMaterial {
37
37
  gl_FragColor = vec4(vColor, opacity);
38
38
 
39
39
  #include <tonemapping_fragment>
40
- #include <${parseInt(THREE.REVISION.replace(/\D+/g, '')) >= 154 ? 'colorspace_fragment' : 'encodings_fragment'}>
40
+ #include <${version >= 154 ? 'colorspace_fragment' : 'encodings_fragment'}>
41
41
  }`
42
42
  });
43
43
  }
@@ -45,7 +45,7 @@ class StarfieldMaterial extends ShaderMaterial {
45
45
  const genStar = r => {
46
46
  return new Vector3().setFromSpherical(new Spherical(r, Math.acos(1 - Math.random() * 2), Math.random() * 2 * Math.PI));
47
47
  };
48
- const Stars = /*#__PURE__*/React.forwardRef(({
48
+ const Stars = /* @__PURE__ */React.forwardRef(({
49
49
  radius = 100,
50
50
  depth = 50,
51
51
  count = 5000,
package/core/Svg.js CHANGED
@@ -5,7 +5,7 @@ import { forwardRef, useMemo, useEffect, Fragment } from 'react';
5
5
  import { DoubleSide } from 'three';
6
6
  import { SVGLoader } from 'three-stdlib';
7
7
 
8
- const Svg = /*#__PURE__*/forwardRef(function R3FSvg({
8
+ const Svg = /* @__PURE__ */forwardRef(function R3FSvg({
9
9
  src,
10
10
  skipFill,
11
11
  skipStrokes,
package/core/Text.js CHANGED
@@ -5,7 +5,7 @@ import { useThree } from '@react-three/fiber';
5
5
  import { suspend } from 'suspend-react';
6
6
 
7
7
  // eslint-disable-next-line prettier/prettier
8
- const Text = /*#__PURE__*/React.forwardRef(({
8
+ const Text = /* @__PURE__ */React.forwardRef(({
9
9
  sdfGlyphSize = 64,
10
10
  anchorX = 'center',
11
11
  anchorY = 'middle',
package/core/Text3D.js CHANGED
@@ -14,7 +14,7 @@ const getTextFromChildren = children => {
14
14
  });
15
15
  return [label, ...rest];
16
16
  };
17
- const Text3D = /*#__PURE__*/React.forwardRef(({
17
+ const Text3D = /* @__PURE__ */React.forwardRef(({
18
18
  font: _font,
19
19
  letterSpacing = 0,
20
20
  lineHeight = 1,
@@ -3,7 +3,7 @@ import { useThree, useFrame } from '@react-three/fiber';
3
3
  import * as React from 'react';
4
4
  import { TrackballControls as TrackballControls$1 } from 'three-stdlib';
5
5
 
6
- const TrackballControls = /*#__PURE__*/React.forwardRef(({
6
+ const TrackballControls = /* @__PURE__ */React.forwardRef(({
7
7
  makeDefault,
8
8
  camera,
9
9
  domElement,
package/core/Trail.js CHANGED
@@ -62,7 +62,7 @@ function useTrail(target, settings) {
62
62
  });
63
63
  return points;
64
64
  }
65
- const Trail = /*#__PURE__*/React.forwardRef((props, forwardRef) => {
65
+ const Trail = /* @__PURE__ */React.forwardRef((props, forwardRef) => {
66
66
  const {
67
67
  children
68
68
  } = props;
@@ -6,7 +6,7 @@ import * as React from 'react';
6
6
  import * as THREE from 'three';
7
7
  import { TransformControls as TransformControls$1 } from 'three-stdlib';
8
8
 
9
- const TransformControls = /*#__PURE__*/React.forwardRef(({
9
+ const TransformControls = /* @__PURE__ */React.forwardRef(({
10
10
  children,
11
11
  domElement,
12
12
  onChange,
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/extends"),r=require("react"),t=require("three"),n=require("@react-three/fiber"),o=require("../materials/WireframeMaterial.cjs.js");function i(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function a(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)}require("./shaderMaterial.cjs.js");var u=i(e),f=a(r),s=a(t);function c(e){return void 0!==(null==e?void 0:e.current)}function l(e){return"WireframeGeometry"===e.type}function m(e){const r=null!=(t=e)&&t.current?e.current:e;var t;if(function(e){return!(null==e||!e.isBufferGeometry)}(r))return r;{if(l(r))throw new Error("Wireframe: WireframeGeometry is not supported.");const e=r.parent;if(function(e){return!(null==e||!e.geometry)}(e)){if(l(e.geometry))throw new Error("Wireframe: WireframeGeometry is not supported.");return e.geometry}}}function d(e,r){if(e.index){console.warn("Wireframe: Requires non-indexed geometry, converting to non-indexed geometry.");const r=e.toNonIndexed();e.copy(r),e.setIndex(null)}const t=function(e,r){const t=e.getAttribute("position").count,n=[];for(let e=0;e<t;e++){const t=r?1:0;e%2==0?n.push(0,0,1,0,1,0,1,0,t):n.push(0,1,0,0,0,1,1,0,t)}return new s.BufferAttribute(Float32Array.from(n),3)}(e,r);e.setAttribute("barycentric",t)}function y({geometry:e,simplify:r=!1,...t}){const[n,o]=f.useState(null);f.useLayoutEffect((()=>{const t=m(e);if(!t)throw new Error("Wireframe: geometry prop must be a BufferGeometry or a ref to a BufferGeometry.");d(t,r),c(e)&&o(t)}),[r,e]);const i=c(e)?n:e;return f.createElement(f.Fragment,null,i&&f.createElement("mesh",{geometry:i},f.createElement("meshWireframeMaterial",u.default({attach:"material",transparent:!0,side:s.DoubleSide,polygonOffset:!0,polygonOffsetFactor:-4},t,{extensions:{derivatives:!0,fragDepth:!1,drawBuffers:!1,shaderTextureLOD:!1}}))))}function p({simplify:e=!1,...r}){const t=f.useRef(null),n=f.useMemo((()=>function(){const e={};for(const r in o.WireframeMaterialShaders.uniforms)e[r]={value:o.WireframeMaterialShaders.uniforms[r]};return e}()),[o.WireframeMaterialShaders.uniforms]);return o.useWireframeUniforms(n,r),f.useLayoutEffect((()=>{const r=m(t);if(!r)throw new Error("Wireframe: Must be a child of a Mesh, Line or Points object or specify a geometry prop.");const n=r.clone();return d(r,e),()=>{r.copy(n),n.dispose()}}),[e]),f.useLayoutEffect((()=>{const e=t.current.parent,r=e.material.clone();return o.setWireframeOverride(e.material,n),()=>{e.material.dispose(),e.material=r}}),[]),f.createElement("object3D",{ref:t})}a(n).extend({MeshWireframeMaterial:o.WireframeMaterial}),exports.Wireframe=function({geometry:e,...r}){return e?f.createElement(y,u.default({geometry:e},r)):f.createElement(p,r)};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/extends"),r=require("react"),t=require("three"),n=require("@react-three/fiber"),o=require("../materials/WireframeMaterial.cjs.js");function i(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function a(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)}require("./shaderMaterial.cjs.js");var u=i(e),f=a(r),s=a(t);function c(e){return void 0!==(null==e?void 0:e.current)}function l(e){return"WireframeGeometry"===e.type}function m(e){const r=null!=(t=e)&&t.current?e.current:e;var t;if(function(e){return!(null==e||!e.isBufferGeometry)}(r))return r;{if(l(r))throw new Error("Wireframe: WireframeGeometry is not supported.");const e=r.parent;if(function(e){return!(null==e||!e.geometry)}(e)){if(l(e.geometry))throw new Error("Wireframe: WireframeGeometry is not supported.");return e.geometry}}}function d(e,r){if(e.index){console.warn("Wireframe: Requires non-indexed geometry, converting to non-indexed geometry.");const r=e.toNonIndexed();e.copy(r),e.setIndex(null)}const t=function(e,r){const t=e.getAttribute("position").count,n=[];for(let e=0;e<t;e++){const t=r?1:0;e%2==0?n.push(0,0,1,0,1,0,1,0,t):n.push(0,1,0,0,0,1,1,0,t)}return new s.BufferAttribute(Float32Array.from(n),3)}(e,r);e.setAttribute("barycentric",t)}function y({geometry:e,simplify:r=!1,...t}){n.extend({MeshWireframeMaterial:o.WireframeMaterial});const[i,a]=f.useState(null);f.useLayoutEffect((()=>{const t=m(e);if(!t)throw new Error("Wireframe: geometry prop must be a BufferGeometry or a ref to a BufferGeometry.");d(t,r),c(e)&&a(t)}),[r,e]);const l=c(e)?i:e;return f.createElement(f.Fragment,null,l&&f.createElement("mesh",{geometry:l},f.createElement("meshWireframeMaterial",u.default({attach:"material",transparent:!0,side:s.DoubleSide,polygonOffset:!0,polygonOffsetFactor:-4},t,{extensions:{derivatives:!0,fragDepth:!1,drawBuffers:!1,shaderTextureLOD:!1}}))))}function p({simplify:e=!1,...r}){const t=f.useRef(null),n=f.useMemo((()=>function(){const e={};for(const r in o.WireframeMaterialShaders.uniforms)e[r]={value:o.WireframeMaterialShaders.uniforms[r]};return e}()),[o.WireframeMaterialShaders.uniforms]);return o.useWireframeUniforms(n,r),f.useLayoutEffect((()=>{const r=m(t);if(!r)throw new Error("Wireframe: Must be a child of a Mesh, Line or Points object or specify a geometry prop.");const n=r.clone();return d(r,e),()=>{r.copy(n),n.dispose()}}),[e]),f.useLayoutEffect((()=>{const e=t.current.parent,r=e.material.clone();return o.setWireframeOverride(e.material,n),()=>{e.material.dispose(),e.material=r}}),[]),f.createElement("object3D",{ref:t})}exports.Wireframe=function({geometry:e,...r}){return e?f.createElement(y,u.default({geometry:e},r)):f.createElement(p,r)};
@@ -1,11 +1,11 @@
1
1
  import * as React from 'react';
2
2
  import * as THREE from 'three';
3
- import * as FIBER from '@react-three/fiber';
3
+ import { MaterialNode } from '@react-three/fiber';
4
4
  import { WireframeMaterialProps } from '../materials/WireframeMaterial';
5
5
  declare global {
6
6
  namespace JSX {
7
7
  interface IntrinsicElements {
8
- meshWireframeMaterial: FIBER.MaterialNode<THREE.ShaderMaterial, WireframeMaterialProps>;
8
+ meshWireframeMaterial: MaterialNode<THREE.ShaderMaterial, WireframeMaterialProps>;
9
9
  }
10
10
  }
11
11
  }
package/core/Wireframe.js CHANGED
@@ -1,12 +1,9 @@
1
1
  import _extends from '@babel/runtime/helpers/esm/extends';
2
2
  import * as React from 'react';
3
3
  import * as THREE from 'three';
4
- import * as FIBER from '@react-three/fiber';
4
+ import { extend } from '@react-three/fiber';
5
5
  import { WireframeMaterial, WireframeMaterialShaders, useWireframeUniforms, setWireframeOverride } from '../materials/WireframeMaterial.js';
6
6
 
7
- FIBER.extend({
8
- MeshWireframeMaterial: WireframeMaterial
9
- });
10
7
  function isWithGeometry(object) {
11
8
  return !!(object != null && object.geometry);
12
9
  }
@@ -80,6 +77,9 @@ function WireframeWithCustomGeo({
80
77
  simplify = false,
81
78
  ...props
82
79
  }) {
80
+ extend({
81
+ MeshWireframeMaterial: WireframeMaterial
82
+ });
83
83
  const [geometry, setGeometry] = React.useState(null);
84
84
  React.useLayoutEffect(() => {
85
85
  const geom = getInputGeometry(customGeometry);