@react-three/drei 9.78.0 → 9.78.2

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 (153) hide show
  1. package/core/AccumulativeShadows.cjs.js +1 -1
  2. package/core/AdaptiveDpr.cjs.js +1 -1
  3. package/core/AdaptiveEvents.cjs.js +1 -1
  4. package/core/ArcballControls.cjs.js +1 -1
  5. package/core/AsciiRenderer.cjs.js +1 -1
  6. package/core/BBAnchor.cjs.js +1 -1
  7. package/core/Backdrop.cjs.js +1 -1
  8. package/core/BakeShadows.cjs.js +1 -1
  9. package/core/Billboard.cjs.js +1 -1
  10. package/core/Bounds.cjs.js +1 -1
  11. package/core/CameraControls.cjs.js +1 -1
  12. package/core/CameraShake.cjs.js +1 -1
  13. package/core/CatmullRomLine.cjs.js +1 -1
  14. package/core/Caustics.cjs.js +1 -1
  15. package/core/Center.cjs.js +1 -1
  16. package/core/Clone.cjs.js +1 -1
  17. package/core/Cloud.cjs.js +1 -1
  18. package/core/ComputedAttribute.cjs.js +1 -1
  19. package/core/ContactShadows.cjs.js +1 -1
  20. package/core/CubeCamera.cjs.js +1 -1
  21. package/core/CubicBezierLine.cjs.js +1 -1
  22. package/core/CurveModifier.cjs.js +1 -1
  23. package/core/Decal.cjs.js +1 -1
  24. package/core/Detailed.cjs.js +1 -1
  25. package/core/DeviceOrientationControls.cjs.js +1 -1
  26. package/core/Edges.cjs.js +1 -1
  27. package/core/Effects.cjs.js +1 -1
  28. package/core/Environment.cjs.js +1 -1
  29. package/core/Example.cjs.js +1 -1
  30. package/core/FaceControls.cjs.js +1 -1
  31. package/core/FaceLandmarker.cjs.js +1 -1
  32. package/core/Facemesh.cjs.js +1 -1
  33. package/core/FirstPersonControls.cjs.js +1 -1
  34. package/core/Float.cjs.js +1 -1
  35. package/core/FlyControls.cjs.js +1 -1
  36. package/core/GizmoHelper.cjs.js +1 -1
  37. package/core/GizmoViewcube.cjs.js +1 -1
  38. package/core/GizmoViewport.cjs.js +1 -1
  39. package/core/Gltf.cjs.js +1 -1
  40. package/core/GradientTexture.cjs.js +1 -1
  41. package/core/Grid.cjs.js +1 -1
  42. package/core/Grid.js +4 -1
  43. package/core/Hud.cjs.js +1 -1
  44. package/core/Image.cjs.js +1 -1
  45. package/core/Instances.cjs.js +1 -1
  46. package/core/Lightformer.cjs.js +1 -1
  47. package/core/Line.cjs.js +1 -1
  48. package/core/MapControls.cjs.js +1 -1
  49. package/core/MarchingCubes.cjs.js +1 -1
  50. package/core/Mask.cjs.js +1 -1
  51. package/core/MeshDiscardMaterial.cjs.js +1 -1
  52. package/core/MeshDistortMaterial.cjs.js +1 -1
  53. package/core/MeshPortalMaterial.cjs.js +1 -1
  54. package/core/MeshReflectorMaterial.cjs.js +1 -1
  55. package/core/MeshRefractionMaterial.cjs.js +1 -1
  56. package/core/MeshTransmissionMaterial.cjs.js +1 -1
  57. package/core/MeshWobbleMaterial.cjs.js +1 -1
  58. package/core/OrbitControls.cjs.js +1 -1
  59. package/core/OrthographicCamera.cjs.js +1 -1
  60. package/core/PerformanceMonitor.cjs.js +1 -1
  61. package/core/PerspectiveCamera.cjs.js +1 -1
  62. package/core/PointMaterial.cjs.js +1 -1
  63. package/core/PointerLockControls.cjs.js +1 -1
  64. package/core/Points.cjs.js +1 -1
  65. package/core/PositionalAudio.cjs.js +1 -1
  66. package/core/Preload.cjs.js +1 -1
  67. package/core/QuadraticBezierLine.cjs.js +1 -1
  68. package/core/Reflector.cjs.js +1 -1
  69. package/core/RenderTexture.cjs.js +1 -1
  70. package/core/Resize.cjs.js +1 -1
  71. package/core/RoundedBox.cjs.js +1 -1
  72. package/core/Sampler.cjs.js +1 -1
  73. package/core/ScreenQuad.cjs.js +1 -1
  74. package/core/ScreenSpace.cjs.js +1 -1
  75. package/core/Segments.cjs.js +1 -1
  76. package/core/Shadow.cjs.js +1 -1
  77. package/core/Sky.cjs.js +1 -1
  78. package/core/Sparkles.cjs.js +1 -1
  79. package/core/SpotLight.cjs.js +1 -1
  80. package/core/SpriteAnimator.cjs.js +1 -1
  81. package/core/Stage.cjs.js +1 -1
  82. package/core/Stars.cjs.js +1 -1
  83. package/core/Stats.cjs.js +1 -1
  84. package/core/Svg.cjs.js +1 -1
  85. package/core/Text.cjs.js +1 -1
  86. package/core/Text3D.cjs.js +1 -1
  87. package/core/TrackballControls.cjs.js +1 -1
  88. package/core/Trail.cjs.js +1 -1
  89. package/core/TransformControls.cjs.js +1 -1
  90. package/core/Wireframe.cjs.js +1 -1
  91. package/core/index.cjs.js +1 -1
  92. package/core/index.js +2 -2
  93. package/core/meshBounds.cjs.js +1 -1
  94. package/core/shaderMaterial.cjs.js +1 -1
  95. package/core/shapes.cjs.js +1 -1
  96. package/core/softShadows.cjs.js +1 -1
  97. package/core/useAnimations.cjs.js +1 -1
  98. package/core/useAspect.cjs.js +1 -1
  99. package/core/useBVH.cjs.js +1 -1
  100. package/core/useBoxProjectedEnv.cjs.js +1 -1
  101. package/core/useCamera.cjs.js +1 -1
  102. package/core/useContextBridge.cjs.js +1 -1
  103. package/core/useCubeCamera.cjs.js +1 -1
  104. package/core/useCubeTexture.cjs.js +1 -1
  105. package/core/useDepthBuffer.cjs.js +1 -1
  106. package/core/useDetectGPU.cjs.js +1 -1
  107. package/core/useEnvironment.cjs.js +1 -1
  108. package/core/useFBO.cjs.js +1 -1
  109. package/core/useFBX.cjs.js +1 -1
  110. package/core/useFont.cjs.js +1 -1
  111. package/core/useGLTF.cjs.js +1 -1
  112. package/core/useHelper.cjs.js +1 -1
  113. package/core/useIntersect.cjs.js +1 -1
  114. package/core/useKTX2.cjs.js +1 -1
  115. package/core/useMatcapTexture.cjs.js +1 -1
  116. package/core/useNormalTexture.cjs.js +1 -1
  117. package/core/useProgress.cjs.js +1 -1
  118. package/core/useProgress.js +1 -4
  119. package/core/useTexture.cjs.js +1 -1
  120. package/core/useTrailTexture.cjs.js +1 -1
  121. package/core/useVideoTexture.cjs.js +1 -1
  122. package/helpers/environment-assets.cjs.js +1 -1
  123. package/helpers/useEffectfulState.cjs.js +1 -1
  124. package/index.cjs.js +1 -1
  125. package/materials/BlurPass.cjs.js +1 -1
  126. package/materials/ConvolutionMaterial.cjs.js +1 -1
  127. package/materials/DiscardMaterial.cjs.js +1 -1
  128. package/materials/MeshReflectorMaterial.cjs.js +1 -1
  129. package/materials/MeshRefractionMaterial.cjs.js +1 -1
  130. package/materials/MeshRefractionMaterial.js +0 -1
  131. package/materials/SpotLightMaterial.cjs.js +1 -1
  132. package/materials/WireframeMaterial.cjs.js +1 -1
  133. package/native/index.cjs.js +1 -1
  134. package/package.json +1 -1
  135. package/react-three-drei-0.0.0-semantic-release.tgz +0 -0
  136. package/web/CycleRaycast.cjs.js +1 -1
  137. package/web/Html.cjs.js +1 -1
  138. package/web/KeyboardControls.cjs.js +1 -1
  139. package/web/KeyboardControls.js +1 -5
  140. package/web/Loader.cjs.js +1 -1
  141. package/web/PresentationControls.cjs.js +1 -1
  142. package/web/ScrollControls.cjs.js +1 -1
  143. package/web/Select.cjs.js +1 -1
  144. package/web/Select.js +1 -4
  145. package/web/View.cjs.js +1 -1
  146. package/web/index.cjs.js +1 -1
  147. package/web/index.js +3 -3
  148. package/web/pivotControls/AxisArrow.cjs.js +1 -1
  149. package/web/pivotControls/AxisRotator.cjs.js +1 -1
  150. package/web/pivotControls/PlaneSlider.cjs.js +1 -1
  151. package/web/pivotControls/context.cjs.js +1 -1
  152. package/web/pivotControls/index.cjs.js +1 -1
  153. package/web/useCursor.cjs.js +1 -1
@@ -1 +1 @@
1
- "use strict";var e=require("@babel/runtime/helpers/extends"),r=require("react"),t=require("react-merge-refs"),n=require("@react-three/fiber");function c(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 u=c(r);const o=u.forwardRef((({children:r,depth:c=-1,...o},a)=>{const i=u.useRef(null);return n.useFrame((({camera:e})=>{i.current.quaternion.copy(e.quaternion),i.current.position.copy(e.position)})),u.createElement("group",e({ref:t([a,i])},o),u.createElement("group",{"position-z":-c},r))}));exports.ScreenSpace=o;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/extends"),r=require("react"),t=require("react-merge-refs"),n=require("@react-three/fiber");function u(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function c(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 o=u(e),a=c(r),i=u(t);const f=a.forwardRef((({children:e,depth:r=-1,...t},u)=>{const c=a.useRef(null);return n.useFrame((({camera:e})=>{c.current.quaternion.copy(e.quaternion),c.current.position.copy(e.position)})),a.createElement("group",o.default({ref:i.default([u,c])},t),a.createElement("group",{"position-z":-r},e))}));exports.ScreenSpace=f;
@@ -1 +1 @@
1
- "use strict";var e=require("@babel/runtime/helpers/extends"),t=require("three"),r=require("react"),n=require("react-merge-refs"),o=require("@react-three/fiber"),c=require("three-stdlib");function s(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=s(t),a=s(r);const u=a.createContext(null),l=a.forwardRef(((t,r)=>{a.useMemo((()=>o.extend({SegmentObject:m})),[]);const{limit:n=1e3,lineWidth:s=1,children:l,...f}=t,[b,d]=a.useState([]),[g]=a.useState((()=>new c.Line2)),[h]=a.useState((()=>new c.LineMaterial)),[w]=a.useState((()=>new c.LineSegmentsGeometry)),[S]=a.useState((()=>new i.Vector2(512,512))),[p]=a.useState((()=>Array(6*n).fill(0))),[v]=a.useState((()=>Array(6*n).fill(0))),j=a.useMemo((()=>({subscribe:e=>(d((t=>[...t,e])),()=>d((t=>t.filter((t=>t.current!==e.current)))))})),[]);return o.useFrame((()=>{for(let t=0;t<n;t++){var e;const r=null==(e=b[t])?void 0:e.current;r&&(p[6*t+0]=r.start.x,p[6*t+1]=r.start.y,p[6*t+2]=r.start.z,p[6*t+3]=r.end.x,p[6*t+4]=r.end.y,p[6*t+5]=r.end.z,v[6*t+0]=r.color.r,v[6*t+1]=r.color.g,v[6*t+2]=r.color.b,v[6*t+3]=r.color.r,v[6*t+4]=r.color.g,v[6*t+5]=r.color.b)}w.setColors(v),w.setPositions(p),g.computeLineDistances()})),a.createElement("primitive",{object:g,ref:r},a.createElement("primitive",{object:w,attach:"geometry"}),a.createElement("primitive",e({object:h,attach:"material",vertexColors:!0,resolution:S,linewidth:s},f)),a.createElement(u.Provider,{value:j},l))}));class m{constructor(){this.color=new i.Color("white"),this.start=new i.Vector3(0,0,0),this.end=new i.Vector3(0,0,0)}}const f=e=>e instanceof i.Vector3?e:new i.Vector3(..."number"==typeof e?[e,e,e]:e),b=a.forwardRef((({color:e,start:t,end:r},o)=>{const c=a.useContext(u);if(!c)throw"Segment must used inside Segments component.";const s=a.useRef(null);return a.useLayoutEffect((()=>c.subscribe(s)),[]),a.createElement("segmentObject",{ref:n([s,o]),color:e,start:f(t),end:f(r)})}));exports.Segment=b,exports.SegmentObject=m,exports.Segments=l;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/extends"),t=require("three"),r=require("react"),n=require("react-merge-refs"),o=require("@react-three/fiber"),c=require("three-stdlib");function s(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function i(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var 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 u=s(e),a=i(t),l=i(r),f=s(n);const m=l.createContext(null),d=l.forwardRef(((e,t)=>{l.useMemo((()=>o.extend({SegmentObject:b})),[]);const{limit:r=1e3,lineWidth:n=1,children:s,...i}=e,[f,d]=l.useState([]),[p]=l.useState((()=>new c.Line2)),[g]=l.useState((()=>new c.LineMaterial)),[h]=l.useState((()=>new c.LineSegmentsGeometry)),[w]=l.useState((()=>new a.Vector2(512,512))),[S]=l.useState((()=>Array(6*r).fill(0))),[j]=l.useState((()=>Array(6*r).fill(0))),v=l.useMemo((()=>({subscribe:e=>(d((t=>[...t,e])),()=>d((t=>t.filter((t=>t.current!==e.current)))))})),[]);return o.useFrame((()=>{for(let t=0;t<r;t++){var e;const r=null==(e=f[t])?void 0:e.current;r&&(S[6*t+0]=r.start.x,S[6*t+1]=r.start.y,S[6*t+2]=r.start.z,S[6*t+3]=r.end.x,S[6*t+4]=r.end.y,S[6*t+5]=r.end.z,j[6*t+0]=r.color.r,j[6*t+1]=r.color.g,j[6*t+2]=r.color.b,j[6*t+3]=r.color.r,j[6*t+4]=r.color.g,j[6*t+5]=r.color.b)}h.setColors(j),h.setPositions(S),p.computeLineDistances()})),l.createElement("primitive",{object:p,ref:t},l.createElement("primitive",{object:h,attach:"geometry"}),l.createElement("primitive",u.default({object:g,attach:"material",vertexColors:!0,resolution:w,linewidth:n},i)),l.createElement(m.Provider,{value:v},s))}));class b{constructor(){this.color=new a.Color("white"),this.start=new a.Vector3(0,0,0),this.end=new a.Vector3(0,0,0)}}const p=e=>e instanceof a.Vector3?e:new a.Vector3(..."number"==typeof e?[e,e,e]:e),g=l.forwardRef((({color:e,start:t,end:r},n)=>{const o=l.useContext(m);if(!o)throw"Segment must used inside Segments component.";const c=l.useRef(null);return l.useLayoutEffect((()=>o.subscribe(c)),[]),l.createElement("segmentObject",{ref:f.default([c,n]),color:e,start:p(t),end:p(r)})}));exports.Segment=g,exports.SegmentObject=b,exports.Segments=d;
@@ -1 +1 @@
1
- "use strict";var e=require("@babel/runtime/helpers/extends"),t=require("react"),r=require("three");function a(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 n=a(t);const o=n.forwardRef((({fog:t=!1,renderOrder:a,depthWrite:o=!1,colorStop:c=0,color:i="black",opacity:l=.5,...d},h)=>{const u=n.useMemo((()=>{const e=document.createElement("canvas");e.width=128,e.height=128;const t=e.getContext("2d"),a=t.createRadialGradient(e.width/2,e.height/2,0,e.width/2,e.height/2,e.width/2);return a.addColorStop(c,new r.Color(i).getStyle()),a.addColorStop(1,"rgba(0,0,0,0)"),t.fillStyle=a,t.fillRect(0,0,e.width,e.height),e}),[i,c]);return n.createElement("mesh",e({renderOrder:a,ref:h,"rotation-x":-Math.PI/2},d),n.createElement("planeGeometry",null),n.createElement("meshBasicMaterial",{transparent:!0,opacity:l,fog:t,depthWrite:o,side:r.DoubleSide},n.createElement("canvasTexture",{attach:"map",args:[u]})))}));exports.Shadow=o;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/extends"),t=require("react"),r=require("three");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 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 n=a(e),c=o(t);const i=c.forwardRef((({fog:e=!1,renderOrder:t,depthWrite:a=!1,colorStop:o=0,color:i="black",opacity:l=.5,...d},u)=>{const f=c.useMemo((()=>{const e=document.createElement("canvas");e.width=128,e.height=128;const t=e.getContext("2d"),a=t.createRadialGradient(e.width/2,e.height/2,0,e.width/2,e.height/2,e.width/2);return a.addColorStop(o,new r.Color(i).getStyle()),a.addColorStop(1,"rgba(0,0,0,0)"),t.fillStyle=a,t.fillRect(0,0,e.width,e.height),e}),[i,o]);return c.createElement("mesh",n.default({renderOrder:t,ref:u,"rotation-x":-Math.PI/2},d),c.createElement("planeGeometry",null),c.createElement("meshBasicMaterial",{transparent:!0,opacity:l,fog:e,depthWrite:a,side:r.DoubleSide},c.createElement("canvasTexture",{attach:"map",args:[f]})))}));exports.Shadow=i;
package/core/Sky.cjs.js CHANGED
@@ -1 +1 @@
1
- "use strict";var e=require("@babel/runtime/helpers/extends"),t=require("react"),r=require("three-stdlib"),i=require("three");function a(e){var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var i=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,i.get?i:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var n=a(t);function o(e,t,r=new i.Vector3){const a=Math.PI*(e-.5),n=2*Math.PI*(t-.5);return r.x=Math.cos(n),r.y=Math.sin(a),r.z=Math.sin(n),r}const u=n.forwardRef((({inclination:t=.6,azimuth:a=.1,distance:u=1e3,mieCoefficient:c=.005,mieDirectionalG:s=.8,rayleigh:l=.5,turbidity:f=10,sunPosition:m=o(t,a),...b},h)=>{const v=n.useMemo((()=>(new i.Vector3).setScalar(u)),[u]),[y]=n.useState((()=>new r.Sky));return n.createElement("primitive",e({object:y,ref:h,"material-uniforms-mieCoefficient-value":c,"material-uniforms-mieDirectionalG-value":s,"material-uniforms-rayleigh-value":l,"material-uniforms-sunPosition-value":m,"material-uniforms-turbidity-value":f,scale:v},b))}));exports.Sky=u,exports.calcPosFromAngles=o;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/extends"),t=require("react"),r=require("three-stdlib"),i=require("three");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 i=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,i.get?i:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var u=n(e),o=a(t);function c(e,t,r=new i.Vector3){const n=Math.PI*(e-.5),a=2*Math.PI*(t-.5);return r.x=Math.cos(a),r.y=Math.sin(n),r.z=Math.sin(a),r}const l=o.forwardRef((({inclination:e=.6,azimuth:t=.1,distance:n=1e3,mieCoefficient:a=.005,mieDirectionalG:l=.8,rayleigh:s=.5,turbidity:f=10,sunPosition:m=c(e,t),...d},b)=>{const h=o.useMemo((()=>(new i.Vector3).setScalar(n)),[n]),[y]=o.useState((()=>new r.Sky));return o.createElement("primitive",u.default({object:y,ref:b,"material-uniforms-mieCoefficient-value":a,"material-uniforms-mieDirectionalG-value":l,"material-uniforms-rayleigh-value":s,"material-uniforms-sunPosition-value":m,"material-uniforms-turbidity-value":f,scale:h},d))}));exports.Sky=l,exports.calcPosFromAngles=c;
@@ -1 +1 @@
1
- "use strict";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){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 a=n(t),l=n(r);const s=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 <encodings_fragment>\n }"),c=e=>e&&e.constructor===Float32Array,u=e=>e instanceof l.Vector2||e instanceof l.Vector3||e instanceof l.Vector4,f=e=>Array.isArray(e)?e:u(e)?e.toArray():[e,e,e];function m(e,t,r){return a.useMemo((()=>{if(void 0!==t){if(c(t))return t;if(t instanceof l.Color){const r=Array.from({length:3*e},(()=>{return[(e=t).r,e.g,e.b];var e})).flat();return Float32Array.from(r)}if(u(t)||Array.isArray(t)){const r=Array.from({length:3*e},(()=>f(t))).flat();return Float32Array.from(r)}return Float32Array.from({length:e},(()=>t))}return Float32Array.from({length:e},r)}),[t])}const p=a.forwardRef((({noise:t=1,count:r=100,speed:i=1,opacity:n=1,scale:u=1,size:p,color:d,children:v,...b},y)=>{a.useMemo((()=>o.extend({SparklesImplMaterial:s})),[]);const g=a.useRef(null),h=o.useThree((e=>e.viewport.dpr)),A=a.useMemo((()=>Float32Array.from(Array.from({length:r},(()=>f(u).map(l.MathUtils.randFloatSpread))).flat())),[r,u]),P=m(r,p,Math.random),x=m(r,n),M=m(r,i),O=m(3*r,t),j=m(void 0===d?3*r:r,c(d)?d:new l.Color(d),(()=>1));return o.useFrame((e=>{g.current&&g.current.material&&(g.current.material.time=e.clock.elapsedTime)})),a.useImperativeHandle(y,(()=>g.current),[]),a.createElement("points",e({key:`particle-${r}-${JSON.stringify(u)}`},b,{ref:g}),a.createElement("bufferGeometry",null,a.createElement("bufferAttribute",{attach:"attributes-position",args:[A,3]}),a.createElement("bufferAttribute",{attach:"attributes-size",args:[P,1]}),a.createElement("bufferAttribute",{attach:"attributes-opacity",args:[x,1]}),a.createElement("bufferAttribute",{attach:"attributes-speed",args:[M,1]}),a.createElement("bufferAttribute",{attach:"attributes-color",args:[j,3]}),a.createElement("bufferAttribute",{attach:"attributes-noise",args:[O,3]})),v||a.createElement("sparklesImplMaterial",{transparent:!0,pixelRatio:h,depthWrite:!1}))}));exports.Sparkles=p;
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 <encodings_fragment>\n }"),f=e=>e&&e.constructor===Float32Array,m=e=>e instanceof c.Vector2||e instanceof c.Vector3||e instanceof c.Vector4,d=e=>Array.isArray(e)?e:m(e)?e.toArray():[e,e,e];function p(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},(()=>d(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=s.useMemo((()=>Float32Array.from(Array.from({length:t},(()=>d(n).map(c.MathUtils.randFloatSpread))).flat())),[t,n]),P=p(t,a,Math.random),x=p(t,i),M=p(t,r),j=p(3*t,e),O=p(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:[A,3]}),s.createElement("bufferAttribute",{attach:"attributes-size",args:[P,1]}),s.createElement("bufferAttribute",{attach:"attributes-opacity",args:[x,1]}),s.createElement("bufferAttribute",{attach:"attributes-speed",args:[M,1]}),s.createElement("bufferAttribute",{attach:"attributes-color",args:[O,3]}),s.createElement("bufferAttribute",{attach:"attributes-noise",args:[j,3]})),v||s.createElement("sparklesImplMaterial",{transparent:!0,pixelRatio:h,depthWrite:!1}))}));exports.Sparkles=v;
@@ -1 +1 @@
1
- "use strict";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){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 l=u(t),s="#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 c=e=>null==e?void 0:e.isSpotLight;function p({opacity:e=1,radiusTop:t,radiusBottom:n,depthBuffer:o,color:u="white",distance:s=5,angle:c=.15,attenuation:p=5,anglePower:m=5}){const d=l.useRef(null),h=a.useThree((e=>e.size)),f=a.useThree((e=>e.camera)),g=a.useThree((e=>e.viewport.dpr)),[v]=l.useState((()=>new i.SpotLightMaterial)),[w]=l.useState((()=>new r.Vector3));t=void 0===t?.1:t,n=void 0===n?7*c:n,a.useFrame((()=>{v.uniforms.spotPosition.value.copy(d.current.getWorldPosition(w)),d.current.lookAt(d.current.parent.target.getWorldPosition(w))}));const S=l.useMemo((()=>{const e=new r.CylinderGeometry(t,n,s,128,64,!0);return e.applyMatrix4((new r.Matrix4).makeTranslation(0,-s/2,0)),e.applyMatrix4((new r.Matrix4).makeRotationX(-Math.PI/2)),e}),[s,t,n]);return l.createElement(l.Fragment,null,l.createElement("mesh",{ref:d,geometry:S,raycast:()=>null},l.createElement("primitive",{object:v,attach:"material","uniforms-opacity-value":e,"uniforms-lightColor-value":u,"uniforms-attenuation-value":p,"uniforms-anglePower-value":m,"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 m(e,t,n,o,i){const[[u,s]]=l.useState((()=>[new r.Vector3,new r.Vector3]));l.useLayoutEffect((()=>{if(!c(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;s.copy(a).sub(r);var n=s.length();s.normalize().multiplyScalar(n*i),u.copy(r).add(s),t.current.position.copy(u),t.current.lookAt(e.current.target.position)}))}function d({distance:e=.4,alphaTest:t=.5,map:o,shader:i=s,width:u=512,height:c=512,scale:p=1,children:d,...h}){const f=l.useRef(null),g=h.spotlightRef,v=h.debug;m(g,f,u,c,e);const w=l.useMemo((()=>new r.WebGLRenderTarget(u,c,{format:r.RGBAFormat,encoding:r.LinearEncoding,stencilBuffer:!1})),[u,c]),S=l.useRef({uShadowMap:{value:o},uTime:{value:0}});l.useEffect((()=>{S.current.uShadowMap.value=o}),[o]);const y=l.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 l.useEffect((()=>()=>{y.material.dispose(),y.dispose()}),[y]),l.useEffect((()=>()=>w.dispose()),[w]),a.useFrame((({gl:e},t)=>{S.current.uTime.value+=t,e.setRenderTarget(w),y.render(e),e.setRenderTarget(null)})),l.createElement(l.Fragment,null,l.createElement("mesh",{ref:f,scale:p,castShadow:!0},l.createElement("planeGeometry",null),l.createElement("meshBasicMaterial",{transparent:!0,side:r.DoubleSide,alphaTest:t,alphaMap:w.texture,"alphaMap-wrapS":r.RepeatWrapping,"alphaMap-wrapT":r.RepeatWrapping,opacity:v?1:0},d)))}function h({distance:e=.4,alphaTest:t=.5,map:a,width:n=512,height:o=512,scale:i,children:u,...s}){const c=l.useRef(null),p=s.spotlightRef,d=s.debug;return m(p,c,n,o,e),l.createElement(l.Fragment,null,l.createElement("mesh",{ref:c,scale:i,castShadow:!0},l.createElement("planeGeometry",null),l.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 f=l.forwardRef((({opacity:t=1,radiusTop:r,radiusBottom:a,depthBuffer:n,color:i="white",distance:u=5,angle:s=.15,attenuation:c=5,anglePower:m=5,volumetric:d=!0,debug:h=!1,children:f,...g},v)=>{const w=l.useRef(null);return l.createElement("group",null,h&&w.current&&l.createElement("spotLightHelper",{args:[w.current]}),l.createElement("spotLight",e({ref:o([v,w]),angle:s,color:i,distance:u,castShadow:!0},g),d&&l.createElement(p,{debug:h,opacity:t,radiusTop:r,radiusBottom:a,depthBuffer:n,color:i,distance:u,angle:s,attenuation:c,anglePower:m})),f&&l.cloneElement(f,{spotlightRef:w,debug:h}))}));exports.SpotLight=f,exports.SpotLightShadow=function(e){return e.shader?l.createElement(d,e):l.createElement(h,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)}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 +1 @@
1
- "use strict";var e=require("react"),r=require("@react-three/fiber"),t=require("three");function n(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 a=n(e),u=n(t);exports.SpriteAnimator=({startFrame:e,endFrame:t,fps:n,frameName:c,textureDataURL:s,textureImageURL:f,loop:o,numberOfFrames:m,autoPlay:i,animationNames:l,onStart:p,onEnd:h,onLoopEnd:w,onFrame:y,play:S,pause:d,flipX:g,alphaTest:x,children:z,...b},F)=>{r.useThree((e=>e.viewport));const A=a.useRef(null),[E,R]=a.useState(!1),O=a.useRef(),j=a.useRef(),L=a.useRef(window.performance.now()),v=a.useRef(),T=a.useRef(e||0),N=a.useRef(c||""),P=1e3/(n||30),[k,q]=a.useState(new u.Texture),M=a.useRef(0),[C,D]=a.useState([1,1,1]),I=g?-1:1;const U=(e,r)=>{const t=r/e;return j.current.scale.set(1,t,1),[1,t,1]};a.useEffect((()=>{if(s&&f)!function(e,r,t){const n=new u.TextureLoader,a=fetch(e).then((e=>e.json())),c=new Promise((e=>{n.load(r,e)}));Promise.all([a,c]).then((e=>{t(e[0],e[1])}))}(s,f,W);else if(f){const e=new u.TextureLoader;new Promise((r=>{e.load(f,r)})).then((e=>{W(null,e)}))}}),[]),a.useLayoutEffect((()=>{B()}),[k,g]),a.useEffect((()=>{}),[d]),a.useEffect((()=>{N.current!==c&&c&&(T.current=0,N.current=c)}),[c]);const W=(e,r)=>{if(null===e){if(r&&m){const e=r.image.width,t=r.image.height,n=e/m,a=t;if(v.current=r,M.current=m,A.current={frames:[],meta:{version:"1.0",size:{w:e,h:t},scale:"1"}},parseInt(n.toString(),10)===n)for(let e=0;e<m;e++)A.current.frames.push({frame:{x:e*n,y:0,w:n,h:a},rotated:!1,trimmed:!1,spriteSourceSize:{x:0,y:0,w:n,h:a},sourceSize:{w:n,h:t}})}}else if(r){A.current=e,A.current.frames=Array.isArray(e.frames)?e.frames:X(),M.current=Array.isArray(e.frames)?e.frames.length:Object.keys(e.frames).length,v.current=r;const{w:t,h:n}=G(e.frames).sourceSize,a=U(t,n);D(a),O.current&&(O.current.map=r)}r.premultiplyAlpha=!1,q(r)},X=()=>{const e={},r=A.current,t=l;if(t)for(let n=0;n<t.length;n++){e[t[n]]=[];for(let a in r.frames){const u=r.frames[a],c=u.frame,s=c.x,f=c.y,o=c.w,m=c.h,i=u.sourceSize.w,l=u.sourceSize.h;"string"==typeof a&&-1!==a.toLowerCase().indexOf(t[n].toLowerCase())&&e[t[n]].push({x:s,y:f,w:o,h:m,frame:c,sourceSize:{w:i,h:l}})}}return e},B=()=>{if(!A.current)return;const{meta:{size:e},frames:r}=A.current,{w:t,h:n}=Array.isArray(r)?r[0].sourceSize:c&&r[c]?r[c][0].sourceSize:{w:0,h:0};O.current.map.wrapS=O.current.map.wrapT=u.RepeatWrapping,O.current.map.center.set(0,0),O.current.map.repeat.set(1*I/(e.w/t),1/(e.h/n));const a=1/((e.h-1)/n);O.current.map.offset.x=0,O.current.map.offset.y=1-a,R(!0),p&&p({currentFrameName:c,currentFrame:T.current})};r.useFrame(((r,n)=>{var a,u;null!=(a=A.current)&&a.frames&&null!=(u=O.current)&&u.map&&(d||(i||S)&&((()=>{const r=window.performance.now(),n=r-L.current,{meta:{size:a},frames:u}=A.current,{w:s,h:f}=G(u).sourceSize,m=Array.isArray(u)?u:c?u[c]:[];let i=0,l=0;const p=t||m.length-1;if(T.current>p&&(T.current=o&&null!=e?e:0,o?null==w||w({currentFrameName:c,currentFrame:T.current}):null==h||h({currentFrameName:c,currentFrame:T.current}),!o))return;if(n<=P)return;L.current=r-n%P,U(s,f);const y=(a.w-1)/s,S=(a.h-1)/f,{frame:{x:d,y:g},sourceSize:{w:x,h:z}}=m[T.current],b=1/y,F=1/S;i=I>0?b*(d/x):b*(d/x)-O.current.map.repeat.x,l=Math.abs(1-F)-F*(g/z),O.current.map.offset.x=i,O.current.map.offset.y=l,T.current+=1})(),y&&y({currentFrameName:N.current,currentFrame:T.current})))}));const G=e=>{if(Array.isArray(e))return e[0];if("object"==typeof e&&null!==e){return e[Object.keys(e)[0]][0]}return{w:0,h:0}};return a.createElement("group",b,a.createElement(a.Suspense,{fallback:null},a.createElement("sprite",{ref:j,scale:C},a.createElement("spriteMaterial",{toneMapped:!1,ref:O,map:k,transparent:!0,alphaTest:null!=x?x:0}))),z)};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),r=require("@react-three/fiber"),t=require("three");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 a=n(e),u=n(t);exports.SpriteAnimator=({startFrame:e,endFrame:t,fps:n,frameName:s,textureDataURL:c,textureImageURL:o,loop:f,numberOfFrames:i,autoPlay:m,animationNames:l,onStart:p,onEnd:h,onLoopEnd:w,onFrame:y,play:d,pause:S,flipX:x,alphaTest:g,children:b,...z},F)=>{r.useThree((e=>e.viewport));const A=a.useRef(null),[E,O]=a.useState(!1),R=a.useRef(),j=a.useRef(),v=a.useRef(window.performance.now()),L=a.useRef(),P=a.useRef(e||0),T=a.useRef(s||""),N=1e3/(n||30),[M,k]=a.useState(new u.Texture),_=a.useRef(0),[q,C]=a.useState([1,1,1]),D=x?-1:1;const I=(e,r)=>{const t=r/e;return j.current.scale.set(1,t,1),[1,t,1]};a.useEffect((()=>{if(c&&o)!function(e,r,t){const n=new u.TextureLoader,a=fetch(e).then((e=>e.json())),s=new Promise((e=>{n.load(r,e)}));Promise.all([a,s]).then((e=>{t(e[0],e[1])}))}(c,o,U);else if(o){const e=new u.TextureLoader;new Promise((r=>{e.load(o,r)})).then((e=>{U(null,e)}))}}),[]),a.useLayoutEffect((()=>{X()}),[M,x]),a.useEffect((()=>{}),[S]),a.useEffect((()=>{T.current!==s&&s&&(P.current=0,T.current=s)}),[s]);const U=(e,r)=>{if(null===e){if(r&&i){const e=r.image.width,t=r.image.height,n=e/i,a=t;if(L.current=r,_.current=i,A.current={frames:[],meta:{version:"1.0",size:{w:e,h:t},scale:"1"}},parseInt(n.toString(),10)===n)for(let e=0;e<i;e++)A.current.frames.push({frame:{x:e*n,y:0,w:n,h:a},rotated:!1,trimmed:!1,spriteSourceSize:{x:0,y:0,w:n,h:a},sourceSize:{w:n,h:t}})}}else if(r){A.current=e,A.current.frames=Array.isArray(e.frames)?e.frames:W(),_.current=Array.isArray(e.frames)?e.frames.length:Object.keys(e.frames).length,L.current=r;const{w:t,h:n}=B(e.frames).sourceSize,a=I(t,n);C(a),R.current&&(R.current.map=r)}r.premultiplyAlpha=!1,k(r)},W=()=>{const e={},r=A.current,t=l;if(t)for(let n=0;n<t.length;n++){e[t[n]]=[];for(let a in r.frames){const u=r.frames[a],s=u.frame,c=s.x,o=s.y,f=s.w,i=s.h,m=u.sourceSize.w,l=u.sourceSize.h;"string"==typeof a&&-1!==a.toLowerCase().indexOf(t[n].toLowerCase())&&e[t[n]].push({x:c,y:o,w:f,h:i,frame:s,sourceSize:{w:m,h:l}})}}return e},X=()=>{if(!A.current)return;const{meta:{size:e},frames:r}=A.current,{w:t,h:n}=Array.isArray(r)?r[0].sourceSize:s&&r[s]?r[s][0].sourceSize:{w:0,h:0};R.current.map.wrapS=R.current.map.wrapT=u.RepeatWrapping,R.current.map.center.set(0,0),R.current.map.repeat.set(1*D/(e.w/t),1/(e.h/n));const a=1/((e.h-1)/n);R.current.map.offset.x=0,R.current.map.offset.y=1-a,O(!0),p&&p({currentFrameName:s,currentFrame:P.current})};r.useFrame(((r,n)=>{var a,u;null!=(a=A.current)&&a.frames&&null!=(u=R.current)&&u.map&&(S||(m||d)&&((()=>{const r=window.performance.now(),n=r-v.current,{meta:{size:a},frames:u}=A.current,{w:c,h:o}=B(u).sourceSize,i=Array.isArray(u)?u:s?u[s]:[];let m=0,l=0;const p=t||i.length-1;if(P.current>p&&(P.current=f&&null!=e?e:0,f?null==w||w({currentFrameName:s,currentFrame:P.current}):null==h||h({currentFrameName:s,currentFrame:P.current}),!f))return;if(n<=N)return;v.current=r-n%N,I(c,o);const y=(a.w-1)/c,d=(a.h-1)/o,{frame:{x:S,y:x},sourceSize:{w:g,h:b}}=i[P.current],z=1/y,F=1/d;m=D>0?z*(S/g):z*(S/g)-R.current.map.repeat.x,l=Math.abs(1-F)-F*(x/b),R.current.map.offset.x=m,R.current.map.offset.y=l,P.current+=1})(),y&&y({currentFrameName:T.current,currentFrame:P.current})))}));const B=e=>{if(Array.isArray(e))return e[0];if("object"==typeof e&&null!==e){return e[Object.keys(e)[0]][0]}return{w:0,h:0}};return a.createElement("group",z,a.createElement(a.Suspense,{fallback:null},a.createElement("sprite",{ref:j,scale:q},a.createElement("spriteMaterial",{toneMapped:!1,ref:R,map:M,transparent:!0,alphaTest:null!=g?g:0}))),b)};
package/core/Stage.cjs.js CHANGED
@@ -1 +1 @@
1
- "use strict";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){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(t);const u={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 c({radius:e,adjustCamera:t}){const i=s.useBounds();return o.useEffect((()=>{t&&i.refresh().clip().fit()}),[e,t]),null}exports.Stage=function({children:t,center:l,adjustCamera:d=!0,intensity:m=.5,shadows:h="contact",environment:p="city",preset:f="rembrandt",...v}){var j,b,g,E,y,q,w,C;const S="string"==typeof f?u[f]:f,[{radius:z,height:O},B]=o.useState({radius:0,width:0,height:0,depth:0}),L=null!==(j=null==h?void 0:h.bias)&&void 0!==j?j:-1e-4,M=null!==(b=null==h?void 0:h.normalBias)&&void 0!==b?b:0,k=null!==(g=null==h?void 0:h.size)&&void 0!==g?g:1024,x=null!==(E=null==h?void 0:h.offset)&&void 0!==E?E:0,A="contact"===h||"contact"===(null==h?void 0:h.type),D="accumulative"===h||"accumulative"===(null==h?void 0:h.type),P={..."object"==typeof h?h:{}},F=p?"string"==typeof p?{preset:p}:p:null,N=o.useCallback((e=>{const{width:t,height:i,depth:n,boundingSphere:r}=e;B({radius:r.radius,width:t,height:i,depth:n}),null!=l&&l.onCentered&&l.onCentered(e)}),[]);return o.createElement(o.Fragment,null,o.createElement("ambientLight",{intensity:m/3}),o.createElement("spotLight",{penumbra:1,position:[S.main[0]*z,S.main[1]*z,S.main[2]*z],intensity:2*m,castShadow:!!h,"shadow-bias":L,"shadow-normalBias":M,"shadow-mapSize":k}),o.createElement("pointLight",{position:[S.fill[0]*z,S.fill[1]*z,S.fill[2]*z],intensity:m}),o.createElement(s.Bounds,e({fit:!!d,clip:!!d,margin:Number(d),observe:!0},v),o.createElement(c,{radius:z,adjustCamera:d}),o.createElement(r.Center,e({},l,{position:[0,x/2,0],onCentered:N}),t)),o.createElement("group",{position:[0,-O/2-x/2,0]},A&&o.createElement(n.ContactShadows,e({scale:4*z,far:z,blur:2},P)),D&&o.createElement(a.AccumulativeShadows,e({temporal:!0,frames:100,alphaTest:.9,toneMapped:!0,scale:4*z},P),o.createElement(a.RandomizedLight,{amount:null!==(y=P.amount)&&void 0!==y?y:8,radius:null!==(q=P.radius)&&void 0!==q?q:z,ambient:null!==(w=P.ambient)&&void 0!==w?w:.5,intensity:null!==(C=P.intensity)&&void 0!==C?C:1,position:[S.main[0]*z,S.main[1]*z,S.main[2]*z],size:4*z,bias:-L,mapSize:k}))),p&&o.createElement(i.Environment,F))};
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))};
package/core/Stars.cjs.js CHANGED
@@ -1 +1 @@
1
- "use strict";var e=require("react"),t=require("@react-three/fiber"),r=require("three");function n(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);class o 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 <encodings_fragment>\n }"})}}const i=e=>(new r.Vector3).setFromSpherical(new r.Spherical(e,Math.acos(1-2*Math.random()),2*Math.random()*Math.PI)),c=a.forwardRef((({radius:e=100,depth:n=50,count:c=5e3,saturation:l=0,factor:s=4,fade:u=!1,speed:f=1},m)=>{const d=a.useRef(),[v,p,g]=a.useMemo((()=>{const t=[],a=[],o=Array.from({length:c},(()=>(.5+.5*Math.random())*s)),u=new r.Color;let f=e+n;const m=n/c;for(let e=0;e<c;e++)f-=m*Math.random(),t.push(...i(f).toArray()),u.setHSL(e/c,l,.9),a.push(u.r,u.g,u.b);return[new Float32Array(t),new Float32Array(a),new Float32Array(o)]}),[c,n,s,e,l]);t.useFrame((e=>d.current&&(d.current.uniforms.time.value=e.clock.getElapsedTime()*f)));const[h]=a.useState((()=>new o));return a.createElement("points",{ref:m},a.createElement("bufferGeometry",null,a.createElement("bufferAttribute",{attach:"attributes-position",args:[v,3]}),a.createElement("bufferAttribute",{attach:"attributes-color",args:[p,3]}),a.createElement("bufferAttribute",{attach:"attributes-size",args:[g,1]})),a.createElement("primitive",{ref:d,object:h,attach:"material",blending:r.AdditiveBlending,"uniforms-fade-value":u,depthWrite:!1,transparent:!0,vertexColors:!0}))}));exports.Stars=c;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=require("@react-three/fiber"),r=require("three");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);class o 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 <encodings_fragment>\n }"})}}const i=e=>(new r.Vector3).setFromSpherical(new r.Spherical(e,Math.acos(1-2*Math.random()),2*Math.random()*Math.PI)),c=a.forwardRef((({radius:e=100,depth:n=50,count:c=5e3,saturation:l=0,factor:s=4,fade:u=!1,speed:f=1},m)=>{const d=a.useRef(),[v,p,g]=a.useMemo((()=>{const t=[],a=[],o=Array.from({length:c},(()=>(.5+.5*Math.random())*s)),u=new r.Color;let f=e+n;const m=n/c;for(let e=0;e<c;e++)f-=m*Math.random(),t.push(...i(f).toArray()),u.setHSL(e/c,l,.9),a.push(u.r,u.g,u.b);return[new Float32Array(t),new Float32Array(a),new Float32Array(o)]}),[c,n,s,e,l]);t.useFrame((e=>d.current&&(d.current.uniforms.time.value=e.clock.getElapsedTime()*f)));const[h]=a.useState((()=>new o));return a.createElement("points",{ref:m},a.createElement("bufferGeometry",null,a.createElement("bufferAttribute",{attach:"attributes-position",args:[v,3]}),a.createElement("bufferAttribute",{attach:"attributes-color",args:[p,3]}),a.createElement("bufferAttribute",{attach:"attributes-size",args:[g,1]})),a.createElement("primitive",{ref:d,object:h,attach:"material",blending:r.AdditiveBlending,"uniforms-fade-value":u,depthWrite:!1,transparent:!0,vertexColors:!0}))}));exports.Stars=c;
package/core/Stats.cjs.js CHANGED
@@ -1 +1 @@
1
- "use strict";var e=require("react"),t=require("@react-three/fiber"),r=require("stats.js"),n=require("../helpers/useEffectfulState.cjs.js");function c(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 u=c(e);exports.Stats=function({showPanel:e=0,className:c,parent:f}){const s=n.useEffectfulState((()=>new r),[]);return u.useEffect((()=>{if(s){const r=f&&f.current||document.body;s.showPanel(e),null==r||r.appendChild(s.dom),c&&s.dom.classList.add(...c.split(" ").filter((e=>e)));const n=t.addEffect((()=>s.begin())),u=t.addAfterEffect((()=>s.end()));return()=>{null==r||r.removeChild(s.dom),n(),u()}}}),[f,s,c,e]),null};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=require("@react-three/fiber"),r=require("stats.js"),n=require("../helpers/useEffectfulState.cjs.js");function u(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function f(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 c=f(e),a=u(r);exports.Stats=function({showPanel:e=0,className:r,parent:u}){const f=n.useEffectfulState((()=>new a.default),[]);return c.useEffect((()=>{if(f){const n=u&&u.current||document.body;f.showPanel(e),null==n||n.appendChild(f.dom),r&&f.dom.classList.add(...r.split(" ").filter((e=>e)));const c=t.addEffect((()=>f.begin())),a=t.addAfterEffect((()=>f.end()));return()=>{null==n||n.removeChild(f.dom),c(),a()}}}),[u,f,r,e]),null};
package/core/Svg.cjs.js CHANGED
@@ -1 +1 @@
1
- "use strict";var e=require("@babel/runtime/helpers/extends"),t=require("@react-three/fiber"),r=require("react"),a=require("three"),s=require("three-stdlib");function l(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 o=l(r);const i=r.forwardRef((function({src:l,skipFill:i,skipStrokes:n,fillMaterial:u,strokeMaterial:c,fillMeshProps:p,strokeMeshProps:m,...d},f){const y=t.useLoader(s.SVGLoader,l.startsWith("<svg")?`data:image/svg+xml;utf8,${l}`:l),h=r.useMemo((()=>n?[]:y.paths.map((e=>{var t;return void 0===(null==(t=e.userData)?void 0:t.style.stroke)||"none"===e.userData.style.stroke?null:e.subPaths.map((t=>s.SVGLoader.pointsToStroke(t.getPoints(),e.userData.style)))}))),[y,n]);return r.useEffect((()=>()=>h.forEach((e=>e&&e.map((e=>e.dispose()))))),[h]),o.createElement("object3D",e({ref:f},d),o.createElement("object3D",{scale:[1,-1,1]},y.paths.map(((t,l)=>{var d,f;return o.createElement(r.Fragment,{key:l},!i&&void 0!==(null==(d=t.userData)?void 0:d.style.fill)&&"none"!==t.userData.style.fill&&s.SVGLoader.createShapes(t).map(((r,s)=>o.createElement("mesh",e({key:s},p),o.createElement("shapeGeometry",{args:[r]}),o.createElement("meshBasicMaterial",e({color:t.userData.style.fill,opacity:t.userData.style.fillOpacity,transparent:!0,side:a.DoubleSide,depthWrite:!1},u))))),!n&&void 0!==(null==(f=t.userData)?void 0:f.style.stroke)&&"none"!==t.userData.style.stroke&&t.subPaths.map(((r,s)=>o.createElement("mesh",e({key:s,geometry:h[l][s]},m),o.createElement("meshBasicMaterial",e({color:t.userData.style.stroke,opacity:t.userData.style.strokeOpacity,transparent:!0,side:a.DoubleSide,depthWrite:!1},c))))))}))))}));exports.Svg=i;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/extends"),t=require("@react-three/fiber"),r=require("react"),a=require("three"),s=require("three-stdlib");function l(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 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 i=l(e),u=o(r);const n=r.forwardRef((function({src:e,skipFill:l,skipStrokes:o,fillMaterial:n,strokeMaterial:c,fillMeshProps:f,strokeMeshProps:d,...p},m){const y=t.useLoader(s.SVGLoader,e.startsWith("<svg")?`data:image/svg+xml;utf8,${e}`:e),h=r.useMemo((()=>o?[]:y.paths.map((e=>{var t;return void 0===(null==(t=e.userData)?void 0:t.style.stroke)||"none"===e.userData.style.stroke?null:e.subPaths.map((t=>s.SVGLoader.pointsToStroke(t.getPoints(),e.userData.style)))}))),[y,o]);return r.useEffect((()=>()=>h.forEach((e=>e&&e.map((e=>e.dispose()))))),[h]),u.createElement("object3D",i.default({ref:m},p),u.createElement("object3D",{scale:[1,-1,1]},y.paths.map(((e,t)=>{var p,m;return u.createElement(r.Fragment,{key:t},!l&&void 0!==(null==(p=e.userData)?void 0:p.style.fill)&&"none"!==e.userData.style.fill&&s.SVGLoader.createShapes(e).map(((t,r)=>u.createElement("mesh",i.default({key:r},f),u.createElement("shapeGeometry",{args:[t]}),u.createElement("meshBasicMaterial",i.default({color:e.userData.style.fill,opacity:e.userData.style.fillOpacity,transparent:!0,side:a.DoubleSide,depthWrite:!1},n))))),!o&&void 0!==(null==(m=e.userData)?void 0:m.style.stroke)&&"none"!==e.userData.style.stroke&&e.subPaths.map(((r,s)=>u.createElement("mesh",i.default({key:s,geometry:h[t][s]},d),u.createElement("meshBasicMaterial",i.default({color:e.userData.style.stroke,opacity:e.userData.style.strokeOpacity,transparent:!0,side:a.DoubleSide,depthWrite:!1},c))))))}))))}));exports.Svg=n;
package/core/Text.cjs.js CHANGED
@@ -1 +1 @@
1
- "use strict";var e=require("@babel/runtime/helpers/extends"),t=require("react"),r=require("troika-three-text"),n=require("@react-three/fiber"),c=require("suspend-react");function o(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=o(t);const i=a.forwardRef((({sdfGlyphSize:t=64,anchorX:o="center",anchorY:i="middle",font:s,fontSize:u=1,children:f,characters:h,onSync:d,...l},p)=>{const b=n.useThree((({invalidate:e})=>e)),[y]=a.useState((()=>new r.Text)),[m,x]=a.useMemo((()=>{const e=[];let t="";return a.Children.forEach(f,(r=>{"string"==typeof r||"number"==typeof r?t+=r:e.push(r)})),[e,t]}),[f]);return c.suspend((()=>new Promise((e=>r.preloadFont({font:s,characters:h},e)))),["troika-text",s,h]),a.useLayoutEffect((()=>{y.sync((()=>{b(),d&&d(y)}))})),a.useEffect((()=>()=>y.dispose()),[y]),a.createElement("primitive",e({object:y,ref:p,font:s,text:x,anchorX:o,anchorY:i,fontSize:u,sdfGlyphSize:t},l),m)}));exports.Text=i;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/extends"),t=require("react"),r=require("troika-three-text"),n=require("@react-three/fiber"),o=require("suspend-react");function c(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(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=c(e),i=u(t);const f=i.forwardRef((({sdfGlyphSize:e=64,anchorX:t="center",anchorY:c="middle",font:u,fontSize:f=1,children:s,characters:d,onSync:l,...p},h)=>{const b=n.useThree((({invalidate:e})=>e)),[y]=i.useState((()=>new r.Text)),[j,m]=i.useMemo((()=>{const e=[];let t="";return i.Children.forEach(s,(r=>{"string"==typeof r||"number"==typeof r?t+=r:e.push(r)})),[e,t]}),[s]);return o.suspend((()=>new Promise((e=>r.preloadFont({font:u,characters:d},e)))),["troika-text",u,d]),i.useLayoutEffect((()=>{y.sync((()=>{b(),l&&l(y)}))})),i.useEffect((()=>()=>y.dispose()),[y]),i.createElement("primitive",a.default({object:y,ref:h,font:u,text:m,anchorX:t,anchorY:c,fontSize:f,sdfGlyphSize:e},p),j)}));exports.Text=f;
@@ -1 +1 @@
1
- "use strict";var e=require("@babel/runtime/helpers/extends"),t=require("react"),r=require("@react-three/fiber"),n=require("three-stdlib"),s=require("./useFont.cjs.js");function u(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)}require("suspend-react");var c=u(t);const i=["string","number"],l=c.forwardRef((({font:u,letterSpacing:l=0,lineHeight:o=1,size:a=1,height:m=.2,bevelThickness:f=.1,bevelSize:b=.01,bevelEnabled:g=!1,bevelOffset:h=0,bevelSegments:v=4,curveSegments:d=8,smooth:p,children:y,...x},O)=>{c.useMemo((()=>r.extend({RenamedTextGeometry:n.TextGeometry})),[]);const S=c.useRef(null),j=s.useFont(u),E=t.useMemo((()=>({font:j,size:a,height:m,bevelThickness:f,bevelSize:b,bevelEnabled:g,bevelSegments:v,bevelOffset:h,curveSegments:d,letterSpacing:l,lineHeight:o})),[j,a,m,f,b,g,v,h,d,l,o]),[q,...T]=t.useMemo((()=>(e=>{let t="";const r=[];return c.Children.forEach(e,(e=>{i.includes(typeof e)?t+=e+"":r.push(e)})),[t,...r]})(y)),[y]),z=c.useMemo((()=>[q,E]),[q,E]);return c.useLayoutEffect((()=>{p&&(S.current.geometry=n.mergeVertices(S.current.geometry,p),S.current.geometry.computeVertexNormals())}),[z,p]),c.useImperativeHandle(O,(()=>S.current),[]),c.createElement("mesh",e({},x,{ref:S}),c.createElement("renamedTextGeometry",{args:z}),T)}));exports.Text3D=l;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/extends"),t=require("react"),r=require("@react-three/fiber"),n=require("three-stdlib"),u=require("./useFont.cjs.js");function s(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function c(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)}require("suspend-react");var i=s(e),l=c(t);const o=["string","number"],a=l.forwardRef((({font:e,letterSpacing:s=0,lineHeight:c=1,size:a=1,height:f=.2,bevelThickness:m=.1,bevelSize:b=.01,bevelEnabled:d=!1,bevelOffset:g=0,bevelSegments:h=4,curveSegments:v=8,smooth:p,children:y,...j},x)=>{l.useMemo((()=>r.extend({RenamedTextGeometry:n.TextGeometry})),[]);const O=l.useRef(null),S=u.useFont(e),E=t.useMemo((()=>({font:S,size:a,height:f,bevelThickness:m,bevelSize:b,bevelEnabled:d,bevelSegments:h,bevelOffset:g,curveSegments:v,letterSpacing:s,lineHeight:c})),[S,a,f,m,b,d,h,g,v,s,c]),[q,...M]=t.useMemo((()=>(e=>{let t="";const r=[];return l.Children.forEach(e,(e=>{o.includes(typeof e)?t+=e+"":r.push(e)})),[t,...r]})(y)),[y]),T=l.useMemo((()=>[q,E]),[q,E]);return l.useLayoutEffect((()=>{p&&(O.current.geometry=n.mergeVertices(O.current.geometry,p),O.current.geometry.computeVertexNormals())}),[T,p]),l.useImperativeHandle(x,(()=>O.current),[]),l.createElement("mesh",i.default({},j,{ref:O}),l.createElement("renamedTextGeometry",{args:T}),M)}));exports.Text3D=a;
@@ -1 +1 @@
1
- "use strict";var e=require("@babel/runtime/helpers/extends"),t=require("@react-three/fiber"),r=require("react"),n=require("three-stdlib");function s(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=s(r);const c=a.forwardRef((({makeDefault:r,camera:s,domElement:c,regress:o,onChange:i,onStart:u,onEnd:l,...f},d)=>{const{invalidate:m,camera:v,gl:E,events:b,set:g,get:p,performance:h,viewport:j}=t.useThree(),L=s||v,O=c||b.connected||E.domElement,k=a.useMemo((()=>new n.TrackballControls(L)),[L]);return t.useFrame((()=>{k.enabled&&k.update()}),-1),a.useEffect((()=>(k.connect(O),()=>{k.dispose()})),[O,o,k,m]),a.useEffect((()=>{const e=e=>{m(),o&&h.regress(),i&&i(e)};return k.addEventListener("change",e),u&&k.addEventListener("start",u),l&&k.addEventListener("end",l),()=>{u&&k.removeEventListener("start",u),l&&k.removeEventListener("end",l),k.removeEventListener("change",e)}}),[i,u,l,k,m]),a.useEffect((()=>{k.handleResize()}),[j]),a.useEffect((()=>{if(r){const e=p().controls;return g({controls:k}),()=>g({controls:e})}}),[r,k]),a.createElement("primitive",e({ref:d,object:k},f))}));exports.TrackballControls=c;
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-stdlib");function o(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 s=o(e),c=a(r);const u=c.forwardRef((({makeDefault:e,camera:r,domElement:o,regress:a,onChange:u,onStart:i,onEnd:f,...l},d)=>{const{invalidate:v,camera:m,gl:b,events:E,set:p,get:g,performance:h,viewport:j}=t.useThree(),O=r||m,L=o||E.connected||b.domElement,y=c.useMemo((()=>new n.TrackballControls(O)),[O]);return t.useFrame((()=>{y.enabled&&y.update()}),-1),c.useEffect((()=>(y.connect(L),()=>{y.dispose()})),[L,a,y,v]),c.useEffect((()=>{const e=e=>{v(),a&&h.regress(),u&&u(e)};return y.addEventListener("change",e),i&&y.addEventListener("start",i),f&&y.addEventListener("end",f),()=>{i&&y.removeEventListener("start",i),f&&y.removeEventListener("end",f),y.removeEventListener("change",e)}}),[u,i,f,y,v]),c.useEffect((()=>{y.handleResize()}),[j]),c.useEffect((()=>{if(e){const e=g().controls;return p({controls:y}),()=>p({controls:e})}}),[e,y]),c.createElement("primitive",s.default({ref:d,object:y},l))}));exports.TrackballControls=u;
package/core/Trail.cjs.js CHANGED
@@ -1 +1 @@
1
- "use strict";var e=require("@react-three/fiber"),t=require("react"),r=require("three"),n=require("meshline");function o(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 c={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 u(t,n){const{length:o,local:u,decay:l,interval:a,stride:f}={...c,...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||(s(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:s}=t,{width:l,length:a,decay:f,local:h,stride:d,interval:p}={...c,...t},{color:y="hotpink",attenuation:g,target:m}=t,v=e.useThree((e=>e.size)),w=e.useThree((e=>e.scene)),b=i.useRef(null),[j,E]=i.useState(null),M=u(j,{length:a,decay:f,local:h,stride:d,interval:p});i.useEffect((()=>{const e=(null==m?void 0:m.current)||b.current.children.find((e=>e instanceof r.Object3D));e&&E(e)}),[M,m]);const O=i.useMemo((()=>new n.MeshLineGeometry),[]),A=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(s)if(Array.isArray(s))o=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&&(o=e)}return"object"==typeof(null==(e=o)?void 0:e.props)&&t.setValues(o.props),t}),[l,y,v,s]);return i.useEffect((()=>{A.uniforms.resolution.value.set(v.width,v.height)}),[v]),e.useFrame((()=>{M.current&&O.setPoints(M.current,g)})),i.createElement("group",null,e.createPortal(i.createElement("mesh",{ref:o,geometry:O,material:A}),w),i.createElement("group",{ref:b},s))}));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 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 +1 @@
1
- "use strict";var e=require("@babel/runtime/helpers/extends"),r=require("@react-three/fiber"),t=require("lodash.omit"),n=require("lodash.pick"),u=require("react"),o=require("three"),c=require("three-stdlib");function s(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 a=s(u),i=s(o);const f=a.forwardRef((({children:u,domElement:o,onChange:s,onMouseDown:f,onMouseUp:l,onObjectChange:d,object:h,makeDefault:m,...v},E)=>{const g=["enabled","axis","mode","translationSnap","rotationSnap","scaleSnap","space","size","showX","showY","showZ"],{camera:b,...p}=v,L=n(p,g),j=t(p,g),w=r.useThree((e=>e.controls)),O=r.useThree((e=>e.gl)),T=r.useThree((e=>e.events)),y=r.useThree((e=>e.camera)),q=r.useThree((e=>e.invalidate)),D=r.useThree((e=>e.get)),C=r.useThree((e=>e.set)),R=b||y,k=o||T.connected||O.domElement,x=a.useMemo((()=>new c.TransformControls(R,k)),[R,k]),M=a.useRef();a.useLayoutEffect((()=>(h?x.attach(h instanceof i.Object3D?h:h.current):M.current instanceof i.Object3D&&x.attach(M.current),()=>{x.detach()})),[h,u,x]),a.useEffect((()=>{if(w){const e=e=>w.enabled=!e.value;return x.addEventListener("dragging-changed",e),()=>x.removeEventListener("dragging-changed",e)}}),[x,w]);const S=a.useRef(),U=a.useRef(),z=a.useRef(),P=a.useRef();return a.useLayoutEffect((()=>{S.current=s}),[s]),a.useLayoutEffect((()=>{U.current=f}),[f]),a.useLayoutEffect((()=>{z.current=l}),[l]),a.useLayoutEffect((()=>{P.current=d}),[d]),a.useEffect((()=>{const e=e=>{q(),null==S.current||S.current(e)},r=e=>null==U.current?void 0:U.current(e),t=e=>null==z.current?void 0:z.current(e),n=e=>null==P.current?void 0:P.current(e);return x.addEventListener("change",e),x.addEventListener("mouseDown",r),x.addEventListener("mouseUp",t),x.addEventListener("objectChange",n),()=>{x.removeEventListener("change",e),x.removeEventListener("mouseDown",r),x.removeEventListener("mouseUp",t),x.removeEventListener("objectChange",n)}}),[q,x]),a.useEffect((()=>{if(m){const e=D().controls;return C({controls:x}),()=>C({controls:e})}}),[m,x]),x?a.createElement(a.Fragment,null,a.createElement("primitive",e({ref:E,object:x},L)),a.createElement("group",e({ref:M},j),u)):null}));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("lodash.omit"),n=require("lodash.pick"),u=require("react"),o=require("three"),c=require("three-stdlib");function s(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 f=s(e),i=s(r),l=s(n),d=a(u),h=a(o);const m=d.forwardRef((({children:e,domElement:r,onChange:n,onMouseDown:u,onMouseUp:o,onObjectChange:s,object:a,makeDefault:m,...v},E)=>{const b=["enabled","axis","mode","translationSnap","rotationSnap","scaleSnap","space","size","showX","showY","showZ"],{camera:g,...p}=v,L=l.default(p,b),j=i.default(p,b),y=t.useThree((e=>e.controls)),O=t.useThree((e=>e.gl)),w=t.useThree((e=>e.events)),T=t.useThree((e=>e.camera)),q=t.useThree((e=>e.invalidate)),D=t.useThree((e=>e.get)),C=t.useThree((e=>e.set)),R=g||T,M=r||w.connected||O.domElement,x=d.useMemo((()=>new c.TransformControls(R,M)),[R,M]),_=d.useRef();d.useLayoutEffect((()=>(a?x.attach(a instanceof h.Object3D?a:a.current):_.current instanceof h.Object3D&&x.attach(_.current),()=>{x.detach()})),[a,e,x]),d.useEffect((()=>{if(y){const e=e=>y.enabled=!e.value;return x.addEventListener("dragging-changed",e),()=>x.removeEventListener("dragging-changed",e)}}),[x,y]);const k=d.useRef(),P=d.useRef(),S=d.useRef(),U=d.useRef();return d.useLayoutEffect((()=>{k.current=n}),[n]),d.useLayoutEffect((()=>{P.current=u}),[u]),d.useLayoutEffect((()=>{S.current=o}),[o]),d.useLayoutEffect((()=>{U.current=s}),[s]),d.useEffect((()=>{const e=e=>{q(),null==k.current||k.current(e)},t=e=>null==P.current?void 0:P.current(e),r=e=>null==S.current?void 0:S.current(e),n=e=>null==U.current?void 0:U.current(e);return x.addEventListener("change",e),x.addEventListener("mouseDown",t),x.addEventListener("mouseUp",r),x.addEventListener("objectChange",n),()=>{x.removeEventListener("change",e),x.removeEventListener("mouseDown",t),x.removeEventListener("mouseUp",r),x.removeEventListener("objectChange",n)}}),[q,x]),d.useEffect((()=>{if(m){const e=D().controls;return C({controls:x}),()=>C({controls:e})}}),[m,x]),x?d.createElement(d.Fragment,null,d.createElement("primitive",f.default({ref:E,object:x},L)),d.createElement("group",f.default({ref:_},j),e)):null}));exports.TransformControls=m;
@@ -1 +1 @@
1
- "use strict";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){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 a=i(r),u=i(t);function f(e){return void 0!==(null==e?void 0:e.current)}function s(e){return"WireframeGeometry"===e.type}function c(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(s(r))throw new Error("Wireframe: WireframeGeometry is not supported.");const e=r.parent;if(function(e){return!(null==e||!e.geometry)}(e)){if(s(e.geometry))throw new Error("Wireframe: WireframeGeometry is not supported.");return e.geometry}}}function m(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 u.BufferAttribute(Float32Array.from(n),3)}(e,r);e.setAttribute("barycentric",t)}function l({geometry:r,simplify:t=!1,...n}){const[o,i]=a.useState(null);a.useLayoutEffect((()=>{const e=c(r);if(!e)throw new Error("Wireframe: geometry prop must be a BufferGeometry or a ref to a BufferGeometry.");m(e,t),f(r)&&i(e)}),[t,r]);const s=f(r)?o:r;return a.createElement(a.Fragment,null,s&&a.createElement("mesh",{geometry:s},a.createElement("meshWireframeMaterial",e({attach:"material",transparent:!0,side:u.DoubleSide,polygonOffset:!0,polygonOffsetFactor:-4},n,{extensions:{derivatives:!0,fragDepth:!1,drawBuffers:!1,shaderTextureLOD:!1}}))))}function y({simplify:e=!1,...r}){const t=a.useRef(null),n=a.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),a.useLayoutEffect((()=>{const r=c(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 m(r,e),()=>{r.copy(n),n.dispose()}}),[e]),a.useLayoutEffect((()=>{const e=t.current.parent,r=e.material.clone();return o.setWireframeOverride(e.material,n),()=>{e.material.dispose(),e.material=r}}),[]),a.createElement("object3D",{ref:t})}i(n).extend({MeshWireframeMaterial:o.WireframeMaterial}),exports.Wireframe=function({geometry:r,...t}){return r?a.createElement(l,e({geometry:r},t)):a.createElement(y,t)};
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)};
package/core/index.cjs.js CHANGED
@@ -1 +1 @@
1
- "use strict";var e=require("./Billboard.cjs.js"),r=require("./ScreenSpace.cjs.js"),s=require("./QuadraticBezierLine.cjs.js"),t=require("./CubicBezierLine.cjs.js"),o=require("./CatmullRomLine.cjs.js"),i=require("./Line.cjs.js"),a=require("./PositionalAudio.cjs.js"),u=require("./Text.cjs.js"),c=require("./Text3D.cjs.js"),n=require("./Effects.cjs.js"),j=require("./GradientTexture.cjs.js"),p=require("./Image.cjs.js"),x=require("./Edges.cjs.js"),l=require("./Trail.cjs.js"),m=require("./Sampler.cjs.js"),q=require("./ComputedAttribute.cjs.js"),d=require("./Clone.cjs.js"),h=require("./MarchingCubes.cjs.js"),C=require("./Decal.cjs.js"),M=require("./Svg.cjs.js"),S=require("./Gltf.cjs.js"),T=require("./AsciiRenderer.cjs.js"),f=require("./OrthographicCamera.cjs.js"),P=require("./PerspectiveCamera.cjs.js"),b=require("./CubeCamera.cjs.js"),B=require("./DeviceOrientationControls.cjs.js"),g=require("./FlyControls.cjs.js"),v=require("./MapControls.cjs.js"),F=require("./OrbitControls.cjs.js"),L=require("./TrackballControls.cjs.js"),A=require("./ArcballControls.cjs.js"),k=require("./TransformControls.cjs.js"),D=require("./PointerLockControls.cjs.js"),E=require("./FirstPersonControls.cjs.js"),G=require("./CameraControls.cjs.js"),R=require("./FaceControls.cjs.js"),w=require("./GizmoHelper.cjs.js"),z=require("./GizmoViewcube.cjs.js"),O=require("./GizmoViewport.cjs.js"),I=require("./Grid.cjs.js"),y=require("./useCubeTexture.cjs.js"),H=require("./useFBX.cjs.js"),V=require("./useGLTF.cjs.js"),W=require("./useKTX2.cjs.js"),Q=require("./useProgress.cjs.js"),X=require("./useTexture.cjs.js"),K=require("./useVideoTexture.cjs.js"),N=require("./useFont.cjs.js"),U=require("./Stats.cjs.js"),J=require("./useDepthBuffer.cjs.js"),Y=require("./useAspect.cjs.js"),Z=require("./useCamera.cjs.js"),$=require("./useDetectGPU.cjs.js"),_=require("./useHelper.cjs.js"),ee=require("./useBVH.cjs.js"),re=require("./useContextBridge.cjs.js"),se=require("./useAnimations.cjs.js"),te=require("./useFBO.cjs.js"),oe=require("./useIntersect.cjs.js"),ie=require("./useBoxProjectedEnv.cjs.js"),ae=require("./BBAnchor.cjs.js"),ue=require("./useTrailTexture.cjs.js"),ce=require("./useCubeCamera.cjs.js"),ne=require("./Example.cjs.js"),je=require("./SpriteAnimator.cjs.js"),pe=require("./FaceLandmarker.cjs.js"),xe=require("./CurveModifier.cjs.js"),le=require("./MeshDistortMaterial.cjs.js"),me=require("./MeshWobbleMaterial.cjs.js"),qe=require("./MeshReflectorMaterial.cjs.js"),de=require("./MeshRefractionMaterial.cjs.js"),he=require("./MeshTransmissionMaterial.cjs.js"),Ce=require("./MeshDiscardMaterial.cjs.js"),Me=require("./PointMaterial.cjs.js"),Se=require("./shaderMaterial.cjs.js"),Te=require("./softShadows.cjs.js"),fe=require("./shapes.cjs.js"),Pe=require("./Facemesh.cjs.js"),be=require("./RoundedBox.cjs.js"),Be=require("./ScreenQuad.cjs.js"),ge=require("./Center.cjs.js"),ve=require("./Resize.cjs.js"),Fe=require("./Bounds.cjs.js"),Le=require("./CameraShake.cjs.js"),Ae=require("./Float.cjs.js"),ke=require("./Stage.cjs.js"),De=require("./Backdrop.cjs.js"),Ee=require("./Shadow.cjs.js"),Ge=require("./Caustics.cjs.js"),Re=require("./ContactShadows.cjs.js"),we=require("./AccumulativeShadows.cjs.js"),ze=require("./Reflector.cjs.js"),Oe=require("./SpotLight.cjs.js"),Ie=require("./Environment.cjs.js"),ye=require("./Lightformer.cjs.js"),He=require("./Sky.cjs.js"),Ve=require("./Stars.cjs.js"),We=require("./Cloud.cjs.js"),Qe=require("./Sparkles.cjs.js"),Xe=require("./useEnvironment.cjs.js"),Ke=require("./useMatcapTexture.cjs.js"),Ne=require("./useNormalTexture.cjs.js"),Ue=require("./Wireframe.cjs.js"),Je=require("./Points.cjs.js"),Ye=require("./Instances.cjs.js"),Ze=require("./Segments.cjs.js"),$e=require("./Detailed.cjs.js"),_e=require("./Preload.cjs.js"),er=require("./BakeShadows.cjs.js"),rr=require("./meshBounds.cjs.js"),sr=require("./AdaptiveDpr.cjs.js"),tr=require("./AdaptiveEvents.cjs.js"),or=require("./PerformanceMonitor.cjs.js"),ir=require("./RenderTexture.cjs.js"),ar=require("./Mask.cjs.js"),ur=require("./Hud.cjs.js"),cr=require("./MeshPortalMaterial.cjs.js");require("@babel/runtime/helpers/extends"),require("react"),require("@react-three/fiber"),require("react-merge-refs"),require("three"),require("three-stdlib"),require("troika-three-text"),require("suspend-react"),require("meshline"),require("lodash.pick"),require("lodash.omit"),require("camera-controls"),require("maath"),require("zustand"),require("stats.js"),require("../helpers/useEffectfulState.cjs.js"),require("detect-gpu"),require("three-mesh-bvh"),require("@mediapipe/tasks-vision"),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("../materials/SpotLightMaterial.cjs.js"),require("../helpers/environment-assets.cjs.js"),require("../materials/WireframeMaterial.cjs.js"),require("react-composer"),exports.Billboard=e.Billboard,exports.ScreenSpace=r.ScreenSpace,exports.QuadraticBezierLine=s.QuadraticBezierLine,exports.CubicBezierLine=t.CubicBezierLine,exports.CatmullRomLine=o.CatmullRomLine,exports.Line=i.Line,exports.PositionalAudio=a.PositionalAudio,exports.Text=u.Text,exports.Text3D=c.Text3D,exports.Effects=n.Effects,exports.isWebGL2Available=n.isWebGL2Available,exports.GradientTexture=j.GradientTexture,exports.GradientType=j.GradientType,exports.Image=p.Image,exports.Edges=x.Edges,exports.Trail=l.Trail,exports.useTrail=l.useTrail,exports.Sampler=m.Sampler,exports.useSurfaceSampler=m.useSurfaceSampler,exports.ComputedAttribute=q.ComputedAttribute,exports.Clone=d.Clone,exports.MarchingCube=h.MarchingCube,exports.MarchingCubes=h.MarchingCubes,exports.MarchingPlane=h.MarchingPlane,exports.Decal=C.Decal,exports.Svg=M.Svg,exports.Gltf=S.Gltf,exports.AsciiRenderer=T.AsciiRenderer,exports.OrthographicCamera=f.OrthographicCamera,exports.PerspectiveCamera=P.PerspectiveCamera,exports.CubeCamera=b.CubeCamera,exports.DeviceOrientationControls=B.DeviceOrientationControls,exports.FlyControls=g.FlyControls,exports.MapControls=v.MapControls,exports.OrbitControls=F.OrbitControls,exports.TrackballControls=L.TrackballControls,exports.ArcballControls=A.ArcballControls,exports.TransformControls=k.TransformControls,exports.PointerLockControls=D.PointerLockControls,exports.FirstPersonControls=E.FirstPersonControls,exports.CameraControls=G.CameraControls,exports.FaceControls=R.FaceControls,exports.useFaceControls=R.useFaceControls,exports.GizmoHelper=w.GizmoHelper,exports.useGizmoContext=w.useGizmoContext,exports.GizmoViewcube=z.GizmoViewcube,exports.GizmoViewport=O.GizmoViewport,exports.Grid=I.Grid,exports.useCubeTexture=y.useCubeTexture,exports.useFBX=H.useFBX,exports.useGLTF=V.useGLTF,exports.useKTX2=W.useKTX2,exports.useProgress=Q.useProgress,exports.IsObject=X.IsObject,exports.useTexture=X.useTexture,exports.useVideoTexture=K.useVideoTexture,exports.useFont=N.useFont,exports.Stats=U.Stats,exports.useDepthBuffer=J.useDepthBuffer,exports.useAspect=Y.useAspect,exports.useCamera=Z.useCamera,exports.useDetectGPU=$.useDetectGPU,exports.useHelper=_.useHelper,exports.Bvh=ee.Bvh,exports.useBVH=ee.useBVH,exports.useContextBridge=re.useContextBridge,exports.useAnimations=se.useAnimations,exports.useFBO=te.useFBO,exports.useIntersect=oe.useIntersect,exports.useBoxProjectedEnv=ie.useBoxProjectedEnv,exports.BBAnchor=ae.BBAnchor,exports.useTrailTexture=ue.useTrailTexture,exports.useCubeCamera=ce.useCubeCamera,exports.Example=ne.Example,exports.SpriteAnimator=je.SpriteAnimator,exports.FaceLandmarker=pe.FaceLandmarker,exports.FaceLandmarkerDefaults=pe.FaceLandmarkerDefaults,exports.useFaceLandmarker=pe.useFaceLandmarker,exports.CurveModifier=xe.CurveModifier,exports.MeshDistortMaterial=le.MeshDistortMaterial,exports.MeshWobbleMaterial=me.MeshWobbleMaterial,exports.MeshReflectorMaterial=qe.MeshReflectorMaterial,exports.MeshRefractionMaterial=de.MeshRefractionMaterial,exports.MeshTransmissionMaterial=he.MeshTransmissionMaterial,exports.MeshDiscardMaterial=Ce.MeshDiscardMaterial,exports.PointMaterial=Me.PointMaterial,exports.PointMaterialImpl=Me.PointMaterialImpl,exports.shaderMaterial=Se.shaderMaterial,exports.SoftShadows=Te.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.Facemesh=Pe.Facemesh,exports.FacemeshDatas=Pe.FacemeshDatas,exports.FacemeshEye=Pe.FacemeshEye,exports.FacemeshEyeDefaults=Pe.FacemeshEyeDefaults,exports.RoundedBox=be.RoundedBox,exports.ScreenQuad=Be.ScreenQuad,exports.Center=ge.Center,exports.Resize=ve.Resize,exports.Bounds=Fe.Bounds,exports.useBounds=Fe.useBounds,exports.CameraShake=Le.CameraShake,exports.Float=Ae.Float,exports.Stage=ke.Stage,exports.Backdrop=De.Backdrop,exports.Shadow=Ee.Shadow,exports.Caustics=Ge.Caustics,exports.ContactShadows=Re.ContactShadows,exports.AccumulativeShadows=we.AccumulativeShadows,exports.RandomizedLight=we.RandomizedLight,exports.accumulativeContext=we.accumulativeContext,exports.Reflector=ze.Reflector,exports.SpotLight=Oe.SpotLight,exports.SpotLightShadow=Oe.SpotLightShadow,exports.Environment=Ie.Environment,exports.EnvironmentCube=Ie.EnvironmentCube,exports.EnvironmentMap=Ie.EnvironmentMap,exports.EnvironmentPortal=Ie.EnvironmentPortal,exports.Lightformer=ye.Lightformer,exports.Sky=He.Sky,exports.calcPosFromAngles=He.calcPosFromAngles,exports.Stars=Ve.Stars,exports.Cloud=We.Cloud,exports.Sparkles=Qe.Sparkles,exports.useEnvironment=Xe.useEnvironment,exports.useMatcapTexture=Ke.useMatcapTexture,exports.useNormalTexture=Ne.useNormalTexture,exports.Wireframe=Ue.Wireframe,exports.Point=Je.Point,exports.Points=Je.Points,exports.PointsBuffer=Je.PointsBuffer,exports.PositionPoint=Je.PositionPoint,exports.Instance=Ye.Instance,exports.Instances=Ye.Instances,exports.Merged=Ye.Merged,exports.Segment=Ze.Segment,exports.SegmentObject=Ze.SegmentObject,exports.Segments=Ze.Segments,exports.Detailed=$e.Detailed,exports.Preload=_e.Preload,exports.BakeShadows=er.BakeShadows,exports.meshBounds=rr.meshBounds,exports.AdaptiveDpr=sr.AdaptiveDpr,exports.AdaptiveEvents=tr.AdaptiveEvents,exports.PerformanceMonitor=or.PerformanceMonitor,exports.usePerformanceMonitor=or.usePerformanceMonitor,exports.RenderTexture=ir.RenderTexture,exports.Mask=ar.Mask,exports.useMask=ar.useMask,exports.Hud=ur.Hud,exports.MeshPortalMaterial=cr.MeshPortalMaterial;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./Billboard.cjs.js"),r=require("./ScreenSpace.cjs.js"),s=require("./QuadraticBezierLine.cjs.js"),t=require("./CubicBezierLine.cjs.js"),o=require("./CatmullRomLine.cjs.js"),i=require("./Line.cjs.js"),a=require("./PositionalAudio.cjs.js"),u=require("./Text.cjs.js"),c=require("./Text3D.cjs.js"),n=require("./Effects.cjs.js"),j=require("./GradientTexture.cjs.js"),p=require("./Image.cjs.js"),x=require("./Edges.cjs.js"),l=require("./Trail.cjs.js"),m=require("./Sampler.cjs.js"),q=require("./ComputedAttribute.cjs.js"),d=require("./Clone.cjs.js"),h=require("./MarchingCubes.cjs.js"),C=require("./Decal.cjs.js"),M=require("./Svg.cjs.js"),S=require("./Gltf.cjs.js"),f=require("./AsciiRenderer.cjs.js"),T=require("./OrthographicCamera.cjs.js"),P=require("./PerspectiveCamera.cjs.js"),b=require("./CubeCamera.cjs.js"),B=require("./DeviceOrientationControls.cjs.js"),g=require("./FlyControls.cjs.js"),v=require("./MapControls.cjs.js"),F=require("./OrbitControls.cjs.js"),L=require("./TrackballControls.cjs.js"),A=require("./ArcballControls.cjs.js"),k=require("./TransformControls.cjs.js"),D=require("./PointerLockControls.cjs.js"),E=require("./FirstPersonControls.cjs.js"),G=require("./CameraControls.cjs.js"),R=require("./FaceControls.cjs.js"),w=require("./GizmoHelper.cjs.js"),z=require("./GizmoViewcube.cjs.js"),O=require("./GizmoViewport.cjs.js"),y=require("./Grid.cjs.js"),I=require("./useCubeTexture.cjs.js"),H=require("./useFBX.cjs.js"),V=require("./useGLTF.cjs.js"),W=require("./useKTX2.cjs.js"),Q=require("./useProgress.cjs.js"),X=require("./useTexture.cjs.js"),K=require("./useVideoTexture.cjs.js"),N=require("./useFont.cjs.js"),U=require("./Stats.cjs.js"),_=require("./useDepthBuffer.cjs.js"),J=require("./useAspect.cjs.js"),Y=require("./useCamera.cjs.js"),Z=require("./useDetectGPU.cjs.js"),$=require("./useHelper.cjs.js"),ee=require("./useBVH.cjs.js"),re=require("./useContextBridge.cjs.js"),se=require("./useAnimations.cjs.js"),te=require("./useFBO.cjs.js"),oe=require("./useIntersect.cjs.js"),ie=require("./useBoxProjectedEnv.cjs.js"),ae=require("./BBAnchor.cjs.js"),ue=require("./useTrailTexture.cjs.js"),ce=require("./useCubeCamera.cjs.js"),ne=require("./Example.cjs.js"),je=require("./SpriteAnimator.cjs.js"),pe=require("./FaceLandmarker.cjs.js"),xe=require("./CurveModifier.cjs.js"),le=require("./MeshDistortMaterial.cjs.js"),me=require("./MeshWobbleMaterial.cjs.js"),qe=require("./MeshReflectorMaterial.cjs.js"),de=require("./MeshRefractionMaterial.cjs.js"),he=require("./MeshTransmissionMaterial.cjs.js"),Ce=require("./MeshDiscardMaterial.cjs.js"),Me=require("./PointMaterial.cjs.js"),Se=require("./shaderMaterial.cjs.js"),fe=require("./softShadows.cjs.js"),Te=require("./shapes.cjs.js"),Pe=require("./Facemesh.cjs.js"),be=require("./RoundedBox.cjs.js"),Be=require("./ScreenQuad.cjs.js"),ge=require("./Center.cjs.js"),ve=require("./Resize.cjs.js"),Fe=require("./Bounds.cjs.js"),Le=require("./CameraShake.cjs.js"),Ae=require("./Float.cjs.js"),ke=require("./Stage.cjs.js"),De=require("./Backdrop.cjs.js"),Ee=require("./Shadow.cjs.js"),Ge=require("./Caustics.cjs.js"),Re=require("./ContactShadows.cjs.js"),we=require("./AccumulativeShadows.cjs.js"),ze=require("./Reflector.cjs.js"),Oe=require("./SpotLight.cjs.js"),ye=require("./Environment.cjs.js"),Ie=require("./Lightformer.cjs.js"),He=require("./Sky.cjs.js"),Ve=require("./Stars.cjs.js"),We=require("./Cloud.cjs.js"),Qe=require("./Sparkles.cjs.js"),Xe=require("./useEnvironment.cjs.js"),Ke=require("./useMatcapTexture.cjs.js"),Ne=require("./useNormalTexture.cjs.js"),Ue=require("./Wireframe.cjs.js"),_e=require("./Points.cjs.js"),Je=require("./Instances.cjs.js"),Ye=require("./Segments.cjs.js"),Ze=require("./Detailed.cjs.js"),$e=require("./Preload.cjs.js"),er=require("./BakeShadows.cjs.js"),rr=require("./meshBounds.cjs.js"),sr=require("./AdaptiveDpr.cjs.js"),tr=require("./AdaptiveEvents.cjs.js"),or=require("./PerformanceMonitor.cjs.js"),ir=require("./RenderTexture.cjs.js"),ar=require("./Mask.cjs.js"),ur=require("./Hud.cjs.js"),cr=require("./MeshPortalMaterial.cjs.js");require("@babel/runtime/helpers/extends"),require("react"),require("@react-three/fiber"),require("react-merge-refs"),require("three"),require("three-stdlib"),require("troika-three-text"),require("suspend-react"),require("meshline"),require("lodash.pick"),require("lodash.omit"),require("camera-controls"),require("maath"),require("@mediapipe/tasks-vision"),require("zustand"),require("stats.js"),require("../helpers/useEffectfulState.cjs.js"),require("detect-gpu"),require("three-mesh-bvh"),require("../materials/BlurPass.cjs.js"),require("../materials/ConvolutionMaterial.cjs.js"),require("../materials/MeshReflectorMaterial.cjs.js"),require("../materials/MeshRefractionMaterial.cjs.js"),require("../materials/DiscardMaterial.cjs.js"),require("../helpers/environment-assets.cjs.js"),require("../materials/SpotLightMaterial.cjs.js"),require("../materials/WireframeMaterial.cjs.js"),require("react-composer"),exports.Billboard=e.Billboard,exports.ScreenSpace=r.ScreenSpace,exports.QuadraticBezierLine=s.QuadraticBezierLine,exports.CubicBezierLine=t.CubicBezierLine,exports.CatmullRomLine=o.CatmullRomLine,exports.Line=i.Line,exports.PositionalAudio=a.PositionalAudio,exports.Text=u.Text,exports.Text3D=c.Text3D,exports.Effects=n.Effects,exports.isWebGL2Available=n.isWebGL2Available,exports.GradientTexture=j.GradientTexture,exports.GradientType=j.GradientType,exports.Image=p.Image,exports.Edges=x.Edges,exports.Trail=l.Trail,exports.useTrail=l.useTrail,exports.Sampler=m.Sampler,exports.useSurfaceSampler=m.useSurfaceSampler,exports.ComputedAttribute=q.ComputedAttribute,exports.Clone=d.Clone,exports.MarchingCube=h.MarchingCube,exports.MarchingCubes=h.MarchingCubes,exports.MarchingPlane=h.MarchingPlane,exports.Decal=C.Decal,exports.Svg=M.Svg,exports.Gltf=S.Gltf,exports.AsciiRenderer=f.AsciiRenderer,exports.OrthographicCamera=T.OrthographicCamera,exports.PerspectiveCamera=P.PerspectiveCamera,exports.CubeCamera=b.CubeCamera,exports.DeviceOrientationControls=B.DeviceOrientationControls,exports.FlyControls=g.FlyControls,exports.MapControls=v.MapControls,exports.OrbitControls=F.OrbitControls,exports.TrackballControls=L.TrackballControls,exports.ArcballControls=A.ArcballControls,exports.TransformControls=k.TransformControls,exports.PointerLockControls=D.PointerLockControls,exports.FirstPersonControls=E.FirstPersonControls,exports.CameraControls=G.CameraControls,exports.FaceControls=R.FaceControls,exports.useFaceControls=R.useFaceControls,exports.GizmoHelper=w.GizmoHelper,exports.useGizmoContext=w.useGizmoContext,exports.GizmoViewcube=z.GizmoViewcube,exports.GizmoViewport=O.GizmoViewport,exports.Grid=y.Grid,exports.useCubeTexture=I.useCubeTexture,exports.useFBX=H.useFBX,exports.useGLTF=V.useGLTF,exports.useKTX2=W.useKTX2,exports.useProgress=Q.useProgress,exports.IsObject=X.IsObject,exports.useTexture=X.useTexture,exports.useVideoTexture=K.useVideoTexture,exports.useFont=N.useFont,exports.Stats=U.Stats,exports.useDepthBuffer=_.useDepthBuffer,exports.useAspect=J.useAspect,exports.useCamera=Y.useCamera,exports.useDetectGPU=Z.useDetectGPU,exports.useHelper=$.useHelper,exports.Bvh=ee.Bvh,exports.useBVH=ee.useBVH,exports.useContextBridge=re.useContextBridge,exports.useAnimations=se.useAnimations,exports.useFBO=te.useFBO,exports.useIntersect=oe.useIntersect,exports.useBoxProjectedEnv=ie.useBoxProjectedEnv,exports.BBAnchor=ae.BBAnchor,exports.useTrailTexture=ue.useTrailTexture,exports.useCubeCamera=ce.useCubeCamera,exports.Example=ne.Example,exports.SpriteAnimator=je.SpriteAnimator,exports.FaceLandmarker=pe.FaceLandmarker,exports.FaceLandmarkerDefaults=pe.FaceLandmarkerDefaults,exports.useFaceLandmarker=pe.useFaceLandmarker,exports.CurveModifier=xe.CurveModifier,exports.MeshDistortMaterial=le.MeshDistortMaterial,exports.MeshWobbleMaterial=me.MeshWobbleMaterial,exports.MeshReflectorMaterial=qe.MeshReflectorMaterial,exports.MeshRefractionMaterial=de.MeshRefractionMaterial,exports.MeshTransmissionMaterial=he.MeshTransmissionMaterial,exports.MeshDiscardMaterial=Ce.MeshDiscardMaterial,exports.PointMaterial=Me.PointMaterial,exports.PointMaterialImpl=Me.PointMaterialImpl,exports.shaderMaterial=Se.shaderMaterial,exports.SoftShadows=fe.SoftShadows,exports.Box=Te.Box,exports.Capsule=Te.Capsule,exports.Circle=Te.Circle,exports.Cone=Te.Cone,exports.Cylinder=Te.Cylinder,exports.Dodecahedron=Te.Dodecahedron,exports.Extrude=Te.Extrude,exports.Icosahedron=Te.Icosahedron,exports.Lathe=Te.Lathe,exports.Octahedron=Te.Octahedron,exports.Plane=Te.Plane,exports.Polyhedron=Te.Polyhedron,exports.Ring=Te.Ring,exports.Shape=Te.Shape,exports.Sphere=Te.Sphere,exports.Tetrahedron=Te.Tetrahedron,exports.Torus=Te.Torus,exports.TorusKnot=Te.TorusKnot,exports.Tube=Te.Tube,exports.Facemesh=Pe.Facemesh,exports.FacemeshDatas=Pe.FacemeshDatas,exports.FacemeshEye=Pe.FacemeshEye,exports.FacemeshEyeDefaults=Pe.FacemeshEyeDefaults,exports.RoundedBox=be.RoundedBox,exports.ScreenQuad=Be.ScreenQuad,exports.Center=ge.Center,exports.Resize=ve.Resize,exports.Bounds=Fe.Bounds,exports.useBounds=Fe.useBounds,exports.CameraShake=Le.CameraShake,exports.Float=Ae.Float,exports.Stage=ke.Stage,exports.Backdrop=De.Backdrop,exports.Shadow=Ee.Shadow,exports.Caustics=Ge.Caustics,exports.ContactShadows=Re.ContactShadows,exports.AccumulativeShadows=we.AccumulativeShadows,exports.RandomizedLight=we.RandomizedLight,exports.accumulativeContext=we.accumulativeContext,exports.Reflector=ze.Reflector,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=Ie.Lightformer,exports.Sky=He.Sky,exports.calcPosFromAngles=He.calcPosFromAngles,exports.Stars=Ve.Stars,exports.Cloud=We.Cloud,exports.Sparkles=Qe.Sparkles,exports.useEnvironment=Xe.useEnvironment,exports.useMatcapTexture=Ke.useMatcapTexture,exports.useNormalTexture=Ne.useNormalTexture,exports.Wireframe=Ue.Wireframe,exports.Point=_e.Point,exports.Points=_e.Points,exports.PointsBuffer=_e.PointsBuffer,exports.PositionPoint=_e.PositionPoint,exports.Instance=Je.Instance,exports.Instances=Je.Instances,exports.Merged=Je.Merged,exports.Segment=Ye.Segment,exports.SegmentObject=Ye.SegmentObject,exports.Segments=Ye.Segments,exports.Detailed=Ze.Detailed,exports.Preload=$e.Preload,exports.BakeShadows=er.BakeShadows,exports.meshBounds=rr.meshBounds,exports.AdaptiveDpr=sr.AdaptiveDpr,exports.AdaptiveEvents=tr.AdaptiveEvents,exports.PerformanceMonitor=or.PerformanceMonitor,exports.usePerformanceMonitor=or.usePerformanceMonitor,exports.RenderTexture=ir.RenderTexture,exports.Mask=ar.Mask,exports.useMask=ar.useMask,exports.Hud=ur.Hud,exports.MeshPortalMaterial=cr.MeshPortalMaterial;
package/core/index.js CHANGED
@@ -128,18 +128,18 @@ import 'lodash.pick';
128
128
  import 'lodash.omit';
129
129
  import 'camera-controls';
130
130
  import 'maath';
131
+ import '@mediapipe/tasks-vision';
131
132
  import 'zustand';
132
133
  import 'stats.js';
133
134
  import '../helpers/useEffectfulState.js';
134
135
  import 'detect-gpu';
135
136
  import 'three-mesh-bvh';
136
- import '@mediapipe/tasks-vision';
137
137
  import '../materials/BlurPass.js';
138
138
  import '../materials/ConvolutionMaterial.js';
139
139
  import '../materials/MeshReflectorMaterial.js';
140
140
  import '../materials/MeshRefractionMaterial.js';
141
141
  import '../materials/DiscardMaterial.js';
142
- import '../materials/SpotLightMaterial.js';
143
142
  import '../helpers/environment-assets.js';
143
+ import '../materials/SpotLightMaterial.js';
144
144
  import '../materials/WireframeMaterial.js';
145
145
  import 'react-composer';
@@ -1 +1 @@
1
- "use strict";var e=require("three");const n=new e.Matrix4,t=new e.Ray,i=new e.Sphere,o=new e.Vector3;exports.meshBounds=function(e,r){const s=this.geometry,p=this.material,a=this.matrixWorld;void 0!==p&&(null===s.boundingSphere&&s.computeBoundingSphere(),i.copy(s.boundingSphere),i.applyMatrix4(a),!1!==e.ray.intersectsSphere(i)&&(n.copy(a).invert(),t.copy(e.ray).applyMatrix4(n),null!==s.boundingBox&&null===t.intersectBox(s.boundingBox,o)||r.push({distance:o.distanceTo(e.ray.origin),point:o.clone(),object:this})))};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("three");const n=new e.Matrix4,t=new e.Ray,o=new e.Sphere,r=new e.Vector3;exports.meshBounds=function(e,i){const s=this.geometry,p=this.material,a=this.matrixWorld;void 0!==p&&(null===s.boundingSphere&&s.computeBoundingSphere(),o.copy(s.boundingSphere),o.applyMatrix4(a),!1!==e.ray.intersectsSphere(o)&&(n.copy(a).invert(),t.copy(e.ray).applyMatrix4(n),null!==s.boundingBox&&null===t.intersectBox(s.boundingBox,r)||i.push({distance:r.distanceTo(e.ray.origin),point:r.clone(),object:this})))};
@@ -1 +1 @@
1
- "use strict";function e(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 t=e(require("three"));exports.shaderMaterial=function(e,r,n,s){const i=class extends t.ShaderMaterial{constructor(i={}){const a=Object.entries(e);super({uniforms:a.reduce(((e,[r,n])=>({...e,...t.UniformsUtils.clone({[r]:{value:n}})})),{}),vertexShader:r,fragmentShader:n}),this.key="",a.forEach((([e])=>Object.defineProperty(this,e,{get:()=>this.uniforms[e].value,set:t=>this.uniforms[e].value=t}))),Object.assign(this,i),s&&s(this)}};return i.key=t.MathUtils.generateUUID(),i};
1
+ "use strict";function e(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var s=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,s.get?s:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}Object.defineProperty(exports,"__esModule",{value:!0});var t=e(require("three"));exports.shaderMaterial=function(e,r,s,n){const i=class extends t.ShaderMaterial{constructor(i={}){const a=Object.entries(e);super({uniforms:a.reduce(((e,[r,s])=>({...e,...t.UniformsUtils.clone({[r]:{value:s}})})),{}),vertexShader:r,fragmentShader:s}),this.key="",a.forEach((([e])=>Object.defineProperty(this,e,{get:()=>this.uniforms[e].value,set:t=>this.uniforms[e].value=t}))),Object.assign(this,i),n&&n(this)}};return i.key=t.MathUtils.generateUUID(),i};
@@ -1 +1 @@
1
- "use strict";var e=require("@babel/runtime/helpers/extends"),t=require("react"),r=require("three");function o(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 n=o(t),s=o(r);function u(t,r){const o=t+"Geometry";return n.forwardRef((({args:t,children:s,...u},c)=>{const a=n.useRef(null);return n.useImperativeHandle(c,(()=>a.current)),n.useLayoutEffect((()=>{null==r||r(a.current)})),n.createElement("mesh",e({ref:a},u),n.createElement(o,{attach:"geometry",args:t}),s)}))}const c=u("box"),a=u("circle"),p=u("cone"),i=u("cylinder"),l=u("sphere"),x=u("plane"),d=u("tube"),h=u("torus"),f=u("torusKnot"),b=u("tetrahedron"),y=u("ring"),g=u("polyhedron"),m=u("icosahedron"),O=u("octahedron"),v=u("dodecahedron"),j=u("extrude"),w=u("lathe"),E=u("capsule"),B=u("shape",(({geometry:e})=>{const t=e.attributes.position,r=(new s.Box3).setFromBufferAttribute(t),o=new s.Vector3;r.getSize(o);const n=[];let u=0,c=0,a=0,p=0;for(let e=0;e<t.count;e++)u=t.getX(e),c=t.getY(e),a=(u-r.min.x)/o.x,p=(c-r.min.y)/o.y,n.push(a,p);e.setAttribute("uv",new s.Float32BufferAttribute(n,2))}));exports.Box=c,exports.Capsule=E,exports.Circle=a,exports.Cone=p,exports.Cylinder=i,exports.Dodecahedron=v,exports.Extrude=j,exports.Icosahedron=m,exports.Lathe=w,exports.Octahedron=O,exports.Plane=x,exports.Polyhedron=g,exports.Ring=y,exports.Shape=B,exports.Sphere=l,exports.Tetrahedron=b,exports.Torus=h,exports.TorusKnot=f,exports.Tube=d;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/extends"),t=require("react"),r=require("three");function o(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}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 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 s=o(e),u=n(t),a=n(r);function c(e,t){const r=e+"Geometry";return u.forwardRef((({args:e,children:o,...n},a)=>{const c=u.useRef(null);return u.useImperativeHandle(a,(()=>c.current)),u.useLayoutEffect((()=>{null==t||t(c.current)})),u.createElement("mesh",s.default({ref:c},n),u.createElement(r,{attach:"geometry",args:e}),o)}))}const p=c("box"),l=c("circle"),i=c("cone"),d=c("cylinder"),f=c("sphere"),x=c("plane"),h=c("tube"),b=c("torus"),y=c("torusKnot"),g=c("tetrahedron"),m=c("ring"),O=c("polyhedron"),j=c("icosahedron"),v=c("octahedron"),w=c("dodecahedron"),E=c("extrude"),P=c("lathe"),B=c("capsule"),C=c("shape",(({geometry:e})=>{const t=e.attributes.position,r=(new a.Box3).setFromBufferAttribute(t),o=new a.Vector3;r.getSize(o);const n=[];let s=0,u=0,c=0,p=0;for(let e=0;e<t.count;e++)s=t.getX(e),u=t.getY(e),c=(s-r.min.x)/o.x,p=(u-r.min.y)/o.y,n.push(c,p);e.setAttribute("uv",new a.Float32BufferAttribute(n,2))}));exports.Box=p,exports.Capsule=B,exports.Circle=l,exports.Cone=i,exports.Cylinder=d,exports.Dodecahedron=w,exports.Extrude=E,exports.Icosahedron=j,exports.Lathe=P,exports.Octahedron=v,exports.Plane=x,exports.Polyhedron=O,exports.Ring=m,exports.Shape=C,exports.Sphere=f,exports.Tetrahedron=g,exports.Torus=b,exports.TorusKnot=y,exports.Tube=h;
@@ -1 +1 @@
1
- "use strict";var e=require("react"),n=require("three"),a=require("@react-three/fiber");function t(e){var n=Object.create(null);return e&&Object.keys(e).forEach((function(a){if("default"!==a){var t=Object.getOwnPropertyDescriptor(e,a);Object.defineProperty(n,a,t.get?t:{enumerable:!0,get:function(){return e[a]}})}})),n.default=e,Object.freeze(n)}var r=t(e),o=t(n);function l(e,n,a){n.traverse((n=>{n.material&&(e.properties.remove(n.material),null==n.material.dispose||n.material.dispose())})),e.info.programs.length=0,e.compile(n,a)}exports.SoftShadows=function({focus:e=0,samples:n=10,size:t=25}){const s=a.useThree((e=>e.gl)),i=a.useThree((e=>e.scene)),c=a.useThree((e=>e.camera));return r.useEffect((()=>{const a=o.ShaderChunk.shadowmap_pars_fragment;return o.ShaderChunk.shadowmap_pars_fragment=o.ShaderChunk.shadowmap_pars_fragment.replace("#ifdef USE_SHADOWMAP","#ifdef USE_SHADOWMAP\n"+(({focus:e=0,size:n=25,samples:a=10}={})=>`\n#define PENUMBRA_FILTER_SIZE float(${n})\n#define RGB_NOISE_FUNCTION(uv) (randRGB(uv))\nvec3 randRGB(vec2 uv) {\n return vec3(\n fract(sin(dot(uv, vec2(12.75613, 38.12123))) * 13234.76575),\n fract(sin(dot(uv, vec2(19.45531, 58.46547))) * 43678.23431),\n fract(sin(dot(uv, vec2(23.67817, 78.23121))) * 93567.23423)\n );\n}\n\nvec3 lowPassRandRGB(vec2 uv) {\n // 3x3 convolution (average)\n // can be implemented as separable with an extra buffer for a total of 6 samples instead of 9\n vec3 result = vec3(0);\n result += RGB_NOISE_FUNCTION(uv + vec2(-1.0, -1.0));\n result += RGB_NOISE_FUNCTION(uv + vec2(-1.0, 0.0));\n result += RGB_NOISE_FUNCTION(uv + vec2(-1.0, +1.0));\n result += RGB_NOISE_FUNCTION(uv + vec2( 0.0, -1.0));\n result += RGB_NOISE_FUNCTION(uv + vec2( 0.0, 0.0));\n result += RGB_NOISE_FUNCTION(uv + vec2( 0.0, +1.0));\n result += RGB_NOISE_FUNCTION(uv + vec2(+1.0, -1.0));\n result += RGB_NOISE_FUNCTION(uv + vec2(+1.0, 0.0));\n result += RGB_NOISE_FUNCTION(uv + vec2(+1.0, +1.0));\n result *= 0.111111111; // 1.0 / 9.0\n return result;\n}\nvec3 highPassRandRGB(vec2 uv) {\n // by subtracting the low-pass signal from the original signal, we're being left with the high-pass signal\n // hp(x) = x - lp(x)\n return RGB_NOISE_FUNCTION(uv) - lowPassRandRGB(uv) + 0.5;\n}\n\n\nvec2 vogelDiskSample(int sampleIndex, int sampleCount, float angle) {\n const float goldenAngle = 2.399963f; // radians\n float r = sqrt(float(sampleIndex) + 0.5f) / sqrt(float(sampleCount));\n float theta = float(sampleIndex) * goldenAngle + angle;\n float sine = sin(theta);\n float cosine = cos(theta);\n return vec2(cosine, sine) * r;\n}\nfloat penumbraSize( const in float zReceiver, const in float zBlocker ) { // Parallel plane estimation\n return (zReceiver - zBlocker) / zBlocker;\n}\nfloat findBlocker(sampler2D shadowMap, vec2 uv, float compare, float angle) {\n float texelSize = 1.0 / float(textureSize(shadowMap, 0).x);\n float blockerDepthSum = float(${e});\n float blockers = 0.0;\n\n int j = 0;\n vec2 offset = vec2(0.);\n float depth = 0.;\n\n #pragma unroll_loop_start\n for(int i = 0; i < ${a}; i ++) {\n offset = (vogelDiskSample(j, ${a}, angle) * texelSize) * 2.0 * PENUMBRA_FILTER_SIZE;\n depth = unpackRGBAToDepth( texture2D( shadowMap, uv + offset));\n if (depth < compare) {\n blockerDepthSum += depth;\n blockers++;\n }\n j++;\n }\n #pragma unroll_loop_end\n\n if (blockers > 0.0) {\n return blockerDepthSum / blockers;\n }\n return -1.0;\n}\n\n \nfloat vogelFilter(sampler2D shadowMap, vec2 uv, float zReceiver, float filterRadius, float angle) {\n float texelSize = 1.0 / float(textureSize(shadowMap, 0).x);\n float shadow = 0.0f;\n int j = 0;\n vec2 vogelSample = vec2(0.0);\n vec2 offset = vec2(0.0);\n #pragma unroll_loop_start\n for (int i = 0; i < ${a}; i++) {\n vogelSample = vogelDiskSample(j, ${a}, angle) * texelSize;\n offset = vogelSample * (1.0 + filterRadius * float(${n}));\n shadow += step( zReceiver, unpackRGBAToDepth( texture2D( shadowMap, uv + offset ) ) );\n j++;\n }\n #pragma unroll_loop_end\n return shadow * 1.0 / ${a}.0;\n}\n\nfloat PCSS (sampler2D shadowMap, vec4 coords) {\n vec2 uv = coords.xy;\n float zReceiver = coords.z; // Assumed to be eye-space z in this code\n float angle = highPassRandRGB(gl_FragCoord.xy).r * PI2;\n float avgBlockerDepth = findBlocker(shadowMap, uv, zReceiver, angle);\n if (avgBlockerDepth == -1.0) {\n return 1.0;\n }\n float penumbraRatio = penumbraSize(zReceiver, avgBlockerDepth);\n return vogelFilter(shadowMap, uv, zReceiver, 1.25 * penumbraRatio, angle);\n}`)({size:t,samples:n,focus:e})).replace("#if defined( SHADOWMAP_TYPE_PCF )","\nreturn PCSS(shadowMap, shadowCoord);\n#if defined( SHADOWMAP_TYPE_PCF )"),l(s,i,c),()=>{o.ShaderChunk.shadowmap_pars_fragment=a,l(s,i,c)}}),[e,t,n]),null};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),n=require("three"),a=require("@react-three/fiber");function t(e){if(e&&e.__esModule)return e;var n=Object.create(null);return e&&Object.keys(e).forEach((function(a){if("default"!==a){var t=Object.getOwnPropertyDescriptor(e,a);Object.defineProperty(n,a,t.get?t:{enumerable:!0,get:function(){return e[a]}})}})),n.default=e,Object.freeze(n)}var r=t(e),o=t(n);function l(e,n,a){n.traverse((n=>{n.material&&(e.properties.remove(n.material),null==n.material.dispose||n.material.dispose())})),e.info.programs.length=0,e.compile(n,a)}exports.SoftShadows=function({focus:e=0,samples:n=10,size:t=25}){const s=a.useThree((e=>e.gl)),i=a.useThree((e=>e.scene)),u=a.useThree((e=>e.camera));return r.useEffect((()=>{const a=o.ShaderChunk.shadowmap_pars_fragment;return o.ShaderChunk.shadowmap_pars_fragment=o.ShaderChunk.shadowmap_pars_fragment.replace("#ifdef USE_SHADOWMAP","#ifdef USE_SHADOWMAP\n"+(({focus:e=0,size:n=25,samples:a=10}={})=>`\n#define PENUMBRA_FILTER_SIZE float(${n})\n#define RGB_NOISE_FUNCTION(uv) (randRGB(uv))\nvec3 randRGB(vec2 uv) {\n return vec3(\n fract(sin(dot(uv, vec2(12.75613, 38.12123))) * 13234.76575),\n fract(sin(dot(uv, vec2(19.45531, 58.46547))) * 43678.23431),\n fract(sin(dot(uv, vec2(23.67817, 78.23121))) * 93567.23423)\n );\n}\n\nvec3 lowPassRandRGB(vec2 uv) {\n // 3x3 convolution (average)\n // can be implemented as separable with an extra buffer for a total of 6 samples instead of 9\n vec3 result = vec3(0);\n result += RGB_NOISE_FUNCTION(uv + vec2(-1.0, -1.0));\n result += RGB_NOISE_FUNCTION(uv + vec2(-1.0, 0.0));\n result += RGB_NOISE_FUNCTION(uv + vec2(-1.0, +1.0));\n result += RGB_NOISE_FUNCTION(uv + vec2( 0.0, -1.0));\n result += RGB_NOISE_FUNCTION(uv + vec2( 0.0, 0.0));\n result += RGB_NOISE_FUNCTION(uv + vec2( 0.0, +1.0));\n result += RGB_NOISE_FUNCTION(uv + vec2(+1.0, -1.0));\n result += RGB_NOISE_FUNCTION(uv + vec2(+1.0, 0.0));\n result += RGB_NOISE_FUNCTION(uv + vec2(+1.0, +1.0));\n result *= 0.111111111; // 1.0 / 9.0\n return result;\n}\nvec3 highPassRandRGB(vec2 uv) {\n // by subtracting the low-pass signal from the original signal, we're being left with the high-pass signal\n // hp(x) = x - lp(x)\n return RGB_NOISE_FUNCTION(uv) - lowPassRandRGB(uv) + 0.5;\n}\n\n\nvec2 vogelDiskSample(int sampleIndex, int sampleCount, float angle) {\n const float goldenAngle = 2.399963f; // radians\n float r = sqrt(float(sampleIndex) + 0.5f) / sqrt(float(sampleCount));\n float theta = float(sampleIndex) * goldenAngle + angle;\n float sine = sin(theta);\n float cosine = cos(theta);\n return vec2(cosine, sine) * r;\n}\nfloat penumbraSize( const in float zReceiver, const in float zBlocker ) { // Parallel plane estimation\n return (zReceiver - zBlocker) / zBlocker;\n}\nfloat findBlocker(sampler2D shadowMap, vec2 uv, float compare, float angle) {\n float texelSize = 1.0 / float(textureSize(shadowMap, 0).x);\n float blockerDepthSum = float(${e});\n float blockers = 0.0;\n\n int j = 0;\n vec2 offset = vec2(0.);\n float depth = 0.;\n\n #pragma unroll_loop_start\n for(int i = 0; i < ${a}; i ++) {\n offset = (vogelDiskSample(j, ${a}, angle) * texelSize) * 2.0 * PENUMBRA_FILTER_SIZE;\n depth = unpackRGBAToDepth( texture2D( shadowMap, uv + offset));\n if (depth < compare) {\n blockerDepthSum += depth;\n blockers++;\n }\n j++;\n }\n #pragma unroll_loop_end\n\n if (blockers > 0.0) {\n return blockerDepthSum / blockers;\n }\n return -1.0;\n}\n\n \nfloat vogelFilter(sampler2D shadowMap, vec2 uv, float zReceiver, float filterRadius, float angle) {\n float texelSize = 1.0 / float(textureSize(shadowMap, 0).x);\n float shadow = 0.0f;\n int j = 0;\n vec2 vogelSample = vec2(0.0);\n vec2 offset = vec2(0.0);\n #pragma unroll_loop_start\n for (int i = 0; i < ${a}; i++) {\n vogelSample = vogelDiskSample(j, ${a}, angle) * texelSize;\n offset = vogelSample * (1.0 + filterRadius * float(${n}));\n shadow += step( zReceiver, unpackRGBAToDepth( texture2D( shadowMap, uv + offset ) ) );\n j++;\n }\n #pragma unroll_loop_end\n return shadow * 1.0 / ${a}.0;\n}\n\nfloat PCSS (sampler2D shadowMap, vec4 coords) {\n vec2 uv = coords.xy;\n float zReceiver = coords.z; // Assumed to be eye-space z in this code\n float angle = highPassRandRGB(gl_FragCoord.xy).r * PI2;\n float avgBlockerDepth = findBlocker(shadowMap, uv, zReceiver, angle);\n if (avgBlockerDepth == -1.0) {\n return 1.0;\n }\n float penumbraRatio = penumbraSize(zReceiver, avgBlockerDepth);\n return vogelFilter(shadowMap, uv, zReceiver, 1.25 * penumbraRatio, angle);\n}`)({size:t,samples:n,focus:e})).replace("#if defined( SHADOWMAP_TYPE_PCF )","\nreturn PCSS(shadowMap, shadowCoord);\n#if defined( SHADOWMAP_TYPE_PCF )"),l(s,i,u),()=>{o.ShaderChunk.shadowmap_pars_fragment=a,l(s,i,u)}}),[e,t,n]),null};
@@ -1 +1 @@
1
- "use strict";var e=require("react"),t=require("three"),r=require("@react-three/fiber");function n(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 c=n(e);exports.useAnimations=function(e,n){const u=c.useRef(),[a]=c.useState((()=>n?n instanceof t.Object3D?{current:n}:n:u)),[i]=c.useState((()=>new t.AnimationMixer(void 0)));c.useLayoutEffect((()=>{i._root=a.current}),[i,n]);const o=c.useRef({}),[s]=c.useState((()=>{const t={};return e.forEach((e=>Object.defineProperty(t,e.name,{enumerable:!0,get(){if(a.current)return o.current[e.name]||(o.current[e.name]=i.clipAction(e,a.current))},configurable:!0}))),{ref:a,clips:e,actions:t,names:e.map((e=>e.name)),mixer:i}}));return r.useFrame(((e,t)=>i.update(t))),c.useEffect((()=>{const e=a.current;return()=>{o.current={},Object.values(s.actions).forEach((t=>{e&&i.uncacheAction(t,e)}))}}),[e]),c.useEffect((()=>()=>{i.stopAllAction()}),[i]),s};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=require("three"),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 c=n(e);exports.useAnimations=function(e,n){const u=c.useRef(),[a]=c.useState((()=>n?n instanceof t.Object3D?{current:n}:n:u)),[o]=c.useState((()=>new t.AnimationMixer(void 0)));c.useLayoutEffect((()=>{o._root=a.current}),[o,n]);const i=c.useRef({}),[s]=c.useState((()=>{const t={};return e.forEach((e=>Object.defineProperty(t,e.name,{enumerable:!0,get(){if(a.current)return i.current[e.name]||(i.current[e.name]=o.clipAction(e,a.current))},configurable:!0}))),{ref:a,clips:e,actions:t,names:e.map((e=>e.name)),mixer:o}}));return r.useFrame(((e,t)=>o.update(t))),c.useEffect((()=>{const e=a.current;return()=>{i.current={},Object.values(s.actions).forEach((t=>{e&&o.uncacheAction(t,e)}))}}),[e]),c.useEffect((()=>()=>{o.stopAllAction()}),[o]),s};
@@ -1 +1 @@
1
- "use strict";var e=require("@react-three/fiber");exports.useAspect=function(t,r,i=1){const s=e.useThree((e=>e.viewport)),h=r*(s.aspect>t/r?s.width/t:s.height/r);return[t*(s.aspect>t/r?s.width/t:s.height/r)*i,h*i,1]};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@react-three/fiber");exports.useAspect=function(t,r,s=1){const i=e.useThree((e=>e.viewport)),c=r*(i.aspect>t/r?i.width/t:i.height/r);return[t*(i.aspect>t/r?i.width/t:i.height/r)*s,c*s,1]};
@@ -1 +1 @@
1
- "use strict";var e=require("@babel/runtime/helpers/extends"),r=require("@react-three/fiber"),t=require("react"),s=require("three"),o=require("three-mesh-bvh");function n(e){var r=Object.create(null);return e&&Object.keys(e).forEach((function(t){if("default"!==t){var s=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,s.get?s:{enumerable:!0,get:function(){return e[t]}})}})),r.default=e,Object.freeze(r)}var u=n(t);const a=e=>e.isMesh;const c=u.forwardRef((({enabled:t=!0,firstHitOnly:n=!1,children:c,strategy:i=o.SAH,verbose:d=!1,setBoundingBox:f=!0,maxDepth:y=40,maxLeafTris:p=10,...m},B)=>{const l=u.useRef(null),T=r.useThree((e=>e.raycaster));return u.useImperativeHandle(B,(()=>l.current),[]),u.useEffect((()=>{if(t){const e={strategy:i,verbose:d,setBoundingBox:f,maxDepth:y,maxLeafTris:p},r=l.current;return T.firstHitOnly=n,r.traverse((r=>{a(r)&&!r.geometry.boundsTree&&r.raycast===s.Mesh.prototype.raycast&&(r.raycast=o.acceleratedRaycast,r.geometry.computeBoundsTree=o.computeBoundsTree,r.geometry.disposeBoundsTree=o.disposeBoundsTree,r.geometry.computeBoundsTree(e))})),()=>{delete T.firstHitOnly,r.traverse((e=>{a(e)&&e.geometry.boundsTree&&(e.geometry.disposeBoundsTree(),e.raycast=s.Mesh.prototype.raycast)}))}}})),u.createElement("group",e({ref:l},m),c)}));exports.Bvh=c,exports.useBVH=function(e,r){r={strategy:o.SAH,verbose:!1,setBoundingBox:!0,maxDepth:40,maxLeafTris:10,...r},u.useEffect((()=>{if(e.current){e.current.raycast=o.acceleratedRaycast;const t=e.current.geometry;return t.computeBoundsTree=o.computeBoundsTree,t.disposeBoundsTree=o.disposeBoundsTree,t.computeBoundsTree(r),()=>{t.boundsTree&&t.disposeBoundsTree()}}}),[e,JSON.stringify(r)])};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/extends"),r=require("@react-three/fiber"),t=require("react"),s=require("three"),o=require("three-mesh-bvh");function u(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}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 s=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,s.get?s:{enumerable:!0,get:function(){return e[t]}})}})),r.default=e,Object.freeze(r)}var a=u(e),c=n(t);const i=e=>e.isMesh;const d=c.forwardRef((({enabled:e=!0,firstHitOnly:t=!1,children:u,strategy:n=o.SAH,verbose:d=!1,setBoundingBox:f=!0,maxDepth:p=40,maxLeafTris:y=10,...l},m)=>{const B=c.useRef(null),b=r.useThree((e=>e.raycaster));return c.useImperativeHandle(m,(()=>B.current),[]),c.useEffect((()=>{if(e){const e={strategy:n,verbose:d,setBoundingBox:f,maxDepth:p,maxLeafTris:y},r=B.current;return b.firstHitOnly=t,r.traverse((r=>{i(r)&&!r.geometry.boundsTree&&r.raycast===s.Mesh.prototype.raycast&&(r.raycast=o.acceleratedRaycast,r.geometry.computeBoundsTree=o.computeBoundsTree,r.geometry.disposeBoundsTree=o.disposeBoundsTree,r.geometry.computeBoundsTree(e))})),()=>{delete b.firstHitOnly,r.traverse((e=>{i(e)&&e.geometry.boundsTree&&(e.geometry.disposeBoundsTree(),e.raycast=s.Mesh.prototype.raycast)}))}}})),c.createElement("group",a.default({ref:B},l),u)}));exports.Bvh=d,exports.useBVH=function(e,r){r={strategy:o.SAH,verbose:!1,setBoundingBox:!0,maxDepth:40,maxLeafTris:10,...r},c.useEffect((()=>{if(e.current){e.current.raycast=o.acceleratedRaycast;const t=e.current.geometry;return t.computeBoundsTree=o.computeBoundsTree,t.disposeBoundsTree=o.disposeBoundsTree,t.computeBoundsTree(r),()=>{t.boundsTree&&t.disposeBoundsTree()}}}),[e,JSON.stringify(r)])};
@@ -1 +1 @@
1
- "use strict";var e=require("three"),r=require("react"),n=require("@react-three/fiber");function i(e){var r=Object.create(null);return e&&Object.keys(e).forEach((function(n){if("default"!==n){var i=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(r,n,i.get?i:{enumerable:!0,get:function(){return e[n]}})}})),r.default=e,Object.freeze(r)}var o=i(e),t=i(r);const a="\n#if defined( USE_ENVMAP ) || defined( DISTANCE ) || defined ( USE_SHADOWMAP )\n vec4 worldPosition = modelMatrix * vec4( transformed, 1.0 );\n #ifdef BOX_PROJECTED_ENV_MAP\n vWorldPosition = worldPosition.xyz;\n #endif\n#endif\n",c="\n#ifdef BOX_PROJECTED_ENV_MAP\n uniform vec3 envMapSize;\n uniform vec3 envMapPosition;\n varying vec3 vWorldPosition;\n \n vec3 parallaxCorrectNormal( vec3 v, vec3 cubeSize, vec3 cubePos ) {\n vec3 nDir = normalize( v );\n vec3 rbmax = ( .5 * cubeSize + cubePos - vWorldPosition ) / nDir;\n vec3 rbmin = ( -.5 * cubeSize + cubePos - vWorldPosition ) / nDir;\n vec3 rbminmax;\n rbminmax.x = ( nDir.x > 0. ) ? rbmax.x : rbmin.x;\n rbminmax.y = ( nDir.y > 0. ) ? rbmax.y : rbmin.y;\n rbminmax.z = ( nDir.z > 0. ) ? rbmax.z : rbmin.z;\n float correction = min( min( rbminmax.x, rbminmax.y ), rbminmax.z );\n vec3 boxIntersection = vWorldPosition + nDir * correction; \n return boxIntersection - cubePos;\n }\n#endif\n",s="\n#ifdef BOX_PROJECTED_ENV_MAP\n worldNormal = parallaxCorrectNormal( worldNormal, envMapSize, envMapPosition );\n#endif\n",f="\n#ifdef BOX_PROJECTED_ENV_MAP\n reflectVec = parallaxCorrectNormal( reflectVec, envMapSize, envMapPosition );\n#endif\n";exports.useBoxProjectedEnv=function(e=new o.Vector3,r=new o.Vector3){const[i]=t.useState((()=>({position:new o.Vector3,size:new o.Vector3})));n.applyProps(i,{position:e,size:r});const l=t.useRef(null),m=t.useMemo((()=>({ref:l,onBeforeCompile:e=>function(e,r,n){e.defines.BOX_PROJECTED_ENV_MAP=!0,e.uniforms.envMapPosition={value:r},e.uniforms.envMapSize={value:n},e.vertexShader=`\n varying vec3 vWorldPosition;\n ${e.vertexShader.replace("#include <worldpos_vertex>",a)}`,e.fragmentShader=`\n ${c}\n ${e.fragmentShader.replace("#include <envmap_physical_pars_fragment>",o.ShaderChunk.envmap_physical_pars_fragment).replace("vec3 worldNormal = inverseTransformDirection( normal, viewMatrix );",`vec3 worldNormal = inverseTransformDirection( normal, viewMatrix );\n ${s}\n `).replace("reflectVec = inverseTransformDirection( reflectVec, viewMatrix );",`reflectVec = inverseTransformDirection( reflectVec, viewMatrix );\n ${f}\n `)}`}(e,i.position,i.size),customProgramCacheKey:()=>JSON.stringify(i.position.toArray())+JSON.stringify(i.size.toArray())})),[...i.position.toArray(),...i.size.toArray()]);return t.useLayoutEffect((()=>{l.current.needsUpdate=!0}),[i]),m};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("three"),r=require("react"),n=require("@react-three/fiber");function i(e){if(e&&e.__esModule)return e;var r=Object.create(null);return e&&Object.keys(e).forEach((function(n){if("default"!==n){var i=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(r,n,i.get?i:{enumerable:!0,get:function(){return e[n]}})}})),r.default=e,Object.freeze(r)}var o=i(e),t=i(r);const a="\n#if defined( USE_ENVMAP ) || defined( DISTANCE ) || defined ( USE_SHADOWMAP )\n vec4 worldPosition = modelMatrix * vec4( transformed, 1.0 );\n #ifdef BOX_PROJECTED_ENV_MAP\n vWorldPosition = worldPosition.xyz;\n #endif\n#endif\n",c="\n#ifdef BOX_PROJECTED_ENV_MAP\n uniform vec3 envMapSize;\n uniform vec3 envMapPosition;\n varying vec3 vWorldPosition;\n \n vec3 parallaxCorrectNormal( vec3 v, vec3 cubeSize, vec3 cubePos ) {\n vec3 nDir = normalize( v );\n vec3 rbmax = ( .5 * cubeSize + cubePos - vWorldPosition ) / nDir;\n vec3 rbmin = ( -.5 * cubeSize + cubePos - vWorldPosition ) / nDir;\n vec3 rbminmax;\n rbminmax.x = ( nDir.x > 0. ) ? rbmax.x : rbmin.x;\n rbminmax.y = ( nDir.y > 0. ) ? rbmax.y : rbmin.y;\n rbminmax.z = ( nDir.z > 0. ) ? rbmax.z : rbmin.z;\n float correction = min( min( rbminmax.x, rbminmax.y ), rbminmax.z );\n vec3 boxIntersection = vWorldPosition + nDir * correction; \n return boxIntersection - cubePos;\n }\n#endif\n",s="\n#ifdef BOX_PROJECTED_ENV_MAP\n worldNormal = parallaxCorrectNormal( worldNormal, envMapSize, envMapPosition );\n#endif\n",f="\n#ifdef BOX_PROJECTED_ENV_MAP\n reflectVec = parallaxCorrectNormal( reflectVec, envMapSize, envMapPosition );\n#endif\n";exports.useBoxProjectedEnv=function(e=new o.Vector3,r=new o.Vector3){const[i]=t.useState((()=>({position:new o.Vector3,size:new o.Vector3})));n.applyProps(i,{position:e,size:r});const l=t.useRef(null),v=t.useMemo((()=>({ref:l,onBeforeCompile:e=>function(e,r,n){e.defines.BOX_PROJECTED_ENV_MAP=!0,e.uniforms.envMapPosition={value:r},e.uniforms.envMapSize={value:n},e.vertexShader=`\n varying vec3 vWorldPosition;\n ${e.vertexShader.replace("#include <worldpos_vertex>",a)}`,e.fragmentShader=`\n ${c}\n ${e.fragmentShader.replace("#include <envmap_physical_pars_fragment>",o.ShaderChunk.envmap_physical_pars_fragment).replace("vec3 worldNormal = inverseTransformDirection( normal, viewMatrix );",`vec3 worldNormal = inverseTransformDirection( normal, viewMatrix );\n ${s}\n `).replace("reflectVec = inverseTransformDirection( reflectVec, viewMatrix );",`reflectVec = inverseTransformDirection( reflectVec, viewMatrix );\n ${f}\n `)}`}(e,i.position,i.size),customProgramCacheKey:()=>JSON.stringify(i.position.toArray())+JSON.stringify(i.size.toArray())})),[...i.position.toArray(),...i.size.toArray()]);return t.useLayoutEffect((()=>{l.current.needsUpdate=!0}),[i]),v};
@@ -1 +1 @@
1
- "use strict";var e=require("react"),r=require("three"),t=require("@react-three/fiber");function n(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.useCamera=function(e,n){const a=t.useThree((e=>e.pointer)),[u]=c.useState((()=>{const c=new r.Raycaster;return n&&t.applyProps(c,n,{}),function(t,n){c.setFromCamera(a,e instanceof r.Camera?e:e.current);const u=this.constructor.prototype.raycast.bind(this);u&&u(c,n)}}));return u};
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.useCamera=function(e,n){const u=t.useThree((e=>e.pointer)),[a]=c.useState((()=>{const c=new r.Raycaster;return n&&t.applyProps(c,n,{}),function(t,n){c.setFromCamera(u,e instanceof r.Camera?e:e.current);const a=this.constructor.prototype.raycast.bind(this);a&&a(c,n)}}));return a};
@@ -1 +1 @@
1
- "use strict";function e(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 r=e(require("react"));exports.useContextBridge=function(...e){const t=r.useRef([]);return t.current=e.map((e=>r.useContext(e))),r.useMemo((()=>({children:n})=>e.reduceRight(((e,n,c)=>r.createElement(n.Provider,{value:t.current[c],children:e})),n)),[])};
1
+ "use strict";function e(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)}Object.defineProperty(exports,"__esModule",{value:!0});var r=e(require("react"));exports.useContextBridge=function(...e){const t=r.useRef([]);return t.current=e.map((e=>r.useContext(e))),r.useMemo((()=>({children:n})=>e.reduceRight(((e,n,u)=>r.createElement(n.Provider,{value:t.current[u],children:e})),n)),[])};
@@ -1 +1 @@
1
- "use strict";var e=require("three"),r=require("react"),t=require("@react-three/fiber");function u(e){var r=Object.create(null);return e&&Object.keys(e).forEach((function(t){if("default"!==t){var u=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,u.get?u:{enumerable:!0,get:function(){return e[t]}})}})),r.default=e,Object.freeze(r)}var a=u(e),n=u(r);exports.useCubeCamera=function({resolution:u=256,near:o=.1,far:c=1e3,envMap:f,fog:s}={}){const b=t.useThree((({gl:e})=>e)),i=t.useThree((({scene:e})=>e)),g=r.useMemo((()=>{const r=new e.WebGLCubeRenderTarget(u);return r.texture.type=e.HalfFloatType,r}),[u]);r.useEffect((()=>()=>{g.dispose()}),[g]);const l=r.useMemo((()=>new a.CubeCamera(o,c,g)),[o,c,g]);let d,p;const m=n.useCallback((()=>{d=i.fog,p=i.background,i.background=f||p,i.fog=s||d,l.update(b,i),i.fog=d,i.background=p}),[b,i,l]);return{fbo:g,camera:l,update:m}};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("three"),r=require("react"),t=require("@react-three/fiber");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 u=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,u.get?u:{enumerable:!0,get:function(){return e[t]}})}})),r.default=e,Object.freeze(r)}var n=u(e),a=u(r);exports.useCubeCamera=function({resolution:u=256,near:o=.1,far:c=1e3,envMap:s,fog:f}={}){const b=t.useThree((({gl:e})=>e)),i=t.useThree((({scene:e})=>e)),l=r.useMemo((()=>{const r=new e.WebGLCubeRenderTarget(u);return r.texture.type=e.HalfFloatType,r}),[u]);r.useEffect((()=>()=>{l.dispose()}),[l]);const d=r.useMemo((()=>new n.CubeCamera(o,c,l)),[o,c,l]);let g,p;const O=a.useCallback((()=>{g=i.fog,p=i.background,i.background=s||p,i.fog=f||g,d.update(b,i),i.fog=g,i.background=p}),[b,i,d]);return{fbo:l,camera:d,update:O}};
@@ -1 +1 @@
1
- "use strict";var e=require("three"),r=require("@react-three/fiber");function t(t,{path:u}){const[a]=r.useLoader(e.CubeTextureLoader,[t],(e=>e.setPath(u)));return a}t.preload=(t,{path:u})=>r.useLoader.preload(e.CubeTextureLoader,[t],(e=>e.setPath(u))),exports.useCubeTexture=t;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("three"),r=require("@react-three/fiber");function t(t,{path:u}){const[a]=r.useLoader(e.CubeTextureLoader,[t],(e=>e.setPath(u)));return a}t.preload=(t,{path:u})=>r.useLoader.preload(e.CubeTextureLoader,[t],(e=>e.setPath(u))),exports.useCubeTexture=t;
@@ -1 +1 @@
1
- "use strict";var e=require("three"),r=require("react"),t=require("@react-three/fiber"),u=require("./useFBO.cjs.js");function n(e){var r=Object.create(null);return e&&Object.keys(e).forEach((function(t){if("default"!==t){var u=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,u.get?u:{enumerable:!0,get:function(){return e[t]}})}})),r.default=e,Object.freeze(r)}var s=n(r);exports.useDepthBuffer=function({size:r=256,frames:n=1/0}={}){const c=t.useThree((e=>e.viewport.dpr)),{width:a,height:i}=t.useThree((e=>e.size)),o=r||a*c,f=r||i*c,h=s.useMemo((()=>{const r=new e.DepthTexture(o,f);return r.format=e.DepthFormat,r.type=e.UnsignedShortType,{depthTexture:r}}),[o,f]);let p=0;const d=u.useFBO(o,f,h);return t.useFrame((e=>{(n===1/0||p<n)&&(e.gl.setRenderTarget(d),e.gl.render(e.scene,e.camera),e.gl.setRenderTarget(null),p++)})),d.depthTexture};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("three"),r=require("react"),t=require("@react-three/fiber"),u=require("./useFBO.cjs.js");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 u=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,u.get?u:{enumerable:!0,get:function(){return e[t]}})}})),r.default=e,Object.freeze(r)}var s=n(r);exports.useDepthBuffer=function({size:r=256,frames:n=1/0}={}){const c=t.useThree((e=>e.viewport.dpr)),{width:i,height:o}=t.useThree((e=>e.size)),a=r||i*c,f=r||o*c,p=s.useMemo((()=>{const r=new e.DepthTexture(a,f);return r.format=e.DepthFormat,r.type=e.UnsignedShortType,{depthTexture:r}}),[a,f]);let d=0;const h=u.useFBO(a,f,p);return t.useFrame((e=>{(n===1/0||d<n)&&(e.gl.setRenderTarget(h),e.gl.render(e.scene,e.camera),e.gl.setRenderTarget(null),d++)})),h.depthTexture};
@@ -1 +1 @@
1
- "use strict";var e=require("detect-gpu"),t=require("suspend-react");exports.useDetectGPU=r=>t.suspend((()=>e.getGPUTier(r)),["useDetectGPU"]);
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("detect-gpu"),t=require("suspend-react");exports.useDetectGPU=r=>t.suspend((()=>e.getGPUTier(r)),["useDetectGPU"]);
@@ -1 +1 @@
1
- "use strict";var e=require("@react-three/fiber"),r=require("three"),n=require("three-stdlib"),t=require("../helpers/environment-assets.cjs.js");const s=e=>Array.isArray(e);exports.useEnvironment=function({files:i=["/px.png","/nx.png","/py.png","/ny.png","/pz.png","/nz.png"],path:a="",preset:o,encoding:p,extensions:l}={}){var c;let u,d=null,b=!1;if(o){if(!(o in t.presetsObj))throw new Error("Preset must be one of: "+Object.keys(t.presetsObj).join(", "));i=t.presetsObj[o],a="https://raw.githack.com/pmndrs/drei-assets/456060a26bbeb8fdf79326f224b6d99b8bcce736/hdri/"}if(b=s(i),u=s(i)?"cube":i.startsWith("data:application/exr")?"exr":i.startsWith("data:application/hdr")?"hdr":null==(c=i.split(".").pop())?void 0:c.toLowerCase(),d=b?r.CubeTextureLoader:"hdr"===u?n.RGBELoader:"exr"===u?n.EXRLoader:null,!d)throw new Error("useEnvironment: Unrecognized file extension: "+i);const h=e.useLoader(d,b?[i]:i,(e=>{null==e.setPath||e.setPath(a),l&&l(e)})),g=b?h[0]:h;return g.mapping=b?r.CubeReflectionMapping:r.EquirectangularReflectionMapping,"colorSpace"in g?g.colorSpace=(null!=p?p:b)?"srgb":"srgb-linear":g.encoding=(null!=p?p:b)?3001:3e3,g};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@react-three/fiber"),r=require("three"),n=require("three-stdlib"),t=require("../helpers/environment-assets.cjs.js");const s=e=>Array.isArray(e);exports.useEnvironment=function({files:i=["/px.png","/nx.png","/py.png","/ny.png","/pz.png","/nz.png"],path:o="",preset:a,encoding:p,extensions:l}={}){var c;let u,d=null,b=!1;if(a){if(!(a in t.presetsObj))throw new Error("Preset must be one of: "+Object.keys(t.presetsObj).join(", "));i=t.presetsObj[a],o="https://raw.githack.com/pmndrs/drei-assets/456060a26bbeb8fdf79326f224b6d99b8bcce736/hdri/"}if(b=s(i),u=s(i)?"cube":i.startsWith("data:application/exr")?"exr":i.startsWith("data:application/hdr")?"hdr":null==(c=i.split(".").pop())?void 0:c.toLowerCase(),d=b?r.CubeTextureLoader:"hdr"===u?n.RGBELoader:"exr"===u?n.EXRLoader:null,!d)throw new Error("useEnvironment: Unrecognized file extension: "+i);const h=e.useLoader(d,b?[i]:i,(e=>{null==e.setPath||e.setPath(o),l&&l(e)})),g=b?h[0]:h;return g.mapping=b?r.CubeReflectionMapping:r.EquirectangularReflectionMapping,"colorSpace"in g?g.colorSpace=(null!=p?p:b)?"srgb":"srgb-linear":g.encoding=(null!=p?p:b)?3001:3e3,g};
@@ -1 +1 @@
1
- "use strict";var e=require("react"),t=require("three"),r=require("@react-three/fiber");function u(e){var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var u=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,u.get?u:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var n=u(e),i=u(t);exports.useFBO=function(e,t,u){const s=r.useThree((e=>e.size)),a=r.useThree((e=>e.viewport)),o="number"==typeof e?e:s.width*a.dpr,p="number"==typeof t?t:s.height*a.dpr,c=("number"==typeof e?u:e)||{},{samples:f=0,depth:l,...b}=c,h=n.useMemo((()=>{const e=new i.WebGLRenderTarget(o,p,{minFilter:i.LinearFilter,magFilter:i.LinearFilter,type:i.HalfFloatType,...b});return l&&(e.depthTexture=new i.DepthTexture(o,p,i.FloatType)),e.samples=f,e}),[]);return n.useLayoutEffect((()=>{h.setSize(o,p),f&&(h.samples=f)}),[f,h,o,p]),n.useEffect((()=>()=>h.dispose()),[]),h};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),r=require("three"),t=require("@react-three/fiber");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 u=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,u.get?u:{enumerable:!0,get:function(){return e[t]}})}})),r.default=e,Object.freeze(r)}var n=u(e),i=u(r);exports.useFBO=function(e,r,u){const s=t.useThree((e=>e.size)),o=t.useThree((e=>e.viewport)),a="number"==typeof e?e:s.width*o.dpr,p="number"==typeof r?r:s.height*o.dpr,f=("number"==typeof e?u:e)||{},{samples:c=0,depth:l,...d}=f,b=n.useMemo((()=>{const e=new i.WebGLRenderTarget(a,p,{minFilter:i.LinearFilter,magFilter:i.LinearFilter,type:i.HalfFloatType,...d});return l&&(e.depthTexture=new i.DepthTexture(a,p,i.FloatType)),e.samples=c,e}),[]);return n.useLayoutEffect((()=>{b.setSize(a,p),c&&(b.samples=c)}),[c,b,a,p]),n.useEffect((()=>()=>b.dispose()),[]),b};